MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章

上传人:E**** 文档编号:89347914 上传时间:2019-05-23 格式:PPT 页数:49 大小:609.50KB
返回 下载 相关 举报
MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章_第1页
第1页 / 共49页
MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章_第2页
第2页 / 共49页
MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章_第3页
第3页 / 共49页
MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章_第4页
第4页 / 共49页
MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章》由会员分享,可在线阅读,更多相关《MATLAB辅助现代工程数字信号处理 第二版 教学课件 ppt 作者 李益华 第1-5章 第5章(49页珍藏版)》请在金锄头文库上搜索。

1、第5章 多采样率数字信号处理,5.1 信号的抽取与内插 5.2 有理因子采样率转换 5.3 采样率转换的滤波器实现 5.4 数字滤波器组 5.5 小结,5.1 信号的抽取与内插 5.1.1 信号的整数倍抽取 在时域中,若原始信号为x(n),抽取因子为D,抽取后得到的信号为y(n),则整个信号的抽取过程可表示为 y(n)x(Dn) (5.1) 信号的抽取过程可分为两个步骤: 第一步,将x(n)与一个周期为D的采样脉冲序列相乘,即每D个点中保留一个点,其他(D1)个点为零,以便得到采样信号(n); 第二步,去掉(n)中的零点后,便得到一个低速率的信号y(n)。中间采样信号(n)为,(5.2),抽取

