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

合集下载

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的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,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。

数字信号处理实验5谱分析

数字信号处理实验5谱分析

信号处理实验实验五:谱分析一实验题目:谱分析二实验原理:信号是无限长的,而在进行信号处理时只能采用有限长的信号,所以需要将信号截断。

在信号处理中,截断被看成是用一个有限长的“窗口”看无限长的信号,或者从分析的角度是无限长的信号x(t)乘以有限长的窗口w(t),由傅立叶变换性质可知x(t)w(t)=X(jw)*W(jw)如果x(t)是频宽有限信号,而w(t)是频宽无限函数,截断后的信号也必是频宽无限信号,从而产生所谓的频谱泄露。

频谱泄露是不可避免的,但要尽量减小,因此设计了不同的窗函数满足不同用途的要求。

从能量的角度,频谱泄露也是能量泄露,因为加窗后,使原来的信号集中在窄频带内的能量分散到无限的频谱范围。

matlab信号处理工具箱提供了8种窗函数。

各种窗函数的幅频响应都存在明显的主瓣和旁瓣。

(1)矩形窗(Rectangle Window)调用格式:w=boxcar(n),根据长度n 产生一个矩形窗w。

(2)三角窗(Triangular Window)调用格式:w=triang(n),根据长度n 产生一个三角窗w。

(3)汉宁窗(Hanning Window)调用格式:w=hanning(n),根据长度n 产生一个汉宁窗w。

(4)汉明窗(Hamming Window)调用格式:w=hamming(n),根据长度n 产生一个海明窗w。

(5)布莱克曼窗(Blackman Window)调用格式:w=blackman(n),根据长度n 产生一个布拉克曼窗w。

(6)凯瑟窗(Kaiser Window)调用格式:w=kaiser(n,beta),根据长度n 和影响窗函数旁瓣的β参数产生一个凯瑟窗w。

(7)巴特利特窗(Bartlett Window)调用格式:w= bartlett (n),根据长度n 产生一个矩形窗w。

(8)切比雪夫窗调用格式:w= chebwin (n,r),根据长度n 产生一个矩形窗w。

其中,r是窗口的旁瓣幅值在主瓣一下的分贝数。

数字信号处理实验五

数字信号处理实验五

实验五:抽样定理一、实验目的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)用时域卷积的方法(内插公式)重建信号。

数字信号处理实验报告书

数字信号处理实验报告书

实验五离散傅里叶变换及其快速算法杨超普 201211631327 电气1123 一、实验目的1.在学习DFT算法,并运用MATLAB实现DFT2. 加深对FFT的理解,体会DFT和FFT之间的关系。

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

二、实验原理N点序列x[n] 的DFT和IDFT定义:可以用函数U=fft(u,N)和u=ifft(U,N)计算N点序列的DFT正、反变换。

三、实验内容1.用MATLAB求N=16的有限序列xn=sin(nπ/8 )+sin(nπ /4 ) 的DFT结果 . 程序如下:N=16:N=0:1:N-1;xn=sin(nπ/8)+sin(nπ/4);k=0:1:N-1;WN=exp(-j*2*pi/N)nk=n’*k;WNnk=WN.^nk;Xk=xn* WNnk;subplot(2,1,1);stem(n,xn);subplot(2,1,2);stem(k,abs(Xk));2.x(n)=R5(n),求N分别取8,32时的X(k),最后绘出图形。

离散傅立叶变换函数的MATLAB实现如下:function[Xk]=dft(xn,N)n=[0:1:N-1]; %n的行向量k=[0:1:N-1]; %k的行向量WN=exp(-j*2*pi/N); %旋转因子nk=n'*k; %产生一个含nk值的N乘N维矩阵WNnk=WN.^nk; %DFT矩阵Xk=xn*WNnk; %DFT系数的行向量调用上面函数解题。

N=8;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft1(x,N); %N=8点离散傅立叶变换magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,1);stem(n,x);ylabel('x(n)');subplot(2,2,2);stem(k,magX);axis([0,10,0,5]);ylabel('|X(k)|');N=32;x=[ones(1,5),zeros(1,N-5)];n=0:N-1;X=dft1(x,N); %N=32点离散傅立叶变换magX=abs(X);phaX=angle(X)*180/pi;k=(0:length(magX)'-1)*N/length(magX);subplot(2,2,3);stem(n,x);ylabel('x(n)');subplot(2,2,4);stem(k,magX);axis([0,32,0,5]);ylabel('|x(k)|');3. 已知一个8点的时域非周期离散阶跃信号,n1=0,n2=7,在n0=4前为0,n0以后为1。

数字信号处理上机实验 作业结果与说明 实验三、四、五

数字信号处理上机实验 作业结果与说明 实验三、四、五

上机频谱分析过程及结果图 上机实验三:IIR 低通数字滤波器的设计姓名:赵晓磊 学号:赵晓磊 班级:02311301 科目:数字信号处理B一、实验目的1、熟悉冲激响应不变法、双线性变换法设计IIR 数字滤波器的方法。

2、观察对实际正弦组合信号的滤波作用。

二、实验内容及要求1、分别编制采用冲激响应不变法、双线性变换法设计巴特沃思、切贝雪夫I 型,切贝雪夫II 型低通IIR 数字滤波器的程序。

要求的指标如下:通带内幅度特性在低于πω3.0=的频率衰减在1dB 内,阻带在πω6.0=到π之间的频率上衰减至少为20dB 。

抽样频率为2KHz ,求出滤波器的单位取样响应,幅频和相频响应,绘出它们的图,并比较滤波性能。

(1)巴特沃斯,双线性变换法Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radians frequency in pi unitsa r g (H [e x p (j w )](2)巴特沃斯,冲激响应不变法(3)切贝雪夫I 型,双线性变换法(4)切贝雪夫Ⅱ型,双线性变换法综合以上实验结果,可以看出,使用不同的模拟滤波器数字化方法时,滤波器的性能可能产生如下差异:使用冲击响应不变法时,使得数字滤波器的冲激响应完全模仿模拟滤波器的冲激响应,也就是时域逼急良好,而且模拟频率和数字频率之间呈线性关系;但频率响应有混叠效应。

frequency in Hz|H [e x p (j w )]|Designed Lowpass Filter Magnitude Response in dBfrequency in pi units|H [e x p (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [e xp (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radiansfrequency in pi unitsa r g (H [e x p (j w )]使用双线性变换法时,克服了多值映射的关系,避免了频率响应的混叠现象;在零频率附近,频率关系接近于线性关系,高频处有较大的非线性失真。

数字信号处理实验报告1-5

数字信号处理实验报告1-5

实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。

掌握其简单的Matlab语言进行简单的时域信号分析。

实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。

并用它截取一个复正弦序列,最后画出波形。

程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。

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

数字信号处理实验教案五篇范文

数字信号处理实验教案五篇范文

数字信号处理实验教案五篇范文第一篇:数字信号处理实验教案数字信号处理实验教案信息工程学院-通信工程教研室数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。

上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼同学们的独立解决问题的能力。

本讲义在第三版的基础上编写了五个实验,前2个实验属基础性的验证性实验,第3、4、5个实验属基本应用综合性实验。

实验一离散时间信号的MATLAB实现实验二线性卷积与循环卷积的原理及应用实验三频率采样定理实验四离散系统的因果性和稳定性及频率响应特性实验五基于MATLAB的快速傅里叶变换根据教学进度,理论课结束后进行相关实验。

实验一时域离散信号的产生一实验目的(1)了解常用的时域离散信号及其特点。

(2)掌握MATLAB产生常用时域离散信号的方法。

二实验内容(1)编写程序,产生下列离散序列:A.f(n)=δ(n)(-3B.f(n)=e(0.1+j1.6π)n(0(2)一个连续的周期性三角波信号频率为50Hz,信号幅度在0~+2V之间,在窗口上显示2个周期信号波形,对信号的一个周期进行16点采样来获取离散信号。

试显示原连续信号和采样获得的离散信号波形。

(3)一个连续的周期性方波信号频率为200Hz,信号幅度在-1~+1V 之间,在窗口上显示2个周期信号波形,用Fs=4kHz的频率对连续信号进行采样,试显示原连续信号和采样获得的离散信号波形。

三实验步骤(1)在matlab命令窗口中逐行输入下列语句>> n1=-3;n2=4;n0=0;%在起点n1、终点n2的范围内,于n0处产生冲激 >> n=n1:n2;%生成离散信号的时间序列 >> x=[n==n0];%生成离散信号x(n)>> stem(n,x,'filled');%绘制杆状图,且圆心处用实心圆表示>> title('单位脉冲序列');>> xlabel('时间(n)');ylabel('幅度x(n)');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=δ(n),(-3 >> n1=16;a=0.1;w=1.6*pi;>> n=0:n1;>> x=exp((a+j*w)*n);>>subplot(2,1,1),stem(n,real(x));%在指定位置描绘图像>> title('复指数序列的实部');>> subplot(2,1,2),stem(n,imag(x));>> title('复指数序列的虚部');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,产生了f(n)=e(0.1+j1.6π)n,(0>> f=50;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> N=16;T=1/f;%N为信号一个采样周期的采样点数,T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sawtooth(2*f*pi*tn)+1;>> subplot(2,1,1),stem(tn,f);%显示经采样的信号>> title('离散信号');>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形(4)在matlab命令窗口中逐行输入下列语句>> f=200;Um=1;nt=2;%输入信号频率、振幅、显示周期 >> Fs=4000;N=Fs/f;T=1/f;%输入采样频率、求采样点数N、T为信号周期 >> dt=T/N;%采样时间间隔 >> n=0:nt*N-1;%建立离散时间的时间序列 >> tn=n*dt;%确定时间序列样点在时间轴上的位置>> f=Um*sin(2*f*pi*tn);>> subplot(2,1,2),plot(tn,f);%显示原连续信号 >> title('连续信号');>> subplot(2,1,1),stem(tn,f);%显示经采样的信号 >> title('离散信号');在上述语句输入完成之后,敲击回车键,弹出图形窗口,显示出如下图形,即已经满足题干所述条件,显示了原连续信号和采样获得的离散信号波形四思考题(1)如何在matlab下生产f(n)=3sin(nπ/4)(0(2)改变实验步骤中最后两个实验的频率参数,分别重新生成相关的信号?实验二线性卷积与循环卷积的原理及应用一、实验目的(1)掌握两种卷积的原理和两者的异同。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告
数字信号处理是指利用数字技术对模拟信号进行采样、量化、编码等处理后,再通过数字信号处理器进行数字化处理的技术。

在数字信号处理实验中,我们通过对数字信号进行滤波、变换、解调等处理,来实现信号的处理和分析。

在实验中,我们首先进行了数字信号采集和处理的基础实验,采集了包括正弦信号、方波信号、三角波信号等在内的多种信号,并进行了采样、量化、编码等处理。

通过这些处理,我们可以将模拟信号转换为数字信号,并对其进行后续处理。

接着,我们进行了数字信号滤波的实验。

滤波是指通过滤波器对数字信号进行处理,去除其中的噪声、干扰信号等不需要的部分,使其更加纯净、准确。

在实验中,我们使用了低通滤波器、高通滤波器、带通滤波器等多种滤波器进行数字信号滤波处理,得到了更加干净、准确的信号。

除了滤波,我们还进行了数字信号变换的实验。

数字信号变换是指将数字信号转换为另一种表示形式的技术,可以将信号从时域转换到频域,或者从离散域转换到连续域。

在实验中,我们使用了傅里叶变换、离散傅里叶变换等多种变换方式,对数字信号进行了变换处理,得到了信号的频谱信息和其他相关参数。

我们进行了数字信号解调的实验。

数字信号解调是指将数字信号转换为模拟信号的技术,可以将数字信号还原为原始信号,并进行后续处理。

在实验中,我们使用了频率解调、相干解调等多种解调方式,将数字信号转换为模拟信号,并对其进行了分析和处理。

总的来说,数字信号处理实验是一项非常重要的实验,可以帮助我们更好地理解数字信号处理的原理和方法,为我们今后从事相关领域的研究和工作打下坚实的基础。

数字信号处理实验报告

数字信号处理实验报告

实验一:离散时间信号的表示与运算一:实验内容、原理描述及实验结果 1. 离散时间信号的表示离散时间信号定义为一时间函数,它只在某些离散的瞬时给出函数值,而在其他处无定义。

因此,它是时间上不连续按一定先后次序排列的一组数的集合,故称为时间序列,简称序列,通常表示为{x (n )} -∞<n<+∞ (1) 单位采样序列例1.1 用matlab 编写生成单位脉冲序列函数的程序,n ∈(-5,5)。

程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];nc=length(n);x=zeros(1,nc);for i=1:ncif n(i)==n0 x(i)=1; endendstem(n,x)xlabel('n');ylabel('x(n)');title('delta sequence'); grid或者:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)==0];stem(n,x);xlabel('n');ylabel('x(n)');title('delta sequence');grid 图形如下:nx (n )(2)单位阶跃序列例1.2 用matlab 编写生成单位阶跃序列函数的程序,n ∈(-5,5)。

程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)>=0];stem(n,x)xlabel('n');ylabel('x(n)');title('step sequence');grid图形如下:nx (n )(3)单位斜坡序列例1.3 用matlab 编写生成单位斜坡序列函数的程序,n ∈(0,5)。

程序代码如下:n1=0;n2=5;n=[n1:1:n2];x=n;stem(n,x)xlabel('n');ylabel('x(n)');title('ramp sequence');grid图形如下:nx (n )(4)正余弦序列例1.4 用matlab 编写正弦序列x(n)=5sin(0.1πn+π/3)函数的程序。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一离散信号的产生及运算完成者:陈骁学号:38152101日期:2010年11月16日实验一 离散信号的产生及运算一、实验目的1.复习和巩固数字信号处理中离散信号的产生和运算2.学习和掌握用MATLAB 产生离散信号的方法3.学习和掌握用MATLAB 对离散信号进行运算二、实验原理1. 用MATLAB 函数产生离散信号信号是数字信号处理的最基本内容。

没有信号,数字信号处理就没了工作对象。

MATLAB7.0内部提供了大量的函数,用来产生常用的信号波形。

例如,三角函数(sin,cos ),指数函数(exp ),锯齿波函数(sawtooth ), 随机数函数(rand )等。

⑴ 产生被噪声污染的正弦信号用随机数函数产生污染的正弦信号。

⑵ 产生单位脉冲序列和单位阶跃序列按定义,单位脉冲序列为001,()0,n n n n n n σ=⎧-=⎨≠⎩单位阶跃序列为001,()0,n n u n n n n ≥⎧-=⎨<⎩。

⑶ 矩形脉冲信号:在MATLAB 中用rectpuls 函数来表示,其调用形式为: y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0 点左右对称的矩形波信号,该函数的横坐标范围由向量t 决定,是以t=0 为中心向左右各展开width/2 的范围,width 的默认值为1。

例:以t=2T(即t-2×T=0)为对称中心的矩形脉冲信号的MATLAB 源程序如下:(取T=1)t=0:0.001:4;T=1;ft=rectpuls(t-2*T,2*T);plot(t,ft);grid on; axis([0 4 –0.5 1.5]);⑷周期性矩形波(方波)信号在MATLAB 中用square 函数来表示,其调用形式为:y=square(t,DUTY),用以产生一个周期为2π、幅值为±1 的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告电气84丁立08041094题目要求:给定一个信号:Y=2*sin(2*pi*50*t)+sin(2*pi*200*t) +sin(2*pi*1000*t) +sin(2*pi*5000*t);1、给此信号加上随机干扰(白噪声),并在一个Matlab的figure中画出原始信号Y和加了白噪声之后的信号图。

2、对加和未加白噪声信号进行频谱分析,并在一个Matlab的figure 中画出他们的频谱图。

3、设计一个低通滤波器(类型自选,IIR或FIR均可),并在一个Matlab 的figure中画出滤波器的幅度、频率响应。

4、利用设计的滤波器,对信号进行滤波,要求滤除频率高于500Hz 以上的信号,并在一个Matlab的figure中画出滤波后信号图及信号频谱图。

1.加干扰信号的幅度为3,设采样频率fs=512*50=25600Hz,采样长度为t=512/25600=20ms,为信号的周期长度。

源程序如下:N=512;fs=50*N;m=0:1:N-1;y=2*sin(2*pi*50*m/fs)+sin(2*pi*200*m/fs) +sin(2*pi*1000*m/fs)+sin(2*pi*5000*m/fs);%%0.02,0.005,0.001,0.0002rd=3*(rand(1,length(m))-0.5);yy=y+rd;subplot(2,1,1);stem(m,y)xlabel('n轴');ylabel('幅度');title('原始信号图')axis([0,520,-inf,+inf])subplot(2,1,2);stem(m,yy)xlabel('n轴');ylabel('幅度');title('加干扰信号图')axis([0,520,-inf,+inf])得图为:2.对原始信号和加入干扰后的信号进行512点FFT。

数字信号处理 实验报告

数字信号处理 实验报告

1.DFT 在信号频谱分析中的应用1.1设计目的(1) 熟悉DFT 的性质。

(2) 加深理解信号频谱的概念及性质。

(3)了解高密度谱与高分辨率频谱的区别。

1.2设计任务与要求(1)学习用DFT 和补零DFT 的方法来计算信号的频谱。

(2)用MA TLAB 语言编程来实现,在做课程设计前,必须充分预习课本DTFT 、DFT 及补零DFT 的有关概念,熟悉MA TLAB 语言,独立编写程序。

1.3设计原理所谓信号的频谱分析就是计算信号的傅里叶变换。

连续信号与系统的傅里叶分析显然不便于直接用计算机进行计算,使其应用受到限制,而DFT 是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。

工程实际中,经常遇到的连续信号Xa(t),其频谱函数Xa(jW)也是连续函数。

数字计算机难于处理,因而我们采用DFT 来对连续时间信号的傅里叶变换进行逼近,进而分析连续时间信号的频谱。

1.4设计内容1.4.1用MATLAB 实现DFT 与IDTF (1)点序列x(n) 的DFT 为:()()21,N jkn NNN n X k x n ww eπ--===∑点序列x(n) 的IDFT 为:()21(),N jkn NNN n x n X k ww eπ---===∑(2)N 点DFT 的矩阵为:(3)根据DFT 公式与矩阵展开,通过MATLAB 实现DFT 与IDFT ,程序如下:Matlab 中的内部函数文件fft.m 文件:unction [varargout] = fft(varargin) if nargout == 0builtin('fft', varargin{:});else[varargout{1:nargout}] = builtin('fft', varargin{:}); end运算量估计:对于N=M2点序列进行时间抽选奇偶分解FFT 计算,需分M 级,每级计算N/2个蝶。

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

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

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

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

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

对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t x x 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 jwae 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)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]);endk=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=yesinput1=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);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)]'); end end end子函数:离散傅立叶变换及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、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。

数字信号处理实验报告材料实验五

数字信号处理实验报告材料实验五

物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称: 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)实验名称实验一离散时间信号分析实验日期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方法。

