北京理工大学:《信号与信息处理》课程教学资源(实验讲义)数字信号处理实验教程(基于MATLAB语言)

数字信号处理实验教程(基于MATLAB语言)范哲意编北京理工大学信号与图像处理研究所二0一四年十一月
数字信号处理实验教程 (基于 MATLAB 语言) 范哲意 编 二〇一四年十一月

数字信号处理实验教程一基于MATLAB语言目录实验1利用DFT分析信号频谱一、实验目的二、实验设备与环境三、实验基础理论1四、实验内容....3五、实验报告要求4实验2利用FFT计算线性卷积.5一、实验目的5二、实验设备与环境5三、实验基础理论.5四、实验内容8五、实验报告要求.8实验3IIR数字滤波器设计9一、实验目的.9二、实验设备与环境9三、实验基础理论9四、实验内容....9五、实验报告要求.9实验4FIR数字滤波器设计.1010一、实验目的..二、实验设备与环境..10三、实验基础理论.10四、实验内容..10..11五、实验报告要求附录1IIR数字滤波器设计方法概述.121.数字滤波器和模拟滤波器的一些指标12..132.模拟原型滤波器2.1巴特沃斯滤波器...13..182.2切比雪夫低通滤波器..212.3椭圆滤波器2.4三种滤波器的比较.213.模拟滤波器到数字滤波器的变按22I
数字信号处理实验教程—基于 MATLAB 语言 I 目 录 实验 1 利用 DFT 分析信号频谱. 1 一、实验目的.1 二、实验设备与环境.1 三、实验基础理论.1 四、实验内容.3 五、实验报告要求.4 实验 2 利用 FFT 计算线性卷积.5 一、实验目的.5 二、实验设备与环境.5 三、实验基础理论.5 四、实验内容.8 五、实验报告要求.8 实验 3 IIR 数字滤波器设计. 9 一、实验目的.9 二、实验设备与环境.9 三、实验基础理论.9 四、实验内容.9 五、实验报告要求.9 实验 4 FIR 数字滤波器设计.10 一、实验目的.10 二、实验设备与环境.10 三、实验基础理论.10 四、实验内容.10 五、实验报告要求.11 附录 1 IIR 数字滤波器设计方法概述. 12 1. 数字滤波器和模拟滤波器的一些指标. 12 2. 模拟原型滤波器.13 2.1 巴特沃斯滤波器.13 2.2 切比雪夫低通滤波器.18 2.3 椭圆滤波器.21 2.4 三种滤波器的比较.21 3. 模拟滤波器到数字滤波器的变换.22

数字信号处理实验教程一基于MATLAB语言223.1脉冲响应不变法..263.2双线性变换法...274.直接利用MATLAB函数设计IR数字滤波器附录2FIR数字滤波器设计方法概述.29..291.线性相位FIR数字滤波器.(1)线性相位条件:...2929(2)频率响应29(3)幅度函数..30.(4)利用MATLAB计算频率响应和幅度函数、相位函数2.窗函数法设计FIR数字滤波器32..353.频率取样法设计FIR数字滤波器...384.利用MATLAB函数设计FIR数字滤波器(1)firl函数38(2)fir2函数,38参考文献.40=
数字信号处理实验教程—基于 MATLAB 语言 II 3.1 脉冲响应不变法.22 3.2 双线性变换法.26 4. 直接利用 MATLAB 函数设计 IIR 数字滤波器.27 附录 2 FIR 数字滤波器设计方法概述. 29 1. 线性相位 FIR 数字滤波器. 29 (1)线性相位条件:.29 (2)频率响应.29 (3)幅度函数.29 (4)利用 MATLAB 计算频率响应和幅度函数、相位函数.30 2. 窗函数法设计 FIR 数字滤波器. 32 3. 频率取样法设计 FIR 数字滤波器. 35 4. 利用 MATLAB 函数设计 FIR 数字滤波器.38 (1) fir1 函数. 38 (2) fir2 函数. 38 参考文献. 40

