数字信号实验5报告
大学数字实验报告

实验名称:数字信号处理实验实验日期:2023年3月15日实验地点:大学计算机实验室实验目的:1. 理解数字信号处理的基本概念和原理。
2. 掌握数字滤波器的设计和实现方法。
3. 学会使用数字信号处理软件进行实验和分析。
4. 培养实验操作能力和数据分析能力。
实验原理:数字信号处理(Digital Signal Processing,DSP)是利用计算机或专用处理硬件对数字信号进行操作的一门技术。
它包括信号的采样、量化、滤波、变换、压缩、解压缩等处理过程。
本实验主要涉及数字滤波器的设计和实现。
实验仪器:1. 实验计算机2. 数字信号处理软件(如MATLAB)3. 示波器4. 音频播放器实验内容:一、实验一:数字滤波器的基本概念1. 实验目的:理解数字滤波器的基本概念,掌握滤波器的类型和特点。
2. 实验步骤:a. 在MATLAB中创建一个简单的数字滤波器模型,例如低通滤波器。
b. 使用MATLAB的内置函数进行滤波器的设计,并观察滤波器的频率响应。
c. 分析滤波器的性能,包括通带、阻带、过渡带等。
3. 实验结果:a. 设计了一个低通滤波器,其截止频率为1000Hz。
b. 频率响应显示,在截止频率以下,滤波器对信号有较好的抑制效果;在截止频率以上,滤波器对信号有较好的通过效果。
c. 分析结果表明,该滤波器满足实验要求。
二、实验二:FIR滤波器的设计1. 实验目的:掌握FIR滤波器的设计方法,学会使用MATLAB进行FIR滤波器的设计和实现。
2. 实验步骤:a. 设计一个具有线性相位特性的FIR滤波器,例如汉明窗设计。
b. 使用MATLAB的内置函数进行滤波器的设计,并观察滤波器的频率响应。
c. 对滤波器进行时域和频域分析,评估滤波器的性能。
3. 实验结果:a. 设计了一个具有线性相位特性的低通FIR滤波器,其截止频率为1000Hz。
b. 频率响应显示,该滤波器具有较好的线性相位特性,且在截止频率以下对信号有较好的抑制效果。
数字信号实验报告

