数字信号处理课程设计实验报告

合集下载

数字信号处理课程设计报告

数字信号处理课程设计报告

数字信号处理课程设计实验报告一、课程设计内容要求1、课程设计题目设计并实现一个流程如图所示的信号处理演示系统,该系统包含信号发生器、频谱分析、滤波器设计、数字滤波和输出信号分析5个主要模块,各模块的具体功能要求如下:1)信号发生器根据信号类型不同可分为两大类:(1)静态型:直接输入测试信号系列。

(2)动态型:输入如下式所示的由多个不同频率正弦信号叠加组合而成的模拟信号公式,指定采样频率和采样点数,动态生成该信号的采样序列,作为测试信号。

100sin(2pif1t)+100sin(2pif2t)+…+100sin(2pifnt)2)频谱分析是用FFT对产生的测试信号进行频域变换,展示其幅频、相频特性,指定需要滤出或保留的频带,通过选择滤波器类型(IIR或FIR),确定对应的滤波器技术指标(低通、高通、带通、带阻)。

3)滤波器设计根据IIR/FIR数字滤波器技术指标设计滤波器,生成相应的滤波器系数,并展示对应的滤波器幅频、相频特性。

(1)IIR DF设计:使用双线性变换法,可选择滤波器类型(巴特沃斯/切比雪夫型);(2)FIR DF 设计:使用窗口法,可选择窗口类型。

4)数字滤波根据设计的滤波器系数,对测试信号进行滤波,得到滤波后信号。

(1) IIR DF:要求通过差分方程迭代实现滤波,未知初值置0处理;(2) FIR DF:要求通过快速卷积实现滤波,可以选择使用重叠相加或重叠保留法进行卷积运算,并动态展示卷积运算的详细过程。

5)输出信号分析展示滤波后信号的幅频和相频特性,分析是否满足滤波要求。

对同一滤波要求,根据输出信号频谱,对比分析各类滤波器的差异。

2、设计题目要求使用MATLAB编程实现上述信号处理演示系统,具体要求如下:(1)系统应使用图形用户界面(GUI);(2)系统功能至少包括非语音信号的低通和高通滤波;(3)滤波器设计模块应避免使用MATLAB工具箱函数;(4)IIR DF设计必须可选基于巴特沃斯或切比雪夫1型;(5)FIR DF设计必须可选择各类窗口,且FIR滤波可选长序列卷积方法。

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。

2、熟悉离散信号和系统的时域特性。

3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。

二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。

2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。

信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。

根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。

三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。

(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告⼀、课程设计(综合实验)的⽬的与要求⽬的与要求:1.掌握《数字信号处理基础》课程的基本理论; 2.掌握应⽤MATLAB 进⾏数字信号处理的程序设计;实验内容:已知低通数字滤波器的性能指标如下:0.26p ωπ=,0.75dB p R =,0.41s ωπ=,50dB s A =要求:1. 选择合适的窗函数,设计满⾜上述指标的数字线性相位FIR 低通滤波器。

⽤⼀个图形窗⼝,包括四个⼦图,分析显⽰滤波器的单位冲激响应、相频响应、幅频响应和以dB 为纵坐标的幅频响应曲线。

2. ⽤双线性变换法,设计满⾜上述指标的数字Chebyshev I 型低通滤波器。

⽤⼀个图形窗⼝,包括三个⼦图,分析显⽰滤波器的幅频响应、以dB 为纵坐标的幅频响应和相频响应。

3. 已知模拟信号1234()2sin(2)5sin(2)8cos(2)7.5cos(2)x t f t f t f t f t ππππ=+++其中10.12f kHz =,2 4.98f kHz =,3 3.25f kHz =,4 1.15f kHz =,取采样频率10s f kHz =。

要求:(1) 以10s f kHz =对()x t 进⾏取样,得到()x n 。

⽤⼀个图形窗⼝,包括两个⼦图,分别显⽰()x t 以及()x n (0511n ≤≤)的波形;(2) ⽤FFT 对()x n 进⾏谱分析,要求频率分辨率不超过5Hz 。

求出⼀个记录长度中的最少点数x N ,并⽤⼀个图形窗⼝,包括两个⼦图,分别显⽰()x n 以及()X k 的幅值; (3) ⽤要求1中设计的线性相位低通数字滤波器对()x n 进⾏滤波,求出滤波器的输出1()y n ,并⽤FFT 对1()y n 进⾏谱分析,要求频率分辨率不超过5Hz 。

求出⼀个记录长度中的最少点数1y N ,并⽤⼀个图形窗⼝,包括四个⼦图,分别显⽰()x n (01x n N ≤≤-)、()X k 、1()y n (101y n N ≤≤-)和1()Y k 的幅值;(4) ⽤要求2中设计的Chebyshev 低通数字滤波器对()x n 进⾏滤波,求出滤波器的输出2()y n ,并⽤FFT 对2()y n 进⾏谱分析,要求频率分辨率不超过5Hz 。

数字信号处理实验报告_五个实验

数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。

二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。

对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。

对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx aa=其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a XΩ-Ω=Ω∑∞-∞=上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。

其延拓周期为采样角频率(T /2π=Ω)。

只有满足采样定理时,才不会发生频率混叠失真。

在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。

公式如下:Tw jw ae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。

为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。

对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为 ∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1) l=1; k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]); w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]); end k=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]); Xa=FF(A,a,w,fs); i=i+1;string+['fs=',num2str(fs)]; figure(i)DFT(Xa,50,string); 1=yesinput 1=str2num(1); end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);N=14;string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]');endendend子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数function[c,l]=DFT(x,N,str)n=0:N-1;k=-200:200;w=(pi/100)*k;l=w;c=x*Xc=stepseq(1,1,5);子函数:产生信号function c=FF(A,a,w,fs)n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。

