Power spectral density of a under sampled signal

Hi ,
I have a under sampled signal x. which is a 2k Hz signal. This same signal is under sampled at 50Hz. I tried to extract to freq response of this signal but as the siganl is sampled below the Nyquest rate I am not able to get it. I also tried with pwelch() function but it is also not giving me correct reasult.
How should I calculate the power spectral density of this signal x?
fs = 50
t = 0:1/fs:2^22- 1/fs;
x = sin(2*pi*2000*t) ;
plot(t,x);
y = fft(x);
f = (0:length(y)-1)*50/length(y)*80;
plot(f,abs(y))
title('Magnitude')
figure(2)
num_segments = 32;
window_length = floor(length(x)/num_segments);
[PSDphase ,f] =pwelch(x ,window_length ,[] ,[] ,50 ,'twosided');
h=semilogx( f, (10* log10(PSDphase)), 'b'); %hold on;
grid on;

답변 (1개)

Navya Seelam
Navya Seelam 2020년 5월 12일

0 개 추천

Increase the sampling frequency of the signal to get expected results. When a signal is undersampled , aliasing happens and hence you are not able to get correct result.

댓글 수: 3

Dear,
Thank you for the answer. But in the actual problem I can't increase the sampling frequency. So is there a solution of this kind of problem when the sampling frequency is less than that signal frequency?
Regards
Hi,
One thing to notice here is the signal x is of the form sin(2*pi*n) with n being an integer. So x is actually a zero signal or nearly zero signal (due to precision limitations) and we cannot perform any operation on a zero signal.
DIPAN KAR
DIPAN KAR 2020년 5월 19일
편집: DIPAN KAR 2020년 5월 19일
Thank you for pointing out the error. But I wanted to do fft of the phase and extract the PSD from it. Is this is the correct way?
fs = 50
t = 0:1/fs:2^22- 1/fs;
x = 2*pi*2000*t;
plot(t,x);
y = fft(x);
f = (0:length(y)-1)*50/length(y)*80;
plot(f,abs(y))
title('Magnitude')
figure(2)
num_segments = 32;
window_length = floor(length(x)/num_segments);
[PSDphase ,f] =pwelch(x ,window_length ,[] ,[] ,50 ,'twosided');
h=semilogx( f, (10* log10(PSDphase)), 'b'); %hold on;
grid on;

댓글을 달려면 로그인하십시오.

카테고리

제품

릴리스

R2020a

질문:

2020년 5월 9일

편집:

2020년 5월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by