窗函数的特性分析.docx
《窗函数的特性分析.docx》由会员分享,可在线阅读,更多相关《窗函数的特性分析.docx(22页珍藏版)》请在冰豆网上搜索。
窗函数的特性分析
本科学生验证性实验报告
学号114090315姓名李开斌
学院物理与电子信息专业、班级11电子
实验课程名称窗函数的特性分析
教师及职称李宏宁
开课学期2013至2014学年下学期
填报时间2014年03月26日
云南师范大学教务处编印
一、实验设计方案
实验序号
03
实验名称
窗函数的特性分析
实验时间
2014年3月26日
实验室
同析3栋313
1.实验目的
分析常用窗函数的时域和频域特性,灵活运用窗函数分析信号频谱和设计FIR数字滤波器。
2.实验原理、实验流程或装置示意图
在确定信号谱分析、随机信号功率谱估计以及FIR数字滤波器设计中,窗函数的选择起着重要的作用。
在信号的频谱分析中,截短无穷长的序列会造成频率泄漏,影响频谱分析的精度和质量。
合理选取窗函数的类型,可以改善泄漏现象。
在FIR数字滤波器设计中,截短无穷长的系统单位脉冲序列会造成FIR滤波器幅度特性的波动,且出现过渡带。
3.实验设备及材料
装有Matlab的计算机一台
4.实验方法步骤及注意事项
利用Matlab中的函数分析并绘出常用基本信号的波形。
注意事项:
(1)在使用MATLAB时应注意中英输入法的切换,在中文输入法输入程序时得到的程序是错误的;
(2)MATLAB中两个信号相乘表示为x.*u,中间有个‘.’,同样两个信号相除也是如此;
(3)使用MATLAB编写程序时,应新建一个m文件,而不是直接在Comandante窗口下编写程序;
在使用MATLAB编程时,应该养成良好的编写习惯。
5.实验数据处理方法
比较法画图法
6.参考文献
陈后金,等.《数字信号处理》.2版【M】.北京:
高等教育出版社,2010
张德丰,等.《MATLAB数值计算与方法》.北京:
机械工业出版社,2010
二.实验报告
1.实验现象与结果
1.分析并绘出常用窗函数的时域特性波形
%矩形窗时域波形及频谱
N=51;
w=boxcar(N);
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
%汉明窗时域波形及频谱
N=51;
k=0:
N-1;
w=0.54-0.46*cos(2*pi*k/(N-1))
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
%汉宁窗时域波形及频谱
N=51;
k=0:
N-1;
w=1/2*(1-cos(2*pi*k/(N-1)));
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
%布拉克窗时域波形及频谱
N=51;
k=0:
N-1;
w=0.42-0.5*cos(2*pi*k/(N-1))+0.08*cos(4*pi*k/(N-1));
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
%三角形窗时域波形及频谱
N=51;
w=bartlett(N);
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
%凯撒窗时域波形及频谱
N=51;
beta=4;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(2,1,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形');
subplot(2,1,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形');
3.研究凯泽窗的参数选择对其时域和频域的影响
%凯撒窗时域波形及频谱beta=4时N取不同值的波形比较
N=20;
beta=4;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形beta=4,N=20');
subplot(3,2,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形beta=4,N=20');
N=60;
beta=4;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,3);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形beta=4,N=60');
subplot(3,2,4);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形beta=4,N=60');
N=110;
beta=4;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,5);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形beta=4,N=110');
subplot(3,2,6);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形beta=4,N=110');
%凯撒窗时域波形及频谱N=60,beta取不同值的波形比较
N=60;
beta=1;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,1);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形N=60,beta=1');
subplot(3,2,2);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形N=60,beta=1');
N=60;
beta=5;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,3);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形N=60,beta=5');
subplot(3,2,4);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形N=60,beta=5');
N=60;
beta=11;
w=Kaiser(N,beta);
Y=fft(w,256);
subplot(3,2,5);
stem([0:
N-1],w);
xlabel('w');
ylabel('y');
title('时域波形N=60,beta=11');
subplot(3,2,6);
Y0=abs(fftshift(Y));
plot([-128:
127],Y0)
xlabel('W');
ylabel('Y0');
title('频谱图形N=60,beta=11');
4.某序列为x[k]=0.5cos(
)+cos(
),使用fft函数分析其频谱。
%利用矩形窗分析序列
N=20;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=ones(1,N);
y=x.*w;
Y=fft(y,512);
subplot(3,2,1);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,2);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
N=40;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=ones(1,N);
y=x.*w;
Y=fft(y,512);
subplot(3,2,3);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,4);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
N=160;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=ones(1,N);
y=x.*w;
Y=fft(y,512);
subplot(3,2,5);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,6);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
%利用汉明窗分析序列
N=20;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=1/2*(1-cos(2*pi*k/(N-1)));
y=x.*w;
Y=fft(y,512);
subplot(3,2,1);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,2);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
N=40;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=1/2*(1-cos(2*pi*k/(N-1)));
y=x.*w;
Y=fft(y,512);
subplot(3,2,3);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,4);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
N=160;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=1/2*(1-cos(2*pi*k/(N-1)));
y=x.*w;
Y=fft(y,512);
subplot(3,2,5);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,6);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
%利用凯撒窗分析序列
beta=4;
N=20;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=(Kaiser(N,beta))';
y=x.*w;
Y=fft(y,512);
subplot(3,2,1);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,2);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
beta=4;
N=40;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=(Kaiser(N,beta))';
y=x.*w;
Y=fft(y,512);
subplot(3,2,3);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,4);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
beta=4;
N=160;
k=0:
N-1;
x=0.5*cos(11*pi*k/20)+cos(9*pi*k/20);
w=(Kaiser(N,beta))';
y=x.*w;
Y=fft(y,512);
subplot(3,2,5);
stem([0:
N-1],y);
title('抽样信号');
xlabel('频率');
ylabel('幅值');
subplot(3,2,6);
Y0=abs(fftshift(Y));
plot([-256:
255],Y0);
title('时域波形');
xlabel('频率');
ylabel('幅值');
2.实验总结
通过本次实验,我学会了分析常用窗函数的时域和频域特性,懂得了灵活运用窗函数分析信号频谱和设计FIR数字滤波器。
教师评语及评分:
签名:
年月日