Filter löschen
Filter löschen

Power Spectral Density two approaches

3 Ansichten (letzte 30 Tage)
Martin Kovac
Martin Kovac am 9 Jan. 2015
Kommentiert: Martin Kovac am 12 Jan. 2015
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
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);
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);
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;
grid on
title('Periodogram Using FFT')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')

Akzeptierte Antwort

Rick Rosson
Rick Rosson am 12 Jan. 2015
Bearbeitet: Rick Rosson am 12 Jan. 2015
Please replace the following line of code:
periodogram(y, rectwin(length(y)), [], fs, 'oneside', 'power');
periodogram(y, rectwin(length(y)), [], fs, 'oneside', 'psd');
  1 Kommentar
Martin Kovac
Martin Kovac am 12 Jan. 2015
Thank you very much. This is exactly what i need to know. Thank you once again.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by