📄 zhouqitu1.m
字号:
%周期图法估计:已知信号的频率140Hz和150Hz两个频率分量,其幅度分别为2和1。该信号被标准方差为0.1的白噪声污染,
%以采样频率1000Hz得到1s的数据。用周期图估计该信号的谱和平均功率。并比较数据长度、SNR和窗函数对谱估计的影响
%生成信号x
f=[150;140];
A=[1 2];
fs=1000;
t=(0:fs)/fs;
x=A*sin(2*pi*f*t);
%生成噪声n和被污染的信号xn
randn('state',0);
n=0.1*randn(size(t));
xn=x+n;
%绘制估计出的双边谱
subplot(3,2,1);
periodogram(xn,[],'twosided',512,fs); %twosided表示绘制双边频谱
Pxx=periodogram(xn,[],'twosided',512,fs);
Pow=(fs/length(Pxx))*sum(Pxx)%计算信号的平均功率
%将数据xn缩短为原来的1/10,观察谱泄漏情况
x=x(1:length(x)/10);
n=n(1:length(n)/10);
xn=x+n;
subplot(3,2,2);
periodogram(xn,[],512,fs);
% 频谱分辨率df=fs/L,L为数据的长度
%本例中df=150-140=10,因此只有L>100时才能分辨出这两个信号
%观察L<100时的谱估计效果(例如L=70)
subplot(3,2,3);
periodogram(xn(1:70),[],512,fs);
%降低xn的信噪比SNR,观察SNR对谱估计的影响(例如n的标准差为4)
subplot(3,2,4);
periodogram(x+40*n,[],512,fs);
%对比不同的窗函数对谱估计的影响(矩形窗和汉明窗)
subplot(3,2,5);
periodogram(xn,rectwin(length(xn)),512,fs);
subplot(3,2,6);
periodogram(xn,hamming(length(xn)),512,fs);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -