《数字信号处理》实验报告

合集下载

数字信号处理实验报告 3

数字信号处理实验报告 3

数字信号处理实验报告姓名:班级:通信学号:实验名称:频域抽样定理验证实验类型:验证试验指导教师:实习日期:2013.频域采样定理验证实验一. 实验目的:1. 加深对离散序列频域抽样定理的理解2.了解由频谱通过IFFT 计算连续时间信号的方法3.掌握用MATLAB 语言进行频域抽样与恢复时程序的编写方法 4、用MATLAB 语言将X(k)恢复为X(z)及X(e jw )。

二. 实验原理:1、1、频域采样定理: 如果序列x(n)的长度为M ,频域抽样点数为N ,则只有当频域采样点数N ≥M 时,才有x N (n)=IDFT[X(k)]=x(n),即可由频域采样X(k)无失真的恢复原序列 x(n)。

2、用X(k)表示X(z)的内插公式:∑-=-----=10111)(1)(N k kNNzWz k X Nz X内插函数: zWzkNNN z 1k111)(-----=ϕ频域内插公式:∑-=-=10)2()()(N K j k Nk X e X πωϕω频域内插函数:e N j N N )21()2sin()2sin(1)(--=ωωωωϕ三. 实验任务与步骤:实验一:长度为26的三角形序列x(n)如图(b)所示,编写MATLAB 程序验证频域抽样定理。

实验二:已知一个时间序列的频谱为X(e jw )=2+4e -jw +6e -j2w +4e -j3w +2e -j4w分别取频域抽样点数N为3、5和10,用IPPT计算并求出其时间序列x(n),用图形显示各时间序列。

由此讨论原时域信号不失真地由频域抽样恢复的条件。

实验三:由X32(k)恢复X(z)和X(e jw)。

四.实验结论与分析:实验一:源程序:M=26;N=32;n=0:M; %产生M长三角波序列x(n)xa=0:floor(M/2);xb= ceil(M/2)-1:-1:0; xn=[xa,xb];Xk=fft(xn,512); %1024点FFT[x(n)], 用于近似序列x(n)的TFX32k=fft(xn,32); %32点FFT[x(n)]x32n=ifft(X32k); %32点IFFT[X32(k)]得到x32(n)X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K)x16n=ifft(X16k,N/2); %16点IFFT[X16(k)]得到x16(n)subplot(3,2,2);stem(n,xn,'.');box ontitle('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20])k=0:511;wk=2*k/512;subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]');xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');axis([0,1,0,200])k=0:N/2-1;subplot(3,2,3);stem(k,abs(X16k),'.');box ontitle('(c) 16点频域');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200])n1=0:N/2-1;subplot(3,2,4);stem(n1,x16n,'.');box ontitle('(d) 16点IDFT[X_1_6(k)]');xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20])k=0:N-1;subplot(3,2,5);stem(k,abs(X32k),'.');box ontitle('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200])n1=0:N-1;subplot(3,2,6);stem(n1,x32n,'.');box ontitle('(f) 32点IDFT[X_3_2(k)]');xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20])结果如下所示:实验一分析:序列x(n)的长度M=26,由图中可以看出,当采样点数N=16<M时,x16(n)确实等于原三角序列x(n)以16为周期的周期延拓序列的主值序列。

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的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、熟悉时域离散系统的时域特性;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

数字信号处理实验报告1

离散傅立叶变换的性质及应用实验报告学院:电子信息学院专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称离散傅立叶变换的性质及应用实验目的1、了解DFT 的性质及其应用。

2、熟悉MATLAB 编程特点。

实验原理2、序列卷积设序列的长度为N,序列的长度为M。

则分别对两个序列作点的DFT得到和,则两序列的线性卷积等于。

