CAD3

考虑一个被噪声污染的信号,很难看出它所包含的频率分量。应用Matlab 中的傅立叶变换可以在噪声中发现淹没在其中的信号。Y = fft(X,n)即是采用n 点的FFT变换。

3-22 考虑一个被噪声污染的信号,很难看出它所包含的频率分量。应用Matlab 中的傅立叶变换可以在噪声中发现淹没在其中的信号。Y = fft(X,n)即是采用n 点的FFT变换。

举例:一个由50MHz和120MHz正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000Hz。现可通过fft函数来分析其信号频率成份。

参考程序:

t=0:0.001:0.6;

X=sin(2pi50t)+sin(2pi120t);

y=X+1.5*randn(1,length(t));

Y=fft(y,512);

P=Y .*conj(Y)/512;

f=1000*(0:255)/512;

plot(f,P(1:256))

这样可得到信号功率谱密度图。

一、MATLAB程序

MATLAB程序代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
t=0:0.001:0.6; 
X=sin(2*pi*50*t)+sin(2*pi*120*t);
y=X+1.5*randn(1,length(t));
Y=fft(y,512);
P=Y .*conj(Y)/512;
f=1000*(0:255)/512;
figure(1);
subplot(1,2,1);
plot(t,y,'b');
xlabel('t');
ylabel('y');
axis([0,0.6,0,8]);
subplot(1,2,2);
plot(f,P(1:256),'r')
xlabel('f');
ylabel('Y');

二、程序运行结果

运行程序得到信号功率谱密度图。

wps7282

三、分析总结

(1)由功率谱密度可以看出,谱线最大的两条对应输入的50Hz和120Hz,并受随机噪声的干扰。与题意相符。

(2)熟悉MATLAB自带函数的使用。

(3)分析信号要做到时域频域相结合。