Can spectrumAnalyzer show the power level of complex I&Q signal?

5 次查看(过去 30 天)
I created a complex linear frequency modulated Chirp signal (constant envelop) anad complex noise. When I use spectrumAnalyzer within the MATLAB live script, it shows non-constant spectrum. Is there a way to show complex signal's power and noise?
% For repeatable simulations, set the random number generator to default
rng default;
noisesigI = wgn(numSamples,1,10*log10(N))';
noisesigQ = wgn(numSamples,1,10*log10(N))';
noisesig = 1/(sqrt(2))*complex(noisesigI,noisesigQ);
rxwaveform = (scaledsig + noisesig);
% Scale the received signal for having unit power
Scaled_rxwaveform = rxwaveform/rms(rxwaveform);
ShowVisualizations =1;
if ShowVisualizations == 1
rxscope = spectrumAnalyzer(SampleRate = baseFs, ...
PlotAsTwoSidedSpectrum = true, ...
SpectrumType = "Power", ...
SpectrumUnits = "dBW", ...
Title = "Received signal BB UDC + Noise spectrum");
rxscope(rxwaveform', noisesig',scaledsig'); %scope accepts only column vec.
end

回答(1 个)

Alan
Alan 2024-5-20
Hi Taehwan,
It looks like you are expecting only the noise signal’s spectrum. The figure you have shown has 3 spectrums which are the original signal, noise signal, and the signal with noise. That is because you have called rxscope on all 3 signals together.
If you aim to view the signals separately, call different instances of spectrumAnalyzer on each signal separately:
rxscope = spectrumAnalyzer('SampleRate', fs, ...
'PlotAsTwoSidedSpectrum', true, ...
'SpectrumType', "Power", ...
'SpectrumUnits', "dBW", ...
'Title', "Resultant Signal");
rxscope(rxwaveform'); % Resultant signal with noise
rxscope2 = spectrumAnalyzer('SampleRate', fs, ...
'PlotAsTwoSidedSpectrum', true, ...
'SpectrumType', "Power", ...
'SpectrumUnits', "dBW", ...
'Title', "Noise Signal");
rxscope2(noisesig'); % Noise signal
For more information on spectrumAnalyzer you can check out:
I hope this helps.

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by