即时域卷积频域为相乘关系。

) ( 1 n x ) ( 2 n x 1M N L ) ( 1 k X ) ( 2 k X )(ny)) ( ) ( ( 2 1 k X k X IDFT实验仪器计算机一台;Matlab 软件实验步骤1、用三种不同的DFT程序计算的傅立叶变换X(k),并比较三种程序计算机的运行时间。

(1)编制用for循环语句的M函数文件dft1.m,用循环变量逐点计算X(k);(2)编写用MATLAB 矩阵运算的M 函数文件dft2.m,完成下列矩阵运算:(3)调用FFT库函数,直接计算X(k) ;(4)分别利用上述三种不同方式编写的DFT 程序计算序列x(n)的傅立叶变换X(k),并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。

2、利用DFT 实现两序列的卷积运算,并研究DFT 点数与混叠的关系。

给定,利用圆周卷积计算线性卷积(快速卷积,频域);计算不同DFT 点数下的圆周卷积输出;并用函数stem(n,y)画出相应图形。

选择不同的DFT点数进行对比,观察其混叠效应。

3、研究高密度频谱与高分辨率频谱设有连续信号以采样频率f kHz s 32 对该信号采样,分析下列三种情况的幅频特性。

(1)采集数据长度N 16点,做N 16点的DFT,并画出幅频特性。

(2)采集数据长度N 16点,补零到256点的DFT,并画出幅频特性。

(3)采集数据长度N 256点,做N 256点的DFT,并画出幅频特性。

观察三幅不同频率特性图,分析和比较它们的特点以及形成的原因。

4、实现序列的内插和抽取所对应的傅立叶变换。

数字信号处理实验报告完整版[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中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率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 有关冲激响应不变法的常用子函数。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一 信号的产生及傅立叶分析(设计性)一 实验目的1 学会利用计算机仿真信号。

2 理解信号采样思想。

3学会信号的频谱分析方法。

二 实验原理奈奎斯特抽样定理:要想抽样后能够不失真的还原出原信号,则抽样频率必须大于两倍信号谱的最高频率。

离散傅立叶变换(DFT ): 正变换反变换)(n x 和)(k X 都是点数为N 的有限长序列。

实质上有限长序列都是作为周期序列的一个周期来表示的,都隐含有周期性意义。

三 实验内容1 几种常用序列(如正弦、矩形、指数序列等)的产生。

1.用stem 函数来画出序列的波形,通过改变N 和s 得值来改变时间长度、抽样频率 N=500;k=0:N; s=0.03;X=5*sin(s*pi*k);plot(k,X,k,zeros(1,N+1));Xlabel('k'); Ylabel('X[k]'); title('余弦序列');10)()]([)(1-≤≤==∑--=N k Wn x n x DFT k X N n nk N10)(1)]([)(1-≤≤==∑--=-N n Wk X Nk X IDFT n x N k nk N2.指数序列 clear ;clc%c :指数序列的幅度 %a :指数序列的底数%k1:绘制序列的起始序号 %k2:绘制序列的终止序号c=1;a=0.75;k1=0;k2=20;k=k1:k2; x=c*(a.^k);stem(k,x);%'filled'Xlabel('k'); Ylabel('x');title('Ö¸ÊýÐòÁÐ');3各种序列t=0:0.01:1;k=1:200;x1=0.1*exp(-2*t); %指数序列 x2=2*cos(2*pi*4*t); %余弦序列 x3=[ones(1,10) zeros(1,90) ones(1,10) zeros(1,90)]; subplot(3,1,1); plot(t,x1); title('指数序列'); subplot(3,1,2); plot(t,x2); title('余弦序列'); subplot(3,1,3); plot(k,x3); title('矩形序列');kX [k ]kx指数信号余弦信号矩形信号4 编程实现序列的离散傅里叶变换(DFT),输入x(n),输出X(k)并且对于不同序列(如矩形序列等)做DFT.clear; clck=0:31; x1=2*((0.75).^k);subplot 321; stem(k,x1); title('指数序列');y1=fft(x1,32);subplot 322; stem(k,y1); title('指数序列DFT');k=0:31; x2=sin(k);subplot 323; stem(k,x2); title('正弦序列Sin(k)');y2=fft(x2,32);subplot 324; stem(k,y2); title('正弦序列DFT');x3=[ones(1,8) zeros(1,8) ones(1,8) zeros(1,8)];subplot 325; stem(k,x3); title('矩形序列');y3=fft(x3,32);subplot 326; stem(k,y3); title('矩形序列DFT');指数序列指数序列DFT正弦序列Sin(k)010203040正弦序列DFT矩形序列矩形序列DFT实验二 快速傅立叶变换FFT 及频谱分析(设计性)一 实验目的1 进一步加深对DFT 算法原理和基本性质的理解2 熟悉FFT 算法原理和FFT 的子程序应用3 学习用FFT 对连续时间信号进行频谱分析的方法,了解可能出现的分析误差及原因二 实验原理(参考P187,P189)FFT 只是DFT 的一种快速算法,利用FFT 可减少运算量,提高速度。

数字信号处理实验报告(自己的实验报告)

数字信号处理实验报告(自己的实验报告)

数字信号处理实验报告西南交通大学信息科学与技术学院姓名:伍先春学号:20092487班级:自动化1班指导老师:张翠芳实验一序列的傅立叶变换实验目的进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换(FFT )的应用。

实验步骤1. 复习DFS 和DFT 的定义,性质和应用;2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。

实验内容1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。

2. 有限长序列x(n)的DFT(1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。

利用FFT进行谱分析 已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。

请分别画出N=45; N=50;N=55;N=60时的幅值曲线。

数字信号处理实验一1.(1) L=5;N=20;60,7)4(;60,5)3(;40,5)2(;20,5)1()](~[)(~,2,1,01)1(,01,1)(~=========±±=⎩⎨⎧-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L mN L mN n mN n x )52.0cos()48.0cos()(n n n x ππ+=)8cos(5)4sin(2)(t t t x ππ+=n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=20');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5;N=40;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(2)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=40');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(3)L=5;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(3)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=5,N=60');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(4)L=7;N=60;n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(4)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=7,N=60');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');2. (1)M=10;N=10;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(1)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(2)M=10;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(2)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=10');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');(3)M=100;N=100;n=1:M;xn=cos(0.48*pi*n)+cos(0.52*pi*n);n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)]; figure(3)subplot(2,1,1);stem(n1,y1);xlabel('n'); title('signal x(n),0<=n<=100');axis([0,N,-2.5,2.5]);Y1=fft(y1);magY1=abs(Y1(1:1:N/2+1));k1=0:1:N/2;w1=2*pi/N*k1;subplot(2,1,2);title('Samples of DTFT Magnitude');stem(w1/pi,magY1); axis([0,1,0,10]);xlabel('frequency in pi units');3.figure(1)subplot(2,2,1)N=45;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))stem(q,abs(y))title('FFT N=45')%subplot(2,2,2)N=50;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=50')%subplot(2,2,3)N=55;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=55')%subplot(2,2,4)N=16;n=0:N-1;t=0.01*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))title('FFT N=16')function[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;实验二 用双线性变换法设计IIR 数字滤波器 一、 实验目的1. 熟悉用双线性变换法设计IIR 数字滤波器的原理与方法; 2. 掌握数字滤波器的计算机仿真方法;3.通过观察对实际心电图的滤波作用,获得数字滤波器的感性知识。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理 实验报告实验一 序列的傅立叶变换一、实验目的1.进一步加深理解DFS,DFT 算法的原理;2.研究补零问题;3.快速傅立叶变换(FFT )的应用。

