2
$\begingroup$

I'm putting together a 2m NBFM transmitter/receiver combo using rpitx and rtl-sdr. During testing my low-pass filter I discovered that rpitx is generating spurious signals within and around the band (see screenshot below). They're only about -30dBc so I need to remove them before transmitting. Removing them with a band-pass filter would be difficult and restrict the frequency range. What could be causing these spurs, and can anything be done to clean up the signal?

I've overlayed two screenshots, one with no signal (green), and one with the rpitx signal at 146MHz (red), taken from GQRX+RTLSDR which show some of the spurs.

FFT of 2m band

The spurs are frequency-dependent and generally span +/-5MHz or so. I've ruled out the rtl-sdr as the problem as I can see them on my scope too. The signal is generated with rpitx/tune -f 146000000 and is on the BCM4 GPIO. My Pi is a 3B+.

$\endgroup$
  • 2
    $\begingroup$ So the spurs move with the signal... They could still be caused by the receiver. One way to tell is to attenuate the signal and see if the spurs also drop, and whether they drop by the amount of attenuation, or more than that. IMD should drop by 3 dB for each dB of attenuation. But it wouldn't surprise me that the Pi also generates spurs. $\endgroup$ – tomnexus May 11 at 10:51
  • 1
    $\begingroup$ I've played with attenuation (and preamp gain) but the spurs drop the same amount as the fundamental. Plus I've verified them with a second "receiver" (the FFT function on my oscilloscope), so I'm pretty confident they're from the Pi. $\endgroup$ – user9103 May 12 at 0:54
7
$\begingroup$

I can't dig up my source for this, but I'm pretty sure these spurs are just the result of rpitx using a fractional-N PLL (that isn't in any way optimized for phase noise) to generate a square wave. You get pulses of different (discrete) widths, which means you get spurs at predictable intervals.

There isn't really anything you can do to make them go away, but their relative strength will be dependent on your chosen frequency and its relationship to the master oscillator frequency (which I believe is 19.2 MHz). If you're willing to do some trial-and-error, you can scan through the band hoping to find a center frequency where all of the spurs are at acceptable levels (unlikely, but possible) or one where all of the significant spurs are far enough away from the carrier that using a bandpass filter becomes practical.

| improve this answer | |
$\endgroup$
  • 2
    $\begingroup$ The project's GitHub page has a large banner that says "Never transmit on antenna without a band-pass filter!" which indicates to me that they are aware of the issues with spurs that fundamentally arise due to how the transmitter works. $\endgroup$ – Nat Mote May 11 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.