数字信号处理实验报告

数字信号处理实验报告

一. 实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析错误及其原因,以便正确应用FFT。

二.实验原理用FFT对信号做频谱分析是学习数字信号处理的重要内容。

经常需要进频谱分析的信号是模拟信号和时域离散信号。

对信号进行频谱分析的重要问题是频谱分辨率D和分析误差。

周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

如果不知道信号周期,可以尽量选择信号的观察时间长一些。

对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。

如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

三.实验内容已知连续信号x(t)=cos(200πt)+sin(100πt)+cos(50πt)。

用FFT对该信号作频谱分析。

MATLAB程序如下:clear close all>> fs=400;T=1/fs;>> Tp=0.04;N=Tp*fs;>> N1=[N,4*N,8*N];>> st=['|X1(jf)|';'|X4(jf)|';'|X8(jf)|'];>> for m=1:3n=1:N1(m);xn=cos(200*pi*n*T)+sin(100*pi*n*T)+cos(50*pi*n*T);Xk=fft(xn,4096);fk=[0:4095]/4096/T;subplot(3,2,2*m-1)plot(fk,abs(Xk)/max(abs(Xk)));ylabel(st(m,:))if m==1 title('矩形窗截取');endendfor m=1:3n=1:N1(m);wn=hamming(N1(m));xn=(cos(200*pi*n*T)+sin(100*pi*n*T)+cos(50*pi*n*T)).*wn';Xk=fft(xn,4096);fk=[0:4095]/4096/T;subplot(3,2,2*m)plot(fk,abs(Xk)/max(abs(Xk)));ylabel(st(m,:))if m==1 title('哈明窗截取');endendMATLAB截图如下:四.结果分析结果如下图:上图中从上到下截取的长度依次分别是N,4N,8N。