最新数字信号处理实验报告

最新数字信号处理实验报告

最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(DSP)理论的理解,并通过实践操作掌握数字信号处理的基本方法和技术。

通过实验,学习如何使用相关软件工具进行信号的采集、分析、处理和重构,提高解决实际问题的能力。

二、实验内容1. 信号采集与分析- 使用数字示波器采集模拟信号,并将其转换为数字信号。

- 利用傅里叶变换(FFT)分析信号的频谱特性。

- 观察并记录信号的时域和频域特性。

2. 滤波器设计与实现- 设计低通、高通、带通和带阻滤波器。

- 通过编程实现上述滤波器,并测试其性能。

- 分析滤波器对信号的影响,并调整参数以优化性能。

3. 信号重构实验- 应用所学滤波器对采集的信号进行去噪处理。

- 使用逆傅里叶变换(IFFT)重构经过滤波处理的信号。

- 比较重构信号与原始信号的差异,评估处理效果。

三、实验设备与材料- 计算机及DSP相关软件(如MATLAB、LabVIEW等)- 数字示波器- 模拟信号发生器- 数据采集卡四、实验步骤1. 信号采集- 连接并设置好数字示波器和模拟信号发生器。

- 生成一系列不同频率和幅度的模拟信号。

- 通过数据采集卡将模拟信号转换为数字信号。

2. 滤波器设计- 在DSP软件中设计所需的滤波器,并编写相应的程序代码。

- 调整滤波器参数,如截止频率、增益等,以达到预期的滤波效果。

3. 信号处理与重构- 应用设计的滤波器对采集的数字信号进行处理。

- 利用IFFT对处理后的信号进行重构。

- 通过对比原始信号和重构信号,评估滤波器的性能。

五、实验结果与分析- 展示信号在时域和频域的分析结果。

- 描述滤波器设计参数及其对信号处理的影响。

- 分析重构信号的质量,包括信噪比、失真度等指标。

六、实验结论- 总结实验中所学习到的数字信号处理的基本概念和方法。

- 讨论实验中遇到的问题及其解决方案。

- 提出对实验方法和过程的改进建议。

七、参考文献- 列出实验过程中参考的书籍、文章和其他资源。

数字信号处理实验报告_完整版

数字信号处理实验报告_完整版

实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。

2.应用DFT 分析信号的频谱。

3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。

二、实验设备与环境 计算机、MATLAB 软件环境 三、实验基础理论1.DFT 与DTFT 的关系有限长序列 的离散时间傅里叶变换 在频率区间 的N 个等间隔分布的点 上的N 个取样值可以由下式表示:212/0()|()()01N jkn j Nk N k X e x n eX k k N πωωπ--====≤≤-∑由上式可知,序列 的N 点DFT ,实际上就是 序列的DTFT 在N 个等间隔频率点 上样本 。

2.利用DFT 求DTFT方法1:由恢复出的方法如下:由图2.1所示流程可知:101()()()N j j nkn j nN n n k X e x n eX k W e N ωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑ 由上式可以得到:IDFTDTFT( )12()()()Nj k kX e X k Nωπφω==-∑ 其中为内插函数12sin(/2)()sin(/2)N j N x eN ωωφω--= 方法2:实际在MATLAB 计算中,上述插值运算不见得是最好的办法。

由于DFT 是DTFT 的取样值,其相邻两个频率样本点的间距为2π/N ,所以如果我们增加数据的长度N ,使得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样就可以利用DFT 计算DTFT 。

如果没有更多的数据,可以通过补零来增加数据长度。

3.利用DFT 分析连续信号的频谱采用计算机分析连续时间信号的频谱,第一步就是把连续信号离散化,这里需要进行两个操作:一是采样,二是截断。

对于连续时间非周期信号,按采样间隔T 进行采样,阶段长度M ,那么:1()()()M j tj nT a a a n X j x t edt T x nT e ∞--Ω-Ω=-∞Ω==∑⎰对进行N 点频域采样,得到2120()|()()M jkn Na a M kn NTX j T x nT eTX k ππ--Ω==Ω==∑因此,可以将利用DFT 分析连续非周期信号频谱的步骤归纳如下: (1)确定时域采样间隔T ,得到离散序列(2)确定截取长度M ,得到M 点离散序列,这里为窗函数。

数字信号处理课程设计报告实验三

数字信号处理课程设计报告实验三

数字信号处理课程设计报告实验三目录1. 实验三概述 (2)1.1 实验目的 (2)1.2 实验要求 (3)1.3 实验内容 (4)2. 实验原理 (5)2.1 数字信号处理的简介 (6)2.2 数字滤波器的类型 (6)2.3 FIR和IIR滤波器的区别 (7)3. 实验软件与硬件环境 (9)3.1 软件环境 (10)3.2 硬件环境 (12)3.3 实验设备介绍 (13)4. 实验步骤 (14)4.2 设计数字滤波器 (15)4.3 滤波器实现与调试 (16)4.4 实验数据分析 (17)5. 实验设计 (18)5.1 数字滤波器的设计方法 (19)5.2 滤波器参数的选择 (20)5.3 滤波器实现代码实现 (21)6. 实验结果 (22)6.1 滤波前后的信号对比 (24)6.2 滤波效果分析 (25)6.3 滤波器性能指标评价 (26)7. 实验讨论 (27)7.1 实验中发现的问题 (29)7.2 解决问题的方法与思考 (29)8. 实验心得 (32)8.1 数字信号处理的理解加深 (33)8.2 编程能力的提升 (34)8.3 对实验中遇到的挑战的看法 (35)1. 实验三概述本实验课题为“数字滤波器设计与分析”,旨在使学生深入理解数字滤波器的原理及设计方法,并掌握使用仿真工具进行实际滤波器设计与性能分析的能力。