2、后的信号为 y(n)=(Dn) (5.3) 【例 5.1】 设x(n)=2 sin(0.089n),抽取因子D为3,求抽取输出信号y(n)。 MATLAB程序如下: %MATLAB PROGRAM 51 clc; n=0: 49; m=0: 50*31; x=2*sin(0.089*pi*m); y=x(1: 3: length(x); subplot(211);,stem(n,x(1: 50); xlabel(n); ylabel(x(n); subplot(212); stem(n,y); xlabel(n); ylabel(y(n); 程序运行结果如图5.1所示。,图 5.1 信号的整数

3、倍抽取时域分析,为分析下行抽样信号的频谱,先计算(n)的频谱为,(5.4),则抽取信号的频谱为,(5.5),抽取信号的频谱与原来信号的频谱有以下关系: 首先X()作(D1)次及等间隔平移,其平移间隔为2/D,然后作叠加平均得到W(), 最后频谱拉伸D倍后即可得到抽取信号的频谱。,【例 5.2】 利用MATLAB的函数fir2构造一个带限输入序列: f=0, 0.45, 0.49,1; 幅值mag=0, 1, 0, 0。 试分析信号抽取因子D=2的频域特性。 MATLAB程序如下: %MATLAB PROGRAM 5-2 freq=0, 0.45, 0.49, 1; mag=0, 1, 0, 0

4、; x=fir2(101,freq,mag); %求取并绘制输入谱,Xz,w=freqz(x,1,512); subplot(211); plot(w/pi,abs(Xz); xlabel(omega/pi); ylabel(|Xz(w)|); grid; y=x(1: 2: length(x); %产生抽取输出谱 %求取并绘制抽取输出谱 Yz,w=freqz(y,1,512); subplot(212); plot(w/pi,abs(Yz); xlabel(omega/pi); ylabel(|Yz(w)|); grid; 程序运行结果如图5.2所示。,图 5.2 整数倍抽取频域分析,5.1

5、.2 信号的整数倍内插 将采样率增加到I倍可以通过在信号的两个连续值之间内插(I1)个样本来实现。内插过程可以由许多方式实现,下面介绍的是一个保持信号序列x(n)的谱形状不变的方式。在时域中,若已知输入信号x(n),内插因子为I,插值后得到的信号为y(n),则整个信号的内插过程可表示为,(5.6),其他,内插过程是由“填零”方式进行的上行采样的过程。,【例 5.3】 设x(n)=2 sin(0.26n),内插因子I为3,求内插输出信号y(n)。 MATLAB程序如下: %MATLAB PROGRAM 5-3 n=0: 50; x=2*sin(0.26*pi*n); y=zeros(1,3*le

6、ngth(x); y(1: 3: length(y)=x; subplot(211); stem(n,x); xlabel(n); ylabel( x(n) ); subplot(212); stem(n,y(1: length(x); xlabel(n); ylabel( y(n) ); 程序运行结果如图5.3所示。,图 5.3 信号的整数倍内插时域分析,对输出信号进行傅里叶变换,得到信号y(n)的频谱为,(5.7),【例 5.4】 利用MATLAB的函数fir2构造一个带限输入序列: f=0, 0.46, 0.51,1; 幅值mag=0, 1, 0, 0。 试分析信号内插因子I=2的频域特

7、性。 MATLAB程序如下: %MATLAB PROGRAM 5-4 freq=0, 0.46, 0.51, 1; mag=0, 1, 0, 0; I=2; x=fir2(99,freq,mag); %求取并绘制输入谱,Xz,w=freqz(x,1,512, whole); subplot(211); plot(w/pi,abs(Xz); xlabel(omega/pi); ylabel(|Xz(w)|); grid; %产生抽取输出谱 y=zeros(1, I*length(x); y (1: I: length(y)=x; %求取并绘制抽取输出谱 Yz,w=freqz(y,1,512, w

8、hole); subplot(212); plot(w/pi,abs(Yz); xlabel(omega/pi); ylabel(|Yz(w)|); grid; 程序运行结果如图5.4所示。,图 5.4 内插过程的频域分析,5.2 有理因子采样率转换 对于有理因子I/D采样率转换的情形,可以通过抽取和内插串联来实现。先通过内插因子I插入信号,再利用抽取因子D来抽取信号。内插过程的平滑滤波器和抽取过程的反混叠滤波器可以合并为一个低通滤波器,理想情况下的频率响应为,(5.8),其他,图5.5给出了采样率通过有理因子I/D改变的系统框图。,图 5.5 有理因子采样率转换的系统框图,对于上述有理因子采

9、样率的转换,输出信号的频谱可表示为,(5.9),其他,5.3 采样率转换的滤波器实现 5.3.1 抽取采样率转换的滤波器实现 为消除抽取操作引起的混叠,在执行抽样之前,输入信号必须通过低通滤波器H(z)将带宽限制到| 。因此,实际的信号抽取系统如图5.6所示。,图 5.6 抽取过程的实际结构,该系统一般称为抽取器。由图可知:,(5.10),(5.11),因此,(5.12),若“反混叠”滤波器为理想的滤波器,(5.13),其他,则有,(5.14),MATLAB信号处理工具箱提供抽取函数decimate用于信号的整数倍抽取,调用格式为 y=decimate(x, D) y=decimate(x,

10、D, n) y=decimate(x, D, fir) y=decimate(x, D, n, fir) 其中,x为输入信号; D为抽取因子; fir为指定的FIR滤波器,缺省时采用切比雪夫型低通滤波器压缩频带; n为低通滤波器的阶数,当采用FIR滤波器时,缺省时为30点数,否则缺省为8阶。,【例 5.5】 调频信号x(t)=2 sin(kt2),k=1; 0tT; T=4; 采样率为fs,采样点数N=Tfs; fs=4fc。利用MATLAB编程,分析抽取因子分别为2和4时的情况。 MATLAB程序如下: %MATLAB PROGRAM 5-5 k=1; T=4; fc=k*T; fs=4*f

11、c; Ts=1/fs; N=T/Ts; x=zeros(1,N); t=0: N-1; x=2*sin(k*pi*(t*Ts).2); %原始输入信号x(n) figure(1); subplot(221); stem(t*Ts,x);,D=2; %抽取因子为2 y=decimate(x,D); %抽取输出信号y(n) tnew=0: N/D1; subplot(223); stem(tnew*D*Ts,y); X=fft(x); %原始输入信号频谱X() X=fftshift(X); subplot(222); plot(t-N/2)*fs/N, abs(X); Y=fft(y); %抽取输

12、出信号频谱Y() Y=fftshift(Y); subplot(224);,plot(tnewN/D/2)*fs/N, abs(Y); figure(2); D=4; %抽取因子为4 y=decimate(x,D); %抽取输出信号y(n) tnew=0: N/D1; subplot(221); stem(tnew*D*Ts,y); Y=fft(y); %抽取输出信号频谱Y() Y=fftshift(Y); subplot(222); plot(tnew-N/D/2)*fs/N, abs(Y); 程序运行结果如图5.7所示。,图 5.7 信号抽取过程的时频分析,5.3.2 内插采样率转换的滤波

13、器实现 为消除内插“填零”过程中引起的“复制”,一般采用平滑滤波来处理。内插过程的实际结构如图5.8所示。,图 5.8 内插过程的实际结构,上述系统一般称为内插器。若滤波采用理想低通滤波器,(5.15),其他,又因,(5.16),故有,(5.17),【例 5.6】 调频信号x(t)=2 cos(kt2),k=1; 0tT; T=4; 采样率为fs,采样点数N=Tfs; fs=2.5fc。利用MATLAB编程,分析将采样率提高3倍时的情况。 MATLAB程序如下: %MATLAB PROGRAM 5-6 k=1; T=4; fc=k*T; fs=2.5*fc; Ts=1/fs; N=T/Ts;

14、x=zeros(1,N); t=0: N1; x=2*cos(k*pi*(t*Ts).2); %原始输入信号x(n) subplot(221);,stem(t*Ts,x); I=3; y=interp(x,I); %内插输出信号y(n) tnew=0: N*I1; subplot(223); stem(tnew*Ts/I,y); X=fft(x); %原始输入信号频谱X() X=fftshift(X); subplot(222); plot(tN/2)*fs/N, abs(X); Y=fft(y); %内插输出信号频谱Y() Y=fftshift(Y); subplot(224); plot(

15、tnew-N*I/2)*fs/N, abs(Y); 程序运行结果如图5.9所示。,图 5.9 信号内插过程的时频分析,5.3.3 有理因子采样率转换的滤波器实现 利用一个内插器连接一个抽取采样器,就可以有效地实现一个比率为I/D的采样率转换器。MATLAB信号处理工具箱提供了重采样函数resample用于有理因子的采样率转换,调用格式为 y=resample(x, I, D) y=resample(x, I, D, n) y=resample(x, I, D, n, beta) y=resample(x, I, D, b) y, b=resample(x, I, D),【例 5.7】 调频信号x(t)=3 sin(kt2),k=1; 0tT

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号