RX and TX while using the NCO

Hi all,

I have a few questions relating to the NCO:

  1. Is it possible to change the digital filter bandwidth in Soapy? I just noticed when reading Receiving and transmitting at 1MHz that the Lime Suite Sink in GRC has both Analog Filter BW and Digital Filter BW. I’m using the NCO to shift the RX or TX so I use a wider than necessary BW.

  2. Am I correct in assuming the Analog Filter BW is around the LO while the Digital Filter BW will be around the frequency when taking the NCO into account?

  3. Is there a difference in TX when using the NCO, as opposed to shifting the samples myself? From Frequency hopping transmit [FIXED] I was able to change the NCO in 0.350ms, but I can shift the signal I want to transmit faster than that. So is there any difference between the 2 options, apart from ease of use?


Hi @KarlL,

I can answer your second question:

Talking from the perspective of the receive chain, the analog filter is a low-pass filter that is present after the RF mixing stage (have a look at the LMS7002 block diagram for the block labelled RXLPF). As such, the frequency of interest has been mixed down to 0Hz, with the filter essentially centred around DC. Likewise, the digital filter is also a low-pass filter present after the digital mixing stage with the NCO (see this block diagram).

Thanks @amrbekhit. Looking at Lms7002m-tsp-tx, the FIR filters are before the NCO, so it seems the digital filters are centered around the LO, not around the frequency after the NCO.

Maybe @joshblum knows for the digital filter bandwidth in Soapy, @Zack or @IgnasJ for the Lime questions?

Digital filters in Tx are before interpolator and NCO so they work on signal that comes from PC (before increasing sample rate and doing frequency shift). If you expect to cut part of the signal via digital filter by shifting it using NCO then it won’t work as filters are before NCO.