实验通过MATLAB平台,分别实现低通、高通及带通滤波器的设计与模拟,并进行频率响应分析、时域响应分析以及信号处理效果的评价。

不同类型的数字滤波器设计方法原理介绍,包括IIR和FIR滤波器。

不同设计方法的优缺点分析,并结合实际应用场景选择合适的滤波器类型。

使用MATLAB自带函数和滤波器设计工具包进行滤波器设计,以及根据不同指标对滤波器参数进行调整。

通过完成本实验,学生将能掌握数字滤波器的理论知识和应用技能,并对其优缺点及应用场景有更深入的理解。

1.1 实验目的加载、分析和可视化语音信号:学生需学会使用高级软件工具加载语音信号数据,并运用绘图工具展示信号的时域波形及频谱图。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。

二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。

2、数据采集卡。

三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。

在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。

2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。

通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。

3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。

FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。

四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。

2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。

3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。

4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。

(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。

五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。

通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。

2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。

数字信号处理实验报告完整版[5篇模版]

数字信号处理实验报告完整版[5篇模版]

数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。

2.应用 DFT 分析信号的频谱。

3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。

二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。

2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。

而要研究离散时间信号,首先需要产生出各种离散时间信号。

使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。

通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。

数字信号处理课程设计实验报告

数字信号处理课程设计实验报告

数字信号处理课程设计实验报告(基础实验篇)实验一离散时间系统及离散卷积一、实验目的和要求实验目的:(1)熟悉MATLAB软件的使用方法。

(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。

(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。

(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。

实验要求:(1)编制实验程序,并给编制程序加注释;(2)按照实验内容项要求完成笔算结果;(3)验证编制程序的正确性,记录实验结果。

(4)至少要求一个除参考实例以外的实例,在实验报告中,要描述清楚实例中的系统,并对实验结果进行解释说明。

二、实验原理δ的响应输出称为系统1.设系统的初始状态为零,系统对输入为单位脉冲序列()n的单位脉冲响应()h n。

对于离散系统可以利用差分方程,单位脉冲响应,以及系统函数对系统进行描述。

单位脉冲响应是系统的一种描述方法,若已知了系统的系统函数,可以利用系统得出系统的单位脉冲响应。

在MATLAB中利用impz 由函数函数求出单位脉冲响应()h n2.幅频特性,它指的是当ω从0到∞变化时,|()|Aω,H jω的变化特性,记为()相频特性,指的是当ω从0到∞变化时,|()|∠的变化特性称为相频特性,H jωϕω。

离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同记为()频率的输入序列的处理情况。

三、实验方法与内容(需求分析、算法设计思路、流程图等)四、实验原始纪录(源程序等)1.离散时间系统的单位脉冲响应clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];impz(a,b,30);%离散时间系统的冲激响应(30个样值点)title('系统单位脉冲响应')axis([-3,30,-2,2]);2.(1)离散系统的幅频、相频的分析方法21-0.3()1 1.60.9425j j j e H z e e ωωω---=-+clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];%a 分子系数,b 分母系数 [H,w]=freqz(a,b,'whole'); subplot(2,1,1);plot(w/pi,abs(H));%幅度 title('幅度谱');xlabel('\omega^pi');ylabel('|H(e^j^\omega)'); grid on;subplot(2,1,2);plot(w/pi,angle(H));%相位 title('相位谱');xlabel('\omega^pi'); ylabel('phi(\omega)'); grid on;(2)零极点分布图clc; clear all a=[1,-0.3];b=[1,-1.6,0.9425]; zplane(a,b);%零极图 title('零极点分布图')3.离散卷积的计算111()()*()y n x n h n =clcclear all% x=[1,4,3,5,3,6,5] , -4<=n<=2 % h=[3,2,4,1,5,3], -2<=n<=3 % 求两序列的卷积 clear all;x=[1,4,3,5,3,6,5]; nx=-4:2; h=[3,2,4,1,5,3];nh=-2:3;ny=(nx(1)+nh(1)):(nx(length(x))+nh(length(h))); y=conv(x,h);n=length(ny);subplot(3,1,1);stem(nx,x);xlabel('nx');ylabel('x'); subplot(3,1,2);stem(nh,h);xlabel('nh');ylabel('h');subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('x 和h 的卷积')五、实验结果及分析(计算过程与结果、数据曲线、图表等)1.离散时间系统的单位脉冲响应051015202530-2-1.5-1-0.500.511.52n (samples)A m p l i t u d e系统单位脉冲响应2.离散系统的幅频、相频的分析方法00.20.40.60.81 1.2 1.4 1.6 1.82102030幅度谱ωp i|H (e j ω)0.20.40.60.811.21.41.61.82-2-1012相位谱ωp ip h i (ω)-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t零极点分布图3.离散卷积的计算-4-3-2-1012nxx-2-1.5-1-0.500.51 1.522.53nhh -6-4-20246nx 和h 的卷积六、实验总结与思考实验二 离散傅立叶变换与快速傅立叶变换一、实验目的和要求实验目的:(1)加深理解离散傅里叶变换及快速傅里叶变换概念; (2)学会应用FFT 对典型信号进行频谱分析的方法; (3)研究如何利用FFT 程序分析确定性时间连续信号; (4)熟悉应用FFT 实现两个序列的线性卷积的方法; 实验要求:(1)编制DFT 程序及FFT 程序,并比较DFT 程序与FFT 程序的运行时间。

数字信号处理课程设计实验报告

数字信号处理课程设计实验报告

数字信号处理课程设计实验报告通信与信息工程学院数字信号处理课程设计班级:姓名:学号:指导教师:设计时间:成绩:评语:通信与信息工程学院二〇一四年题目一:采样定理的验证1.课程设计目的及要求:1). 掌握利用MATLAB分析系统频率响应的方法,增加对仿真软件MATLAB的感性认识,学会该软件的操作和使用方法。

2). 掌握利用MATLAB实现连续信号采用与重构的方法,加深理解采样与重构的概念。

