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).
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).