数字信号处理实验报告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 点离散序列,这里为窗函数。
- 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。