2

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 Answers1

1

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.

Pascal Getreuer
  • 2,906
  • 1
  • 5
  • 14
  • Thank you very much for this response, most helpful resources. However it will take some reasearch time to figure out what to do. The formula you are giving there to translate a signals in frequency, is that the fourier transform? I kind of know the maths and calculations behind it, it is just that I do not now how to punch that into octave, as there are no real functions that can do that. I am still unsure of how to create a DSB, once I have that like I said, I can build a filter? – Rhyston Da Silva Oct 14 '20 at 06:54
  • 1
    Good question. I updated my answer to clarify. In that first bullet point, I mean `x` as an array of samples in the time domain. Modulation by a complex sinusoid in time corresponds to a shift in frequency. FWIW, Octave does have an [fft function](https://octave.org/doc/v4.2.1/Signal-Processing.html), if that helps. – Pascal Getreuer Oct 14 '20 at 07:36
  • Definitely does help. Thank you so much! – Rhyston Da Silva Oct 14 '20 at 11:26