数字信号处理--实验五 用DFT(FFT)对信号进行频谱分析

数字信号处理--实验五 用DFT(FFT)对信号进行频谱分析
k=0:15;wk=2*k/16; %产生32点DFT对应的采样点频率(关于π归一化值)
subplot(2,2,4);stem(wk,abs(Xk16),'.'); %绘制16点DFT的幅频特性图
title('(d) 16点DFT的幅频特性图');
xlabel('\omega/\pi');
ylabel('幅度');
Xk3=fft(xn,32); %计算xn的32点DFT
k3=0:length(abs(Xk3))-1;wk3=2*k3/32; %产生32点DFT对应的采样点频率(关于π归一化值)
k=0:15;wk=2*k/16; %产生16点DFT对应的采样点频率(关于π归一化值)
subplot(2,2,3);stem(wk,abs(Xk16),'.'); %绘制16点DFT的幅频特性图
title('(c) 16点DFT的幅频特性图');xlabel('\omega/\pi');ylabel('幅度');
(3)对x3(n)进行频谱分析,并选择变换区间,画出幅频特性曲线。
(二)连续信号
1.实验信号:
选择 ,式中 的波形以Байду номын сангаас幅度特性如图7.1所示。
式中频率 自己选择。
2.分别对三种模拟信号选择采样频率和采样点数。
对 ,选择采样频率 ,8 ,16 ,采样点数用 . 计算。
对 ,周期 ,频率 自己选择,采样频率 ,观测时间 , , ,采样点数用 计算。
k=0:7;wk=2*k/8; %产生8点DFT对应的采样点频率(关于π归一化值)
subplot(3,1,1);stem(wk,abs(Xk8),'.'); %绘制8点DFT的幅频特性图

