How can i generate spectrogram for a complex signal?

17 views (last 30 days)
I am having a complex signal as recived signal at receiver. e.g. (X_noise_signal=0.1+0.3i, 0.2-0.4i,................). I want to generate a spectrogram for this signal so that i can use it at input layer of a Convolutional Nural Network architecture. Kindly provide your suggestions.
regards,
Chirag Gupta

Answers (1)

Chunru
Chunru on 1 Sep 2021
Use spectragrom which works both for real and complex data:
a = randn(8192, 1) + 1i*randn(8192, 1) + cos(2*pi*0.25*(0:8191)'); % complex data
spectrogram(a, 512, 256, 512)
  2 Comments
Chirag Gupta
Chirag Gupta on 1 Sep 2021
Thanks for your reply. But my signal dont have cos components its a (3932160 X 1) complex vector. This command is not working for me. It will also help if i can represent it into a matrix form or a 2 channel image (one channel as real part and other channel as imagenery part)
Chunru
Chunru on 1 Sep 2021
You replace "a" with your data. The data here is for illustration only. For two-channel signal, you make the choice of having two spectrogram individually, or findong the average spectrogram, or mixing the multiple channel signals and then computing spectragram. Decision is yours.

Sign in to comment.

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!