数字信号处理实验三.docx
- 文档编号:30141255
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:23
- 大小:616.15KB
数字信号处理实验三.docx
《数字信号处理实验三.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验三.docx(23页珍藏版)》请在冰豆网上搜索。
数字信号处理实验三
实验报告
课程名称:
数字信号处理
实验三:
窗函数的特性分析
班级:
通信1403
学生姓名:
强亚倩
学号:
1141210319
指导教师:
范杰清
华北电力大学(北京)
一、实验目的
分析常用窗函数的时域和频域特性,灵活运用窗函数分析信号频谱和设计FIR数字滤波器。
二、实验原理
在确定信号谱分析、随机信号功率谱估计以及FIR数字滤波器设计中,窗函数的选择起着重要的作用。
在信号的频谱分析中,截短无穷长的序列会造成频率泄漏,影响频谱分析的精度和质量。
合理选取窗函数的类型,可以改善泄漏现象。
在FIR数字滤波器设计中,截短无穷长的系统单位脉冲序列会造成FIR滤波器幅度特性的波动,且出现过渡带。
三、实验内容
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('频谱图形');
(2)hanning窗函数时域波形及频谱
①编程②结果
clearall;
clc;
n=51;
w=hanning(n);
y0=fft(w,256);
subplot(2,1,1);
stem([0:
n-1],w)
xlabel('n');
ylabel('w');
title('hanning窗时域波形')
subplot(2,1,2);
Y=abs(fftshift(y0));
plot([-128:
127],Y);
xlabel('w')
ylabel('Y')
title('hanning频域波形')
(3)哈明窗函数时域波形及频谱
①编程
clearall;
clc;
n=51;
w=hamming(n);
y0=fft(w,256);
subplot(2,1,1);
stem([0:
n-1],w)
xlabel('n');
ylabel('w');
title('hamming窗时域波形')
subplot(2,1,2);
Y=abs(fftshift(y0));
plot([-128:
127],Y);
xlabel('w')
ylabel('Y')
title('hamming频域波形')
②结果
(4)blackman窗函数时域波形及频谱
①编程
clearall;
clc;
n=51;
w=blackman(n);
y0=fft(w,256);
subplot(2,1,1);
stem([0:
n-1],w)
xlabel('n');
ylabel('w');
title('blackman窗时域波形')
subplot(2,1,2);
Y=abs(fftshift(y0));
plot([-128:
127],Y);
xlabel('w')
ylabel('Y')
title('blackman频域波形')
②结果
(5)battlett窗函数时域波形及频域特性
①编程②结果
clearall;
clc;
n=51;
w=bartlett(n);
y0=fft(w,256);
subplot(2,1,1);
stem([0:
n-1],w)
xlabel('n');
ylabel('w');
title('bartlett窗时域波形')
subplot(2,1,2);
Y=abs(fftshift(y0));
plot([-128:
127],Y);
xlabel('w')
ylabel('Y')
title('bartlett频域波形')
(6)Kaiser窗函数时域及频域波形
①编程
clearall;
clc;
n=51;
w=kaiser(n);
y0=fft(w,256);
subplot(2,1,1);
stem([0:
n-1],w)
xlabel('n');
ylabel('w');
title('Kaiser时域波形')
subplot(2,1,2);
Y=abs(fftshift(y0));
plot([-128:
127],Y);
xlabel('w')
ylabel('Y')
title('Kaiser频域波形')
②结果
3.研究凯塞窗(Kaiser)的参数选择对其时域和频域的影响。
(1)固定beta=4,分别取N=20,60,110;
(2)固定N=60,分别取beta=1,5,11。
(1)①编程:
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');
②结果
(2)①编程
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.序列,分析其频谱。
(1)利用不同宽度N的矩形窗截短该序列,N分别为20,40,160,观察不同长度N的窗对谱分析结果的影响;
(2)利用哈明窗重做
(1);
(3)利用凯塞窗重做
(1);
(4)比较和分析三种窗的结果;
(5)总结不同长度或类型的窗函数对谱分析结果的影响。
(1)编程
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('幅值');
②结果
(2)①编程
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('幅值');
②结果
(3)①编程
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('幅值');
②结果
四:
思考题
1.什么是信号截短?
什么是吉布斯(Gibbs)现象?
解:
信号截短:
指的是从一个无限长或是很长的信号中取出一段。
吉布斯现象:
将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。
当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。
当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。
这种现象称为吉布斯现象。
增加N不能消除吉布斯现象,只能让跳变值越接近9%应该减少抽样间距。
2.非矩形窗有哪些?
相比矩形窗,其优缺点有哪些?
解:
海明窗,汉宁窗,Blackman窗
和矩形窗相比,汉宁窗主瓣加宽,旁瓣显著减小,旁瓣衰减速度也较快。
汉明窗加权的系数使旁瓣达到最小。
Blackman主瓣宽旁瓣较低,频率识别精度最低,幅值识别精读最高,有更好的选择性。
三角窗和矩形窗相比,主瓣宽是其2倍,旁瓣小无负旁瓣。
4.怎样选择凯塞窗(Kaiser)的参数?
解:
N与beta的值越大,信号失真越少,但是beta和N的值得增大会导致系统设计的复杂也会带来运算的增多,所以,在选择参数之前,应首先确定自己要设计的滤波器的参数要求是什么,如ws,wp,As,Ap,之后再根据这些要求求出beta和N的值
5.在信号谱分析中,如何合理地选择窗函数?
解:
如果测试信号有多个频率分量,需要选择一个主瓣够窄的窗函数
6.数字滤波器设计中,如何合理地选择窗函数?
解:
主瓣尽量窄,能能量集中在主瓣内,从而获得较高频率分辨力。
减少窗谱最大旁瓣的相对幅度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 实验