湘潭大学数字信号处理实验报告(第三次)-混合编程

湘潭大学数字信号处理实验报告(第三次)-混合编程

湘潭⼤学数字信号处理实验报告(第三次)-混合编程数字信号处理实验报告(第三次)学院:班级:姓名:学号:指导⽼师:完成⽇期:内容:实验五混合编程实验五混合编程⼀、实验⽬的1. 学习使⽤实时运⾏库;2. 熟悉⽤C和汇编混合编程的⽅法;3. 掌握混合编程的调试⽅法。

⼆、实验环境1. 集成开发环境Code Composer Studio2.0(简称CCS)2. 实验程序mix.c,mix.h(由程序⾃动加载,可不加,后同),mix.cmd,addfun.s54,rts.lib(有C的混合编程需要有库⽂件),c5402.gel(要有,有C的混合编程要⽤gel 初始设置。

选芯⽚时设置已⾃带,可不添加;如⽆则加)三、实验步骤1. 改设置:Build option⼦菜单linker中Basic项Autoinit Model 改为load-time Initialization或Run-time Initialization(不同的设置,SP初始值将不同。

No Initialization也可以,但效果不如前两个好)。

2. 为使效果更明显,屏蔽前两条printf( )语句(可与第三条对⽐,编译后将出现警告,可忽略),编译项⽬⽂件得到.out程序。

