Lab 6.1 — RF Frequency Plan¶
Goal¶
Build a clear frequency plan for the first SDR RF experiment using a Zynq/AD9363 transmitter and an external receiver such as RTL-SDR or another SDR receiver.
The lab answers the practical question:
Where should the useful signal appear in the receiver spectrum, and how do sample rate, LO frequency and digital offset interact?
Basic frequency model¶
flowchart LR
BB[Baseband tone offset] --> TXLO[TX LO]
TXLO --> RF[RF signal]
RF --> RXLO[RX LO]
RXLO --> IF[Observed baseband offset]
If the transmitter uses center frequency f_tx and generates a digital tone at offset f_bb, the RF tone appears at:
f_rf = f_tx + f_bb
If the receiver center frequency is f_rx, the observed baseband offset is approximately:
f_observed = f_rf - f_rx
Therefore:
f_observed = f_tx + f_bb - f_rx
Example plan¶
| Parameter | Value | Comment |
|---|---|---|
| TX center frequency | 915 MHz | AD9363 TX LO |
| RX center frequency | 915 MHz | RTL-SDR/HDSDR center |
| Digital tone offset | +100 kHz | generated by FPGA/DSP |
| Expected observed offset | +100 kHz | peak should appear at +100 kHz |
| Sample rate | 2.4 MS/s | observation bandwidth |
| RF bandwidth | 2 MHz | analog chain bandwidth |
Frequency plan variants¶
| Case | TX LO | Digital offset | RX LO | Expected observed offset |
|---|---|---|---|---|
| Same LO | 915 MHz | +100 kHz | 915 MHz | +100 kHz |
| RX shifted up | 915 MHz | +100 kHz | 915.05 MHz | +50 kHz |
| RX shifted down | 915 MHz | +100 kHz | 914.95 MHz | +150 kHz |
| Negative tone | 915 MHz | -100 kHz | 915 MHz | -100 kHz |
Aliasing and bandwidth check¶
The expected observed offset must be inside the receiver Nyquist range:
|f_observed| < Fs_rx / 2
For Fs_rx = 2.4 MS/s:
|f_observed| < 1.2 MHz
Add margin for analog filters and receiver imperfections. Do not place the test tone too close to the band edge.
Practical procedure¶
- Select a legal and safe test frequency for your lab environment.
- Select TX LO and RX LO.
- Select a small digital tone offset, for example 50–200 kHz.
- Check that the expected offset is inside the receiver bandwidth.
- Start with low TX gain and external attenuation.
- Observe the spectrum.
- Record actual peak frequency.
- Estimate frequency error.
Frequency error¶
frequency_error = measured_peak - expected_peak
Possible contributors:
- LO frequency error;
- receiver oscillator offset;
- sample-rate error;
- FFT bin resolution;
- sign convention mistakes;
- wrong IQ swap or conjugation.
What to expect (calculated, before measuring)¶
These are the sizes of the error terms for the example plan, computed from the formulas above. They are not measurements; fill the measured column of your report from the board.
| Error source | Size at 915 MHz, +100 kHz offset, 2.4 MS/s |
|---|---|
| LO reference error of 1 ppm (TX or RX) | 915 Hz |
| LO reference error of 10 ppm | 9.15 kHz |
| TX at +10 ppm and RX at -10 ppm | 18.3 kHz |
| Sample-rate error of 1 ppm, applied to the 100 kHz offset | 0.1 Hz |
| FFT bin, 4096 points | 586 Hz |
| FFT bin, 65 536 points | 36.6 Hz |
- The LO reference dominates. The same ppm error is multiplied by 915 MHz in the LO but only by 100 kHz in the sample clock, a factor of 9150.
- A 10 ppm receiver (a typical crystal without TCXO) moves the tone by about 9 kHz. The plan variants above differ by 50 kHz or more, so they stay distinguishable; a plan with tones 10 kHz apart would not.
- An error smaller than one FFT bin is not a measured error. State the bin width next to every frequency you report.
Exercises¶
- You set both LOs to 915 MHz and a +100 kHz tone, and see the peak at +108.9 kHz. Which ppm error on which side explains it? What single measurement tells you whether it is the TX or the RX?
- Move the digital tone to +1.3 MHz with the receiver still at 2.4 MS/s. Where does it appear? (It aliases to -1.1 MHz.) Why is that especially confusing with a complex receiver?
- The peak appears at -100 kHz instead of +100 kHz. List two causes from the list above and a quick test that separates them.
- How long a capture do you need for a 1 Hz FFT bin at 2.4 MS/s, and what limits the frequency resolution before you reach it?
Answers (checked by running the lab script)
8.9 kHz / 915 MHz ≈ 9.7 ppm. The observed offset is TX minus RX, so either the TX LO is about 9.7 ppm high or the RX LO about 9.7 ppm low (or a mix). One measurement separates them: receive a reference you trust (a GPS-disciplined signal generator, or a broadcast carrier of known frequency) with the same receiver. If the receiver reads it correctly, the error is in the transmitter.- At 2.4 MS/s the complex band is −1.2 to +1.2 MHz, so +1.3 MHz wraps to −1.1 MHz. With a complex receiver negative frequencies are real, distinct frequencies, so the alias looks like a genuine signal 1.1 MHz below the LO, not like a folded copy; nothing in the spectrum marks it as an alias.
- Two causes from the list: a sign convention mistake (the transmitter really sends −100 kHz, for example a conjugated DDS or a wrong DUC sign) or an I/Q swap or conjugation in the receiver or the file reader. Retune the receiver LO by +10 kHz. If the transmitter really sends −100 kHz, the peak moves to −110 kHz like any real signal; if the receiver mirrors the spectrum, the peak moves the other way, to −90 kHz.
- A 1 Hz bin needs
N = Fs / 1 Hz = 2.4·10⁶samples, a 1 s capture. Long before that the oscillators limit you: a 0.1 ppm drift is 92 Hz at 915 MHz, and phase noise and temperature drift smear the tone over many 1 Hz bins. The resolution is then set by the oscillators' stability over the capture, not by the FFT length.
Report checklist¶
- State TX center frequency.
- State RX center frequency.
- State digital tone offset.
- Compute expected observed offset.
- State sample rate and RF bandwidth.
- Verify Nyquist margin.
- Record measured peak frequency.
- Estimate frequency error.
- Explain possible error sources.
Engineering conclusion template¶
The planned RF tone is at ____ MHz and should appear at ____ kHz in the receiver baseband.
The measured peak is ____ kHz, giving a frequency error of ____ Hz.
The result confirms / does not confirm the frequency plan because ______.