同一图形中的多个PSD - Matlab

问题描述 投票:1回答:1

我打算在同一张图上绘制多个功率谱密度。我使用下面的方法来绘制单个信号的功率谱密度。

hss = dsp.SpectrumAnalyzer('SampleRate', Fs); 
step(hss,rx);
release(hss);

然而,如果我在同一个频谱分析仪中绘制另一个信号,使用hold on似乎没有帮助。

hss = dsp.SpectrumAnalyzer('SampleRate', Fs); 
step(hss,rx); hold on;
step(hss,tx);
release(hss);

谁能指导我如何去做这件事。

EDIT:这是我的一段代码。

Fs = 12e6;
data = randi([0 1],1000,1);
%% OQPSK Modulate data
hMod = comm.OQPSKModulator('BitInput',true); 
tx = step(hMod, data);
%% Add noise
hAWGN = comm.AWGNChannel('EbNo',2);
rx = step(hAWGN, tx);

现在我需要一个方法来绘制这两个PSD文件 txrx 在同一张图中,我打算在同一张图上绘制多个功率谱密度。

matlab matlab-figure frequency spectrum spectral-density
1个回答
1
投票

好吧,我想我已经明白了,你需要在同一个步骤调用中传递多个数据,像这样。

Fs = 12e6;
hss = dsp.SpectrumAnalyzer('SampleRate', Fs); 
data = randi([0 1],2000,1);%I had to increase the # of points
%% OQPSK Modulate data
hMod = comm.OQPSKModulator('BitInput',true); 
tx = step(hMod, data);
%% Add noise
hAWGN = comm.AWGNChannel('EbNo',2);
rx = step(hAWGN, tx);

%This is the line that makes it work, passing in a matrix of input data
step(hss,[rx tx]);

enter image description here


0
投票

你可以在Matlab中使用下面的代码.

假设你有两个信号,signal1和signal2。

rmc = lteRMCDL('R.0');
[signal1,~,info] = lteRMCDLTool(rmc,[1;0;0;1]); %

signal2 = 100*signal1;

scope = dsp.SpectrumAnalyzer;
scope.PlotAsTwoSidedSpectrum = true;
scope.SampleRate = info.SamplingRate; 

% 你应该把你的采样器替换成info.samplerate。

scope([signal1 signal2])
© www.soinside.com 2019 - 2024. All rights reserved.