数字信号处理实验报告92885
数字信号处理实验报告
实验一 信号、系统及系统响应一、实验目的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,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。
数字信号处理实验报告
《数字信号处理》实验报告学院:信息科学与工程学院专业班级:通信1303姓名学号:实验一 常见离散时间信号的产生和频谱分析一、 实验目的(1) 熟悉MATLAB 应用环境,常用窗口的功能和使用方法;(2) 加深对常用离散时间信号的理解;(3) 掌握简单的绘图命令;(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号进行频域分析。
二、 实验原理(1) 常用离散时间信号a )单位抽样序列⎩⎨⎧=01)(n δ00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n k n b )单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n c )矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N nd )正弦序列)sin()(ϕ+=wn A n xe )实指数序列f )复指数序列()()jw n x n e σ+=(2)离散傅里叶变换:设连续正弦信号()x t 为0()sin()x t A t φ=Ω+这一信号的频率为0f ,角频率为002f πΩ=,信号的周期为00012T f π==Ω。
如果对此连续周期信号()x t 进行抽样,其抽样时间间隔为T ,抽样后信号以()x n 表示,则有0()()sin()t nT x n x t A nT φ===Ω+,如果令w 为数字频率,满足000012s sf w T f f π=Ω=Ω=,其中s f 是抽样重复频率,简称抽样频率。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jw e X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=10)()(N n n jw jw k k e n x e X其中 1,,1,02-==M k k Mw k ,π 通常M 应取得大一些,以便观察谱的细节变化。
取模|)(|k jw e X 可绘出幅频特性曲线。
数字信号处理实验报告
数字信号处理实验报告黎美琪通信一、实验名称:(快速傅里叶变换)的探究二、实验目的.学习理解的基本实现原理(注:算法主要有基时间抽取法和基频域抽取法,此实验讨论的是基频率抽取算法,课本上主要讲解的是基时间抽取算法).编写代码实现基频率抽取算法三、实验条件机四、实验过程(一)基础知识储备.基频率抽取( )算法基本原理:输入[]前后分解,输出[]奇偶分解。
设序列的点数为^,为整数(公式中的、定义不一样,打印后统一改正)将输入的[]按照的顺序分成前后两段:对输出的[]进行奇偶分解()、()和()之间可以用下图所示的蝶形运算符表示:的一次分解流图:的二次分解流图:最后完整的分解流图(^一共分解了三次):的运算过程规律。
)^点的共进行级运算,每级由个蝶形运算组成。
同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入、输出数据结点又同在一条水平线上,也就是说计算完一个蝶形后,所得输出数据可立即存入原输入数据所占用的存储单元。
这样,经过级运算后,原来存放输入序列数据的个存储单元中便依次存放()的个值。
(注:这种利用同一存储单元存储蝶形计算输入、输出数据的方法称为原位计算。
原位计算可节省大量内存,从而使设备成本降低。
))旋转因子的变化规律 :以点的为例,第一级蝶形,,,,;第二级蝶形,;第三级的蝶形,。
依次类推,对于级蝶形,旋转因子的指数为∙^(−),,,,,……,^()这样就可以算出每一级的旋转因子。
)蝶形运算两节点之间的“距离” :第一级蝶形每个蝶形运算量节点的“距离”为,第二级每个蝶形运算另节点的“距离”为,第三级蝶形每个蝶形运算量节点的“距离”为。
依次类推:对于等于的次方的,可以得到第级蝶形每个蝶形运算量节点的“距离”为的次方。
.旋转因子 的性质1) 周期性 2) 对称性mk N N mk N W W -=+2 )可约性为整数/,//n N W W n mk n N mk N =.频率抽取()基算法和时间抽取()基算法比较:两种算法是等价的,其相同之处:()与两种算法均为原位运算。
数字信号处理实验报告_五个实验
实验一 信号、系统及系统响应一、 实验目的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、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理综合实验报告
综合实验1. 实验目的能综合利用信号处理的理论和Matlab 工具实现对信号进行分析和处理(1)熟练对信号进行时域和频域分析;(2)熟练进行滤波器设计和实现;(3)掌握对信号的滤波处理和分析。
2.实验原理设计并实现滤波器对信号进行分析和处理是信号处理课程学习的主要内容。
通过对信号进行频谱分析,能发现信号的频率特性,以及组成信号的频率分量。
对信号进行滤波处理,能改善信号的质量,或者为数据处理(如传输,分类等)提供预处理,等。
本次实验是对特定信号进行分析并进行滤波处理,需要综合应用之前的实验内容,主要有以下几个方面。
(1)离散时间信号与系统的时域分析Matlab 为离散时间信号与系统的分析提供了丰富且功能强大的计算函数和绘图分析函数,便于离散时间信号和系统的时域表示和分析。
(2)信号的频域分析信号处理课程主要学习了离散信号和系统的频域分析方法与实现,以及滤波器的设计与实现。
离散信号与系统的频域分析包括DTFT DFT Z变换等,FFT则是DFT的快速实现。
用Matlab分析信号的频谱可以用freqz函数或者FFT函数。
(3)滤波器设计滤波器的设计首先要确定滤波器的类型,即低通、高通、带通还是带阻。
滤波器的边缘频率可以通过对信号的频谱分析得到,滤波器的幅度指标主要有阻带最小衰减As 和通带最大衰减Ap。
一般来说,As越大,对截止通过的频率分量的衰减越大;Ap越小,对需要保留的频率分量的衰减越小。
因此,As 越大,Ap 越小,滤波器的性能越好,但随之而来,滤波器的阶数越大,实现的代价(包括计算时间和空间)越大。
由此,滤波器的设计需要对滤波器性能和实现代价进行均衡考虑。
另外根据冲激响应的长度可以分为IIR 和FIR 两种类型。
两种类型的滤波器各有特点。
用FIR 滤波器可以设计出具有严格线性相位的滤波器,但在满足同样指标的条件下,FIR 滤波器的阶数高于IIR 滤波器。
Matlab 为各种类型的滤波器的设计提供了丰富的函数,可以借助这些函数方便地设计出符合要求地滤波器。
数字信号处理实验报告
数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
最新数字信号处理实验报告
最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(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 点离散序列,这里为窗函数。
数字信号处理实验报告
实验一 用DFT 作谱分析(一)实验目的(1)进一步加深DFT 算法原理和基本性质的理解;(2)熟悉FFT 的应用; (3)掌握使用DFT 作谱分析时可能遇到的问题及其原因,以便在实际中正确应用。
(二)实验内容和步骤(1)复习DFT 的定义及其性质。
(2)设置以下信号供谱分析()()()41--=n u n u n x()⎪⎩⎪⎨⎧≤≤-≤≤+=n n n n n n x 其他07483012, ()⎪⎩⎪⎨⎧≤≤-≤≤-=n n n n n n x 其他07433043 ()⎪⎭⎫ ⎝⎛=n n x 4cos 4π , ()⎪⎭⎫⎝⎛=n n x 8sin 5π ()()()()t πt πt πt x 20cos 16cos 8cos 6++=对于连续信号()t x a ,首先需要根据其最高频率成分确定抽样频率S f ,然后对其抽样,即计算()()S a nT x n x = (3)编写程序编写程序对信号进行谱分析,程序流程如下:1、设置信号长度N ,对连续信号设置抽样率;2、产生实验信号;3、绘制时间序列波形图;4、使用FFT 计算信号的DFT ;5、绘制信号的频谱。
(4)运行程序并观察结果a )对信号()n x 1、()n x 2、()n x 3进行谱分析,信号长度N 取8。
观察输出结果。
x1(n)nx 1(n )k|X (k )|2468kφ(k )X2(n):2468nx 2(n )N = 8k|X (k )|2468kφ(k )X3(n):2468nx 3(n )k|X (k )|2468kφ(k )b )对()n x 4进行谱分析,该信号周期为8,信号长度N 取8或8的整数倍(16、32等)计算频谱。
再将N 取不是8的整数倍,例如9或10,观察频谱发生了什么变化。
N=8:nx 4(n )N = 8k|X (k )|2468kφ(k )nx 4(n )N = 16k|X (k )|51015kφ(k )N=32nx 4(n )N = 32k|X (k )|10203040kφ(k )nx 4(n )N = 9k|X (k )|2468kφ(k )N=10nx 4(n )N = 10510k|X (k )|510kφ(k )c )令()()()n x n x n x 547+=(或()()()n jx n x n x 548+=)。
【精品】数字信号处理实验报告
【精品】数字信号处理实验报告
1 实验目的
本次实验的目的是在MATLAB软件环境中运用数字信号处理理论,通过实验操作来检验用于数字信号处理的算法的正确性,以便明确数字信号处理理论在实际应用中的重要作用。
2 实验原理
数字信号处理实验的原理是使用MATLAB进行数字信号处理算法实验,首先,设置一些用于数字信号处理的参数,如传输函数、离散时间区间、采样频率、滤波器类型等;其次,按照信号处理的算法进行编程实现,搭建一个数字信号处理系统,在MATLAB下对信号进行处理,包括采样、滤波和量化等;最后,对处理后的信号进行数字分析,监测数字信号处理后的变化趋势,验证数字信号处理算法的正确性。
3 实验步骤
(1) 建立信号处理实验系统:选择一个常见的信号处理算法,运用MATLAB软件分别编写信号发生程序、信号采样程序、滤波程序和信号量化程序;
(2) 运行实验程序:实验同学可以自行设置参数,如传输函数、离散时间区间、采样频率、滤波器类型等,调整完毕后,点击“run”,运行实验程序;
(3) 观察实验结果:运行完毕后,可以观察MATLAB的图形结果,以此来分析信号处理算法的性能;
(4) 对结果进行分析:经过上述实验操作后,可以根据所得到的实验结果来判断信号处理算法的性能,如输出信号的噪声抑制能力、良好的时域和频域性能等,从而验证信号处理理论在实际应用中的价值。
4 总结。
数字信号处理实验报告
一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
数字信号处理实验报告
数字信号处理实验报告实验报告
实验题目:数字信号处理实验
实验日期:XXXX年XX月XX日
实验目的:
1. 了解数字信号处理的基本概念和原理;
2. 掌握数字信号的采样、量化和编码方法;
3. 学习数字信号处理的基本算法和应用。
实验内容:
1. 采样与重建
1.1 采样定理的验证
1.2 重建信号的实现
2. 量化与编码
2.1 量化方法的比较
2.2 编码方法的选择与实现
3. 数字滤波器设计与实现
3.1 FIR滤波器设计方法
3.2 IIR滤波器设计方法
实验步骤:
1. 使用示波器对输入的模拟信号进行采样,记录采样频率和采样点数。
2. 使用恢复信号方法,将采样得到的数字信号重建为模拟信号,并进行对比分析。
3. 对重建的信号进行量化处理,比较不同量化方法的效果,选择合适的方法进行编码。
4. 设计并实现数字滤波器,比较FIR和IIR滤波器的性能和实
现复杂度。
实验结果与分析:
1. 采样与重建实验结果表明,在满足采样定理的条件下,采样频率越高,重建信号的质量越高。
2. 量化与编码实验结果表明,在相同位数下,线性量化方法优于非线性量化方法,而编码方法可以根据信号特性选择,例如
差分编码适用于连续变化的信号。
3. 数字滤波器实验结果表明,FIR滤波器相对于IIR滤波器在时域和频域上更易于设计和理解,但实现复杂度较高。
实验结论:
数字信号处理是对模拟信号进行采样、量化和编码等处理,具有较高的灵活性和可靠性。
在实际应用中,应根据需要选择合适的采样频率、量化位数和编码方式,并根据信号特性选择合适的滤波器设计方法。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境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篇模版]第一篇:数字信号处理实验报告完整版实验 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中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告
数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。
实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)利用Matlab进行编程:n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))通过Matlab软件的图像如图所示:如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。
程序编程改动如下:k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))得图像:问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。
数字信号处理实验报告
数字信号处理实验报告
数字信号处理是指利用数字技术对模拟信号进行采样、量化、编码等处理后,再通过数字信号处理器进行数字化处理的技术。
在数字信号处理实验中,我们通过对数字信号进行滤波、变换、解调等处理,来实现信号的处理和分析。
在实验中,我们首先进行了数字信号采集和处理的基础实验,采集了包括正弦信号、方波信号、三角波信号等在内的多种信号,并进行了采样、量化、编码等处理。
通过这些处理,我们可以将模拟信号转换为数字信号,并对其进行后续处理。
接着,我们进行了数字信号滤波的实验。
滤波是指通过滤波器对数字信号进行处理,去除其中的噪声、干扰信号等不需要的部分,使其更加纯净、准确。
在实验中,我们使用了低通滤波器、高通滤波器、带通滤波器等多种滤波器进行数字信号滤波处理,得到了更加干净、准确的信号。
除了滤波,我们还进行了数字信号变换的实验。
数字信号变换是指将数字信号转换为另一种表示形式的技术,可以将信号从时域转换到频域,或者从离散域转换到连续域。
在实验中,我们使用了傅里叶变换、离散傅里叶变换等多种变换方式,对数字信号进行了变换处理,得到了信号的频谱信息和其他相关参数。
我们进行了数字信号解调的实验。
数字信号解调是指将数字信号转换为模拟信号的技术,可以将数字信号还原为原始信号,并进行后续处理。
在实验中,我们使用了频率解调、相干解调等多种解调方式,将数字信号转换为模拟信号,并对其进行了分析和处理。
总的来说,数字信号处理实验是一项非常重要的实验,可以帮助我们更好地理解数字信号处理的原理和方法,为我们今后从事相关领域的研究和工作打下坚实的基础。
数字信号处理实验报告
数字信号处理实验报告郑州航空工业管理学院《数字信号处理》实验报告专业电子信息工程学号姓名实验一 数字滤波器的结构一、 实验目的(1) 加深对数字滤波器分类与结构的了解;(2) 明确数字滤波器的基本结构及其相互间的转换方法;(3) 掌握用MATLAB 进行数字滤波器各种结构相互间转换的子函数及程序编写方法。
二、 实验原理一个离散LSI 系统可用系统函数来表示;()()()12001212120z 11M m M m m M N N kN k k b z Y b b z b z b z H z X z a z a z a za z ----=----=++++===+++++∑∑ 也可用差分方程来表示:()()()10N Mk m k m y n a y n k b x n m ==+-=-∑∑当k a 至少有一个不为0时,则在有限z 平面上存在极点,表示一个IIR 数字滤波器;当k a 全都为0时,系统不存在极点,表示一个FIR 系统。
IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、级联型和并联型。
FIR 数字滤波器的基本结构分为横截型、级联型、并联型、、线性相位型和频率抽样型。
三、 实验仪器微型计算机、MATLAB四、 实验内容(1) 已知一个IIR 系统的系统函数为()1231230.10.40.40.110.30.550.2z z z H z z z z -------+-=+++ 将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。
(2) 已知一个FIR 系统的系统函数为()12340.20.8850.212+0.212+0.885H z z z z z ----=++for i=1:2:N-1Brow=r(i:1:i+1,:); %取出一对留数Arow=p(i:1:i+1,:); %取出一对对应的极点%二个留数极点转为二阶子系统分子分母系数[Brow,Arow]=residuez(Brow,Arow,[]);B(fix((i+1)/2),:)=real(Brow);%取Brow的实部,放入系数矩阵B的相应行A(fix((i+1)/2),:)=real(Arow);%取Arow的实部,放入系数矩阵A的相应行endendnum =[8 -4 11 -2];den =[1 -1.25 0.75 -0.125];[C,B,A]=dir2par(num,den)C =16B =-16.0000 20.00008.0000 0A =1.0000 -1.0000 0.50001.0000 -0.2500 0五、试验结果分析实验二 用冲激响应不变法设计IIR 数字滤波器一、 实验目的(1) 加深对冲激响应不变法设计IIR 数字滤波器的基本原理的理解;(2) 掌握用冲激响应不变法设计数字低通、带通滤波器的设计;(3) 了解MATLAB 有关冲激响应不变法的常用子函数。
数字信号处理实验报告
数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
数字信号处理实验报告(全)
实验一、离散时间系统及离散卷积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);结果:。
数字信号处理实验报告
实验报告课程名称:数字信号处理授课班级:学号:姓名:指导老师:实验一离散时间信号及系统的时域分析实验类别:基础性实验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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录实验1 离散时间信号的频域分析-----------------------2 实验2 FFT算法与应用-------------------------------7 实验3 IIR数字滤波器的设计------------------------12 实验4 FIR数字滤波器的设计------------------------17实验1 离散时间信号的频域分析一.实验目的信号的频域分析是信号处理中一种有效的工具。
在离散信号的时域分析中,通常将信号表示成单位采样序列δ(n )的线性组合,而在频域中,将信号表示成复变量enj ω-或 en Njπ2-的线性组合。
通过这样的表示,可以将时域的离散序列映射到频域以便于进一步的处理。
在本实验中,将学习利用MATLAB 计算离散时间信号的DTFT 和DFT,并加深对其相互关系的理解。
二、实验原理(1)DTFT 和DFT 的定义及其相互关系。
序列x(n)DTFT 定义为()jw X e =()nx n e ∞=∞∑ωjn -它是关于自变量ω的复函数,且是以2π为周期的连续函数。
()jw X e 可以表示为()()()jw jw jw re im X e X e jX e =+,其中,()jw re X e 和()jw im X e 分别是()jw X e 实部和虚部;还可以表示为 ()jw X e =()|()|jw j w X e e θ,其中,|()|jw X e 和{}()arg ()j w X e ωθ=分别是()jw X e 的幅度函数和相位函数;它们都是ω的实函数,也是以2π为周期的周期函数。
序列()x n 的N 点DFT 定义为2211()()()()N N jk jknkn NNN N nX k X ex n ex n W ππ---====∑∑,()X k 是周期为N 的序列。
()j X e ω与()X k 的关系:()X k 是对()j X e ω)在一个周期中的谱的等间隔N 点采样,即2k|()()|jww NX k X e π== ,而()j X e ω可以通过对()X k 内插获得,即1(2/)(1)/202)sin(12()()2sin()2N j k N N jwk N k X e X k e N k NNωπωπωπ-⎡⎤⎡⎤---⎣⎦⎣⎦=-=•-∑(2)使用到的MATLAB 命令有基于DTFT 离散时间信号分析函数以及求解序列的DFT 函数。
1)基于 DTFT 离散时间信号分析函数有:freqz,real,imag,abs,angle 。
函数freqz 可以用来计算一个以e ωj 的有理分式形式给出的序列的DTFT 值。
freqz 的形式多样,常见的有H=freqz(num,den,w),其中num 表示序列有理分式DTFT 的分子多项式系数,den 表示分母多项式系数(均按z 的降幂排列),矢量w 表示在0~2π中给定的一系列频率点集合。
freqz 函数的其他形式参见帮助文件。
在求出DTFT 值后,可以使用函数real,imag,abs 和angle 分别求出并绘出起实部、虚部和相位谱。
例如()j X e ω)=)8109.056.11)9028.096.0122ωωωωj j j j e e e e ----+-+-利用函数freqz 计算出()j H e ω,然后利用函数abs 和angle 分别求出幅频特性与相位特性最后利用plot 命令绘出曲线。
2)求解序列DFT 的函数有:fft,ifft 。
函数fft (x )可以计算R 点序列的R 点DFT 值;而fft (x ,N )则计算R 点序列的N 点DFT ,若R>N ,则直接截取R 点DFT 的前N 点,若R<N,则x 先进行补零扩展为N 点序列再求N 点DFT 。
函数ifft(X)可以计算R 点的谱序列的R 点IDFT 值;而ifft(X,N)同fft(x,N)的情况。
三、实验设备计算机、MATLAB 软件四、实验内容(1)编程计算并画出下面DTFT 的实部,虚部、幅度和相位谱。
23230.13130.15530.13130.0518()1 1.2828 1.03880.3418jw j w j wjwjw j w j we e e X e e e e-------+++++ 程序如下:num=[0.1313 -0.1553 0.1313 0.0518];den=[1 1.2828 1.0388 0.3418];w=0:0.001:2*pi;H=freqz(num,den,w);figuresubplot(221)plot(w,real(H));title('实部')grid on;subplot(222)plot(w,imag(H))title('虚部')gridsubplot(223)plot(w,abs(H))title('幅度')gridsubplot(224)plot(w,abs(H))title('相位谱')grid on;波形如下:图1-1 DTFT的实部,虚部、幅度和相位谱(2)计算32点序列x(n)=cos3213πn,0≤n ≤31的32点和64点DFT ,分别绘出幅度谱图形,并绘出该序列的DTFT 图形。
程序如下:n1=0:15;n2=0:31;x1=cos((13*pi*n1)/32) x2=cos((13*pi*n2)/32) X1=fft(x1); X2=fft(x2); subplot(211) plot(n1,abs(X1)) title('32点DFT') grid on ; subplot(212) plot(n2,abs(X2)) title('64点DFT') grid on ;波形如下:图1-2 序列DFT 幅度谱图形和DTFT 图形DTFT 程序如下:A=1;n=0:31;x=cos((13*pi*n)/32);B=x;w=0:0.01:2*pi*2;[H]=freqz(B,A,w);magH=abs(H);subplot(2,1,1);plot(w,magH);grid;ylable('Magnitude');subplot(2,1,2);plot(w,phaH);grid;xlable('w');ylable('phase');grid on;波形如下:图1-3 DTFT图形实验2 FFT 算法与应用一、实验目的在理论学习的基础上,通过本次实验。
加深对快速傅里叶变换的理解,熟悉FFT 算法。
熟悉应用FFT 对典型信号进行频谱分析的方法。
了解应用FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT 。
二.实验原理在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。
无限长序列往往也可以用有限长序列来逼近。
对于有限长序列可以使用离散傅里叶变换(DFT ),这一变换可以很好地反映序列的频域特性,并且容易利用快速算法在计算机的上的实现。
当序列的长度是N 时,定义离散傅里叶变换为210X (k )=DFT[x(n)]=()N jknNn x n eπ--=∑=10()N kn N n x n W -=∑ 式中,2j NN W eπ-=的反变换定义为()[()]x n IDFT X k ==101()N kn N kX k W N--=∑ 根据上式令k N Z W -=,则有 1()()[()]kNN kn N z W nX z x n W DFT x n --====∑所以,X (k )是在z 变换在单位圆上的等间隔采样,或者说是序列傅里叶变换的等间隔采样。
时域采样在满足乃奎斯特定理时,就是不会发生频谱混叠;同样,在频率域进行采样的时候,只要采样间隔足够小,也不会发生时域序列的混叠。
DFT 是对序列傅里叶变换的等间距采样,因此可以利用于序列的频谱分析。
在运用于DFT 进行频谱分析的时候可能有三种误差,分析如下:(1)混叠现象序列的频谱是采样信号频谱的周期延拓,周期是Tπ2,因此当采样速率不满足乃奎斯特定理时,即采样频率小于两倍的信号频率时,经过采样就会发生频谱混叠。
这导致采样后的信号序列频谱不能真实地反映原信号的频谱。
(2)泄露现象实际中的信号序列往往很长,甚至是无限长序列,为了方便,往往用截断的序列来近似它们。
这样可以使用较短的DFT来对信号进行频谱分析。
这种截断等价于给原信号序列乘以一个矩形窗函数,而矩形窗函数的频谱不是有限带宽的,从而它和原信号的频谱进行卷积以后会扩展原信号的频谱。
(3)栅栏响应因为DFT是对单位圆上z变换的均匀采样,所以它不可能将频谱视为一个连续函数。
这样就产生了栅栏效应,从某种角度来看,用DFT来观看频谱就好像通过一个栅栏来观看一幅景象,只能在离散点上看到真实的频谱。
减小栅栏效应的一个方法是在源程序的末端补一些零值,从而变动DFT的点数。
函数fft(x)可以计算R带你序列的R点的DFT值;而fft(x,N)则计算R点序列的N点DFT,若R>N,则直接截取R点DFT的前N点,若R<N,则x先进行补零扩展为N点序列再求N点DFT。
函数ifft(X)可以计算R点的谱序列的R点IDFT值;而ifft (X,N)同fft(x,N)的情况。
函数conv(x1,x2)可以计算两序列的线性卷积。
三.实验设备计算机,MATLAB软件。
四.实验内容编制信号产生子程序及本实验的频谱分析主程序。
实验中需要用到的基本信号包括:(1)三角波序列:x(n)=n+13,03≤n13-n ,47≤≤≤n0,其它程序如下:n2=0:7;x2=[13,14,15,16,9,8,7,6];subplot(221);stem(n2,x2);title('x2序列');grid on;k1=0:7;y21=fft(x2,8);magy21=abs(y21);subplot(222);stem(k1,magy21);title('x2的8点FFT');grid on;k2=0:15;y22=fft(x2,16);magy22=abs(y22);subplot(224);stem(k2,magy22);title('x2的16点FFT');grid on;波形如下:图2-1 三角波序列以及它的8点和16点FFT(2)利用DFT计算下面两序列的线性卷积x(n)={3,-4,6,0,6,-4},h(n)={1,-4, 3,4}程序如下:clear all;close all;clc;N=9;g=[3 -4 6 0 6 -4];h=[1 -4 3 4];x=conv(g,h)gf=fft(g,N);hf=fft(h,N);xx=gf.*hfX=ifft(xx,N);grid on;波形如下:图2-2 用DFT 计算的序列x(n)与h(n)线性卷积图(3)已知某序列x (n )在单位圆上的N=64等分样点的z 变换为X (Z k )=X (k )=Nk j e/213.011π--,k=0,1,2…,63。