3 ). 初步掌握线性系统的设计方法,培养独立工作能力。

4). 学习MATLAB中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示,加深对各种电信号的理解。

5). 验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。

6). 加深对采样定理的理解和掌握,以及对信号恢复的必要性;掌握对连续信号在时域的采样与重构的方法。

2.详细设计过程及调试结果:1).设()(0.8)()n,利用filter函数求出()*()x n u nx n x n的源程序:n=0:49xn=(0.8).^nB=1A=[1,-0.8]yn=filter(B,A,xn)stem(n,yn)xlabel('n');ylabel('yn')本题验结果及分析:2):模拟信号()sin(20),010.01a s x t t t T s π=≤≤=,在,0.050.1s s 和间隔采样得到()x n :a.每一个s T 画出()x n 的源程序:t=0:0.01:1;T0=0.1; T1=0.01;n1=0:100; T2=0.05;n2=0:20; T3=0.1;n3=0:10; xt=sin(20*pi*t); xn1=sin(20*pi*n1*T1); xn2=sin(20*pi*n2*T2);xn3=sin(20*pi*n3*T3);subplot(4,1,1);plot(t,xt);title('模拟信号xt图');xlabel('t');ylabel('xt');grid on; subplot(4,1,2);stem(n1,xn1,'.');title('0.01s采样图');xlabel('n');ylabel('xn1');grid on; subplot(4,1,3);stem(n2,xn2,'.');title('0.05s采样图');xlabel('n');ylabel('xn2');grid on; subplot(4,1,4);stem(n3,xn3,'.');title('0.1s采样图');xlabel('n');ylabel('xn3');grid on;调试结果分析:b.采用sin c内插从样本()y t的源程序:x n重建模拟信号()at=0:0.01:1;T0=0.1;xt=sin(20*pi*t);T1=0.01;n1=0:100;T2=0.05;n2=0:20;T3=0.1;n3=0:10;xt=sin(20*pi*t);subplot(4,1,1);plot(t,xt);title('原信号xt模拟图');xlabel('t');ylabel('xt');grid on;xn1=sin(20*pi*n1*T1);xn2=sin(20*pi*n2*T2);xn3=sin(20*pi*n3*T3);t1=0:T1:1;t2=0:T2:1;t3=0:T3:1;tn1=ones(length(n1),1)*t1-n1'*T1*ones(1,length(t1));tn2=ones(length(n2),1)*t2-n2'*T2*ones(1,length(t2));tn3=ones(length(n3),1)*t3-n3'*T3*ones(1,length(t3));yt1=xn1*sinc(tn1*pi/T1);subplot(4,1,2);plot(t1,yt1);axis([ 0 1 -1 1]); title('sinc内插0.01恢复的xt1图');xlabel('n');ylabel('xt1');grid on; yt2=xn2*sinc(tn2*pi/T2);subplot(4,1,3);plot(t2,yt2);axis([ 0 1 -1 1]); title('sinc内插0.05恢复的xt2图');xlabel('n');ylabel('xt2');grid on; yt3=xn3*sinc(tn3*pi/T3);subplot(4,1,4);plot(t3,yt3);axis([ 0 1 -1 1]); title('sinc内插0.1恢复的xt3图');xlabel('n');ylabel('xt3');grid on;调试结果分析:c.采用三次样条内插从样本()x n重建模拟信号源程序:t=0:0.01:1; xt=sin(20*pi*t);T1=0.01;n1=0:100;T2=0.05;n2=0:20;T3=0.1;n3=0:10;T1=0:T1:1;T2=0:T2:1;T3=0:T3:1;xt=sin(20*pi*t);xn1=sin(20*pi*T1);xn2=sin(20*pi*T2);xn3=sin(20*pi*T3);yt1=spline(T1,xn1,t);yt2=spline(T2,xn2,t);yt3=spline(T3,xn3,t);subplot(4,1,1);plot(t,xt);title('原信号xt模拟图');xlabel('t');ylabel('xt');grid on;subplot(4,1,2);plot(t,yt1);axis([ 0 1 -1 1]);title('三次样条0.01恢复的xt1图');xlabel('n');ylabel('xt1');grid on; subplot(4,1,3);plot(t,yt2);axis([ 0 1 -1 1]);title('三次样条0.05恢复的xt2图');xlabel('n');ylabel('xt2');grid on; subplot(4,1,4);plot(t,yt3);axis([ 0 1 -1 1]);title('三次样条0.1恢复的xt3图');xlabel('n');ylabel('xt3');grid on; 调试结果分析:3.总结体会:连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点以外,信号都有确定的值与之对应。

数字信号处理课程实验报告

数字信号处理课程实验报告