另外装载程序前,在Edit->Memory->Fill 中,对Data Memory从0x0000到0xFFFF⽤全0x1111或0x2222等填充(注意:填充后必须对Gel⽂件重新Load⼀次)。

然后装载程序,了解在混合编程环境下变量、函数的定义⽅法以及项⽬⽂件的编译⽅法。

屏蔽前两条printf( )语句//***************************************************************************** *// SJTU DSP Tech. Center// Copyright (c) 2001 SJTU DSP Tech. Center. All Rights Reserved.//// Description:// TMS320C54x Program for Students Experiment//// History:// Date Authors// 2003/07/23 Zheng Yigang//***************************************************************************** * #include#include "mix.h"int mix_func_c(int *wl, int *wr, int val){int i, val_min, tmp[8];for(i=0; i<8; i++)tmp[i] = wl[i] * wr[i];val_min = val;for(i=0; i<8; i++){if(val_min>tmp[i])val_min = tmp[i];}return val_min;}void main(){ int val, i, wl[8], wr[8];int min_asm, min_c;//register settingasm(" stm #0, SWWSR");asm(" stm #0x00A0, PMST");// min_asm=1900;// min_c=2000;//call system functionval = -100;val = abs(val);printf("val = %d\n", val);//call asm functionfor(i=0; i<8; i++){wl[i]=i;wr[i]=2*i+1;}min_asm = mix_func(wl, wr, val);printf("val = %d\n", min_asm);min_c = mix_func_c(wl, wr, val);printf("val = %d\n", min_c);return;}Data Memory从0x0000到0xFFFF⽤全0x1111或0x2222等填充3. 打开View Memory,⽤SP值(Debug_>Go main后的值)作为开始察看地址,从主程序main开始⽤Single Step⽅式调试程序,观察程序的执⾏过程。

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