实验二 DFT 在卷积计算中的应用一、实验目的:学习MATLAB 计算信号DFT ;学习利用MA TLAB 由DFT 计算线性卷积。
二、实验原理:在MA TLAB 信号处理工具箱中,函数dftmtx(n)用来产生N*N 的DFT 矩阵DN 。
另外MATLAB 提供了4个内部函数用于计算DFT 和IDFT 。
分别为:fft(x),fft(x,n),ifft(x),ifft(x,n)。
fft(x):计算M 点的DFT ,M 是序列X 的长度;fft(x,n):计算N 点的DFT ,若M>N,则截断,反之则补0;ifft(x),ifft(x,n):分别为以上两种运算的逆运算;Fftfilt :函数基于重叠相加法的原理,可实现长短序列的线性卷积,其格式为:y=fftfilt(h,x,n),h 为短序列,x 长序列,n 为DFT 点数。
三、实验内容:1.分别计算16点序列15()cos 16x n n π=,015n ≤≤的16点和32点DFT ,绘出幅度谱图形。
2.已知x[k]=2k+1,018k ≤≤,h[k]={1,3,2,4};试分别用重叠相加法和直接求卷积法求两序列的卷积,并绘出幅度谱图形。
四、实验结果:1.n1=0:15;x=cos(15*pi/16*n);X1=fft(x,16);n2=0:31;X2=fft(x,32);mag1=abs(X1);mag2=abs(X2);subplot(2,1,1);stem(n1,mag1);title('取样16点的DFT');subplot(2,1,2);stem(n2,mag2);title('取样32点的DFT')2.k=0:18;x=2*k+1;h=[1 3 2 4];n=16;y=fftfilt(h,x,n);z=conv(h,x);mag1=abs(y);mag2=abs(z);subplot(2,1,1);stem(mag1);title('重叠相加法'); subplot(2,1,2);stem(mag2);title('直接求卷积法');实验三 快速Fourier 变换(FFT)及其应用一、实验目的:加深对离散信号的D F T 的理解及其F F T 算法的运用。
数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的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、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。
2、进一步加深对时域、频域抽样定理的基本原理的理解。
3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和内插公式的编程方法。
二、实验内容及步骤1、阅读并输入实验原理中介绍的例题程序,观察输出的数据和图形,结合基本原理理解每一条语句的含义。
2、已知一个连续时间信号f(t)=sinc(t),取最高有限带宽频率f m =1Hz 。
(1)分别显示原连续信号波形和F s =f m 、F s =2f m 、F s =3f m 三种情况下抽样信号的波形;dt=0.1;f0=1;T0=1/f0; fm=1;Tm=1/fm; t=-2:dt:2; f=sinc(t);subplot(4,1,1);plot(t,f);axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3;fs=i*fm;Ts=1/fs; n=-2:Ts:2; f=sinc(n);subplot(4,1,i+1);stem(n,f,'filled');axis([min(n),max(n),1.1*min(f),1.1*max(f)]);课程名称 数字信号处理 实验成绩 指导教师实 验 报 告院系 信息工程学院 班级 学号 姓名 日期end-2-1.5-1-0.50.511.5200.51原连续信号和抽样信号(2)求解原连续信号和抽样信号的幅度谱; dt=0.1;f0=1;T0=1/f0; fm=1;Tm=1/fm; t=-2:dt:2; N=length(t); f=sinc(t); wm=2*pi*fm; k=0:N-1; w1=k*wm/N; F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1));axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]); for i=1:3;if i<=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2; N=length(n); f=sinc(n); wm=2*pi*fs; k=0:N-1; w=k*wm/N; F=f*exp(-j*n'*w)*Ts;subplot(4,1,i+1);plot(w/(2*pi),abs(F));axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]); end00.511.522.533.540.20.40.60.811.200.511.522.533.54012(3)用时域卷积的方法(内插公式)重建信号。
数字信号分析实训报告

一、实训目的本次实训旨在通过实际操作,让学生掌握数字信号分析的基本原理和方法,提高学生对数字信号处理技术的理解和应用能力。
通过本次实训,使学生能够:1. 理解数字信号的基本概念、特性及分类;2. 掌握数字信号的采样、量化、编码等基本过程;3. 掌握离散傅里叶变换(DFT)及其快速算法(FFT);4. 熟悉数字滤波器的设计与实现;5. 能够运用所学知识分析和处理实际信号。
二、实训内容1. 数字信号基本概念及特性(1)数字信号的定义及分类;(2)模拟信号与数字信号的转换过程;(3)数字信号的采样定理及奈奎斯特准则;(4)数字信号的量化及编码;(5)数字信号的时域分析。
2. 离散傅里叶变换(DFT)及其快速算法(FFT)(1)DFT的定义及性质;(2)DFT的计算过程;(3)FFT算法的基本原理及实现方法;(4)DFT与FFT在信号处理中的应用。
3. 数字滤波器的设计与实现(1)滤波器的基本概念及分类;(2)低通、高通、带通、带阻滤波器的设计方法;(3)无限脉冲响应(IIR)滤波器与有限脉冲响应(FIR)滤波器的特点及设计方法;(4)数字滤波器在信号处理中的应用。
4. 实际信号分析(1)选取实际信号进行采集;(2)对采集到的信号进行预处理;(3)运用所学知识对信号进行时域分析、频域分析及滤波处理;(4)对分析结果进行总结。
三、实训过程1. 准备工作(1)熟悉实训设备,了解数字信号分析仪器的功能及操作方法;(2)复习数字信号处理相关理论知识;(3)明确实训目标,制定实训计划。
2. 实训操作(1)数字信号基本概念及特性通过实验,观察不同采样频率下的信号波形,验证采样定理;分析不同量化位数对信号质量的影响;对采集到的信号进行时域分析,了解信号的特性。
(2)离散傅里叶变换(DFT)及其快速算法(FFT)运用DFT算法对信号进行频域分析,观察信号频谱特性;通过FFT算法提高计算效率,实现快速频域分析。
(3)数字滤波器的设计与实现根据实际需求,设计合适的数字滤波器,对信号进行滤波处理;比较IIR滤波器与FIR滤波器的性能差异。
数字信号处理实验报告

数字信号处理实验报告引言数字信号处理(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输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
数字信号处理实验报告_完整版

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

物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称:FIR数字滤波器设计与软件实现班级:1012341姓名:严娅学号:101234153成绩:_______实验时间:2012年12月20 日一、实验目的(1)掌握用窗函数法设计FIR 数字滤波器的原理和方法。
(2)掌握用等波纹最佳逼近法设计FIR 数字滤波器的原理和方法。
(3)掌握FIR 滤波器的快速卷积实现原理。
(4)学会调用MATLAB 函数设计与实现FIR 滤波器。
二、实验原理1、用窗函数法设计FIR 数字滤波器的原理和方法。
如果所希望的滤波器的理想频率响应函数为 )(ωj d e H ,则其对应的单位脉冲响应为)(n h d =π21ωωωππd e e H j j d )(⎰- (2-1)窗函数设计法的基本原理是用有限长单位脉冲响应序列)(n h 逼近)(n h d 。
由于)(n h d 往往是无限长序列,且是非因果的,所以用窗函数)(n ω将)(n h d 截断,并进行加权处理,得到:)(n h =)(n h d )(n ω (2-2))(n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数)(ωj d e H 为:)(ωj d e H =∑-=-1)(N n j e n h ω (2-3) 式中,N 为所选窗函数)(n ω的长度。
由第七章可知,用窗函数法设计的滤波器性能取决于窗函数)(n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见第七章。
这样选定窗函数类型和长度N 后,求出单位脉冲响应)(n h =)(n h d ·)(n ω,并按式(2-3)求出)(ωj e H 。
)(ωj e H 是否满足要求,要进行验算。
一般在)(n h 尾部加零使长度满足于2的整数次幂,以便用FFT 计算)(ωj e H 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州大学学生实验报告开课学院及实验室:电子楼317EDA年月日 学院 机械与电气工程学院年级、专业、班姓名学号实验课程名称数字信号处理实验 成绩 实验项目名称用DFT (FFT )对信号进行频谱分析指导教师张承云一、 实验目的学习DFT 的基本性质及对时域离散信号进行频谱分析的方法,进一步加深对频域概念和数字频率的理解,掌握MATLAB 函数中FFT 函数的应用。
二、 实验原理离散傅里叶变换(DFT )对有限长时域离散信号的频谱进行等间隔采样,频域函数被离 散化了,便于信号的计算机处理。
设x (n )是一个长度为M 的有限长序列,x (n )的N 点傅立叶变换:其中NjN eW π2-=,它的反变换定义为:∑-=-=1)(1)(N k nk NWk X Nn x令k NWz -=,则有:∑-=-==10)()(N n nkN k NW z W n x z X可以得到,k NW z z X k X -==)()(,kNWz -=是Z 平面单位圆上幅角为kN πω2=的点,就是将单位圆进行N 等分以后第K 个点。
所以,X(K)是Z 变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。
时域采样在满足Nyquist 定理时,就不会发生频谱混叠。
DFT 是对序列傅立叶变换的等距采样,因此可以用于序列的频谱分析。
如果用FFT 对模拟信号进行谱分析,首先要把模拟信号转换成数字信号,转换时要求知道模拟信号的最高截至频率,以便选择满足采样定理的采样频率。
一般选择采样频率是模拟信号中最高频率的3~4倍。
另外要选择对模拟信号的观测时间,如果采样频率和观测时间确定,则采样点数也确定了。
这里观测时间和对模拟信号进行谱分析的分辨率有关,最小的观测时间和分辨率成倒数关系。
最小的采样点数用教材相关公式确定。
要求选择的采样点数和观测时间大于它的最小值。
如果要进行谱分析的模拟信号是周期信号,最好选择观测时间是信号周期的整数倍。
如果不知道信号的周期,要尽量选择观测时间长一些,以减少阶段效应的影响。
用FFT 对模拟信号作谱分析是一种近似的谱分析,首先一般模拟信号(除周期信号以外)的频谱是连续谱,而用FFT 作谱分析得到的是数字谱,因此应该取FFT 的点数多一些,用它的包络作为模拟信号的近似谱。
另外,如果模拟信号不是严格的带限信号,会因为频谱混叠现象引起谱分析的误差,这种情况下可以预先将模拟信号进行滤波,或者尽量采样频率取高一些。
一般频率混叠发生在折叠频率附近,分析时要注意因频率混叠引起的误差。
最后要注意一般模拟信号是无限长的,分析时要截断,截断的长度和分辨率有关,但也要尽量取长一些,取得太短会截断引起的误差会很大。
举一个极端的例子,一个周期性正弦波,如果所取观察时间太短,例如取小于一个周期,它的波形和正弦波相差太大,肯定误差很大,但如果取得长一些,即使不是周期的倍数,这种截断效应也会小一些。
如同理论课教材所讨论的,在运用DFT 进行频谱分析的时候可能有三种误差,即: (1)混叠现象当采样率不满足Nyquist 定理,经过采样就会发生频谱混叠。
这导致采样后的信号序列频谱不能真实的反映原信号的频谱。
所以,在利用DFT 分析连续信号频谱的时候,必须注意这一问题。
避免混叠现象的唯一方法是保证采样的速率足够高,使频谱交叠的现象不出现。
这告诉我们,在确定信号的采样频率之前,需要对频谱的性质有所了解。
在一般的情况下,为了保证高于折叠频率的分量不会出现,在采样之前,先用低通模拟滤波器对信号进行滤波。
(2)泄漏现象实际中的信号序列往往很长,甚至是无限长。
为了方便,我们往往用截短的序列来近似它们。
这样可以使用较短的DFT 来对信号进行频谱分析。
这种截短等价于给原信号序列乘以一个矩形窗函数。
值得一提的是,泄漏是不能和混叠完全分离开的,因为泄漏导致频谱的扩展,从而造成混叠。
为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减到最小。
(3)栅栏效应因为DFT 是对单位圆上Z 变换的均匀采样,所以它不可能将频谱视为一个连续函数。
这样就产生了栅栏效应,从某种角度看, 用DFT 来观看频谱就好像通过一个栅栏来观看一幅景象,只能在离散点上看到真是的频谱。
这样的话就会有一些频谱的峰点或谷点被“栅栏”挡住,不能被我们观察到。
减小栅栏效应的一个方法是在源序列的末端补一些零值,从而变动DFT 的点数。
这种方法的实质是改变了真是频谱采样的点数和位置,相当于搬动了“栅栏”的位置,从而使得原来被挡住的一些频谱的峰点或谷点显露出来。
注意,这时候每根谱线所对应的频和原来的已经不相同了。
从上面的分析过程可以看出,DFT 可以用于信号的频谱分析,但必须注意可能产生的误差,在应用过程中要尽可能减小和消除这些误差的影响。
DFT 运算量较大,快速离散傅里叶变换算法FFT 是解决方案。
FFT 并不是DFT 不相同的另一种变换,而是为了减少DFT 运算次数的一种快速算法。
它是对变换式进行一次次的分解,使其成为若干小点数DFT 的组合,从而减小运算量。
常用的FFT 是以2为基数的,其长度为MN 2=。
它的运算效率高,程序比较简单,使用也十分的方便。
当需要进行变换的序列的长度不是2的整数次方的时候,为了使用以2为基的FFT ,可以用末尾补零的方法,使其长度延长至2的整数次方。
IFFT 一般也可以通过FFT 程序来完成。
三、 实验内容和步骤(一) 离散信号给定参考实验信号如下:21j 0()[()]()e 01N knN N n X k DFT x n x n k N π--===≤≤-∑3()x n :用14()()x n R n =以8为周期进行周期性延拓形成的周期序列。
(1) 分别以变换区间N =8,16,32,对14()()x n R n =进行DFT(FFT),画出相应的幅频特性曲线;(2) 分别以变换区间N =4,8,16,对x 2(n )分别进行DFT(FFT),画出相应的幅频特性曲线; (3) 对x 3(n )进行频谱分析,并选择变换区间,画出幅频特性曲线。
程序:主函数(脚本文件):draw=@subfunction1;%产生函数句柄n0=input('please input n0');%定义n0的值 n1=input('please input n1');%定义n1的值 n=n0:n1;%设置函数自变量的范围 x1=n>=0&n<4;%产生x1函数 x2=cos(pi*n/4);%产生x2函数 x3=0.*n;%产生容器数组for i=0:2:n1%计算周期化次数 x3_mid=n>=0+i*4&n<=0+i*4+3; x3=x3+x3_mid;%正半周期化 endfor i=0:-2:n0%计算周期化次数x3_mid=n>=-5+i*4-3&n<=-5+i*4; x3=x3+x3_mid;%负半周期化 end%------------x1的三种幅频特性------------ draw(x1,8,n0,1,n);%x1的8点title('x_{1}的8点幅频特性曲线');%设置标题 draw(x1,16,n0,2,n);%x1的16点title('x_{1}的16点幅频特性曲线');%设置标题 draw(x1,32,n0,3,n);%x1的32点title('x_{1}的32点幅频特性曲线');%设置标题 %------------x2的三种幅频特性------------ draw(x2,8,n0,4,n);%x2的8点title('x_{2}的8点幅频特性曲线');%设置标题 draw(x2,16,n0,5,n);%x2的16点title('x_{2}的16点幅频特性曲线');%设置标题 draw(x2,32,n0,6,n);%x2的32点title('x_{2}的32点幅频特性曲线');%设置标题 %------------x3的三种幅频特性------------ draw(x3,8,n0,7,n);%x3的8点title('x_{3}的8点幅频特性曲线');%设置标题 draw(x3,16,n0,8,n);%x3的16点title('x_{3}的16点幅频特性曲线');%设置标题 draw(x3,32,n0,9,n);%x3的32点 子函数:function subfunction1(x,n,n0,p,N)%---------------计算不同fft 的子函数--------------- %x-----------------------需要进行fft 的序列 %n-----------------------fft 的点数%n0----------------------x 序列对应的n 轴的起始位置 %p-----------------------子图选取位置%N-----------------------fft 对应的横轴数组 Xfft=fft(x,n);%计算n 点的fft X_fft=N.*0;%产生容器数组for i=0-n0+1:n+abs(n0) %产生与N 对应长度作为n 点FFT X_fft(i)=Xfft(i-abs(n0)); endsubplot(3,3,p);stem(2*N/n,abs(X_fft),'.');%画图 axis([0,2,0,inf]);%调整图形大小 xlabel('{\omega}/{\pi}');%设置x 轴 ylabel('|Xe^{j{\omega}}|');%确定Y 轴(二)连续信号 实验信号:1()()x t R t τ=选择 1.5ms τ=,式中()R t τ的波形以及幅度特性如图7.1所示。
2()sin(2/8)x t ft ππ=+式中频率f 自己选择。
3()cos8cos16cos 20x t t t tπππ=++分别对三种模拟信号选择采样频率和采样点数。
对1()x t ()R t τ=,选择采样频率4s f kHz=,8kHz ,16kHz ,采样点数用τ.sf 计算。
对2()sin(2/8)x t ft ππ=+,周期1/T f =,频率f 自己选择,采样频率4s f f=,观测时间0.5p T T =,T ,2T ,采样点数用p s T f 计算。
图5.1 R(t)的波形及其幅度特性 对3()cos8cos16cos 20x t t t tπππ=++,选择采用频率64s f Hz=,采样点数为16,32,64。