数字信号处理课程实验报告课题名称:IIR滤波器相位校正实验一、实验内容与分析1、实验目的和内容1)利用MATLAB设计一个IIR滤波器;2)结合课本关于全通滤波器特性知识(课本p128),在IIR滤波器后级联一个全通相位滤波器进行相位校正,使此滤波器最终实现线性相位特性;3)分别使用相位校正前后两滤波器实现对某一信号的处理;4)画出IIR滤波器、全通滤波器、相位校正后滤波器的幅度频率特性曲线、相位频率特性曲线,信号时域波形、信号的幅度频率特性曲线、相位频率特性曲线;5)详述实验设计原理,分析相位校正前后两类滤波器对信号处理后的区别。

2、实验的分析1)、IIR滤波器的设计通过对实验内容的理解,我们首先需要设计一个IIR滤波器,对课本第六章的学习我们知道IIR数字滤波器有两种设计方法:间接设计法和直接设计法。

间接设计法中有巴特沃斯滤波器,切比雪夫I型、II型滤波器,椭圆滤波器和贝塞尔滤波器五种。

我们选择设计切比雪夫II型低通滤波器,其中的技术指标为:通带边界频率fp=1000Hz,阻带边界频率fs=2000 Hz,阻带最小衰减As=40 dB,通带最大衰减Ap=1 dB。

2)全通滤波器的设计全通滤波器的幅度特性是在整个频带上均等于常数,或者等于1.信号通过全通滤波器后,其输出的幅度特性保持不变,仅相位发生变化。

由于IIR滤波器后需要级联一个全通相位滤波器,使整个系统实现线性相位特性,为了求解全通滤波器的参数,我们先假设整个系统具有线性相位特性,再根据已经设计好了的切比雪夫II 型滤波器的系统参数,求解全通滤波器的参数。

二、实验的过程1、切比雪夫II型滤波器的设计过程在确定了滤波器的参数之后,我们运用cheb2ord函数计算模拟低通滤波器的最小阶数;然后用cheby2计算滤波器传输函数的系数。

然后运用脉冲响应不变法将模拟低通滤波器转换成数字滤波器。

这样我们就设计出了满足给定参数的切比雪夫II型滤波器。

数字信号处理实验报告(全)

数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积1、单位脉冲响应源程序:function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1;x=impseq(0,-20,120); %调用impseq函数n=[-40:140]; %定义n从-20 到120h=filter(b,a,x); %调用函数给纵座标赋值figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];结果:Figure 1:Figure 2:2、离散系统的幅频、相频的分析源程序:function pr2()b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图plot(w/pi,magH); %绘制w(pi)-magH的图形grid;axis([0,1,0,1]); %限制横纵座标从0到1xlabel('w(pi)'); %x座标为 w(pi)ylabel('|H|'); %y座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图plot(w/pi,angH); %绘制w(pi)-angH的图形grid; %为座标添加名称xlabel('w(pi)'); %x座标为 w(pi)ylabel('angle(H)'); %y座标为 angle(H)结果:3、卷积计算源程序:function pr3()n=-5:50; %声明n从-5到50u1=stepseq(0,-5,50); %调用stepseq函数声用明u1=u(n)u2=stepseq(10,-5,50); %调用stepseq函数声用明u2=u(n-10) %输入x(n)和冲激响应h(n)x=u1-u2; %x(n)=u(n)-u(n-10)h=((0.9).^n).*u1; %h(n)=0.9^n*u(n)figure(1)subplot(3,1,1); %绘制第一个子图stem(n,x); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('输入序列'); %规定标题为:'输入序列'xlabel('n'); %横轴为nylabel('x(n)'); %纵轴为x(n)subplot(3,1,2); %绘制第二个子图stem(n,h); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('冲激响应序列'); %规定标题为:'冲激响应序列'xlabel('n'); %横轴为nylabel('h(n)'); %纵轴为h(n)%输出响应[y,ny]=conv_m(x,n,h,n); %调用conv_m函数subplot(3,1,3); %绘制第三个子图stem(ny,y);axis([-5,50,0,8]);title('输出响应'); %规定标题为:'输出响应'xlabel('n');ylabel('y(n)'); %纵轴为y(n)%stepseq.m子程序%实现当n>=n0时x(n)的值为1function [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=[(n-n0)>=0];%con_m的子程序%实现卷积的计算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);结果:实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序:function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1); %绘制第一个子图x(n)stem(n,x); %绘制冲激title('x(n)'); %标题为x(n)xlabel('n'); %横座标为nX=dft(x,N); %调用dft函数计算x(n)的傅里叶变换magX=abs(X); %取变换的幅值subplot(2,1,2); %绘制第二个子图DFT|X|stem(n,X);title('DFT|X|');xlabel('f(pi)'); %横座标为f(pi)%dft的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;结果:F=50,N=64,T=0.000625时的波形F=50,N=32,T=0.000625时的波形:2、快速傅立叶变换(FFT)源程序:%function pr5()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n)X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅%里叶变换结果:3、卷积的快速算法源程序:function pr6()n=0:14;x=1.^n;h=(4/5).^n;x(15:32)=0;h(15:32)=0;%到此 x(n)=1, n=0~14; x(n)=0,n=15~32% h(n)=(4/5)^n, n=0~14; h(n)=0,n=15~32subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %在第一个子窗绘图x(n)横轴从1到32,纵轴从0到1.5 subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %在第二个子窗绘图h(n)横轴从1到32,纵轴从0到1.5 X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)%Y=conv(x,h);y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3) %在第三个子窗绘图y(n)横轴从1到32,纵轴从0到6 stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0,6]);结果:实验三、IIR数字滤波器设计源程序:function pr7()wp=0.2*pi;ws=0.3*pi;Rp=1;As=25;T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2); %OmegaP(w)=2*tan(0.1*pi) OmegaS=(2/T)*tan(ws/2); %OmegaS(w)=2*tan(0.15*pi)ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS) ));OmegaC=OmegaP/((10.^(Rp/10)-1).^(1/(2*N)));[cs,ds]=u_buttap(N,OmegaC);[b,a]=bilinear(cs,ds,Fs);[mag,db,pha,w]=freqz_m(b,a);subplot(3,1,1); %在第一个子窗绘制幅度响应的图形plot(w/pi,mag);title('幅度响应');xlabel('w(pi)');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;subplot(3,1,2); %在第二个子窗以分贝为单位绘制幅度响应的图形plot(w/pi,db);title('幅度响应(dB)');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;subplot(3,1,3); %在第三个子窗绘制相位响应的图形plot(w/pi,pha);title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC.^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:实验四、FIR数字滤波器的设计源程序:function pr8()wp=0.2*pi;ws=0.35*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=0:M-1;wc=(ws+wp)/2;alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';h=hd.*w_ham;[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:501)));subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('hd(n)');subplot(2,2,2);stem(n,h);title('实际冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('h(n)');subplot(2,2,3);plot(w/pi,pha);title('滤波器相位响应');axis([0,1,-pi,pi]);ylabel('pha');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-pi,0,pi]); grid;subplot(2,2,4);plot(w/pi,db);title('滤波器幅度响应');axis([0,1,-100,10]);ylabel('H(db)');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:。

