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?

  • $\begingroup$ 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. $\endgroup$ – Engineer Apr 5 at 18:56
  • $\begingroup$ 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. $\endgroup$ – Engineer Apr 5 at 18:59
  • $\begingroup$ 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? $\endgroup$ – annapCoug Apr 5 at 19:17
  • $\begingroup$ Yes, the pure sine wave and complex exponential will give you two peaks as in my answer $\endgroup$ – Engineer Apr 5 at 20:28
  • $\begingroup$ How do you view a complex signal on a spectrum analyzer ? $\endgroup$ – 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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.