Combine two tone in time domain issue


I am trying to create a RF signal hopping two frequency in time domain. But when I concatenated the two frequency IQ data, I got a lot of harmonic frequency which I don’t want. I think the issue came from the discontinuity between the two frequency IQ data. I don’t know how to improve that. and How can I reduce the harmonic?

Here is my limeSDR setting:
LO = 1GHz,
IQ rate = 20MS/s
SDRAM IQ data: 100KHz IQ data + 200KHz IQ data

No filter, No windows, Just concatenated the raw IQ data together, as don’t know what filter or windows needed.

The picture below is the signal I want:

apply only f1 or f2 IQ data is good.




You can window the data sets before doing the FFT to reduce the problem. The BLACKMANHARRIS window is one of the best. You can find the BLACKMANHARRIS window and several other in liquidsdr.

The source of the signals is the glitch between the two pulses - you have to make it such that the IQ values for the end of the first burst match the IQ values for the start of the second burst. One way to do that is to window the bursts as suggested above; that will force the end of the burst to be at 0+0i, and the start of the burst to be at 0+0i. Another way to do it is to stop the bursts at the zero crossing - make your signal generation code stop at the nearest zero crossing for the signal (which is probably better anyway, in terms of preventing harmonics). The third is to change the frequency in a phase continuous way - have the code that generates signals maintain the IQ values across bursts, and continue from where it left off.
Since you want to do a TDM type signal, I suggest you try to have your bursts start and end at zero, either by windowing or by having the code generate them that way to begin with.