数字信号处理实验教程一基于MATLAB语言实验1利用DFT分析信号频谱一、实验目的1.加深对DFT原理的理解。2.应用DFT分析信号的频谱。3.深刻理解利用DFT分析信号频谱的原理,分析实现过程中出现的现象及解决方法。二、实验设备与环境计算机、MATLAB软件环境。三、 实验基础理论1.DFT与DTFT的关系有限长序列x(n)(O≤n≤N-1)的离散时间傅里叶变换X(eje)在频率区间(O≤の≤2元)的N个等间隔分布的点kの=2元k/N(0≤k≤N-1)上的N个取样值可以由下式表示:21N-Ex(n)e-X(e=X(k)0≤k≤N-1(2-1)-9=2k/N=0由上式可知,序列x(n)的N点DFTX(k),实际上就是x(n)序列的DTFT在N个等间隔频率点kの=2元k/N(0≤k≤N-1)上样本X(k)。2.利用DFT求DTFT方法1:由X(k)恢复出X(ej)的方法如图2.1所示:X(ese)X(kc)x(n)IDFTDTFT图2.1由N点DFT恢复频谱DTFT的流程由图2.1所示流程可知:Zx(n)e-jomX(ejo)=X(k)WN1=-(2-2)由式2-2可以得到2元kx(eja)=x(k)p(0-(2-3)Nkol其中(x)为内插函数I
数字信号处理实验教程—基于 MATLAB 语言 1 实验 1 利用 DFT 分析信号频谱 一、实验目的 1. 加深对 DFT 原理的理解。 2. 应用 DFT 分析信号的频谱。 3. 深刻理解利用 DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。 二、实验设备与环境 计算机、MATLAB 软件环境。 三、实验基础理论 1. DFT 与 DTFT 的关系 有 限 长 序 列 x(n)(0 n N 1) 的 离 散 时 间 傅 里 叶 变 换 ( ) j X e 在 频 率 区 间 (0 2 ) 的 N 个等间隔分布的点 k 2k N (0 k N 1)上的 N 个取样值可以由 下式表示: ( ) ( ) ( ) 0 1 1 0 2 2 X e x n e X k k N N k kn N j k N j (2-1) 由上式可知,序列 x(n) 的 N 点 DFT X (k) ,实际上就是 x(n) 序列的 DTFT 在 N 个 等间隔频率点 k 2k N (0 k N 1)上样本 X (k) 。 2. 利用 DFT 求 DTFT 方法 1:由 X (k) 恢复出 ( ) j X e 的方法如图 2.1 所示: 图 2.1 由 N 点 DFT 恢复频谱 DTFT 的流程 由图 2.1 所示流程可知: j n n N k kn N n j j n X k W e N X e x n e 1 0 ( ) 1 ( ) ( ) (2-2) 由式 2-2 可以得到 N k j N k x e X k 1 ) 2 ( ) ( ) ( (2-3) 其中(x) 为内插函数

数字信号处理实验教程一基于MATLAB语言(0) = Sin(No/2).a-Je4l(2-4)Nsin(の/2)方法2:然而在实际MATLAB计算中,上述插值运算不见得是最好的办法。由于DFT是DTFT的取样值,其相邻两个频率样本点的间距为2元/N,所以如果我们增加数据的长度N,使得到的DFT谱线就更加精细,其包络就越接近DTFT的结果,这样就可以利用DFT来近似计算DTFT。如果没有更多的数据,可以通过补零来增加数据长度。3.利用DFT分析连续时间信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这里需要进行两个操作:一是采样,二是截断。对于连续时间非周期信号x。(t),按采样间隔T进行采样,截取长度为M,那么MsX(j2)=.()e-dt=T2.(nT)e-0mr(2-5)n=0对X。(j2)进行N点频域采样,得到MjknX.(j2)0=TZx(nT)e=TX(k)(2-6)NTn=0因此,可以将利用DFT分析连续非周期信号频谱的步骤归纳如下:(1)确定时域采样间隔T,得到离散序列x(n);(2)确定截取长度M,得到M点离散序列xm(n)=x(n)w(n),这里w(n)为窗函数。(3)确定频域采样点数N,要求N≥M。(4)利用FFT计算离散序列的N点DFT,得到XM(k)。(5)根据式(2-6)由X(k)计算X。(j2)采样点的近似值。采用上述方法计算x()的频谱,需要注意如下三个问题:(1)频谱混叠。如果不满足采样定理的条件,频谱会出现混叠误差。对于频谱无限宽的信号,应考虑覆盖大部分主要频率分量的范围。(2)栅栏效应和频谱分辨率。使用DFT计算频谱,得到的结果只是N个频谱样本值,样本值之间的频谱是未知的,像通过一个栅栏观察频谱,称为“栅栏效应”。频谱分辨率与记录长度成反比,要提高频谱分表率,就要增加记录时间。(3)频谱泄露。对信号截断会把窗函数的频谱引入信号频谱,照成频谱泄露。解决这个问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。因此,要合理选取采样间隔和截取长度,必要时还需考虑加适当的窗。对于连续时间周期信号,我们在采用计算机进行计算时,也总是要进行截断,序列总是有限长的,仍然可以采用上述方法近似计算。2
数字信号处理实验教程—基于 MATLAB 语言 2 2 1 sin( / 2) sin( / 2) ( ) N j e N N (2-4) 方法 2:然而在实际 MATLAB 计算中,上述插值运算不见得是最好的办法。由于 DFT 是 DTFT 的取样值,其相邻两个频率样本点的间距为 2 N ,所以如果我们增加数据的长度 N ,使得到的 DFT 谱线就更加精细,其包络就越接近 DTFT 的结果,这样就可以利 用 DFT 来近似计算 DTFT。如果没有更多的数据,可以通过补零来增加数据长度。 3. 利用 DFT 分析连续时间信号的频谱 采用计算机分析连续时间信号的频谱,第一步就是把连续时间信号离散化,这 里需要进行两个操作:一是采样,二是截断。 对于连续时间非周期信号 x (t) a ,按采样间隔 T 进行采样,截取长度为 M ,那么 1 0 ( ) ( ) ( ) M n j nT a j t a a X j x t e dt T x nT e (2-5) 对 X ( j) a 进行 N 点频域采样,得到 ( ) ( ) ( ) 1 0 2 X j 2 T x nT e TX k M M n kn N j a NT a k (2-6) 因此,可以将利用 DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔 T ,得到离散序列 x(n) ; (2)确定截取长度 M ,得到 M 点离散序列 x (n) x(n)w(n) M ,这里 w(n)为窗 函数。 (3)确定频域采样点数 N ,要求 N M 。 (4)利用 FFT 计算离散序列的 N 点 DFT,得到 X (k) M 。 (5)根据式(2-6)由 X (k) M 计算 X ( j) a 采样点的近似值。 采用上述方法计算 x (t) a 的频谱,需要注意如下三个问题: (1)频谱混叠。如果不满足采样定理的条件,频谱会出现混叠误差。对于频谱 无限宽的信号,应考虑覆盖大部分主要频率分量的范围。 (2)栅栏效应和频谱分辨率。使用 DFT 计算频谱,得到的结果只是 N 个频谱样 本值,样本值之间的频谱是未知的,像通过一个栅栏观察频谱,称为“栅栏效应”。 频谱分辨率与记录长度成反比,要提高频谱分表率,就要增加记录时间。 (3)频谱泄露。对信号截断会把窗函数的频谱引入信号频谱,照成频谱泄露。 解决这个问题的主要办法是采用旁瓣小的窗函数,频谱泄露和窗函数均会引起误差。 因此,要合理选取采样间隔和截取长度,必要时还需考虑加适当的窗。 对于连续时间周期信号,我们在采用计算机进行计算时,也总是要进行截断, 序列总是有限长的,仍然可以采用上述方法近似计算

数字信号处理实验教程一基于MATLAB语言4.可能用到的MATLAB函数与代码实验中DFT运算可采用MATLAB中提供的函数f来实现。DTFT可以利用MATLAB矩阵运算的方法进行计算e-jn2X(ejn)=x[nle-n [[n, ] x[n, ] ., x[n ](2-7)n=ne-inyQ例E2-1设x(n)=(-0.8)",0≤n≤10,试用MATLAB近似计算其频谱,并绘制其[0,2元]区间的曲线。解:我们在[0,2元|区间上以0.01元进行取样,计算对应频率上频谱的样本值。%Ex_2_1.mn=0:10;x=(-0.8).^n;w=0:0.01*pi:2*pi,X=x*exp(-j*n'*w);subplot(211);plot(w,abs(X);xlabel("Omega/pi');title(Magnitude'),axis tightsubplot(212);plot(w,angle(X)/pi);xlabel(lOmega/pi);title(Phase');axis tight计算得到的频谱曲线如图2-1所示。Magnitude30/元Phase0.230/元图2-1示例信号的频谱四、实验内容1.已知x(n)=(2-1,1,1),完成如下要求:(1)计算其DTFT,并画出[-元,元]区间的波形。(2)计算4点DFT,并把结果显示在(1)所画的图形中。3
数字信号处理实验教程—基于 MATLAB 语言 3 4. 可能用到的 MATLAB 函数与代码 实验中 DFT 运算可采用 MATLAB 中提供的函数 fft 来实现。 DTFT 可以利用 MATLAB 矩阵运算的方法进行计算 N N jn jn jn N n n n j j n e e e X e x n e x n x n x n 2 1 1 ( ) [ ] [ ], [ ], , [ ] 1 2 (2-7) 例E2-1 设 n x(n) (0.8) ,0≤n≤10,试用MATLAB近似计算其频谱,并绘制其[0,2 ] 区间的曲线。 解:我们在[0,2 ]区间上以 0.01 进行取样,计算对应频率上频谱的样本值。 %Ex_2_1.m n=0:10;x=(-0.8).^n; w=0:0.01*pi:2*pi; X=x*exp(-j*n'*w); subplot(211); plot(w,abs(X));xlabel('\Omega/\pi');title('Magnitude');axis tight subplot(212); plot(w,angle(X)/pi);xlabel('\Omega/\pi');title('Phase');axis tight 计算得到的频谱曲线如图 2-1 所示。 图 2-1 示例信号的频谱 四、实验内容 1. 已知 ( ) {2,1,1,1} x n ,完成如下要求: (1)计算其 DTFT,并画出[ , ]区间的波形。 (2)计算 4 点 DFT,并把结果显示在(1)所画的图形中

数字信号处理实验教程一基于MATLAB语言(3)对x(n)补零,计算64点DFT,并显示结果。(4)根据实验结果,分析是否可以由DFT计算DTFT,如果可以,如何实现。2.考察序列x(n)=cos(0.48m)+cos(0.52m)(1)0≤n≤10时,用DFT估计x(n)的频谱;将x(n)补零加长到长度为100点序列用DFT估计x(n)的频谱。要求画出相应波形。(2)0≤n≤100时,用DFT估计xn)的频谱,并画出波形。(3)根据实验结果,分析怎样提高频谱分辨率。3.已知信号x(t)=0.15sin(2ft)+sin(2,t)-0.1sin(2t),其中f=1Hz,f=2Hz,J,=3Hz。从x(t)的表达式可以看出,它包含三个频率的正弦波,但是,从其时域波形(图E2-1)来看,似乎是一个正弦信号,利用DFT做频谱分析,确定适合的参数,使得到的频谱的频率分辨率符合需要。1.5:0.50.51.5D0.10.20.30.40.50.60.70.80.9图 E2-14.利用DFT近似分析连续时间信号x(t)=e-0.u(t)的频谱(幅度谱)。分析采用不同的采样间隔和截取长度进行计算的结果,并最终确定适合的参数。五、实验报告要求1.简述实验目的、实验原理、实验内容和实验过程。2.列出完成各项实验内容所编写的程序代码并给出实验结果,程序代码中在必要的地方应加上注释,必要时应对实验结果进行分析。3.总结实验中的主要结论、遇到的问题及解决方法,谈谈你的收获和体会
数字信号处理实验教程—基于 MATLAB 语言 4 (3)对 x(n) 补零,计算 64 点 DFT,并显示结果。 (4)根据实验结果,分析是否可以由 DFT 计算 DTFT,如果可以,如何实现。 2. 考察序列 x(n) cos(0.48n) cos(0.52n) (1)0 n 10 时,用 DFT 估计 x(n) 的频谱;将 x(n) 补零加长到长度为 100 点序列 用 DFT 估计 x(n) 的频谱。要求画出相应波形。 (2)0 n 100 时,用 DFT 估计 x(n) 的频谱,并画出波形。 (3)根据实验结果,分析怎样提高频谱分辨率。 3. 已 知 信 号 ( ) 0.15sin(2 ) sin(2 ) 0.1sin(2 ) 1 2 3 x t f t f t f t , 其 中 f 1Hz 1 , f 2Hz 2 , f 3Hz 3 。从 x(t) 的表达式可以看出,它包含三个频率的正弦波,但是,从其 时域波形(图 E2-1)来看,似乎是一个正弦信号,利用 DFT 做频谱分析,确定适合的参数, 使得到的频谱的频率分辨率符合需要。 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -1.5 -1 -0.5 0 0.5 1 1.5 图 E2-1 4. 利用 DFT 近似分析连续时间信号 ( ) ( ) 0.1 x t e u t t 的频谱(幅度谱)。分析采用不同 的采样间隔和截取长度进行计算的结果,并最终确定适合的参数。 五、实验报告要求 1. 简述实验目的、实验原理、实验内容和实验过程。 2. 列出完成各项实验内容所编写的程序代码并给出实验结果,程序代码中在必要的地 方应加上注释,必要时应对实验结果进行分析。 3. 总结实验中的主要结论、遇到的问题及解决方法,谈谈你的收获和体会

数字信号处理实验教程一基于MATLAB语言实验2利用FFT计算线性卷积一、实验目的1.掌握利用FFT计算线性卷积的原理及具体实现方法。2.加深理解重叠相加法和重叠保留法。3.考察利用FFT计算线性卷积各种方法的适用范围。二、实验设备与环境计算机、MATLAB软件环境。三、实验基础理论1.线性积与圆周卷积设x(n)为L点序列,h(n)为M点序列,x(n)和h(n)的线性卷积为(3-1)y(n)= x(n)* h(n) = x(m)h(n-m)m=-ocyi(n)的长度为L+M-1。x(n)和h(n)的N点圆周卷积为-x(m)h(n-m)R(n)(3-2)y(n)=x(n) @ h(n)= )m=0圆周卷积与线性卷积相等而不产生交叠的必要条件为N≥L+M-1(3-3)圆周卷积定理:根据DFT的性质,x(n)和h(n)的N点圆周卷积的DFT等于它们DFT的乘积DFT[x(n) ? h(n))=X(k)H(k)(3-4)2.快速卷积快速卷积算法用圆周卷积实现线性卷积,根据圆周卷积定理利用FFT算法实现圆周卷积。可以将快速卷积的步骤归纳如下:(1)为了使线性卷积可以用圆周卷积来计算,必须选择N≥L+M-1;同时为了能使用基-2FFT完成卷积运算,要求N=2。采用补零的办法使x(n)和h(n)的长度均为N.(2)计算x(n)和h(n)的N点FFTx(n)FFT→X(k)h(n)FFTH(k)5
数字信号处理实验教程—基于 MATLAB 语言 5 实验 2 利用 FFT 计算线性卷积 一、实验目的 1. 掌握利用 FFT 计算线性卷积的原理及具体实现方法。 2. 加深理解重叠相加法和重叠保留法。 3. 考察利用 FFT 计算线性卷积各种方法的适用范围。 二、实验设备与环境 计算机、MATLAB 软件环境。 三、实验基础理论 1. 线性卷积与圆周卷积 设 x(n) 为 L 点序列, h(n) 为 M 点序列, x(n) 和 h(n) 的线性卷积为 m yl(n) x(n) h(n) x(m)h(n m) (3-1) y (n) l 的长度为 L M 1。 x(n) 和 h(n) 的 N 点圆周卷积为 y(n) x(n)○N 1 0 ( ) ( ) ( ) ( ) Nm h n x m h n m N RN n (3-2) 圆周卷积与线性卷积相等而不产生交叠的必要条件为 N L M 1 (3-3) 圆周卷积定理:根据 DFT 的性质,x(n) 和 h(n) 的 N 点圆周卷积的 DFT 等于它们 DFT 的乘积 DFT[x(n)○N h(n)] X (k)H(k) (3-4) 2. 快速卷积 快速卷积算法用圆周卷积实现线性卷积,根据圆周卷积定理利用 FFT 算法实现圆周卷 积。可以将快速卷积的步骤归纳如下: (1)为了使线性卷积可以用圆周卷积来计算,必须选择 N L M 1;同时为了能 使用基-2FFT 完成卷积运算,要求 N 2 。采用补零的办法使 x(n)和 h(n) 的长度均为 N 。 (2)计算 x(n)和 h(n) 的 N 点 FFT ( ) ( ) ( ) ( ) h n H k x n X k FFT FFT

数字信号处理实验教程一基于MATLAB语言(3)组成乘积Y(k)= X(k)H(k)(4)利用IFFT计算Y(k)的IDFT,得到线性卷积y(n)Y(k)IFFT→(n)3.分段卷积我们考察单位取样响应为h(n)的线性系统,输入为x(n),输出为y(n),则y(n)= x(n)*h(n)当输入序列x(n)极长时,如果要等x(n)全部集齐时再开始进行卷积,会使输出相对输入有较大的延时,再者如果序列太长,需要大量的存储单元。为此,我们把x(n)分段,分别求出每段的卷积,合在一起得到最后总的输出。这种方法称为分段卷积。分段卷积可细分为重叠相加法和重叠保留法。重叠保留法:设x(n)的长度为N,h(n)的长度为M。我们把序列x(n)分成多段N点序列x(n),每段与前一段重叠M-1个样本。由于第一段没有前一段保留信号,为了修正,我们在第一个输入段前面填充M一1个零。计算每一段与h(n)的圆周卷积,则其每段卷积结果的前M-1个样本不等于线性卷积值,不是正确的样本值。所以我们将每段卷积结果的前M-1个样本舍去,只保留后面的N-M+1个正确输出样本,把这些输出样本合起来,得到总得输出。利用FFT实现重叠保留法的步骤如下:(1)在x(n)前面填充M-1个零,扩大以后的序列为x(n) = (0,0,..,0,x(n)M-1个(2)将x(n)分为若干N点子段,设L=N-M+1为每一段的有效数据长度,则第i段x,(n)(0≤n≤N-1)的数据为x(n)= x(m)iL≤m≤iL+N-l,i≥0,0≤n≤N-1(3)计算每一段与h(n)的N点圆周卷积,利用FFT计算圆周卷积:x(n)FFTX(k)h(n)FFT→H(k)Y,(k)= X,(k)H(k)Y,(k)IFT→y(n)(4)舍去每一段卷积结果的前M-1个样本,连接剩下样本,得到卷积结果y(n)。重叠相加法:设hn)长度为M,将信号x(n)分解成长为L的子段,建议L选择与的M6
数字信号处理实验教程—基于 MATLAB 语言 6 (3)组成乘积 Y(k) X (k)H(k) (4)利用 IFFT 计算Y(k) 的 IDFT,得到线性卷积 y(n) Y(k) y(n) IFFT 3. 分段卷积 我们考察单位取样响应为 h(n) 的线性系统,输入为 x(n) ,输出为 y(n) ,则 y(n) x(n) h(n) 当输入序列 x(n) 极长时,如果要等 x(n) 全部集齐时再开始进行卷积,会使输出相对输 入有较大的延时,再者如果序列太长,需要大量的存储单元。为此,我们把 x(n) 分段,分 别求出每段的卷积,合在一起得到最后总的输出。这种方法称为分段卷积。分段卷积可细分 为重叠相加法和重叠保留法。 重叠保留法:设 x(n) 的长度为 Nx ,h(n) 的长度为 M 。我们把序列 x(n) 分成多段 N 点序列 x (n) i ,每段与前一段重叠 M 1个样本。由于第一段没有前一段保留信号,为了修 正,我们在第一个输入段前面填充 M 1个零。计算每一段与 h(n) 的圆周卷积,则其每段 卷积结果的前 M 1个样本不等于线性卷积值,不是正确的样本值。所以我们将每段卷积结 果的前 M 1个样本舍去,只保留后面的 N M 1个正确输出样本,把这些输出样本合起 来,得到总得输出。 利用 FFT 实现重叠保留法的步骤如下: (1)在 x(n) 前面填充 M 1个零,扩大以后的序列为 ˆ( ) {0,0, ,0, ( )} 1 x n x n M 个 (2)将 x(n) 分为若干 N 点子段,设 L N M 1为每一段的有效数据长度,则第i 段 x (n) i (0 n N 1)的数据为 xi(n) xˆ(m) iL m iL N 1,i 0, 0 n N 1 (3)计算每一段与 h(n) 的 N 点圆周卷积,利用 FFT 计算圆周卷积: ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) Y k y n Y k X k H k h n H k x n X k i IFFT i i i FFT i FFT i (4)舍去每一段卷积结果的前 M 1个样本,连接剩下样本,得到卷积结果 y(n)。 重叠相加法:设 h(n) 长度为 M ,将信号 x(n) 分解成长为 L 的子段,建议 L 选择与的 M

数字信号处理实验教程一基于MATLAB语言数量级相同。以x(n)表示每段信号,则x(n)=2x(n)1=0,0≤n≤L-1x(n+iL)x(n)=0其它x(n)* h(n)= x,(n)* h(n)i=0每一段卷积y(n)的长度为L+M-1,所以在做求和时,相邻两段序列有M-1个样本重叠,即前一段的最后M-1个样本和下一段的前M-1个序列重叠,这个重叠部分相加,再与不重叠部分共同组成输出y(n)。利用FFT实现重叠保留法的步骤如下:(1)将x(n)分为若干L点子段x(n)。(2)计算每一段与h(n)的卷积y,(n),根据快速卷积算法利用FFT计算卷积。(3)将各段y(n)(包括重叠部分)相加,得到输出y(n)y(n)=Zy(n-iL)i=04.可能用到的MATLAB函数实验中FFT运算可采用MATLAB中提供的函数ft来实现。MATLAB提供了函数conv用来计算线性卷积,实验中可以将编程计算的结果和conv函数的计算结果相比较,以验证结果的正确性,conv函数用法如下x和h为要进行卷积运算的两个序列,y为卷积结果。y= conv(x,h)统计程序运行时间可以利用MATLAB提供的tic和toc两个命令,具体用法如下:tic.需要运行的程序代码toc即,在需要统计运行时间的程序代码之前加上tic命令,之后加上toc命令,此时会在命令窗口中显示该程序的运行时间,例如将下列代码写入一个m文件并执行ticA=[1,2;3,4];B=[5,6;7,8];x=A/B;toc命令窗口中显示Elapsedtimeis0.000058seconds7
数字信号处理实验教程—基于 MATLAB 语言 7 数量级相同。以 x (n) i 表示每段信号,则 0 ( ) ( ) i x n xi n 0 1 0 ( ) ( ) ,其它 x n iL , n L xi n 0 ( ) ( ) ( ) ( ) i x n h n xi n h n 每一段卷积 y (n) i 的长度为 L M 1,所以在做求和时,相邻两段序列有 M 1个样 本重叠,即前一段的最后 M 1个样本和下一段的前 M 1个序列重叠,这个重叠部分相加, 再与不重叠部分共同组成输出 y(n)。 利用 FFT 实现重叠保留法的步骤如下: (1)将 x(n) 分为若干 L 点子段 x (n) i 。 (2)计算每一段与 h(n) 的卷积 y (n) i ,根据快速卷积算法利用 FFT 计算卷积。 (3)将各段 y (n) i (包括重叠部分)相加,得到输出 y(n) 0 ( ) ( ) i i y n y n iL 4. 可能用到的 MATLAB 函数 实验中 FFT 运算可采用 MATLAB 中提供的函数 fft 来实现。 MATLAB 提供了函数 conv 用来计算线性卷积,实验中可以将编程计算的结果和 conv 函数的计算结果相比较,以验证结果的正确性,conv 函数用法如下 y = conv(x,h) x 和 h 为要进行卷积运算的两个序列,y 为卷积结果。 统计程序运行时间可以利用 MATLAB 提供的 tic 和 toc 两个命令,具体用法如下: tic .需要运行的程序代码 toc 即,在需要统计运行时间的程序代码之前加上 tic 命令,之后加上 toc 命令,此时会在 命令窗口中显示该程序的运行时间,例如将下列代码写入一个 m 文件并执行 tic A=[1,2;3,4];B=[5,6;7,8]; x=A/B; toc 命令窗口中显示 Elapsed time is 0.000058 seconds
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《MATLAB与信号处理》课程电子教案(2015讲稿)平稳信号分析.pdf
- 《MATLAB与信号处理》课程电子教案(2015讲稿)数字滤波器设计.pdf
- 《MATLAB与信号处理》课程电子教案(2015讲稿)MATLAB概述.pdf
- 《MATLAB与信号处理》课程电子教案(2015讲稿)MATLAB信号处理基础.pdf
- 北京理工大学:《数字信号处理 Digital Signal Processing》课程电子教案(讲稿)离散时间信号与系统分析基础(2015).pdf
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)04 数字基带传输.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)07 最佳接收.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)08 模拟信号数字化(模拟信号的脉冲调制).pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)03 模拟调制系统.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)09 信道编码.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)05 数字频带信号传输.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)02 信号噪声分析.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)06 改进的数字频带传输.pptx
- 北京交通大学:《通信系统原理》课程教学资源(PPT课件)01 绪论(主讲:陈一帅).pptx
- 北京交通大学:《通信原理》课程教学大纲(适用专业:通信工程、信息工程).doc
- 北京交通大学:《电磁兼容理论》课程教学课件(PPT讲稿)第9章 串扰.pptx
- 北京交通大学:《电磁兼容理论》课程教学课件(PPT讲稿)第8章 辐射发射与辐射抗扰度.pptx
- 北京交通大学:《电磁兼容理论》课程教学课件(PPT讲稿)第7章 天线.pptx
- 北京交通大学:《电磁兼容理论》课程教学课件(PPT讲稿)第6章 传导发射与传导抗扰度.pptx
- 北京交通大学:《电磁兼容理论》课程教学课件(PPT讲稿)第5章 元件的非理想性.pptx
- 北京理工大学:随机信号分析实验(讲义).pdf
- 《统计信号处理 Statistical Signal Processing》课程电子教案(2018讲稿)第三章 信号检测理论.pdf
- 《统计信号处理 Statistical Signal Processing》课程电子教案(2018讲稿)第四章 参数估计理论.pdf
- 《统计信号处理 Statistical Signal Processing》课程电子教案(2018讲稿)第五章 噪声中信号的处理.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器(FIR数字滤波器频率取样设计法).pdf
- 《数字信号处理》课程教学资源(习题集)第三章 离散傅里叶变换(DFT)、第四章 快速傅里叶变换(FFT)、第五章 数字滤波器.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器(FIR数字滤波器窗函数设计法).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器(FIR数字滤波器).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器(IIR数字滤波器的频率变换).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器(IIR数字滤波器双线性变换法 Bilinear Transformation).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器 §5-2 将传递函数转化 §5-2 FIR数字滤波器的结构.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器 §5-3 IIR数字滤波器设计.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第五章 数字滤波器 §5-1 概述.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-8 线性调频Z变换 Chirp-Z Transform §4-10 FFT的应用 §4-11 2-D DFT/FFT算法 §4-12 FFT的其它形式.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-6 分裂基FFT算法 §4-7 实序列的FFT算法.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-4 按频率抽取(DIF)的FFT算法(Sande-Tukey算法).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-5 N为复合数的FFT算法(统一的FFT算法).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-3 按时间抽取(DIT)的FFT算法(Cooley-Tukey算法).pdf
- 《数字信号处理》课程教学课件(2020讲稿)第四章 快速傅里叶变换 §4-1 引言 §4-2 直接计算DFT的问题和改善DFT运算效率的途径.pdf
- 《数字信号处理》课程教学课件(2020讲稿)第三章 离散傅里叶变换 §3-4 离散傅里叶变换(DFT).pdf