数字信号处理实验报告实验五物理与电子信息工程学院实验报告实验课程名称:数字信号处理实验名称: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 。

如果要观察细节,补零点数增多即可。

如果)(ωj e H 不满足要求,则要重新选择窗函数图10.5.1 具有加性噪声的信号x(t)及其频谱如图(2)设计滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。

根据窗函数设计滤波器原理设计滤波器,根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。

并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。

绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。

(3)改用等波纹最佳逼近法设计滤波器,滤波器指标不变,调用MATLAB函数remezord和remez设计FIR数字滤波器。

并比较两种设计方法设计的滤波器阶数和滤出来的波形效果。

(4)修改程序:将步骤(2)中用窗函数设计的低通滤波器参数改为fp=100; fs=110,单独滤出上边带频谱线,并绘制波形图,(5)修改程序:将步骤(3)中用等波纹设计的低通滤波器改为带通滤波器,单独滤出下边带频谱线,根据带通滤波器的参数选取通、阻带截止频率,带通滤波器的设计指标为:fsl=95;fpl=105; fpu=115;fsu=125;fb=[fsl,fpl,fpu,fsu];m=[0,1,0];dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20) ]并绘制波形图。

四、实验程序清单1.信号产生函数xtg程序清单function xt=xtg(N)%实验五信号x(t)产生,并显示信号的幅频特性曲线%xt=xtg(N) 产生一个长度为N,有加性高频噪声的单频调幅信号xt,采样频率Fs=1000Hz%载波频率fc=Fs/10=100Hz,调制正弦波频率f0=fc/10=10Hz.Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; %载波频率fc=Fs/10,单频调制信号频率为f0=Fc/10;mt=cos(2*pi*f0*t); %产生单频正弦波调制信号mt,频率为f0ct=cos(2*pi*fc*t); %产生载波正弦波信号ct,频率为fcxt=mt.*ct; %相乘产生单频调制信号xtnt=2*rand(1,N)-1; %产生随机噪声nt%设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声fp=150; fs=200;Rp=0.1;As=70; % 滤波器指标fb=[fp,fs];m=[0,1]; % 计算remezord函数所需参数f,m,dev dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(n,fo,mo,W); % 调用remez函数进行设计,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt%====================================================== xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(2,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x( t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形') subplot(2,1,2);plot(f,abs(fst)/max(abs(fst)));grid;titl e('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')2、实验程序清单%《数字信号处理(第三版)学习指导》第10章实验5程序exp5.m % FIR数字滤波器设计及软件实现clear all;close all;%调用xtg产生信号xt, xt长度N=1000,并显示xt及其频谱N=1000;xt=xtg(N);fp=120; fs=150;Rp=0.2;As=60;Fs=1000; % 输入给定指标% (1) 用窗函数法设计滤波器============================ wc=(fp+fs)/Fs; %理想低通滤波器截止频率(关于pi归一化)B=2*pi*(fs-fp)/Fs; %过渡带宽度指标Nb=ceil(11*pi/B); %blackman窗的长度Nhn=fir1(Nb-1,wc,blackman(Nb));Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性ywt=fftfilt(hn,xt,N); %调用函数fftfilt对xt滤波%以下为用窗函数法设计法的绘图部分====subplot(2,1,1); %绘制低通滤波器幅频特性曲线myplot(hn,1);title('(a)低通滤波器幅频特性');subplot(2,1,2); %绘制滤除噪声后的信号波形yt='y_w(t)';tplot(ywt,T,yt);title('滤除噪声后的信号波形')% (2) 用等波纹最佳逼近法设计滤波器=====================fb=[fp,fs];m=[1,0]; % 确定remezord函数所需参数f,m,dev dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)];[Ne,fo,mo,W]=remezord(fb,m,dev,Fs); % 确定remez函数所需参数hn=remez(Ne,fo,mo,W); % 调用remez函数进行设计Hw=abs(fft(hn,1024)); % 求设计的滤波器频率特性yet=fftfilt(hn,xt,N); % 调用函数fftfilt对xt滤波%以下为用等波纹设计法的绘图部分================= subplot(2,1,1); %绘制低通滤波器幅频特性曲线myplot(hn,1);title('(a)低通滤波器幅频特性');subplot(2,1,2); %绘制滤除噪声后的信号波形yt='y_w(t)';tplot(ywt,T,yt);title('滤除噪声后的信号波形')五、实验程序运行结果用窗函数法设计滤波器,滤波器长度 Nb=184。

滤波器损耗函数和滤波器输出yw(nT)分别如图10.5.2(a)和(b)所示。

用等波纹最佳逼近法设计滤波器,滤波器长度 Ne=83。

滤波器损耗函数和滤波器输出ye(nT)分别如图10.5.2(c)和(d)所示图10.5.2图10.5.2用窗函数法设计低通滤波器滤出上边带频谱滤波器损耗函数和滤波器输出yw(nT)分别如图10.5.3(a)和(b)所示。

用等波纹最佳逼近法设计带通滤波器滤出下边带频谱滤波器损耗函数和滤波器输出yw(nT)分别如图10.5.3(c)和(d)所示。

图10.5.3六、实验心得及体会1、通过本次实验我学会了调用MATLAB函数设计和实现FIR数字滤波器,理解了窗函数法设计FIR数字滤波器的原理,和等波纹最佳逼近法设计FIR数字滤波器的原理和方法。

2、FIR数字滤波器和IIR数字滤波器的设计方法有很大差别,IIR 数字滤波器的设计方法是利用模拟滤波器成熟的理论和设计图表进行设计的,只考虑了幅频特性,没考虑到相位特性,所设计的一般是某种特定的非线性相位特性。

而FIR数字滤波器在保证幅频特性满足技术要求的同时,很容易做到有严格的线性相位特性。

3、窗函数法和等波纹最佳逼近法这两种方法设计的滤波器都能有效地从噪声中提取信号,用等波纹最佳逼近法设计的滤波器,其通带和阻带均为等波纹特性,且通带最大衰减和阻带最小衰减可以分别控制,所以其指标均匀分布,没有资源浪费,所以期阶数低得多,当然滤波实现的运算量以及时延也小得多,从图10.5.2(b)和(d)可以直观地看出时延差别。

相关文档
最新文档