How to impliment a Single Sideband Suppressed Carrier Modulator with an audio file as input?

457 views Asked by At

I have been given an audio signal which I imported into Octave using audioread. I have obtained fs and can naturally plot the time domain signal. After an FFT the frequency domain can easily be plotted. My Question is how do I take this signal as input and modulate it using SSB-SC modulation in Octave? I believe I first have to create a DSB and then filter the sidebands using filters, but I am also unsure of how to create the DSB, the filter I may be able to create. Any suggestions will be greatly appreciated.

1

There are 1 answers

3
Pascal Getreuer On

There are several ways to implement SSB-SC modulation. See for instance Single-sideband modulation - Practical implementations on Wikipedia. For more detail, there's a nice tutorial about SSB at http://www.eng.auburn.edu/~roppeth/courses/TIMS-manuals-r5/TIMS%20Experiment%20Manuals/Student_Text/Vol-A2/A2-03.pdf

Octave/Matlab has these building blocks useful for implementing SSB modulation techniques:

  • x .* exp((2j * pi * f / sample_rate) * (1:length(x)) to shift a signal in frequency, where x is an array of samples in the time domain (modulation / frequency shifting property).

  • filter to apply an FIR or IIR filter. To design a filter, a couple options are firls or fir1, among others in the signal package.

  • hilbert for the Hilbert transform (analytic extension) of a real-valued signal.