数字信号处理课程设计报告

数字信号处理课程设计报告

设计一信号的基本运算一、设计目的熟悉信号的基本运算,通过运用Matlab进行仿真,加深对信号基本运算的理解。

通过对数据的处理,加深对Matlab中数据存取,数值运算,矩阵运算的方式及工作原理的了解。

二、设计原理Matlab是以矩阵为基础的一种软件,其集成了数值运算、矩阵运算、信号处理和图形等众多功能。

其中,对数据的存取都是以矩阵的方式进行的。

Matlab工具箱中提供了很多已经编写好的函数,我们这用些函数的时候只需要从工具箱中调用就可以了,这些函数都十分的方便。

如其中的wavread( )函数,我们可以用来从音频文件中获取数据,然后对这些数据进行运算,然后通过sound( )函数对音频文件进行回放;还有一些特殊矩阵的生成函数,如用函数zeros生成全0矩阵:格式B=zeros(m,n)生成m×n的全0阵;用函数ones生成全1矩阵:格式B=ones(m,n)生成m×n的全1阵;用函数rand生成随机矩阵:格式B=rand(m,n)生成m×n的随机矩阵;用函数eye生成单位阵:格式B=eye(m,n)生成m×n矩阵,其中对角线元素全为1,其他元素为0。

通过类似这样的操作,我们就可以方便的对信号进行相应的处理。

本次实验中,我们对一段音频信号,进行回音的模仿,然后经过上采样和下采样,反转的处理,并演示处理后的效果。

三、设计内容本次实验,我们通过采样得到一段以采样频率为8192Hz的语音信号x(k),然后通过编写Matlab程序对这段语音信号进行回音模仿,采用函数x(k)=x(k)+a*x(k-d),期中d为时延,a为时延信号的衰减幅度。

然后对语音信号进行下采样x(k/2)、上采样x(2k)、反转x(-k)。

下采样即在得到的语音信号的基础上,隔一个k值取一个函数值;上采样,即在得到的信号的基础上进行每两个k值之间进行插值;反转即把得到的信号的k变为-k。

通过这样的处理后,回放语音信号,观察效果,再看处理后的信号的时域波形。

数字信号处理课程设计实验报告

数字信号处理课程设计实验报告

华北电力大学实验报告实验环境MATLAB 7.1实验名称实验一:FFT的应用实验目的1、熟悉MATLAB在数字信号处理中的应用。

2、掌握利用FFT计算序列线性卷积的基本原理及编程实现。

3、掌握对连续信号进行采样的基本原理和方法,并利用FFT对信号进行频谱分析。

实验原理1.线性卷积和圆周卷积设x(n)为L点序列,h(n)为M点序列,x(n)和h(n)的线性卷积为的长度为L+M-1。

x(n)和h(n)的N点圆周卷积为圆周卷积与线性卷积相等而不产生交叠的必要条件为圆周卷积定理:根据DFT的性质,x(n)和h(n)的N点圆周卷积的DFT等于它们DFT的乘积2.快速卷积快速卷积算法用圆周卷积实现线性卷积,根据圆周卷积定理利用FFT算法实现圆周卷积。

可以将快速卷积的步骤归纳如下:(1)为了使线性卷积可以用圆周卷积来计算,必须选择;同时为了能使用基-2FFT完成卷积运算,要求。

采用补零的办法使x(n)实验原理和h(n)的长度均为N。

(2)计算x(n)和h(n)的N点FFT(3)组成乘积(4)利用IFFT计算Y(K)的IDFT,得到线性卷积y(n)3.分段卷积我们考察单位取样响应为h(n)的线性系统,输入为x(n),输出为y(n),则当输入序列x(n)极长时,如果要等x(n)全部集齐时再开始进行卷积,会使输出相对输入有较大的延时,再者如果序列太长,需要大量存贮单元。

为此我们把x(n)分段,分别求出每段的卷积,合在一起得到最后总的输出。

