# Why does my digital upconversion result in two tones?

I am using Xilinx's RFSoC in I/Q mode. The important point is that in the digital space I have real and complex samples. I take the incoming data and multiply it by a complex sinusoid.

In my test setup I am sampling a 125 MHz sine wave and am mixing it with a 5 MHz sinusoid. I take the mixed signal and pass it out a DAC to view it on a spectrum analyzer. What I would like to see is the 125 MHz digitally upconverted to 130 MHz. What I actually see is two tones: 120 MHz and 130 MHz.

Is there a way, without just filtering the 120 MHz sine wave, to upconvert the 125 MHz tone to 130 MHz by mixing?

• I had mis-read your question. Are you positive you are multiplying with a complex exponential and still see a peak at 120 and 130 MHz? This would happen if you had multiplied with a cosine or sine wave but shouldn't happen otherwise. – Engineer Apr 5 at 18:56
• I mean you have a 125 MHz sine wave so if you look at all frequencies positive and negative, you should see spikes at $\pm$125. Then multiplying with a true complex exponential with $f_0=5$ MHz should shift the spectrum to the right by 5 MHz so now the two spikes are at -120 and 130 MHz. – Engineer Apr 5 at 18:59
• Thank you for the reply. Given your response I am wondering if the problem is actually with the ADC. If the two ADCs are actually sampling at the same time instead of with a 90 degree offset, you would see a pure sine wave in the digital domain. If I mixed the pure sine wave (Instead of a complex sinusoid) with my internally generated complex sinusoid, this is the behavior I would expect, right? – annapCoug Apr 5 at 19:17
• Yes, the pure sine wave and complex exponential will give you two peaks as in my answer – Engineer Apr 5 at 20:28
• How do you view a complex signal on a spectrum analyzer ? – Hilmar Apr 5 at 21:30

You can use the property of Fourier transforms which says that: $$x(t)e^{j2\pi f_0t}\leftrightarrow X(f-f_0)$$. That is, multiplying the time domain signal with a complex exponential will give you a shift in the frequency domain.
By multiplying by another sine, you get: $$x(t)\text{sin}(2\pi f_0 t) \leftrightarrow X(f)*\text{FT}\big(\text{sin}(2\pi f_0 t)\big)=\frac{X(f-f_0)-X(f+f_0)}{2j}$$, and so you see an extra peak at $$120$$ MHz.