二、 实验步骤1.复习DFS 和DFT 的定义,性质和应用;2熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;3利用提供的程序例子编写实验用程序;4.按实验内容上机实验,并进行实验结果分析;5.写出完整的实验报告,并将程序附在后面。

三、 实验内容1.周期方波序列的频谱试画出下面四种情况下的的幅度频谱, 并分析补零后,对信号频谱的影响。

2.有限长序列x(n)的DFT (1)取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度;(2)将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出x(n)的频谱X(k) 的幅度;(3)取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。

利用FFT 进行谱分析3.已知:模拟信号以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。

请分别画出N=45; N=50;N=55;N=60时的幅值曲线。

四、 实验数据分析)8cos(5)4sin(2)(t t t x ππ+=)52.0cos()48.0cos()(n n n x ππ+=1.周期方波序列的频谱分析首先定义一个功能函数dfsfunction[Xk]=dfs(xn,N)n=[0:1:N-1];k=[0:1:N-1];WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;(1)L=5,N=20;%题1.(1)L=5;N=20;%对于(2),(3),(4)问,只要修改L,N的数值就好。

n=1:N;xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);k=[-N/2:N/2];figure(1)subplot(2,1,1);stem(n,xn);xlabel('n');ylabel('xtide(n)');title('DFS of SQ.wave:L=5,N=20');subplot(2,1,2);stem(k,magXk);axis([-N/2,N/2,0,16]);xlabel('k');ylabel('Xtide(k)');(2)L=5,N=40;(3).L=5,N=60(4)L=7,N=60;结果分析:虽然周期序列不存在FT,但是一个周期序列可以利用其DFS系数X(k)表示它的频谱分布规律,从以上各频谱图可以看出,随着补零点数的增加,周期序列的谐波次数越来越多,其频谱的包络线越来越平滑连续,更能反映幅度值随时间的变化。

