What exactly LimeSuite Sink (TX) does with IQ data?


I have a silly newbie question, sorry for that.

Let’s say we have the following GNU Radio project:


The sink has some specified transmit frequency, in this example 30 MHz. Incoming IQ data is a sine wave with some frequency, here it’s 3 MHz. I’m guessing, the sink multiplies 3MHz signal by 30 MHz signal and take the upper part of the resulting signal (because of given CMIX mode).

Is it right or it works not the way I think?

you have no filters on this diagram.
I expect to see the tallest spikes at 33 MHz and 27 MHz on the spectrum analyzer.

I decided to check and there is actually no aliasing. I used following parameters:

And here is what my oscilloscope showed:

Note that there is only one peak at 53 Mhz.

However if you connect TX and RX channels on LimeSDR and plot FFT you will see an alias. This happens because 50 MHz will be shifted to 0 MHz before calculating FFT and because of the way FFT works it will mirror all positive frequencies in the negative part of the plot.

So far it looks like my original theory was more or less accurate (except the CMIX part - it doesn’t look like it changes anything).