哈尔滨工程大学数字信号处理五.docx

上传人:b****8 文档编号:11272645 上传时间:2023-02-26 格式:DOCX 页数:24 大小:105.58KB
下载 相关 举报
哈尔滨工程大学数字信号处理五.docx_第1页
第1页 / 共24页
哈尔滨工程大学数字信号处理五.docx_第2页
第2页 / 共24页
哈尔滨工程大学数字信号处理五.docx_第3页
第3页 / 共24页
哈尔滨工程大学数字信号处理五.docx_第4页
第4页 / 共24页
哈尔滨工程大学数字信号处理五.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

哈尔滨工程大学数字信号处理五.docx

《哈尔滨工程大学数字信号处理五.docx》由会员分享,可在线阅读,更多相关《哈尔滨工程大学数字信号处理五.docx(24页珍藏版)》请在冰豆网上搜索。

哈尔滨工程大学数字信号处理五.docx

哈尔滨工程大学数字信号处理五

一、实验原理

信号时无限长的,而在进行信号处理时只能采用有限长信号,所以需要将信号“截断”。

在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有现场的窗函数我、w(t),由傅里叶变换的性质可知

X(t)w(t)→1/2Πx(jw)*W(jw).如果x(t)是频宽有限信号,而w(t)是频宽无限信号,截断后信号也必须是频宽无限信号,从而产生所谓的频谱泄漏。

频谱泄漏是不可避免的,但要尽量减小,因为加窗后,是原来的信号集中在窄频带内的能量分散到无限的频宽范围。

MATLAB信号处理工具箱提供了8种窗函数,调用格式分别为:

(N为窗长度,w为返回的窗函数)

(1)boxcar()产生矩形窗,调用格式:

w=boxcar(N)

(2)函数Hanning()用于产生汉宁窗,调用格式:

w=hanning(N)

(3)函数hamming()用于产生汉明窗,调用格式为:

w=hamming(N)

(4)函数bartlett()用于产生巴特利窗,调用格式为:

w=bartlett(N)

(5)函数blackman()用于产生布莱克曼窗,调用格式为:

w=blackman(N)

(6)函数traing()用于产生traing窗,调用格式为:

w=traing(N)

(7)函数kaiser()用于产生kaiser窗,调用格式为:

w=kaiser(N)

(8)函数chebwin()用于产生切比雪夫窗,调用格式为:

w=chebwin(N)

二、实验内容

1.用MATLAB编程绘制各种窗函数的形状

程序集图形文件如下:

(1)矩形窗

>>N=10;

>>w=boxcar(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(2)汉宁窗

>>N=10;

>>w=hanning(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(3)汉明窗

>>N=10;

>>w=hamming(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(4)巴特利窗

>>N=10;

>>w=bartlett(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(5)布莱克曼窗

>>N=10;

>>w=blackman(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(6)traing窗

>>N=10;

>>w=triang(N);

>>nn=[0:

N-1];

>>plot(nn,w);

(7)kaiser窗

>>N=10;

>>w=kaiser(N);

>>nn=[0:

N-1];

>>plot(nn,w);

 

(8)切比雪夫窗

>>N=10;

>>w=chebwin(N);

>>nn=[0:

N-1];

>>plot(nn,w);

 

2.用MATLAB编程绘制各种窗函数的幅频相应,程序集图形文件如下:

(1)矩形窗

>>N=10;

>>w=boxcar(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(2)汉宁窗

>>N=10;

>>w=hanning(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(3)汉明窗

>>N=10;

>>w=hamming(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(4)巴特利窗

>>N=10;

>>w=bartlett(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(5)生布莱克曼窗

>>N=10;

>>w=blackman(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(6)traing窗

>>N=10;

>>w=triang(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(7)kaiser窗

>>N=10;

>>w=kaiser(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

(8)切比雪夫窗

>>N=10;

>>w=chebwin(N);

>>[X,W]=dtft(w,50);

>>subplot(211)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

>>subplot(212)

>>plot(W/2/pi,180/pi*angle(X))

>>xlabel('w'),ylabel('phase')

3.绘制矩形窗信号的幅频响应,窗长度分别为,N=10,N=20,N=50,N=100

N=10时

>>N=10;

>>w=boxcar(N);

>>[X,W]=dtft(w,50);

>>subplot(111)

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

N=20时

>>N=20;

>>w=boxcar(N);

>>[X,W]=dtft(w,100);

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

N=50时

>>N=50;

>>w=boxcar(N);

>>[X,W]=dtft(w,100);

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

N=100时

>>N=100;

>>w=boxcar(N);

>>[X,W]=dtft(w,100);

>>plot(W/2/pi,abs(X))

>>xlabel('w'),ylabel('abs')

4.已知周期信号x(t)=0.75+3.4cos2πft+2.7cos4πft+1.5sin3.5πft+2.57πft,其中f=25/16Hz,若截断时间长度分别为信号周期的0.9和1.1倍,试绘制和比较采用下面窗函数提取的x(t)的频谱。

(1)矩形窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=boxcar(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=boxcar(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(2)汉宁窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=hanning(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=hanning(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(3)汉明窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=hamming(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=hamming(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(4)巴特利窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=bartlett(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=bartlett(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(5)布莱克曼窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=blackman(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=blackman(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(6)traing窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=triang(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=triang(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(7)kaiser窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=kaiser(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=kaiser(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

(8)切比雪夫窗

>>fs=10;%取抽样频率为10Hz

>>T0=2.56;%函数x(t)的周期为T0=2.56

>>f=25/16;

>>Ts=1/fs;

>>N1=0.9*T0/Ts;%截断时间为信号周期的0.9倍

>>N1=fix(N1);%对N1朝零方向取整

>>nn=[0:

N1-1];

>>w=chebwin(N1);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';%用窗函数提取x(t)

>>[X,W]=dtft(x,500);

>>subplot(211),plot(W/2/pi,abs(X))

>>title('t=0.9*T0'),xlabel('w'),ylabel('abs')

>>N2=1.1*T0/Ts;%截断时间为信号周期的1.1倍

>>N2=fix(N2);

>>nn=[0:

N2-1];

>>w=chebwin(N2);

>>x=0.75+3.4*cos(2*pi*f*nn/fs)+2.7*cos(4*pi*f*nn/fs)

+1.5*sin(3.5*pi*f*nn/fs)+2.5*sin(7*pi*f*nn/fs);

>>x=w.*x';

>>[X,W]=dtft(x,500);

>>subplot(212),plot(W/2/pi,abs(X))

>>title('t=1.1*T0'),xlabel('w'),ylabel('abs')

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1