数字信号处理实验报告

数字信号处理实验报告

《数字信号处理》实验报告地点通信实验室学院计算机与通信工程学院专业班级通信082姓名颜晶学号 40850209指导教师杨欲亮2011年6月实验二 时域采样与频域采样一、实验目的时域采样理论与频域采样理论是数字信号处理中的重要理论。

要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使采样后的信号不丢失信息;要求掌握频率域采样会引起时域周期化的概念,以及频率域采样定理及其对频域采样点数选择的指导作用。

二、实验原理及方法时域采样定理的要点是: (a)对模拟信号)(t x a 以间隔T 进行时域等间隔理想采样,形成的采样信号的频谱)(ˆΩj X 是原模拟信号频谱()a X j Ω以采样角频率s Ω(T s /2π=Ω)为周期进行周期延拓。

公式为:)](ˆ[)(ˆt x FT j X a a =Ω )(1∑∞-∞=Ω-Ω=n s a jn j X T(b )采样频率s Ω必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的频谱不产生频谱混叠。

利用计算机计算上式并不方便,下面我们导出另外一个公式,以便用计算机上进行实验。

理想采样信号)(ˆt x a 和模拟信号)(t x a 之间的关系为:∑∞-∞=-=n a a nT t t x t x)()()(ˆδ对上式进行傅立叶变换,得到:dt e nT t t x j X t j n a a Ω-∞∞-∞-∞=⎰∑-=Ω])()([)(ˆδdte nT t t x t j n a Ω-∞-∞=∞∞-∑⎰-)()( δ=在上式的积分号内只有当nT t =时,才有非零值,因此:∑∞-∞=Ω-=Ωn nTj aae nT xj X )()(ˆ上式中,在数值上)(nT x a =)(n x ,再将T Ω=ω代入,得到:∑∞-∞=-=Ωn nj aen x j X ω)()(ˆ上式的右边就是序列的傅立叶变换)(ωj e X ,即Tj a e X j X Ω==Ωωω)()(ˆ 上式说明理想采样信号的傅立叶变换可用相应的采样序列的傅立叶变换得到,只要将自变量ω用T Ω代替即可。

数字信号处理实验报告

数字信号处理实验报告

物理与电子电气工程学院实验报告课程名称:数字信号处理院系:物理与电子电气工程学院专业:电子信息科学与技术班级:学号:姓名:物理与电子电气工程学院实验报告实验报告(1)实验名称实验一离散时间信号分析实验日期2013.10.19 指导教师(2)绘制单位跃阶)u序列(n解:MATLAB程序如下:>> n=-10:10;>> x=[zeros(1,10),ones(1,11)]; >> stem(n,x,'fill')>> grid on(4)正弦型序列)35sin()(ππ+=n A n x解:MATLAB 程序如下: >> n=-10:10; >> w=pi/5; >> ph=pi/3; >> A=2;(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下: >> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> stem(n,x,'fill') >> grid on(2)实现任意序列(2)()(-+=n n n h δδ解:MATLAB 程序如下:>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> y=circshift(x,[0,-4]); %左移四位>> stem(n,y,'fill') >> grid on(4)实现任意序列)(=n x (2)2()1(2)()(+-+-+=n n n n n h δδδδ解:MATLAB 程序如下:x=[zeros(1,10),1,2,1,2,zeros(1,7)];>> y=[zeros(1,10),1,2,3,4,5,zeros(1,6)]; >> k=x+y; %两数列相加(5)实现任意序列)(=n x δ(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下:>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)]; >> y=[zeros(1,10),1,2,3,4,5,zeros(1,6)]; >> k=x.*y; %实现两序列的积 >> stem(n,k,'fill')(6)分别实现()(=n n x δ(2)2()1(2)()(-+-+-+=n n n n n h δδδδ解:MATLAB 程序如下: ①>> n=-10:10;②>> n=-10:10;>> x=[zeros(1,10),1,2,1,2,zeros(1,7)];>> y=cumsum(x); %%实现函数自身的累加(由左向右累加)>> stem(n,y,'fill')>> grid on实验一实验心得:首先,第一次实验,我又开始重拾MATLAB方法。

数字信号处理 实验报告

数字信号处理    实验报告

数字信号处理实验报告实验一 信号、系统及系统响应一、实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。

(2) 熟悉时域离散系统的时域特性。

(3) 利用卷积方法观察分析系统的时域特性。

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

二、实验原理与方法 1. 时域采样定理:对一个连续信号xa(t)进行理想采样的过程如下: xa1(t)=xa(t)p(t)其中xa1(t)为xa(t)的理想采样,p(t)为周期冲击脉冲。

xa1(t)的傅里叶变换Xa1(j Ω)为:11()[()]m Xa j Xa j m s T +∞=-∞Ω=Ω-Ω∑表明Xa1(j Ω)为Xa(j Ω)的周期延拓,其延拓周期为采样角频率(s Ω=2π/T )。

离散信号和系统在时域均可用序列来表示。

2. LTI 系统的输入输出关系: y(n)=x(n)*h(n)=()()m x m h n m +∞=-∞-∑()()()j j j Y e X e H e ωωω=三、实验内容1. 分析采样序列的特性。

1) 取模拟角频w=70.7*pi rad/s ,采样频率fs=1000Hz>2w ,发现无频谱混叠现象。

2) 改变采样频率, fs=300 Hz<2w ,频谱产生失真。

3) 改变采样频率, fs=200Hz<2w,频谱混叠,产生严重失真2. 时域离散信号、系统和系统响应分析。

1) 观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。

2) 观察系统ha(n)对信号xc(n)的响应特性。

可发现:信号通过系统,相当于x(n)与系统函数h(n)卷积,时域卷积即对应频域函数相乘。

数字信号处理实验报告

数字信号处理实验报告

实验一:频谱分析与采样定理 subplot(3,1,1),stem(t,x2);title('指数信号'); subplot(3,1,2),stem(f1,y2);title('指数信号频谱'); subplot(3,1,3),plot(f2,y21);title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%%%%%% x3=x1.*x2; y3=T*abs(fft(x3)); y31=fftshift(y3); figure(3), subplot(3,1,1),stem(t,x3);title('两信号相乘'); subplot(3,1,2),stem(f1,y3);title('两信号相乘频谱'); subplot(3,1,3),plot(f2,y31);title('两信号相乘频谱'); 实验结果: T=1/10000,������������ =10000,L=0.10
1/ 5
实验二:卷积定理 Y2=fft(y2); Z2=X2.*Y2; z2=ifft(Z2); figure(3), subplot(321),stem(x2);title('x2'); subplot(322),stem(real(X2));title('X2'); subplot(323),stem(y2);title('y2'); subplot(324),stem(real(Y2));title('Y2'); subplot(325),stem(z2);title('z2'); subplot(326),stem(real(Z2));title('Z2'); N=6; x3=[x zeros(1,N-length(x))]; y3=[y zeros(1,N-length(y))]; X3=fft(x3); Y3=fft(y3); Z3=X3.*Y3; z3=ifft(Z3); figure(4), subplot(321),stem(x3);title('x3'); subplot(322),stem(real(X3));title('X3'); subplot(323),stem(y3);title('y3'); subplot(324),stem(real(Y3));title('Y3'); subplot(325),stem(z3);title('z3'); subplot(326),stem(real(Z3));title('Z3'); N=8; x4=[x zeros(1,N-length(x))]; y4=[y zeros(1,N-length(y))]; X4=fft(x4); Y4=fft(y4); Z4=X4.*Y4; z4=ifft(Z4); figure(5), subplot(321),stem(x4);title('x4'); subplot(322),stem(real(X4));title('X4'); subplot(323),stem(y4);title('y4'); subplot(324),stem(real(Y4));title('Y4'); subplot(325),stem(z4);title('z4'); subplot(326),stem(real(Z4));title('Z4'); %N=6 时

数字信号处理实验报告

数字信号处理实验报告

《数字信号处理》实验报告实验一:Z 变换及离散时间系统分析给定系统)8.0/(2.0)(2+-=z z H ,编程并绘出系统的单位阶跃响应y(n),频率响应)e (jw H 。

给出实验报告。

实验代码clear;x=ones(100); t=1:100;b=[0 0 -0.2 ]; a=[1 0 0.8]; y=filter(b,a,x); (t,x,'r.',t,y,'k-'); grid on ;ylabel('x(n) and y(n)') xlabel('n')单位阶跃响应单位抽样:b=[0 0 -0.2 ]; a=[1 0 0.8];[h,t]=impz(b,a,70);stem(t,h, '.')幅頻,相频b=[0 0 -0.2 ];a=[1 0 0.8];[H,w]=freqz(b,a,256,1);Hr=abs(H);Hphase=angle(H);Hphase=unwrap(Hphase); subplot(211)plot(w,Hr);grid on;ylabel(' 幅频.')subplot(212)plot(w,Hphase);grid on; ylabel(' 相频')零极点图:b=[0 0 -0.2 ];a=[1 0 0.8];subplot(221);zplane(b,a);实验二:快速傅里叶变换设x(n)由三个实正弦组成,频率分别是8Hz,9Hz,10Hz,抽样频率为60 Hz,时域取256点,作FFT变换,观察波形,给出实验报告。

实验代码:clear all;N=256;f1=8;f2=9;f3=10;fs=60;w=2*pi/fs;x=sin(w*f1*(0:N-1))+sin(w*f2*(0:N-1))+sin(w*f3*(0:N-1)); subplot(3,1,1);plot(x(1:N/4));f=-0.5:1/N:0.5-1/N;X=fft(x);=ifft(X);(3,1,2);plot(f,fftshift(abs(X)));subplot(3,1,3);plot(real(y(1:N/4)));实验三:无限冲击响应数字滤波器设计设计一个数字带通滤波器,参数自定。

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

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

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

数字信号处理》实验报告年级:2011 级班级:信通 4班姓名:朱明贵学号:111100443 老师:李娟福州大学2013 年11 月实验一快速傅里叶变换(FFT)及其应用一、实验目的1. 在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB^的有关函数。

2. 熟悉应用FFT对典型信号进行频谱分析的方法。

3. 了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。

4. 熟悉应用FFT实现两个序列的线性卷积和相关的方法。

二、实验类型演示型三、实验仪器装有MATLA爵言的计算机四、实验原理在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。

这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:JV-1 $生反变换为:如-器冃吋科—有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。

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

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

(一)在运用DFT进行频谱分析的过程中可能的产生三种误差1 .混叠序列的频谱是被采样信号频谱的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

2•泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。

为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

3 .栅栏效应DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

(二)用FFT计算线性卷积用FFT可以实现两个序列的圆周卷积。

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

一般情况,设两个序列的长度分别为N和2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N A N+ N2-1,对于长度不足N的两个序列,分别将他们补零延长到No 当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。

有两种方法:1 .重叠相加法将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。

2 .重叠保留法这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。

五、实验内容和要求1、一个连续信号含两个频率分量,经采样得x(n) sin[2 0.125n] cos[2 (0.125 f)n] n 0,1, ,N 1已知N 16, f分别为1/16和1/64 ,观察其频谱;当N 128时,f不变,其结果有何不同,为什么?代码:N=16;n=0:N-1; Df=1/16;Xn=si n( 2*pi*0.125* n)+cos(2*pi*(0.125+Df)* n); Xk=fft(X n,N); subplot(245);stem( n,abs(Xk));xlabel(' n');ylabel('X(k)');title('N=16,Df=1/16, subplot(241); stem( n,abs(X n));xlabel(' n');ylabel('X( n)');title('N=16,Df=1/16, Df=1/64; Xn=si n( 2*pi*0.125* n)+cos(2*pi*(0.125+Df)* n);Xk=fft(X n,N);subplot(246);stem( n,abs(Xk));xlabel(' n');ylabel('X(k)');title('N=16,Df=1/64,subplot(242);stem( n,abs(X n));xlabel(' n');ylabel('X( n)');title('N=16,Df=1/64,N=128;n=0:N-1;Df=1/16;Xn=si n( 2*pi*0.125* n)+cos(2*pi*(0.125+Df)* n);Xk=fft(X n,N);subplot(247);stem( n,abs(Xk));xlabel(' n');ylabel('X(k)');title('N=128,Df=1/16,subplot(243);stem( n,abs(X n));xlabel(' n');ylabel('X( n)');title('N=128,Df=1/16, Df=1/64; Xn=si n( 2*pi*0.125* n)+cos(2*pi*(0.125+Df)* n);Xk=fft(X n,N);subplot(248);stem( n,abs(Xk));xlabel(' n');ylabel('X(k)');title('N=128,Df=1/64,subplot(244);stem( n,abs(X n));xlabel(' n');ylabel('X( n)');title('N=128,Df=1/64,频谱图'); 时序图');频谱图'); 时序图');频谱图'); 时序图');频谱图'); 时序图');10点、20点圆周卷积,记录其波形,并说明他们之间的关系。

代码:fun cti on [ y ] = circ onv( x1,x2,N )%UNTITLED3 Summary of this fun ctio n goes here % Detailed expla nati on goes here if len gth(x1)>Nerror('N should higher tha n or equal to the len gth of x1') endif len gth(x2)>Nerror (”)endx1= [x1,zeros(1,N-le ngth(x1))]; x2=[x2,zeros(1,N-le ngth(x2))]; m=0:1:N-1;x2=x2(mod(-m,N)+1); H=zeros(N,N); for n=1:1:NH(n ,:)=cirshift(x2, n-1,N);频谱图:2、用FFT 分别实现的x(n) 0.8n ,0 n h=1EDMfi4.fl7*£、=口丄1=:.飞邓因N=1^QM 風新鶴團N= 123,0^1^ 颉語區hW*ib 殊駆40nou(n 6)的线性卷积和11 和 h(n) u(n)endy=x1*H';fun cti on [ y] = cirshift( x,m,N )%UNTITLED4 Summary of this fun ctio n goes here% Detailed expla nati on goes hereif len gth(x)>Nerror(”)endx=[x zeros(1,N-le ngth(x))];n=0:1:N-1;n=mod( n-m,N);y=x( n+1);n=0:11;x=0.8.A n;h=[1,1,1,1,1,1];N=17;x=[x,zeros(1,5)];h=[h,zeros(1,11)];X=fft(x);H=fft(h);Y=X.*H;y=ifft(Y);subplot(321);stem(x);xlabel(' n');ylabel('x');title('序列x(n)');subplot(323);stem(h);xlabel(' n');ylabel('h');title('序列h(n)');subplot(325);stem(y);xlabel(' n');ylabel('y');title(' 序列y(n),线性卷积');n=0:11;N=20;X=0.8.A n;h=[1,1,1,1,1,1];y=circ onv (x,h,N);x=[x,zeros(1,5)];h=[h,zeros(1,11)]; subplot(322);stem(x);xlabel(' n');ylabel('x'); title('序列x(n)'); subplot(324);stem(h);xlabel(' n');ylabel('h');title('序列h(n)');subplot(326);stem(y);xlabel(' n');ylabel('y');title(' 序列y(n),圆周卷积');频谱图:说明他们之间的关系?周期卷积是线性卷积的周期延拓。

相关文档
最新文档