Is it better for a software defined radio (SDR) to be connected as a network device or as a peripheral device to a computer? Each configuration has its pros and cons, and the most appropriate choice depends on the requirements of your SDR application.
PCs Can Handle Narrowband, Latency Tolerant SDR Waveforms
Computers are getting more and more powerful, and there is a clear trend in using them as an integral part of SDR systems. Hobbyists might get away with interfacing simple RF circuitry to the sound card of their PC, or plugging in USB “VHF/UHF transceiver” dongles (most of them being TV tuners repurposed for SDR), to listen to FM radio stations, HAM conversations, and so on.
PCs offer ideal environments to develop and execute applications: operating systems are mature and well-known, as are IDEs, compilers, debuggers, and device drivers (SD-RAM, storage, display, IP stacks, peripherals, and so on). There’s no need for cross-compilers, emulators, or probes, and the same code can be used even if the system moves from one PC manufacturer to another, even from CPU to another. These are all appealing reasons to use PCs as part of your software radio system, performing as much of the required processing as possible within that environment, and leaving the embedded FPGA processor to perform the absolute minimum.
Common ways for a PC to interface with the rest of an SDR system are Ethernet, USB, and PCI/PCIe. Ethernet enables “networked SDR”, and offers the simplicity of exchanging IP packets. It’s convenient for latency-tolerant applications and streaming of narrowband signals. USB could be considered for the same applications as Ethernet, less the “network” feature. USB 3.0 provides increased transfer rates (about double that of 1-GbE), but the latency inherent to its protocol is still an important handicap.
Comparing Ethernet, USB, and PCIe SDR Characteristics
The following table compares the characteristics of Ethernet, USB, and PCIe. Since PCIe has replaced its older counterpart in most of today’s systems, we will focus on PCIe only.
|Low Throughput||Medium Throughput||High Throughput|
|High and non-deterministic latency||High and non- deterministic latency||Low and deterministic latency|
|CPU-intensive||Low CPU overhead||Low CPU overhead|
|Can be exposed to a local area network, and be accessed by several workstations (share the equipment in a lab)||Must be directly connected to a PC motherboard, or requires an adapter card in the PC to connect via a PCIe cable|
For Wideband, Real-Time Waveforms, Turn To A PCIe Enabled FPGA SDR Platform
When it comes to more recent complex waveforms, dedicated mixed-signal and RF circuitry as well as additional processing power are required. Here’s where embedded processors come into play. In the case of wider band signals, a good share of the physical layer would need to be implemented on the embedded side of the system, which digresses from the idea of PC-centric SDR.
With effective data rates of 500 MBps per lane (revision 2.0), and close to zero latency, PCIe is able to sustain just about any waveform you might want to run on an SDR. For example, the 20-MHz mode of LTE, in 2×2 MIMO, generates I&Q streams of 160 MBps (assuming two bytes per sample, 40 MSPS complex signals), slightly more than a third of a PCIe x1 interface. Even Release 10’s 100-MHz 4×4 MIMO could be handled as straight I&Q streams using an x4 interface.
The Final Decision – Balancing Throughput, Latency, and Networking Needs
The PC is undoubtedly the software developer’s best friend, and is also relevant to SDR applications. Whether the SDR should be a networked device or a peripheral device depends mainly on the data throughput the application requires, and the amount of latency it may tolerate.