I want to up-convert a baseband sinusoidal signal of frequency $4000 \, \rm{Hz}$ using a carrier frequency of $20\, \rm{KHz}$. I read that one can up-convert a baseband signal to a passband signal using the following.

enter image description here

But after convolution with a carrier cosine, I get a $16\, \rm{KHz}$ signal. What could be the problem?

I used following Python code to do convolution with carrier frequency: samples * cosineSignal.

  • 1
    Multiplying a 4kHz tone with a 20kHz carrier will produce 2 tones, at 16 and 24kHz. What else were you expecting? What is your sample rate? – Juancho Oct 18 '17 at 1:01
  • I want to up-convert the signal to 20 kHz passband signal to send. I'm using 48 kHz samp rate on baseband signal. – JayHeo Oct 18 '17 at 1:34
  • 2
    You should not convolve with a carrier signal. You should multiply! – Rodrigo de Azevedo Oct 18 '17 at 13:04

A 48k sample rate is too low to reliably reproduce your upper side of 20k+4k = 24kHz. Thus you end up with a LSB (lower sideband SSB) signal, not an AM signal.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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