这种方法称为分段卷积分段卷积可细分为重叠保留法和重叠相加法。

重叠保留法:设x(n)的长度为,h(n)的长度为M。

我们把序列x(n)分成多段N点序列(n),每段与前一段重叠M-1个样本。

由于第一段没有前一段保留信号,为了修正,我们在第一个输入端前面填充M-1个零。

计算每一段与h(n)的圆周卷积,则其每段卷积结果的前M-1个样本不等于线性卷积值,不是正确的样本值。

所以我们将每段卷积结果的前M-1个样本社区,只保留后面的N-M+1个正确输出样本,把这些输出样本合起来,得到总输出。

(完整版)南理工数字信号处理课程实验报告

(完整版)南理工数字信号处理课程实验报告

(完整版)南理工数字信号处理课程实验报告数字信号处理project实验报告学院:电子工程与光电技术学院专业:通信工程学号:姓名:一、IIR 低通滤波器设计1.滤波器要求:Using bilinear transform methods ,design a IIR low-pass filter with the following specifications:(1)Write a program to compute the required order of theButterworth or Chebyshev analog filters;(2) Using bilinear transform methods ,transform the analog filters to the corresponding digital filters;(3)Sketch the frequency response of the filters.2.滤波器设计程序如下:wp=0.25*pi;ws=0.45*pi;Wp=tan(wp/2);Ws=tan(ws/2);ap=0.5;as=20;[N,Wn]= cheb1ord(Wp,Ws,ap,as,'s');[B,A]= cheby1(N,1,Wn,'s');[num,den]= bilinear(B,A,0.5);[h,w]=freqz(num,den);subplot(211);plot(w/pi,20*log10(abs(h)));ylim([-50 5]);xlim([0 1]);xlabel('\Omega/\pi');ylabel('增益(dB )');0.2A ,0.4A ; the passband ripple -0.5dB, p s the stopband attenuation20dB. where A is the last nomber of your student numbertitle('幅度响应曲线');grid;[h,w]=phasez(num,den);subplot(212);plot(w/pi,h/pi*180);xlabel('\Omega/\pi');ylabel('phase(degree)');title('相位响应曲线');grid;其中,wp,ws是角频带边界频率,Wp,Ws是模拟低通滤波器的边带角频率,ap是通带波纹,as是阻带波纹,h是频率响应。

数字信号处理实验报告

数字信号处理实验报告

实验报告课程名称:数字信号处理授课班级:学号:姓名:指导老师:实验一离散时间信号及系统的时域分析实验类别:基础性实验1实验目的:(1)了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境。

(2)熟悉MA TLAB中产生信号和绘制信号的基本命令,学会用MA TLAB在时域中产生一些基本的离散时间信号,并对这些信号进行一些基本的运算。

(3)通过MA TLAB仿真一些简单的离散时间系统,并研究它们的时域特性。

(4)通过MA TLAB进行卷积运算,利用卷积方法观察分析系统的时域特性。

2. 实验报告要求●简述实验原理及目的。

●结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。

●记录调试运行情况及所遇问题的解决方法。

3.实验内容:思考题:9.2.1 运行程序P9.2.1,哪个参数控制该序列的增长或衰减:哪个参数控制该序列的振幅?若需产生实指数序列,应对程序作何修改?9.2.2运行程序P9.2.1,该序列的频率是多少?怎样改变它?哪个参数控制该序列的相位?哪个参数可以控制该序列的振幅?该序列的周期是多少?9.2.3 运行程序P9.2.3,对加权输入得到的y(n)与在相同权系数下输出y1(n)和y2(n)相加得到的yt(n)进行比较,这两个序列是否相等?该系统是线性系统吗?9.2.4 假定另一个系统为y(n)=x(n)x(n-1)修改程序,计算这个系统的输出序列y1(n),y2(n)和y(n)。

比较有y(n)和yt(n)。

这两个序列是否相等?该系统是线性系统吗?(提高部分)9.2.5运行程序P9.2.4,并比较输出序列y(n)和yd(n-10)。

这两个序列之间有什么关系?该系统是时不变系统吗?9.2.6 考虑另一个系统:修改程序,以仿真上面的系统并确定该系统是否为时不变系统。

(选做)n = 0:40; D = 10;a = 3.0;b = -2;x = a*cos(2*pi*0.1*n) + b*cos(2*pi*0.4*n);[x1,n1]=sigmult(n,n,x,n)[x2,n2]=sigshift(x,n,1)[y,ny1]= sigadd(x1,n1,x2,n2)[y1,ny11]= sigshift(y,ny1,D)[sx,sn]= sigshift(x,n,D)[sx1,sn1]=sigmult(n,n, sx,sn)[sx2,sn2]=sigshift(sx,sn,1)[y2,ny2]= sigadd(sx1,sn1,sx2,sn2)D= sigadd(y1,ny11,y2,ny22)六、实验心得体会:实验时间批阅老师实验成绩实验二 FFT 实现数字滤波实验类别:提高性实验 1.实验目的(1) 通过这一实验,加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基础实验实验一离散时间系统及离散卷积一、实验原理利用Matlab软件计算出系统函数的零极点分布、单位脉冲响应和系统频率响应等的图像并于笔算结果进行比较,找出异同。

编译合适程序能计算取值范围不同的离散卷积。

二、实验目的(1)熟悉MATLAB软件的使用方法。

