How can I mix two signals in MATLAB?

34 views (last 30 days)
Balint Csejtei
Balint Csejtei on 25 Nov 2020
Commented: Star Strider on 27 Nov 2020
I have two signals stored in vectors, one of them is a 4-QAM baseband signal(m), and the other is a simple Local Oscillator sinusoid signal(Lo). Then I've simulated the mixing like this:
Rfsignal=m.*Lo;
and then i filtered out the low frequency component of Rsignal, but after that, the radio signal doesn't look like the baseband, and I couldn't get back the digital data after demodulation. I know there are mixer objects in Simulink, but i want to use matlab coding, because it's much more practical. So I'm looking for a coding solution to properly mixing the baseband and the Lo signals in such a way that the Rf signal looks similar to the baseband.
Thanks a lot.

Answers (1)

Star Strider
Star Strider on 25 Nov 2020
Ther esult would appear to be a single-sideband suppresed-carrier signal (with only the upper sideband). See if the demod function will do what you want.
  6 Comments
Balint Csejtei
Balint Csejtei on 27 Nov 2020
I've tried the modulate function to make the modulated baseband signal, then I Multiplied it with an LO signal. But still, after bandpass filtering,the RF signal just didn't look like the baseband, its amplitude was not constant and it looked completely different at the phase shifts. I've tried the same upconverting-bandpass filtering method with AM and FM signals, and the results were good. Is it possible that this doens't work well with digital modulated signals?
Star Strider
Star Strider on 27 Nov 2020
Quite possibly. I have never tried to do something like that.
I suggest you look throiugh the Communications Toolbox documentation to see if something like what you want to do exists there, or perhaps gives some idea of how to do what you want to do. (I do not have the Communications Toolbox, and so have no experience with it.)

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!