数字信号处理实验八
数字信号处理实验 实验八
实 验 报 告课程:数字信号处理实 班级: 姓名: 学号:实验项目名称:用窗函数法设计FIR 数字滤波器 实验目的:1、掌握用窗函数法设计FIR 数字滤波器的原理和方法。
2、熟悉线性相位FIR 数字滤波器特性。
3、了解各种窗对滤波特性的影响。
实验仪器、材料及软件:电脑、MATLAB 软件实验步骤:1、复习用窗函数法设计FIR 数字滤波器的内容;2、熟悉产生矩形窗、汉宁窗、哈明窗、三角形窗、布莱克曼窗和凯塞-贝塞尔窗的窗函数子程序及其调用方法。
3、编写Matlab 程序sy8_1.m 用窗函数法设计低通数字FIR 滤波器。
滤波器指标为ωp =0.2π Rp=0.25dB ωs =0.3π As=50dB 。
选择哈明窗。
确定冲激响应,并画出滤波器的频率响应。
4、编写Mtable 程序sy8_2.m 用窗函数法设计数字带通FIR 滤波器。
滤波器指标为:低阻带:ω1s=0.2π,As=60dB 低通带:ω1p=0.35π,Rp=1dB 高通带:ω2p=0.65π,Rp=1dB 高阻带:ω2s=0.8π,As=60dB选用Blackman 窗。
确定冲激响应,并画出滤波器的频率响应。
5、编写程序sy8_3.m 用所设计的滤波器对由三个正弦波分量(频率分别为6、25和48赫兹)构成的一个复合信号采样序列进行仿真滤波处理,并分别绘出滤波前后的波形图,观察总结滤波作用与效果。
实验成绩 指导老师实验源程序代码及截图:function hd=ideal_lp(wc,M);alpha=(M-1)/2;n=[0:1:(M-1)];m=n-alpha+eps;hd=sin(wc*m)./(pi*m);wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=[0:1:M-1];wc=(ws+wp)/2;hd=ideal_lp(wc,M);w_ham=(hamming(M))';h=hd.*w_ham;[H,w]=freqz(h,1,1000,'whole');H=(H(1:1:501))';w=(w(1:1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(h,1,w);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:1:501)));subplot(1,1,1);subplot(2,2,1);stem(n,hd);title('理想脉冲响应');axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)');subplot(2,2,2);stem(n,w_ham);title('Hamming窗');axis([0 M-1 0 1.1]);xlabel('n');ylabel('w(n)');subplot(2,2,3);stem(n,h);title('实际脉冲响应');axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');subplot(2,2,4);plot(w/pi,db);title('相对标尺的幅度响应');grid; axis([0 1 -100 10]);xlabel('frequency in pi units');ylabel('Decibels'); set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);set(gca,'YTickMode','manual','YTick',[-50,0]);set(gca,'YTickLabelMode','manual','YTickLabels',['50';'0']);204060-0.100.10.20.3理想脉冲响应nh d (n )02040600.51Hamming 窗nw (n )204060-0.100.10.20.3实际脉冲响应nh (n )0.20.31-50相对标尺的幅度响应frequency in pi unitsD e c i b e l sws1=0.2*pi;wp1=0.35*pi; wp2=0.65*pi;ws2=0.8*pi; As=60;tr_width=min((wp1-ws1),(ws2-wp2)) M=ceil(11*pi/tr_width)+1 n=[0:1:M-1];wc1=(ws1+wp1)/2;wc2=(wp2+ws2)/2; hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); w_bla=(blackman(M))'; h=hd.*w_bla;[H,w]=freqz(h,1,1000,'whole'); H=(H(1:1:501))';w=(w(1:1:501))'; mag=abs(H);db=20*log10((mag+eps)/max(mag)); pha=angle(H);grd=grpdelay(h,1,w); delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:1:501))); subplot(1,1,1);subplot(2,2,1);stem(n,hd);title('理想脉冲响应');axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('hd(n)'); subplot(2,2,2);stem(n,w_bla);title('blackman 窗'); axis([0 M-1 0 1.1]);xlabel('n');ylabel('w(n)'); subplot(2,2,3);stem(n,h);title('实际脉冲响应'); axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');subplot(2,2,4);plot(w/pi,db);title('相对标尺的幅度响应');grid; axis([0 1 -100 10]);xlabel('frequency in pi units');ylabel('Decibels'); set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]); set(gca,'YTickMode','manual','YTick',[-50,0]);set(gca,'YTickLabelMode','manual','YTickLabels',['50';'0']); >> sy8_2 tr_width =0.4712 M =75204060-0.100.10.20.3理想脉冲响应nh d (n )20406000.51blackman 窗nw (n )204060-0.100.10.20.3实际脉冲响应nh (n )0.20.31-50相对标尺的幅度响应frequency in pi unitsD e c i b e l s窗函数法设计FIR滤波器的主要特点分析:FIR 滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。
北理工数字信号处理实验报告
本科实验报告实验名称:数字信号处理实验实验1 利用DFT 分析信号频谱一、实验目的1.加深对DFT 原理的理解。
2.应用DFT 分析信号频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析现实过程现象及解决办法。
二、实验原理1、DFT 和DTFT 的关系有限长序列()x n 的离散时间傅里叶变换()j X e ω在频率区间(02)ωπ≤≤的N个等分点{(0),(1),(),(1)}x x x k x N-……上的N 个取样值可以由下式表示:2120()|()()01(21)N jkn j Nk k X e x n eX k k N πωωπ--====≤≤--∑由上式可知,序列()x n 的N 点DFT ()X k ,实际上就是()x n 序列的DTFT 在N 个等间隔频率点{(0),(1),(),(1)}X X X k X N -……上样本()X k 。
2、利用DFT 求DTFT方法1:由()X k 恢复出()j X eω的方法如图2.1所示:图 2.1.由 N 点DFT 恢复频谱DTFT 的流程由图2.1所示流程图可知:01()()()(22)j j nkn j n N n n k X e x n eX k W e N ωωω∞∞∞---=-∞=-∞=⎡⎤==-⎢⎥⎣⎦∑∑∑ 由式2-2可以得到12()()()(23)Nj k kx e X k N ωπφω==--∑其中()x φ为内插函数12sin()2()(24)sin()2N j N e N ωωφωω--=•-方法2:然而在实际MATLAB 计算中,上诉插值公式不见得是最好的方法。
由于DFT 是DTFT 的取样值,其相邻的两个频率样本点的间距为2Nπ,所以如果我们增加数据的长度N ,使得得到的DFT 谱线就更加精细,其包络就越接近DTFT 的结果,这样可以利用DFT 来近似计算DTFT 。
如果没有更多的数据,可以通过补零来增加数据长度。
数字信号处理实验报告8
实验报告学院(系)名称:计算机与通信工程学院 姓名 学号 专业班级实验项目实验七 音乐信号处理课程名称 数字信号处理 课程代码实验时间2013年06月07日实验地点 主校区计算机基础实验室批改意见成绩教师签字:一,实验目的1、了解现代音乐信号制作时的时域处理方法。
2、了解现代音乐信号制作时的频域处理方法。
3、处理MATLAB 的常用函数来实现音乐信号的时域及频域的处理。
二,实验原理现代音乐的处理和加工基本上是采用数字处理技术来完成的,大概分以下几个步骤:首先在一个隔音的舞台上,把乐队中各个乐器的声音分别录制在一个多磁道的磁带中的各个独立的磁道上;然后再把各个磁道上的信号进行单独处理,即加入特定的声音效果;最后在一个混音系统中把这些信号进行合成,即录制在一个立体声的双磁道的磁带上。
这里简单地验证语音信号的时域处理方法和频域处理方法。
1. 时域处理方法在音乐厅中听到的悦耳音乐,主要是一次反射声音和混响造成的,而这两种声音实质上都是回声形成的。
在隔音舞台上录制的声音听起来会不自然,这时就需要用数字滤波器来人为地改变录制的信号,以增加回声,使其接近于音乐厅的效果。
回声可以用延迟单元来形成。
直接声音和它延迟了R 个周期的单个回声可以用如下的差分方程来表示:()()()y n x n x n R α=+-,1αp其中1αp 表示回声的衰减系数。
上述的差分方程的传递函数为:()1RH z z α-=+它可以作为一个FIR 滤波器来实现,它实际上是一个梳状的滤波器,其结构图如图4.3.1(a )所示。
为了生成间隔为R 个周期的多重回声,上式应该改写成: ()()12211...N RRRN H z zzzααα-----=++⋅++⋅=RNRN --•-•z1z -1αα 其结构图如图4.3.1(b )所示。
如果反射的次数很多,则N α→0,则多重回声可以用一个IIR 滤波器来实现。
其传递函数为:R z z H -•-=α11)(,|α|<1set(gcf,'color','w');%置图形背景色为白色从图中可以看出,调节K可以改变低频端幅度特性的提升程度,调节α则用来控制低频滤波器的边界频率。
数字信号处理实验报告(自己的实验报告)
数字信号处理实验报告(⾃⼰的实验报告)数字信号处理实验报告西南交通⼤学信息科学与技术学院姓名:伍先春学号: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);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.通过观察对实际⼼电图的滤波作⽤,获得数字滤波器的感性知识。
《数字信号处理》实验报告
《数字信号处理》上机实验指导书一、引言“数字信号处理”是一门理论和实验密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助学生深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
所以,根据本课程的重点要求编写了四个实验。
第一章、二章是全书的基础内容,抽样定理、时域离散系统的时域和频域分析以及系统对输入信号的响应是重要的基本内容。
由于第一、二章大部分内容已经在前期《信号与系统》课程中学习完,所以可通过实验一帮助学生温习以上重要内容,加深学生对“数字信号处理是通过对输入信号的一种运算达到处理目的” 这一重要概念的理解。
这样便可以使学生从《信号与系统》课程顺利的过渡到本课程的学习上来。
第三章、四章DFT、FFT是数字信号处理的重要数学工具,它有广泛的使用内容。
限于实验课时,仅采用实验二“用FFT对信号进行谱分析”这一实验。
通过该实验加深理解DFT的基本概念、基本性质。
FFT是它的快速算法,必须学会使用。
所以,学习完第三、四章后,可安排进行实验二。
数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。
学习这一部分时,应重点掌握IIR和FIR两种不同的数字滤波器的基本设计方法。
IIR滤波器的单位冲激响应是无限长的,设计方法是先设计模拟滤波器,然后再通过S~Z平面转换,求出相应的数字滤波器的系统函数。
这里的平面转换有两种方法,即冲激响应不变法和双线性变换法,后者没有频率混叠的缺点,且转换简单,是一种普遍应用的方法。
学习完第六章以后可以进行实验三。
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输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
最新数字信号处理实验报告
最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(DSP)理论的理解,并通过实践操作掌握数字信号处理的基本方法和技术。
通过实验,学习如何使用相关软件工具进行信号的采集、分析、处理和重构,提高解决实际问题的能力。
二、实验内容1. 信号采集与分析- 使用数字示波器采集模拟信号,并将其转换为数字信号。
- 利用傅里叶变换(FFT)分析信号的频谱特性。
- 观察并记录信号的时域和频域特性。
2. 滤波器设计与实现- 设计低通、高通、带通和带阻滤波器。
- 通过编程实现上述滤波器,并测试其性能。
- 分析滤波器对信号的影响,并调整参数以优化性能。
3. 信号重构实验- 应用所学滤波器对采集的信号进行去噪处理。
- 使用逆傅里叶变换(IFFT)重构经过滤波处理的信号。
- 比较重构信号与原始信号的差异,评估处理效果。
三、实验设备与材料- 计算机及DSP相关软件(如MATLAB、LabVIEW等)- 数字示波器- 模拟信号发生器- 数据采集卡四、实验步骤1. 信号采集- 连接并设置好数字示波器和模拟信号发生器。
- 生成一系列不同频率和幅度的模拟信号。
- 通过数据采集卡将模拟信号转换为数字信号。
2. 滤波器设计- 在DSP软件中设计所需的滤波器,并编写相应的程序代码。
- 调整滤波器参数,如截止频率、增益等,以达到预期的滤波效果。
3. 信号处理与重构- 应用设计的滤波器对采集的数字信号进行处理。
- 利用IFFT对处理后的信号进行重构。
- 通过对比原始信号和重构信号,评估滤波器的性能。
五、实验结果与分析- 展示信号在时域和频域的分析结果。
- 描述滤波器设计参数及其对信号处理的影响。
- 分析重构信号的质量,包括信噪比、失真度等指标。
六、实验结论- 总结实验中所学习到的数字信号处理的基本概念和方法。
- 讨论实验中遇到的问题及其解决方案。
- 提出对实验方法和过程的改进建议。
七、参考文献- 列出实验过程中参考的书籍、文章和其他资源。
数字信号处理实验指导书(需印刷)
实验一 常见离散信号的MATLAB 产生和图形显示1、实验目的:(1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。
(2)加深对常用离散时间信号的理解。
(3)掌握简单的绘图命令。
(4)掌握线性卷积的计算机编程方法。
2、实验原理:(1)单位抽样序列⎩⎨⎧=01)(n δ0≠=n n如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n k n(2)单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n(3)矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N n(4)正弦序列)sin()(ϕ+=wn A n x(5)复正弦序列jwnen x =)((6)指数序列na n x =)((7)线性时不变系统的响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y )()()()()(3、实验内容及步骤:(1)复习常用离散时间信号的有关内容。
(2)编制程序产生上述6种序列(长度可输入确定,对(4) (5) (6)中的参数可自行选择),并绘出其图形。
(3)已知系统的单位脉冲响应),(9.0)(n u n h n=输入信号)()(10n R n x =,试用卷积法求解系统的输出)(n y ,并绘出n n x ~)(、n n h ~)(及n n y ~)(图形。
4、实验用MATLAB 函数介绍(1)数字信号处理中常用到的绘图指令(只给出函数名,具体调用格式参看help)figure(); plot(); stem(); axis(); grid on; title(); xlabel(); ylabel(); text(); hold on; subplot()(2)离散时间信号产生可能涉及的函数zeros(); ones(); exp(); sin(); cos(); abs(); angle(); real(); imag(); (3)卷积计算可能涉及的函数conv(); length()注:实验过程中也可以使用自己编制的自定义函数,如impseq()、stepseq()等。
数字信号处理实验报告
一、实验目的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滤波器在时域和频域上更易于设计和理解,但实现复杂度较高。
实验结论:
数字信号处理是对模拟信号进行采样、量化和编码等处理,具有较高的灵活性和可靠性。
在实际应用中,应根据需要选择合适的采样频率、量化位数和编码方式,并根据信号特性选择合适的滤波器设计方法。
[工学]数字信号处理实验
h
8
七,例题
例1.3.2
设x(n)2(n)(n1)2(n2), h(n)(n)2(n1)(n2),
求y(n)=x(n)h(n)
两个有限长序列的卷积计算程序如下:
xn=[2,1,-2];
hn=[1,2,-1];
yn=conv(xn,hn);
n=0:length(yn)-1;
subplot(3,2,1);stem(n,yn,'.');line([0,5],[0,0])
xlabel('n');ylabel('y(n)');grid
on; h
9
仿真结果如下图所示:
h
10
八,实验报告要求
1, 报 告 中 要 给 出 实 验 的 MATLAB 程 序 , 并 对 每 个 语 句 给 出 注 释 , 说 明 语 句 作 用 ;
2,
简
Hale Waihona Puke 述实验目
的
和
原
理
;
3, 给 出 用 笔 算 时 卷 积 和 conv 计 算 线 性 卷 积 对 照 图 ;
2.Length 功能:取某一变量的长度(采样点数)
调用格式:N=Length(n) 取变量n的采样点数为N。
h
7
3. Real 功能:取某一复数的实部。
调用格式:x=real(h);取复数h的实部。
4. Imag 功能:取某一复数的虚部。
调用格式:y=imag(h);取复数h的虚部。
还有一些其它相关函数等:如plot(按线性比例关系绘制二维图形),stem(绘制二维离散序列图形),subplot (在同一图形界面上产生多个绘图区间),title(在图形的上方标注说明),xlabel(在横坐标的下方标 注说明),ylabel (在纵坐标的下方标注说明)conv(通用卷积函数)等等。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境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中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告11-12-10
《数字信号处理》实验报告专业学号姓名实验一 利用FFT 实现快速卷积一、实验目的1.加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
2.掌握循环卷积和线性卷积两者之间的关系。
二、实验原理用FFT 来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT 变换为它的频谱采样值()x k ,然后再和FIR 滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT )还原为时域序列,即得到输出y(n)。
现以FFT 求有限长序列的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT 的快速卷积方法。
序列x(n)和h(n)的长差不多。
设x(n)的长为N 1,h(n)的长为N 2,要求∑-=-=⊗=1)()()()()(N m m n x m h n y n x n y用FFT 完成这一卷积的具体步骤如下:①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度121-+≥N N N ,若采用基2-FFT 完成卷积运算,要求m N 2=(m 为整数)。
②用补零方法使x(n)和h(n)变成列长为N 的序列。
1122()01()01()01()01x n n N x n N n N h n n N h n N n N ≤≤-⎧=⎨≤≤-⎩≤≤-⎧=⎨≤≤-⎩③用FFT 计算x(n)和h(n)的N 点离散傅里叶变换。
④完成X(k)和H(k)乘积,)()()(k H k x k Y = ⑤用FFT 计算 ()Y k 的离散傅里叶反变换得*10*10)(1)(1)(⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=∑∑-=--=N k nk N nk N N k W k Y N W k Y N n y三、主要实验仪器及材料微型计算机、Matlab6.5教学版。
四、实验内容1.数字滤波器的脉冲响应为()22()1/2(),8nN h n R n N ==。
数字信号处理实验八 通二
subplot(2,2,3);stem(k,abs(W3k));xlabel('k');ylabel('abs(W3k)');title( '升余弦窗幅度特性'); subplot(2,2,4);stem(k,abs(W4k));xlabel('k');ylabel('abs(W4k)');title( 'Blackman窗幅度特性'); figure(3); subplot(2,2,1);stem(k,-20*log(abs(W1k)));xlabel('k');ylabel('20*log(abs(W1k))');title('矩形窗增益特性'); subplot(2,2,2);stem(k,-20*log(abs(W2k)));xlabel('k');ylabel('20*log(abs(W2k))');title('三角窗增益特性'); subplot(2,2,3);stem(k,-20*log(abs(W3k)));xlabel('k');ylabel('20*log(abs(W3k))');title('升余弦窗增益特性'); subplot(2,2,4);stem(k,-20*log(abs(W4k)));xlabel('k');ylabel('20*log(abs(W4k))');title('Blackman窗增益特性'); figure(4); subplot(2,2,1);stem(k,angle(W1k));xlabel('k');ylabel('angle(W1k)');ti tle('矩形窗相位特性'); subplot(2,2,2);stem(k,angle(W2k));xlabel('k');ylabel('angle(W2k)');ti tle('三角窗相位特性'); subplot(2,2,3);stem(k,angle(W3k));xlabel('k');ylabel('angle(W3k)');ti tle('升余弦窗相位特性'); subplot(2,2,4);stem(k,angle(W4k));xlabel('k');ylabel('angle(W4k)');ti tle('Blackman窗相位特性'); 仿真结果:
数字信号处理综合设计实验报告
数字信号处理实验八调制解调系统的实现一、实验目的:(1)深刻理解滤波器的设计指标及根据指标进行数字滤波器设计的过程(2)了解滤波器在通信系统中的应用二、实验步骤:1.通过SYSTEMVIEW 软件设计与仿真工具,设计一个FIR 数字带通滤波器,预先给定截止频率和在截止频率上的幅度值,通过软件设计完后,确认滤波器的阶数和系统函数,画出该滤波器的频率响应曲线,进行技术指标的验证。
建立一个两载波幅度调制与解调的通信系统,将该滤波器作为两个载波分别解调的关键部件,验证其带通的频率特性的有效性。
系统框图如下:规划整个系统,确定系统的采样频率、观测时间、细化并设计整个系统,仿真调整并不断改进达到正确调制、正确滤波、正确解调的目的。
(参考文件zhan3.svu )(1)检查滤波器的波特图,看是否达到预定要求;(2)检查幅度调制的波形以及相加后的信号的波形与频谱是否正常;(3)检查解调后的的基带信号是否正常,分析波形变形的原因和解决措施;(4)实验中必须体现带通滤波器的物理意义和在实际中的应用价值。
基带信号 1基带信号 2XX+sin ω1sin ω2带通滤波器中心频率ω1带通滤波器中心频率ω2XXsin ω1sin ω2低通滤波器低通滤波器基带信号1基带信号22.熟悉matlab 中的仿真系统;3.将1.中设计的SYSTEMVIEW (如zhan3.svu )系统移植到matlab 中的仿真环境中,使其达到相同的效果;4.或者不用仿真环境,编写程序实现该系统,并验证调制解调前后的信号是否一致。
实验总共提供三个单元的时间(6节课)给学生,由学生自行学习和自行设计与移植三、系统设计本系统是基于matlab 的simulink 仿真软件设计的基带信号调制与解调的系统,利用matlab 自带的数字信号仿真模块构成其原理框图并通过设置载波、带通滤波器以及低通滤波器等把基带信号经过载波调制后再经乘法器、带通滤波器和低通滤波器等电路系统能解调出基带信号。
数字信号处理实验报告
数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
数字信号处理学习指导与课后答案第8章
Xˆ a ( j ) xa (nT )e j nT n
第8章 上机实验
上式中, 在数值上xa(nT)=x(n), 再将ω=ΩT代入, 得到
Xˆ a ( j ) x(n)e j n n
上式的右边就是序列的傅里叶变换X(ejω), 即
Xˆ a ( j ) X (e j ) T
x(n)=sin(0.014n)+sin(0.4n) 求出系统的输出响应y4. 思考题 (1) 如果输入信号为无限长序列, 系统的单位脉冲响 应是有限长序列, 可否用线性卷积法求系统的响应? 如何求 (2) 如果信号经过低通滤波器, 信号的高频分量被 滤掉, 时域信号会有何变化? 用前面第一个实验的结果进 行分析说明。 5. (1) 简述在时域求系统响应的方法。 (2) 简述通过实验判断系统稳定性的方法。 分析上面 第三个实验的稳定输出的波形。 (3) 对各实验所得结果进行简单分析和解释。 (4) 简要回答思考题。 (5) 打印程序清单和要求的各信号波形。
第8章 上机实验
8.1.2
实验1程序: exp1.m %实验1: close all; clear all %==================================== %内容1: 调用filter解差分方程, 由系统对u(n)的响应判
A=[1, -0.9]; B=[0.05, 0.05]; %系统差分方程系数向量B和A
第8章 上机实验
8.1 实验一:
8.1.1
1. (1) 掌握求系统响应的方法。 (2) 掌握时域离散系统的时域特性。 (3) 分析、 观察及检验系统的稳定性。
第8章 上机实验
2. 在时域中, 描写系统特性的方法是差分方程和单位脉 冲响应, 在频域可以用系统函数描述系统特性。 已知输入 信号可以由差分方程、 单位脉冲响应或系统函数求出系统对 于该输入信号的响应。 本实验仅在时域求解。 在计算机上 适合用递推法求差分方程的解, 最简单的方法是采用 MATLAB语言的工具箱函数filter函数。 也可以用MATLAB 语言的工具箱函数conv函数计算输入信号和系统的单位脉冲 响应的线性卷积, 求出系统的响应。
数字信号处理实验报告(全)
实验一、离散时间系统及离散卷积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. 加深对离散信号的理解。
2. 掌握典型离散信号的Matlab 产生和显示。
二、实验原理及方法在MATLAB 中,序列是用矩阵向量表示,但它没有包含采样信息,即序列位置信息,为此,要表示一个序列需要建立两个向量;一是时间序列n,或称位置序列,另一个为取值序列x ,表示如下: n=[…,-3,-2,-1,0,1,2,3,…]x=[…,6,3,5,2,1,7,9,…]一般程序都从0 位置起始,则x= [x(0), x(1), x(2),…]对于多维信号需要建立矩阵来表示,矩阵的每个列向量代表一维信号。
数字信号处理中常用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号等,在MATLAB 语言中分别由exp, sin, cos, square, sawtooth 等函数来实现。
三、实验内容1. 用MATLAB 编制程序,分别产生长度为N(由输入确定)的序列:①单位冲击响应序列:()n δ可用MATLAB 中zeros 函数来实现; ②单位阶跃序列:u(n)可用MATLAB 中ones 函数来实现; ③正弦序列:()sin()x n n ω=; ④指数序列:(),nx n a n =-∞<<+∞⑤复指数序列:用exp 函数实现()0()a jb nx n K e+=,并给出该复指数序列的实部、虚部、幅值和相位的图形。
(其中00.2,0.5,4,40a b K N =-===.)参考流程图:四、实验报告要求1. 写出实验程序,绘出单位阶跃序列、单位阶跃序列、正弦序列、指数序列的图形以及绘 出复指数序列的实部、虚部、幅值和相位的图形。
2. 序列信号的实现方法。
3. 在计算机上实现正弦序列0()sin(2)x n A fn πϕ=+。
实验二 离散信号的运算一、实验目的1. 掌握离散信号的时域特性。
2. 用MATLAB 实现离散信号的各种运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告实验名称:FIR数字滤波器设计及应用课程名称____数字信号处理________院系部:电气与电子工程专业班级:信息1002学生姓名:王萌学号: ***********同组人:实验台号:指导教师:范杰清成绩:实验日期:华北电力大学一、实验目的加深理解FIR 数字滤波器的时域特性和频域特性,掌握FIR 数字滤波器的设计原理与设计方法,以及FIR 数字滤波器的应用。
二、 实验原理FIR 数字滤波器可以设计成具有线性相位,在数据通信、图像处理、语音信号处理等实际应用领域得到广泛应用。
M 阶FIR 数字滤波器的系统函数为:FIR 数字滤波器的单位脉冲响应h [k ]是长度为M +1的有限长因果序列。
当满足对称条件时,该FIR 数字滤波器具有线性相位。
FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。
MATLAB 中提供的常用FIR 数字滤波器设计函数有:fir1 窗函数法设计FIR 数字滤波器(低通、高通、带通、带阻、多频带滤波器)fir2 频率取样法设计FIR 数字滤波器:任意频率响应firls FIR 数字滤波器设计:指定频率响应firrcos 升余弦型 FIR 数字滤波器设计intfilt 内插FIR 数字滤波器设计kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计firpm Parks-McClellan 算法实现FIR 数字滤波器优化设计firpmord Parks-McClellan 数字滤波器的阶数选择cremez 复系数非线性相位FIR 等波纹滤波器设计1、 窗口法设计FIR 数字滤波器fir1函数可以很容易地实现FIR 数字滤波器窗口法设计。
可设计低通、高通、带通、带阻滤波器、多频带滤波器。
k Mk z k h z H -=∑=][)(0b = fir1(M, Wc)b = fir1(M, Wc, 'ftype')b = fir1(M, Wc, window)b = fir1(M, Wc, 'ftype', window)b = fir1(M,Wc,‘ ftype',window)输出参数:b 为FIR 数字滤波器的M +1个系数构成的矩阵(即系统的单位脉冲响应)输入参数:M 为FIR 数字滤波器的阶数。
Wc 为3dB 截频:0 < Wc < 1, 1 对应数字频率。
ftype 指定滤波器类型,当ftype 为:’high ’, 指定一个截频为Wc 的高通滤波器;’stop ’ 指定一个带阻滤波器,其阻带截止频率为Wc=[w1,w2];’DC-0’ 在多频带滤波器中,使第一个频带0<w<w1为阻带;’DC-1’ 在多频带滤波器中,使第一个频带0<w<w1为通带。
window 指定窗函数,若不指定,默认为哈明窗。
2. 频率取样法设计FIR 滤波器fir2函数可以实现FIR 数字滤波器的频率取样法设计。
可设计任意形状频率响应的滤波器。
格式如下:b = fir2(M, f, m)b = fir2(M, f, m, window)输出参数:b 为FIR 数字滤波器的M +1个系数构成的矩阵。
输入参数:M 为滤波器的阶数。
f 指定归一化的各频带边界频率,从0到1递增, 1对应于f sam /2,即数字频率Ω=π。
m 指定各频带边界频率处的幅度响应, 因此f 和m 的长度相等,即length(f)=length(a)。
window 指定窗函数,若不指定,默认为哈明窗。
三、实验内容1.分别使用矩形窗、汉明窗、汉宁窗设计一个阶数 M=9的FIR 数字(rad)3π=c Ω低通滤波器,截频为(1)画出各种方法设计的数字滤波器的单位脉冲响应。
(2)画出它们的幅频响应,并比较各滤波器的通带纹波和阻带纹波,有何结论?(3)若输入为 计算各滤波器的输出并画出其波形.解答:(1)b1=fir1(9,1/3,boxcar(10));[H1,w]=freqz(b1,1,512);H1_db=20*log10(abs(H1));b2=fir1(9,1/3,hamming(10));[H2,w]=freqz(b2,1,512);H2_db=20*log10(abs(H2));b3=fir1(9,1/3,hanning(10));[H3,w]=freqz(b3,1,512);H3_db=20*log10(abs(H3));subplot(4,1,1); stem(b1);title('矩形窗得到的FIR 滤波器脉冲响应')subplot(4,1,2); stem(b2);title('哈明窗得到的FIR 滤波器脉冲响应')subplot(4,1,3); stem(b3);title('汉宁窗得到的FIR 滤波器脉冲响应')subplot(4,1,4); plot(w,H1_db,w,H2_db,'r--',w,H3_db,'y--');title('Frequency response')legend('rectangular window','hamming window','hanning window') grid on)2cos( )4cos(21][k k k x ππ++=(3)k=0:127;x=1+2*cos(pi/4*k)+cos(pi/2*k);b1=fir1(9,1/3,boxcar(10));H1=freqz(b1,x,128);b2=fir1(9,1/3,hamming(10));H2=freqz(b2,x,128);b3=fir1(9,1/3,hanning(10));H3=freqz(b3,x,128);subplot(3,1,1); stem(H1);title('矩形窗得到的FIR滤波器输出') subplot(3,1,2); stem(H2);title('哈明窗得到的FIR滤波器输出') subplot(3,1,3); stem(H3);title('汉宁窗得到的FIR滤波器输出')2.利用频率抽样方法设计FIR 数字低通滤波器,并绘出衰耗特性。
已知阶数M=15,给定指标为:改变Ad[4]的值,观察该FIR 低通数字滤波器的衰耗特性的变化。
f=[0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1]; m=[1 1 1 1 0.389 0 0 0];b=fir2(15,f,m);[h,w] = freqz(b, 1, 128);legend('Ideal', 'fir2 Designed')figure(1);plot(f,m,w/pi,abs(h)) ;gridtitle('Comparison of Frequency Response Magnitudes')figure(2); H_db=20*log10(abs(h));plot(w,H_db);⎪⎩⎪⎨⎧====7,6,504389.03,2,1,01][m m m m A d3.利用频率抽样方法设计FIR 数字带通滤波器,并绘出衰耗特性。
已知阶数M=15,给定指标为:改变Ad[2]或Ad[6]的值,观察该FIR 带通数字滤波器的衰耗特性的变化。
f=[0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1];m=[0 0 0.456 1 1 1 0.456 0];b=fir2(15,f,m);[h,w] = freqz(b, 1, 128);legend('Ideal', 'fir2 Designed')figure(1);plot(f,m,w/pi,abs(h)) ;gridtitle('Comparison of Frequency Response Magnitudes')figure(2);H_db=20*log10(abs(h));plot(w,H_db); grid⎪⎩⎪⎨⎧====5,4,316,2456.07,1,000][m m m m A d%改变A d[2]的值:f=[0 1/(7*pi) 2/(7*pi) 3/(7*pi) 4/(7*pi) 5/(7*pi) 6/(7*pi) 1]; m=[0 0 0.20 1 1 1 0.456 0];b=fir2(15,f,m);[h,w] = freqz(b, 1, 128);legend('Ideal', 'fir2 Designed')figure(1);plot(f,m,w/pi,abs(h)) ;gridtitle('Comparison of Frequency Response Magnitudes') figure(2);H_db=20*log10(abs(h));plot(w,H_db);grid4. 设计一窄带通FIR数字滤波器,通带中心频率带宽不大于。
(1)利用fir1函数和kaiser窗设计该滤波器。
(2)利用fir3函数设计该滤波器,达到fir1函数的设计效果。
(3)分别画出上述两个滤波器的实现结构,并比较其经济性。
b1=fir1(9, [0.45 0.55]/pi, kaiser(10,0.5));[H1,w]=freqz(b1,1,512);H1_db=20*log10(abs(H1));subplot(2,1,1); stem(b1);title('矩形窗得到的FIR滤波器脉冲响应¦')subplot(2,1,2); plot(w,H1_db);title('矩形窗设计的窄带通滤波器');gridf=[0 9/(20*pi) 9/(20*pi) 11/(20*pi) 11/(20*pi) 1];m=[0 0 1 1 0 0];b=fir2(41,f,m);[h,w] = freqz(b, 1, 128);legend('Ideal', 'fir2 Designed')figure(1);plot(f,m,w/pi,abs(h)) ;gridtitle('Comparison of Frequency Response Magnitudes') figure(2);H_db=20*log10(abs(h));plot(w,H_db);四、思考题1.为什么通信应用中需要线性相位?相位失真将会对信号产生什么影响?答:线性相位系统稳定;相位失真会部分导致使信号失真2.为什么FIR滤波器无需考虑稳定性问题?答:单位脉冲响应是有限长的3.在相同的设计指标时,为何FIR数字滤波器的阶数远高于IIR数字滤波器的阶数?答:FIR是有限长的4.线性相位的条件是什么?答:满足h(n)=+或-h(N-1-n)5.在FIR窗口法设计中,为何采用不同特性的窗函数?选用窗函数的依据是什么?答:在满足阻带衰减的前提下,尽可能选择主瓣宽度小的窗函数,减少衰减6.在频率取样法中,如果阻带衰耗不够,采取什么措施?答:在通带和阻带间设置幅度非0过渡样本点7.窗口法和频率取样法的优缺点是什么?答:窗口法的优点是简单,有闭合的公式可用,性能及参数都有表格资料可查,计算程序简单,较为实用。