Power Spectral Density two approaches
3 次查看(过去 30 天)
显示 更早的评论
Hi all,
Please, can you explain me why I get two different results of Gaussian pulse Power Spectral Density? This two approaches should lead to the equivalent results but do not. I really dont know where I make mistake. Thank you very much. I also attached the source file. The code:
if true
%
% GAUSSIAN PULSE PSD
fc = 2e9; % Center frequency
tc = gmonopuls('cutoff',fc); % Width of each pulse
fs=50*fc; % Sampling frequency
SegmentDuration = 2*tc;
N = fs*SegmentDuration;
t = -SegmentDuration:(1/fs):(SegmentDuration-1/fs); % Signal evaluation time
y = gmonopuls(t,fc);
figure();
plot(t,y)
figure();
periodogram(y, rectwin(length(y)), [], fs, 'oneside', 'power');
hgcf = gcf;
hgcf.Color = [1,1,1];
mean_power = mean(y.^2);
mean_power_dBm = 10*log10(1000*mean_power);
%---------------------------------------------------------------------------------------------------------
fc = 2e9; % Center frequency
Fs = 100e9; % Sampling frequency
tc = gmonopuls('cutoff',fc); % Width of each pulse
t = 0:1/Fs:(4*tc-1/Fs); % Signal evaluation time
x = pulstran(t,2*tc,@gmonopuls,fc);
figure();
plot(t,x)
N = length(x);
NFFT = 2^nextpow2(N);
xdft = fft(x,NFFT);
xdft = xdft(1:NFFT/2+1);
psdx = (1/(Fs*NFFT)) * abs(xdft).^2;
psdx(2:end-1) = 2*psdx(2:end-1);
freq = 0:Fs/NFFT:Fs/2;
figure();
plot(freq,10*log10(psdx))
grid on
title('Periodogram Using FFT')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
end
0 个评论
采纳的回答
Rick Rosson
2015-1-12
编辑:Rick Rosson
2015-1-12
Please replace the following line of code:
periodogram(y, rectwin(length(y)), [], fs, 'oneside', 'power');
with:
periodogram(y, rectwin(length(y)), [], fs, 'oneside', 'psd');
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Parametric Spectral Estimation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!