(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。

(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。

(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。

三、实验源程序及实验结果1.离散时间系统的单位脉冲响应function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n)b=1;x=impseq(0,-20,120); %调用impseq函数n=[-20:120]; %定义n从-20 到120h=filter(b,a,x); %输入x为滤波前序列,b为分子,a为分母figure(1) %绘图figure 1 (冲激响应)stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t-2020406080100120nh (n )2.离散系统的幅频、相频的分析方法 function pr2()b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m 从0 到3 l=0:length(a)-1; %l 从0 到3K=500;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH 为幅度 angH=angle(H); %angH 为相位 figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制w(pi)-magH 的图形 grid;axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x 座标为 w(pi) ylabel('|H|'); %y 座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制w(pi)-angH 的图形 grid; %为座标添加名称 xlabel('w(pi)'); %x 座标为 w(pi) ylabel('angle(H)'); %y 座标为 angle(H)w(pi)|H |幅度,相位响应w(pi)a n g l e (H )3.离散卷积的计算 function pr3()n=-5:50; %声明n 从-5到50u1=stepseq(0,-5,50); %调用stepseq 函数声用明u1=u(n) u2=stepseq(10,-5,50); %调用stepseq 函数声用明u2=u(n-10) x=u1-u2; %x(n)=u(n)-u(n-10) h=((0.9).^n).*u1; %h(n)=0.9^n*u(n) L=length(x)+length(h)-1; X=fft(x,L); H=fft(h,L);y=ifft(X.*H)subplot(3,1,1);stem(n,x);axis([-5,50,0,2]);title('输入序列');xlabel('n');ylabel('x(n)'); %输入序列subplot(3,1,2);stem(n,h);axis([-5,50,0,2]);title('冲激响应序列'); xlabel('n'); ylabel('h(n)');%冲激相应序列 n=0:L-1;subplot(3,1,3); stem(n,real(y));title('输出响应');xlabel('n');ylabel('y(n)'); %卷积结果 function [x,n]=stepseq(n0,n1,n2) n=n1:n2;x=[(n-n0)>=0];输入序列nx (n )冲激响应序列n h (n )20406080100120输出响应ny (n )实验二 离散傅立叶变换与快速傅立叶变换一、 实验原理对有限长序列使用离散Fouier 变换(DFT)可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为()()[]()∑==-=1N n nk N W n x n x DFT k X 10-≤≤N k反变换为()()[]()∑==-=-101N n nkN W k X N k X IDFT n x 10-≤≤N n有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。

FFT 是为了减少DFT 运算次数的一种快速算法。

它是对变换式进行一次次分解,使其成为若干较短序列的组合,从而减少运算量。

常用的FFT 是以2为基数的,其长度。

它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT ,可以用末位补零的方法,使其长度延长至2的整数次方。

用FFT 可以实现两个序列的圆周卷积。

在一定的条件下,可以使圆周卷积等于线性卷积。

一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT 的长度N ≥N1+N2对于长度不足N 的两个序列,分别将他们补零延长到N 。

二、实验目的(1)加深理解离散傅立叶变换及快速傅立叶变换概念; (2)学会应用FFT 对典型信号进行频谱分析的方法; (3)研究如何利用FFT 程序分析确定性时间连续信号; (4)熟悉应用FFT 实现两个序列的线性卷积的方法。

三、实验源程序及结果 1.DFT 程序function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1);stem(n,x);title('x(n)');xlabel('n');%x(n) X=dft(x,N);subplot(2,1,2);stem(n,X);title('DFT|X|');xlabel('f(pi)'); %DFT|X| %dft 的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N) n=0:N-1; k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;nDFT|X|f(pi)2.三角序列与反三角序列DFTN=8;fs=100;T=1/fs;n=-6:9;xc=(n+1).*(n>=0&n<=3)+(8-n).*(n>=4); xd=(4-n).*(n>=0&n<=3)+(n-3).*(n>=4); X1=fft(xc,N);X2=fft(xd,N);magX1=abs(X1),phaX1=angle(X1)magX2=abs(X2),phaX2=angle(X2)subplot(3,2,1);stem(n,xc);xlabel('n');title('xc(n)');subplot(3,2,2);stem(n,xd);xlabel('n');title('xd(n)');k=0:N-1;subplot(3,2,3);stem(k,magX1);subplot(3,2,4);stem(k,magX2);xlabel('k');ylabel('dftdefudu'); subplot(3,2,5);stem(k,phaX1);subplot(3,2,6);stem(k,phaX2);xlabel('k');ylabel('dftdexiangwei');-10-50510nxc(n)0510nxd(n)kd f t def u dukd f t de x i a n g w e i3.余弦信号傅里叶变换F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n) X=fft(x);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅里叶变换x(n)nDTFT|X|f(pi)4.计算卷积function pr6()n=0:15;x=1.^n;h=(0.8).^n;x(16:32)=0; %x(n)=1,n=0~15; x(n)=0,n=16~32h(16:32)=0; % h(n)=(0.8)^n,n=0~15; h(n)=0,n=16~32 subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %x(n) subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %h(n)X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3);stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0, 6]); %y(n)x(n)h(n)y(n=x(n)*h(n))四、实验总结与思考1、在较短的傅里叶变换中,FFT 的计算速度与DFT 相比不是很明显,序列计算长度越长,计算时间差距越大,FFT 较快;2、对于不同序列的较小长度的频谱分析可能会得到相同的频谱,适当加倍长度会避免这种情况的发生;3、对同一序列的不同间隔的FFT 变换,在满足奈奎斯特定律的情况下也会产生栅栏效应、频谱泄露、旁瓣效应等,采取适当的方法可以减弱这些不利效应;4、在计算两个序列的离散卷积的时候要注意序列的长度L>=M+N-1。

相关文档
最新文档