4窗函数及频谱分析.docx
- 文档编号:7353448
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:12
- 大小:97.03KB
4窗函数及频谱分析.docx
《4窗函数及频谱分析.docx》由会员分享,可在线阅读,更多相关《4窗函数及频谱分析.docx(12页珍藏版)》请在冰豆网上搜索。
4窗函数及频谱分析
窗函数及频谱分析
实验目的:
1.掌握各类窗函数的时域和频率特性;
2.掌握合理运用窗函数分析信号频谱的方法;
3.掌握利用DFT分析连续信号频谱的方法;
4.掌握谱分析中参数的选取方法。
实验原理:
一、窗函数分析在确定信号谱分析中,截短无穷长的序列会造成频率泄漏,合理选取窗函数的类型,可以改善泄露现象。
1.常用窗函数
矩形窗w=boxcar(N)
汉明窗w=hamming(N)
汉宁窗w=hanning(N)
布莱克曼窗w=blackman(N)
凯泽窗w=Kaiser(N,beta)
例:
N=50;
w=boxcar(N);
W=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
subplot(2,1,2);plot([-128:
127],abs(fftshift(W)))
MATLAB中提供了fft函数,FFT是DFT的快速算法。
X=fft(x,n):
补零或截短的n点傅立叶变换;
fftshift(x)将fft计算输出的零频移到输出的中心。
例:
N=50;
w=hamming(N);
W=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
subplot(2,1,2);plot([-128:
127],abs(fftshift(W)))
例:
已知一连续信号为x(t)cos(2f1t)cos(2f2t)
其中fi=100Hz,f2=120Hz,若以抽样频率fsam=600Hz对该信号进行抽样,试用
DFT近似分析其频谱:
利用不同宽度N的矩形窗截短该序列,N分别取15,40,80观察不同长度的窗对谱分析结果的影响;利用汉明窗重做
(1)。
用矩形窗分析:
N=input('请输入N的值:
’);
L=512;
f1=100;f2=120;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);
subplot(211);stem(t,x);
W=fft(x,L);
f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);%f=((-L/2:
L/2-1)*(1/L)*fs);
subplot(212);
plot(f,abs(fftshift(W)))用汉明窗重做上述谱分析:
N=input('请输入N的值:
’);
L=512;
f1=100;f2=120;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+cos(2*pi*f2*t);
wh=hamming(N)';
x=x.*wh;
subplot(211);stem(t,x);
W=fft(x,L);
f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);
subplot(212);
plot(f,abs(fftshift(W)))
例:
已知连续信号为x(t)cos(2f1t)0.15cos(2f2t),其中fi=100Hz,f2=150Hz,
若以抽样频率fsam=600Hz对该信号进行抽样,利用不同宽度N的矩形窗截短该
序列,N分别取15,40,80观察不同长度的窗对谱分析结果的影响;用汉明窗重做上述谱分析。
用矩形窗:
N=input('请输入N的值:
’);
L=512;
f1=100;f2=150;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+0.15*cos(2*pi*f2*t);
subplot(211);stem(t,x);
W=fft(x,L);f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);subplot(212);plot(f,abs(fftshift(W)))
用汉明窗:
N=input('请输入N的值:
’);
L=512;
f1=100;f2=150;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+0.15*cos(2*pi*f2*t);
wh=hamming(N)';
x=x.*wh;
subplot(211);stem(t,x);
W=fft(x,L);
f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);
subplot(212);
plot(f,abs(fftshift(W)))
二、利用DFT计算连续非周期信号的频谱。
分析步骤:
(1)根据时域抽样定理,确定时域抽样间隔T,得到离散序列x[k];
(2)确定信号截短的长度M及窗函数的类型,得到有限长M点离散序列
XM【k]x[k]w[k];
(3)确定频域抽样点数N,要求NM;
(4)利用FFT函数进行N点FFT计算得到N点的X[m];
(5)由X[m]可得连续信号的频谱X(j)样点的近似值。
1
j~~1
例:
利用DFT近似分析连续信号x(t)=e-tu(t)的频谱,要求频率分辨率为0.1Hz,绘出频谱图并与理论值比较,。
信号的频谱为X(j)
此信号的频谱为无限宽且单调递减,当3=2nX25rad/s|X(j50n)|=0.0064,已经衰减到很小,因此选fm=25Hz为近似的最高频率,则抽样频率为fs=2fm=50Hz,抽样间隔为T=1/2fm=0.02s=
时域信号无限长,因此必须截短到有限长。
由Nfs/f50/0.1500,则
截短点数为N=500,抽样持续时间为Tp=NT=1/f1/0.110,FFT点数可选
512,采用矩形窗:
fsam=input('请输入fsam的值:
');
Tp=10;N=512;T=1/fsam;
t=0:
T:
Tp;
x=exp(-1*t);
X=T*fft(x,N);%消除1/T因子的影响w=(-N/2:
N/2-1)*(2*pi/N)*fsam;
y=1./(j*w+1);%理论频谱值
figure;plot(w,abs(fftshift(X)),w,abs(y),'r-.');
title('幅度谱');xlabel('w');
legend(计算值','理论值');
由幅度谱可知,DFT的计算结果与理论值基本吻合。
若将抽样频率降低至
10Hz、5Hz等,试观察DFT计算结果与理论值的误差大小。
实验内容:
1.已知信号表达式为x(t)cos(2f,t)0.2cos(2f2t),其中fi=100Hz,f2=120Hz,
试确定合适的抽样频率fs并用DFT近似分析其频谱:
(1)利用不同宽度N的矩形窗截短该序列,观察不同长度的窗对谱分析结果的影响,是否都能分辨到两个明显谱峰,为什么?
(2)利用汉明窗重做
(1),比较与
(1)中结果的区别,并解释原因。
>>forN=[15,30,45]
L=512;
f1=100;f2=120;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+0.15*cos(2*pi*f2*t);
figure;
subplot(211);stem(t,x);
W=fft(x,L);
f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);
subplot(212);
plot(f,abs(fftshift(W)))
end
forN=[15,30,45];
L=512;
f1=100;f2=120;fs=600;
ws=2*pi*fs;
t=(0:
N-1)*(1/fs);
x=cos(2*pi*f1*t)+0.15*cos(2*pi*f2*t);
wh=hamming(N)';
x=x.*wh;
figure;
subplot(211);stem(t,x);
W=fft(x,L);
f=((-L/2:
L/2-1)*(2*pi/L)*fs)/(2*pi);
subplot(212);
plot(f,abs(fftshift(W)))
end>>
0
-2
L
L
L
一
z
f
■■
%
、
J
r
-
1
-
1
J
T
T
1
i
J.
A
k
J
1
1
A
i
1
1
>
、J
j
■
「
0.0050.010.0150.020.0250.030.0350.040.0450.05
-300
-200
-100
0
100
200
300
25
20
15
10
0」
-300
{1A
/XN111.AI
ku/X/WV/vTv*,吊’■『\匸JUQ
-100
-200
100
200
300
1.5
1
0.5
-1
lI
-q
Q
■ta'■
g,|cr11f丨
LLL
J」
1"1fd
9,11.1
rrj
1
r
11w、右叫-
rrr
0
-0.5
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0
0.08
-300
-200
-100
100
200
300
2.已知连续信号x(t)=e-2tu(t),选取合适参数利用DFT近似分析其幅度谱,要求频率分辨率为0.05Hz,绘出谱图并与理论值比较,将理论频谱曲线和实际计算频谱曲线绘制在一个坐标系中。
(若将抽样频率降低至10Hz、5Hz等,再重做一次,观察最终理论值与计算值间的误差变化。
)
>>forfsam=[50,10,5];
Tp=20;N=512;T=1/fsam;
t=0:
T:
Tp;
x=exp(-2*t);
X=T*fft(x,N);%消除1/T因子的影响
w=(-N/2:
N/2-1)*(2*pi/N)*fsam;
y=1./(j*w+2);%理论频谱值
figure;plot(w,abs(fftshift(X)),w,abs(y),'r-.');
title('幅度谱');xlabel('w');
legend(计算值','理论值');
end
幅度谱
-200-150-100-50050100150200
w
幅度谱
-40-30-20-10010203040
w
幅度谱
0.7
0.6
计算值
理论值
0.5
0.4
0.3-
0.2-
0.1-
实验报告要求:
1•列出本次实验编写的所有MATLAB程序及各项实验结果的图形(打印),对实验结果进行必要的分析说明;
2.总结实验体会及实验中存在的问题。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数 频谱 分析