Перейти к содержанию

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

  1. Select a legal and safe test frequency for your lab environment.
  2. Select TX LO and RX LO.
  3. Select a small digital tone offset, for example 50–200 kHz.
  4. Check that the expected offset is inside the receiver bandwidth.
  5. Start with low TX gain and external attenuation.
  6. Observe the spectrum.
  7. Record actual peak frequency.
  8. 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

  1. 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?
  2. 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?
  3. The peak appears at -100 kHz instead of +100 kHz. List two causes from the list above and a quick test that separates them.
  4. 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)
  1. 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.
  2. 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.
  3. 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.
  4. 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 ______.