Sunday, 7 October 2012

Quick intro to software-defined radio

The Carpcomm ground station network natively supports software-defined radios (SDR). Indeed our Ground Station 1 product is based on an SDR. SDR provides much more flexibility than hardware-only radios because their functionality can be extended by software updates. In this blog post, I'll give a quick introduction to how SDRs work.

I'll assume you are familiar with complex numbers. If not, take a look at the wikipedia page. The most important result we need is Euler's identity:
exp(iθ) = cos(θ) + i sin(θ)

Suppose a satellite transmits a continuous carrier signal at frequency f. When the electromagnetic wave reaches our antenna, we see a time-varying electric field
E(t) ~ cos(ωt),
where ω=2πf and t is time. This field produces a proportional voltage at the input of the radio receiver:
V(t) ~ cos(ωt).
This is written in complex notation as
V(t) ~ Re[exp(iωt)] ~ exp(iωt) + i exp(-iωt).

Many cubesats uses frequencies near 437 MHz. Digitizing this directly isn't feasible because the sample rate required would be too high. Instead, the signal is first downconverted using a quadrature mixer which produces a new signal
IQ(t) ~ exp(-iωtunet) V(t)
~ exp[i(ω - ωtune)t] + i exp[-i(ω + ωtune)t]
This is sent through a low-pass filter which removes the ω+ωtune component. We are left with:
IQ(t) ~ exp[i(ω - ωtune)t].

Now that the frequency is more manageable, it is sampled by an analogue-to-digital converter (ADC) at a certain sampling frequency (typically 100k to 1M samples/second). Both the real and imaginary parts are converted so that we get complex number samples. The sampling frequency must be greater than or equal to the low-pass filter cutoff frequency to avoid aliasing.

Graphically, the procedure looks like this:



On the software side, the output of the ADC is received as an array of complex numbers. Algorithms can then be used to extract information from the raw samples. At Carpcomm, we have implemented various algorithms for the popular modes used by cubesats: morse code, 1200 baud AFSK (AX.25) and 9600 baud FSK (AX.25). Combined with algorithms for doppler correction, these processors take the raw samples and extract data packets, which are then stored in a database.

The great advantage of SDR compared to hardware-only radios is flexibility. If a new satellite uses an innovative new method such as forward-error correction, all that is needed is to write a new processor algorithm, which can be deployed on the Carpcomm network very quickly because we run all the signal processing in the cloud.

No comments:

Post a Comment