get the data of dsp.spectrum Analyzer

6 visualizzazioni (ultimi 30 giorni)
MAWE
MAWE il 30 Ago 2022
Commentato: MAWE il 31 Ago 2022
Currently, I am using the below code to display the spectrum of the received signal (before receive filtering) using dsp.spectrumAnalyzer. However, I need the data that is shown itself. How can I get it? Also, how can I generate the spectrum as dsp.spectrumAnalyzer manully from sctractch using fft?
data = 2.*randi([0 1], 1e6, 1)-1;
txFilter = comm.RaisedCosineTransmitFilter;
filteredData = txFilter(data);
rxSignal = awgn(filteredData, 20);
freqAnalyzer = dsp.SpectrumAnalyzer('SampleRate',8e6);
freqAnalyzer((rxSignal));

Risposta accettata

Abderrahim. B
Abderrahim. B il 30 Ago 2022
Hi!
To get data shown in spectrum analyzer, use getSpectrumData method.
data = 2.*randi([0 1], 1e6, 1)-1;
txFilter = comm.RaisedCosineTransmitFilter;
filteredData = txFilter(data);
rxSignal = awgn(filteredData, 20);
freqAnalyzer = dsp.SpectrumAnalyzer('SampleRate',8e6) ;
freqAnalyzer((rxSignal))
specData = getSpectrumData(freqAnalyzer) ;
figure
plot(specData.FrequencyVector{1,1}, specData.Spectrum{1,1})
Hope this helps
  1 Commento
MAWE
MAWE il 31 Ago 2022
It seems the specData.Spectrum{1,1} is the absolute value since it's real. If the signal is complex by adding some noise like below, how can I get the complex frequency representation? In other words, how can I get the same spectrum from the fft of rxSignal?
data = 2.*randi([0 1], 1e6, 1)-1;
txFilter = comm.RaisedCosineTransmitFilter;
filteredData = txFilter(data);
L=length(filteredData);
n=(1/(sqrt(2*10^2))).*(randn(L,1)+1i.*randn(L,1))
rxSignal = filterData + n;
freqAnalyzer = dsp.SpectrumAnalyzer('SampleRate',8e6) ;
freqAnalyzer((rxSignal))
specData = getSpectrumData(freqAnalyzer) ;
figure
plot(specData.FrequencyVector{1,1}, specData.Spectrum{1,1})

Accedi per commentare.

Più risposte (0)

Tag

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by