数字信号处理实验报告五.docx
《数字信号处理实验报告五.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告五.docx(20页珍藏版)》请在冰点文库上搜索。
数字信号处理实验报告五
数字信号处理实验报告
实验五:
谱分析
班级:
20110814
学号:
2011081418
姓名:
孙明凤
日期:
2013年12月1日
指导教师:
田园
成绩:
实验五谱分析
一、实验原理:
信号是无限延长的,而在进行信号处理时只能采用有限长信号,所以需要将信号“截断”。
在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信号,或是从分析的角度是无限长的信号乘以有限长的窗函数w(t),有傅里叶变换的性质可知
x(t)w(t)↔1/2pi*X(jw)*W(jw)
如果x(t)是频宽有限信号,而w(t)是频宽无限信号,截断后的信号也必是频宽无锡那信号,从而产生所谓的频谱泄漏。
频谱泄漏是不可避免的但要尽量减少,因此设计了不同的窗函数,满足不同用途的要求,从能量的角度,频谱泄漏也是能量泄漏,因为加窗后,使原来的信号集中在窄频带内的能量分散到无限的频宽范围。
Matlab信号处理工具箱提供了8种窗函数:
1)函数boxcar()用于产生矩形窗:
w=boxcar(N);
2)函数Hanning()用于产生汉宁窗:
w=hanning(N);
3)函数Hamming()用于产生汉明窗:
w=hamming(N);
4)函数bartlett()用于产生巴特利窗:
w=baetlett(N);
5)函数blackman()用于产生布莱克曼窗:
w=blackman(N);
6)函数tring()用于产生tring窗:
w=tring(N);
7)函数kaiser()用于产生kaiser窗:
w=Kaiser(N);
8)函数chebwin用于产生切比雪夫窗:
w=chebwin(N);
二、实验内容:
1、用MATLAB绘制各种窗函数的形状
N=20;
w1=boxcar(N);
subplot(221);stem(w1);
title('boxcar')
xlabel('n');ylabel('w1');
w2=hanning(N);
subplot(222);stem(w2);
title('hanning')
xlabel('n');ylabel('w2');
w3=hamming(N);
subplot(223);stem(w3);
title('hamming')
xlabel('n');ylabel('w3');
w4=bartlett(N);
subplot(224);stem(w4);
title('bartlett')
xlabel('n');ylabel('w4');
w5=blackman(N);
subplot(221);stem(w5);
title('blackman')
xlabel('n');ylabel('w5');
w6=triang(N);
subplot(222);stem(w6);
title('triang')
xlabel('n');ylabel('w6');
beta=60;
w7=kaiser(N,beta);
subplot(223);stem(w7);
title('kaiser')
xlabel('n');ylabel('w7');
r=60;
w8=chebwin(N,r);
subplot(224);stem(w8);
title('chebwin')
xlabel('n');ylabel('w8');
2、用MATLAB编程绘制各种窗函数的幅频响应
N=20;
w1=boxcar(N);
[H,W]=freqz(w1,1);
subplot(221),plot(W/pi/2,abs(H))
title('矩形窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w2=hanning(N);
[H,W]=freqz(w2,1);
subplot(222),plot(W/pi/2,abs(H))
title('汉宁窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w3=hamming(N);
[H,W]=freqz(w3,1);
subplot(223),plot(W/pi/2,abs(H))
title('汉明窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w4=bartlett(N);
[H,W]=freqz(w4,1);
subplot(224),plot(W/pi/2,abs(H))
title('巴特利特窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w5=blackman(N);
[H,W]=freqz(w5,1);
subplot(221),plot(W/pi/2,abs(H))
title('布莱克曼窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w6=triang(N);
[H,W]=freqz(w6,1);
subplot(222),plot(W/pi/2,abs(H))
title('三角窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w7=kaiser(N,60);
[H,W]=freqz(w3,1);
subplot(223),plot(W/pi/2,abs(H))
title('凯泽窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
w8=chebwin(N);
[H,W]=freqz(w8,1);
subplot(224),plot(W/pi/2,abs(H))
title('切比雪夫窗振幅特性/dB')
xlabel('相对频率');ylabel('|H(W)|');
3、绘制矩形窗的幅频响应,窗长度分别为:
N=10,N=20,N=50,N=100。
w1=boxcar(10)
[X,W]=dtft(w1,500)
subplot(221),plot(W/2/pi,abs(X));
title('boxcarN=10')
xlabel('w'),ylabel('|W(jw)|');
w2=boxcar(20)
[X,W]=dtft(w2,500)
subplot(222),plot(W/2/pi,abs(X));
title('boxcarN=20')
xlabel('w'),ylabel('|W(jw)|');
w3=boxcar(50)
[X,W]=dtft(w3,500)
subplot(223),plot(W/2/pi,abs(X));
title('boxcarN=50')
xlabel('w'),ylabel('|W(jw)|');
w4=boxcar(100)
[X,W]=dtft(w4,500)
subplot(224),plot(W/2/pi,abs(X));
title('boxcarN=100')
xlabel('w'),ylabel('|W(jw)|');
4、用不同的窗分别截取0.9倍和1.1倍周期长度的信号,绘制出频谱
f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=boxcar(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的矩形窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的矩形窗(相频)');
xlabel('f');ylabel('w2=boxcar(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的矩形窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的矩形窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=hanning(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的汉宁窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的汉宁窗(相频)');
xlabel('f');ylabel('w2=hanning(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的汉宁窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的汉宁窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=hamming(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的汉明窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的汉明窗(相频)');
xlabel('f');ylabel('w2=hamming(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的汉明窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的汉明窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=bartlett(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的巴特利特窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的巴特利特窗(相频)');
xlabel('f');ylabel('w2=bartlett(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的巴特利特窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的巴特利特窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=blackman(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的布莱克曼窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的布莱克曼窗(相频)');
xlabel('f');ylabel('w2=blackman(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的布莱克曼窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的布莱克曼窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=triang(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的三角窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的三角窗(相频)');
xlabel('f');ylabel('w2=triang(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的三角窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的三角窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=kaiser(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的凯瑟窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的凯瑟窗(相频)');
xlabel('f');ylabel('w2=kaiser(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的凯瑟窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的凯瑟窗(相频)');
xlabel('f');ylabel('f=25/16;dt=0.01;N1=230;N2=282;n1=0:
(N1-1);n2=0:
(N2-1);
x1=0.75+3.4*cos(2*pi*f*dt*n1)+2.7*cos(4*pi*f*dt*n1)+1.5*sin(3.5*pi*f*dt*n1)+2.5*sin(7*pi*f*dt*n1);
x2=0.75+3.4*cos(2*pi*f*dt*n2)+2.7*cos(4*pi*f*dt*n2)+1.5*sin(3.5*pi*f*dt*n2)+2.5*sin(7*pi*f*dt*n2);
w1=chebwin(N1);
y1=x1.*w1';
[Y1,W]=dtft(y1,1000);
subplot(221),plot(W/2/pi,abs(Y1));
grid,title('信号周期0.9的切比雪夫窗(幅频)');
xlabel('f');ylabel('|Y1|');
subplot(222),plot(W/2/pi,angle(Y1));
grid,title('信号周期0.9的切比雪夫窗(相频)');
xlabel('f');ylabel('w2=chebwin(N2);
y2=x2.*w2';
[Y2,W]=dtft(y2,1000);
subplot(223),plot(W/2/pi,abs(Y2));
grid,title('信号周期1.1的切比雪夫窗(幅频)');
xlabel('f');ylabel('|Y2|');
subplot(224),plot(W/2/pi,angle(Y2));
grid,title('信号周期1.1的切比雪夫窗(相频)');
xlabel('f');ylabel('实验分析:
通过本次实验,了解了各窗函数的特性及用途.窗函数通过截取无限信号,来进行频谱分析。