数字信号处理课程设计实验报告
数字信号处理课程设计报告_3
目录1.设计概述(目的和要求) 32.设计任务 33.设计题目(简要描述三个题目) 44.内容及结果 45.思考及体会14一、课程设计目的及要求数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。
本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。
二、课程设计任务课程设计的过程是综合运用所学知识的过程。
课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。
根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。
设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。
课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。
三、课程设计题目根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。
1.DFT在信号频谱分析中的应用1. 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。
并与MA TLAB中的内部函数文件fft.m作比较。
2. 对离散确定信号()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析:(1) 截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计算出()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。
(2) 将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点DFT 1()X k ,并画出相应的图1()~X k k 。
数字信号处理实验报告
实验一 信号、系统及系统响应一、实验目的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.掌握应⽤MATLAB 进⾏数字信号处理的程序设计;实验内容:已知低通数字滤波器的性能指标如下:0.26p ωπ=,0.75dB p R =,0.41s ωπ=,50dB s A =要求:1. 选择合适的窗函数,设计满⾜上述指标的数字线性相位FIR 低通滤波器。
⽤⼀个图形窗⼝,包括四个⼦图,分析显⽰滤波器的单位冲激响应、相频响应、幅频响应和以dB 为纵坐标的幅频响应曲线。
2. ⽤双线性变换法,设计满⾜上述指标的数字Chebyshev I 型低通滤波器。
⽤⼀个图形窗⼝,包括三个⼦图,分析显⽰滤波器的幅频响应、以dB 为纵坐标的幅频响应和相频响应。
3. 已知模拟信号1234()2sin(2)5sin(2)8cos(2)7.5cos(2)x t f t f t f t f t ππππ=+++其中10.12f kHz =,2 4.98f kHz =,3 3.25f kHz =,4 1.15f kHz =,取采样频率10s f kHz =。
要求:(1) 以10s f kHz =对()x t 进⾏取样,得到()x n 。
⽤⼀个图形窗⼝,包括两个⼦图,分别显⽰()x t 以及()x n (0511n ≤≤)的波形;(2) ⽤FFT 对()x n 进⾏谱分析,要求频率分辨率不超过5Hz 。
求出⼀个记录长度中的最少点数x N ,并⽤⼀个图形窗⼝,包括两个⼦图,分别显⽰()x n 以及()X k 的幅值; (3) ⽤要求1中设计的线性相位低通数字滤波器对()x n 进⾏滤波,求出滤波器的输出1()y n ,并⽤FFT 对1()y n 进⾏谱分析,要求频率分辨率不超过5Hz 。
求出⼀个记录长度中的最少点数1y N ,并⽤⼀个图形窗⼝,包括四个⼦图,分别显⽰()x n (01x n N ≤≤-)、()X k 、1()y n (101y n N ≤≤-)和1()Y k 的幅值;(4) ⽤要求2中设计的Chebyshev 低通数字滤波器对()x n 进⾏滤波,求出滤波器的输出2()y n ,并⽤FFT 对2()y n 进⾏谱分析,要求频率分辨率不超过5Hz 。
数字信号处理课程设计实验报告
数字信号处理课程设计实验报告数字信号处理课程设计实验报告(基础实验篇)实验⼀离散时间系统及离散卷积⼀、实验⽬的和要求实验⽬的:(1)熟悉MATLAB软件的使⽤⽅法。
(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。
(3)利⽤MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。
(4)熟悉离散卷积的概念,并利⽤MATLAB计算离散卷积。
实验要求:(1)编制实验程序,并给编制程序加注释;(2)按照实验内容项要求完成笔算结果;(3)验证编制程序的正确性,记录实验结果。
(4)⾄少要求⼀个除参考实例以外的实例,在实验报告中,要描述清楚实例中的系统,并对实验结果进⾏解释说明。
⼆、实验原理δ的响应输出称为系统1.设系统的初始状态为零,系统对输⼊为单位脉冲序列()n的单位脉冲响应()h n。
对于离散系统可以利⽤差分⽅程,单位脉冲响应,以及系统函数对系统进⾏描述。
单位脉冲响应是系统的⼀种描述⽅法,若已知了系统的系统函数,可以利⽤系统得出系统的单位脉冲响应。
在MATLAB中利⽤impz 由函数函数求出单位脉冲响应()h n2.幅频特性,它指的是当ω从0到∞变化时,|()|Aω,H jω的变化特性,记为()相频特性,指的是当ω从0到∞变化时,|()|∠的变化特性称为相频特性,H jωω。
离散系统的幅频特性曲线和相频特性曲线直观的反应了系统对不同记为()频率的输⼊序列的处理情况。
三、实验⽅法与内容(需求分析、算法设计思路、流程图等)四、实验原始纪录(源程序等)1.离散时间系统的单位脉冲响应clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];impz(a,b,30);%离散时间系统的冲激响应(30个样值点)title('系统单位脉冲响应')axis([-3,30,-2,2]);2.(1)离散系统的幅频、相频的分析⽅法21-0.3()1 1.60.9425j j j e H z e e ωωω---=-+clcclear alla=[1,-0.3];b=[1,-1.6,0.9425];%a 分⼦系数,b 分母系数 [H,w]=freqz(a,b,'whole'); subplot(2,1,1); plot(w/pi,abs(H));%幅度 title('幅度谱');xlabel('\omega^pi');ylabel('|H(e^j^\omega)'); grid on;subplot(2,1,2);plot(w/pi,angle(H));%相位 title('相位谱');xlabel('\omega^pi'); ylabel('phi(\omega)'); grid on;(2)零极点分布图clc; clear all a=[1,-0.3];b=[1,-1.6,0.9425]; zplane(a,b);%零极图 title('零极点分布图')3.离散卷积的计算111()()*()y n x n h n =clcclear all% x=[1,4,3,5,3,6,5] , -4<=n<=2 % h=[3,2,4,1,5,3], -2<=n<=3 % 求两序列的卷积 clear all;x=[1,4,3,5,3,6,5]; nx=-4:2; h=[3,2,4,1,5,3];nh=-2:3;ny=(nx(1)+nh(1)):(nx(length(x))+nh(length(h))); y=conv(x,h);n=length(ny);subplot(3,1,1);stem(nx,x);xlabel('nx');ylabel('x'); subplot(3,1,2);stem(nh,h);xlabel('nh');ylabel('h'); subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('x 和h 的卷积')五、实验结果及分析(计算过程与结果、数据曲线、图表等)1.离散时间系统的单位脉冲响应051015202530-2-1.5-1-0.500.511.52n (samples)A m p l i t u d e系统单位脉冲响应2.离散系统的幅频、相频的分析⽅法00.20.40.60.81 1.2 1.4 1.6 1.82 102030幅度谱ωp i|H (e j ω)0.20.40.60.811.21.41.61.82-2-1012相位谱ωp ip h i (ω)-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r t零极点分布图3.离散卷积的计算-4-3-2-1012nxx-2-1.5-1-0.500.51 1.522.53nhh -6-4-20246nx 和h 的卷积六、实验总结与思考实验⼆离散傅⽴叶变换与快速傅⽴叶变换⼀、实验⽬的和要求实验⽬的:(1)加深理解离散傅⾥叶变换及快速傅⾥叶变换概念; (2)学会应⽤FFT 对典型信号进⾏频谱分析的⽅法; (3)研究如何利⽤FFT 程序分析确定性时间连续信号; (4)熟悉应⽤FFT 实现两个序列的线性卷积的⽅法;实验要求:(1)编制DFT 程序及FFT 程序,并⽐较DFT 程序与FFT 程序的运⾏时间。
数字信号处理实验报告_五个实验
实验一 信号、系统及系统响应一、 实验目的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、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。
数字信号处理实验报告
数字信号处理实验报告引言数字信号处理(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 点离散序列,这里为窗函数。
数字信号处理实验报告
数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的1.观察模拟信号经理想采样后的频谱变化关系。
2.验证采样定理,观察欠采样时产生的频谱混叠现象3.加深对DFT算法原理和基本性质的理解4.熟悉FFT算法原理和FFT的应用二、实验原理根据采样定理,对给定信号确定采样频率,观察信号的频谱三、实验内容和步骤实验内容(1)在给定信号为:1.x(t)=cos(100*π*at)2.x(t)=exp(-at)3.x(t)=exp(-at)cos(100*π*at)其中a为实验者的学号,用DFT分析上述各信号的频谱结构,选取不同的采样频率和截取长度,试分析频谱发生的变化。
实验内容(2)设x(n)=cos(0.48*π*n)+ cos(0.52*π*n),对其进行以下频谱分析:10点DFT,64点DFT,及在10点序列后补零至64点的DFT 试分析这三种频谱的特点。
四、实验步骤1.复习采样理论、DFT的定义、性质和用DFT作谱分析的有关内容。
2.复习FFT算法原理和基本思想。
3.确定实验给定信号的采样频率,编制对采样后信号进行频谱分析的程序五、实验程序和结果实验1内容(1)N=L/T+1;t=0:T:L;a=48;D1=2*pi/(N*T); % 求出频率分辨率k1=floor((-(N-1)/2):((N-1)/2)); % 求对称于零频率的FFT位置向量%%%%%%%%%%%%%%%%%%%%%%%%%figure(1),x1=cos(100*pi*a*t);y1=T*fftshift(fft(x1));%虽然原来是周期信号,但做了截断后,仍可当作非周期信号。
subplot(2,1,1),plot(t,x1);title('正弦信号');subplot(2,1,2),plot(k1*D1,abs(y1));title('正弦信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(2), x2=exp(-a*t);y2=T*fftshift(fft(x2));%有限长(长度为N)离散时间信号x1的dft 再乘T 来近似模拟信号的频谱,长度为Nsubplot(2,1,1),plot(t,x2);title('指数信号');subplot(2,1,2),plot(k1*D1,abs(y2));title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(3), x3=x1.*x2;y3=T*fftshift(fft(x3))subplot(2,1,1),plot(t,x3);title('两信号相乘');subplot(2,1,2),plot(k1*D1,abs(y3));title('两信号相乘频谱');0.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.140.160.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.0005 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-2000200040006000800000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51指数信号-8000-6000-4000-20000200040006000800000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-20000200040006000800000.0050.010.015两信号相乘频谱T=0.002 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-2000-1500-1000-50050010001500200000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51-2000-1500-1000-500050010001500200000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-2000-1500-1000-500050010001500200000.0050.010.015两信号相乘频谱T=0.001 L=0.180.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-1000100020003000400000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.180.51指数信号-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.001 L=0.120.020.040.060.080.10.12-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.12-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱实验1内容(2)>> N=10;n=1:NT=1x1=cos(0.48*pi*n*T)+cos(0.52*pi*n*T)X1=fft(x1,10)k=1:N;w=2*pi*k/10subplot(3,2,1);stem(n,x1);axis([0,10,-3,3]);title('信号x(n)');subplot(3,2,2);stem(w/pi,abs(X1));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N2=100;n2=1:N2T=1x1=cos(0.48*pi*[1:10]*T)+cos(0.52*pi*[1:10]*T)x2=[x1,zeros(1,90)]X2=fft(x2,N2)k2=1:N2;w2=2*pi*k2/100subplot(3,2,3);stem(x2);axis([0,100,-3,3]);title('信号x(n)补零');subplot(3,2,4);plot(w2/pi,abs(X2));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N3=100;n3=1:N3T=1x3=cos(0.48*pi*n3*T)+cos(0.52*pi*n3*T)X3=fft(x3,100)k3=1:N3;w3=2*pi*k3/100subplot(3,2,5);stem(n3,x3);axis([0,100,-3,3]);title('信号x(n)');subplot(3,2,6);stem(w3/pi,abs(X3));axis([0,1,0,10]);title('DFTx(n)');n =1 2 3 4 5 6 7 8 9 10 T =1510-202信号x(n)0.510510DFTx(n)50100信号x(n)补零0.510510DFTx(n)50100信号x(n)DFTx(n)实验二 卷积定理一、实验目的通过本实验,验证卷积定理,掌握利用DFT 和FFT 计算线性卷积的方法。
数字信号处理课程设计报告实验三
数字信号处理课程设计报告实验三目录1. 实验三概述 (2)1.1 实验目的 (2)1.2 实验要求 (3)1.3 实验内容 (4)2. 实验原理 (5)2.1 数字信号处理的简介 (6)2.2 数字滤波器的类型 (6)2.3 FIR和IIR滤波器的区别 (7)3. 实验软件与硬件环境 (9)3.1 软件环境 (10)3.2 硬件环境 (12)3.3 实验设备介绍 (13)4. 实验步骤 (14)4.2 设计数字滤波器 (15)4.3 滤波器实现与调试 (16)4.4 实验数据分析 (17)5. 实验设计 (18)5.1 数字滤波器的设计方法 (19)5.2 滤波器参数的选择 (20)5.3 滤波器实现代码实现 (21)6. 实验结果 (22)6.1 滤波前后的信号对比 (24)6.2 滤波效果分析 (25)6.3 滤波器性能指标评价 (26)7. 实验讨论 (27)7.1 实验中发现的问题 (29)7.2 解决问题的方法与思考 (29)8. 实验心得 (32)8.1 数字信号处理的理解加深 (33)8.2 编程能力的提升 (34)8.3 对实验中遇到的挑战的看法 (35)1. 实验三概述本实验课题为“数字滤波器设计与分析”,旨在使学生深入理解数字滤波器的原理及设计方法,并掌握使用仿真工具进行实际滤波器设计与性能分析的能力。
实验通过MATLAB平台,分别实现低通、高通及带通滤波器的设计与模拟,并进行频率响应分析、时域响应分析以及信号处理效果的评价。
不同类型的数字滤波器设计方法原理介绍,包括IIR和FIR滤波器。
不同设计方法的优缺点分析,并结合实际应用场景选择合适的滤波器类型。
使用MATLAB自带函数和滤波器设计工具包进行滤波器设计,以及根据不同指标对滤波器参数进行调整。
通过完成本实验,学生将能掌握数字滤波器的理论知识和应用技能,并对其优缺点及应用场景有更深入的理解。
1.1 实验目的加载、分析和可视化语音信号:学生需学会使用高级软件工具加载语音信号数据,并运用绘图工具展示信号的时域波形及频谱图。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境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中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告
数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率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的信号?编程验证你的想法。
数字信号处理实验教案五篇范文
数字信号处理实验教案五篇范文第一篇:数字信号处理实验教案数字信号处理实验教案信息工程学院-通信工程教研室数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼同学们的独立解决问题的能力。
本讲义在第三版的基础上编写了五个实验,前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)掌握两种卷积的原理和两者的异同。
数字信号处理实验报告
实验一 基于LMS 算法的自适应滤波器设计一、自适应算法的概括包括最小均方算法LMS 、最小高阶均方算法LMP 、最小平方算法OLS 、递推最小算法RLS 。
自适应算法主要根据滤波器输入的统计特性进行处理,存在开环算法和闭环算法;开环算法的控制输出仅取决于滤波器的输入和其他输入数据;闭环的控制输出则是滤波器输出及其他输入信号的函数。
闭环控制利用输出反馈,不但能在滤波器输入信号变化时保持最佳输出,而且在某种程度上补偿滤波元件参数的变化和误差以及运算误差。
二、自适应滤波器的结构自适应滤波器由参数可调的数字滤波器和自适应算法两部分组成。
如图1.1所示为自适应滤波器的一般结构。
输入信号)(n x 通过参数可调数字滤波器后产生输出信号(或响应))(n y ,将其与参考信号(或期望响应))(n d 进行比较,形成误差信号)(n e ,)(n e 通过某种自适应算法对滤波器参数进行调整,最终使)(n e 得均方值最小。
所以,自适应滤波器实际上是一种能够自动调整本身参数的特殊的Wiener 模型。
)(n d 自适应滤波器算法滤波器结构)(n x )(n e )(n y +-图1.1 自适应滤波器的一般结构上面的自适应滤波器设计不需要知道关于输入信号和噪声的统计特性,能够在工作过程中估计出所需的统计特性,并以此为依据自动调整自己的参数,以达到最佳的滤波效果。
一旦输入信号统计特性发生变化,其又能跟踪这种变化,自动调整参数,从而使滤波器性能达到最佳效果。
三、滤波器采用的结构采用FIR 横向滤波器(由于IIR 滤波器存在稳定性问题)作为自适应滤波器结构,如图1.2所示。
)(n x )(0n w )(1n w )(2n w )(1n w N -1-Z 1-Z ....1-Z )1(+-N n x ∑)(n y图1.2 FIR 横向滤波器结构图中所示自适应滤波器的输入矢量:T N n x n x n x n X )]1(),...,1(),([)(+--= , 权重系数矢量:T N n w n w n w n W )](),...,(),([)(110-=,即自适应滤波器的冲击响应。
数字信号处理课程设计报告_4
目录一、课程设计的目的 (2)二、数字滤波器的设计步骤 (2)2.2、IIR数字滤波器与FIR数字滤波器的区别 (2)三、IIR数字滤波器 (3)3.1、IIR数字滤波器的特点 (3)3.1.2、IIR数字滤波器采用递归型结构 (3)3.1.3、借助成熟的模拟滤波器的成果 (3)3.1.4、需加相位校准网络 (3)3.2、用双线性法设计IIR数字滤波器 (3)3.3、巴特沃斯低通滤波器的设计 (4)3.4、巴特沃斯高通滤波器的设计 (5)3.4.1、巴特沃斯高通滤波器各参数图形 (5)3.4.2、巴特沃斯高通滤波器滤波效果图 (5)四、FIR数字滤波器 (5)4.1、FIR滤波器的特点 (5)4.2、窗函数法设计FIR数字滤波器 (6)五、程序实例源码 (8)六、问题分析 (12)七、心得体会 (13)八、参考文献 (13)一、课程设计的目的数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。
在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。
本次课程设计是通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;熟悉用双线性变换法设计 IIR 数字滤波器和用窗函数法设计FIR数字滤波器的原理与方法,掌握利用数字滤波器对信号进行滤波的方法,掌握数字滤波器的计算机仿真方法,并能够对设计结果加以分析。
二、数字滤波器的设计步骤2.1、不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:(1)按照实际任务的要求,确定滤波器的性能指标。
(2)用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。
根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。
(3)利用有限精度算法实现系统函数,包括结构选择,字长选择等。
2.2、IIR数字滤波器与FIR数字滤波器的区别2.2.1、单位响应IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;FIR滤波器,也就是“非递归滤波器”,没有引入反馈。
数字信号处理课程实验报告
数字信号处理课程实验报告课题名称:IIR滤波器相位校正实验一、实验内容与分析1、实验目的和内容1)利用MATLAB设计一个IIR滤波器;2)结合课本关于全通滤波器特性知识(课本p128),在IIR滤波器后级联一个全通相位滤波器进行相位校正,使此滤波器最终实现线性相位特性;3)分别使用相位校正前后两滤波器实现对某一信号的处理;4)画出IIR滤波器、全通滤波器、相位校正后滤波器的幅度频率特性曲线、相位频率特性曲线,信号时域波形、信号的幅度频率特性曲线、相位频率特性曲线;5)详述实验设计原理,分析相位校正前后两类滤波器对信号处理后的区别。
2、实验的分析1)、IIR滤波器的设计通过对实验内容的理解,我们首先需要设计一个IIR滤波器,对课本第六章的学习我们知道IIR数字滤波器有两种设计方法:间接设计法和直接设计法。
间接设计法中有巴特沃斯滤波器,切比雪夫I型、II型滤波器,椭圆滤波器和贝塞尔滤波器五种。
我们选择设计切比雪夫II型低通滤波器,其中的技术指标为:通带边界频率fp=1000Hz,阻带边界频率fs=2000 Hz,阻带最小衰减As=40 dB,通带最大衰减Ap=1 dB。
2)全通滤波器的设计全通滤波器的幅度特性是在整个频带上均等于常数,或者等于1.信号通过全通滤波器后,其输出的幅度特性保持不变,仅相位发生变化。
由于IIR滤波器后需要级联一个全通相位滤波器,使整个系统实现线性相位特性,为了求解全通滤波器的参数,我们先假设整个系统具有线性相位特性,再根据已经设计好了的切比雪夫II 型滤波器的系统参数,求解全通滤波器的参数。
二、实验的过程1、切比雪夫II型滤波器的设计过程在确定了滤波器的参数之后,我们运用cheb2ord函数计算模拟低通滤波器的最小阶数;然后用cheby2计算滤波器传输函数的系数。
然后运用脉冲响应不变法将模拟低通滤波器转换成数字滤波器。
这样我们就设计出了满足给定参数的切比雪夫II型滤波器。
数字信号处理实验报告(全)
实验一、离散时间系统及离散卷积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);结果:。
数字信号处理课程设计报告
设计一信号的基本运算一、设计目的熟悉信号的基本运算,通过运用Matlab进行仿真,加深对信号基本运算的理解。
通过对数据的处理,加深对Matlab中数据存取,数值运算,矩阵运算的方式及工作原理的了解。
二、设计原理Matlab是以矩阵为基础的一种软件,其集成了数值运算、矩阵运算、信号处理和图形等众多功能。
其中,对数据的存取都是以矩阵的方式进行的。
Matlab工具箱中提供了很多已经编写好的函数,我们这用些函数的时候只需要从工具箱中调用就可以了,这些函数都十分的方便。
如其中的wavread( )函数,我们可以用来从音频文件中获取数据,然后对这些数据进行运算,然后通过sound( )函数对音频文件进行回放;还有一些特殊矩阵的生成函数,如用函数zeros生成全0矩阵:格式B=zeros(m,n)生成m×n的全0阵;用函数ones生成全1矩阵:格式B=ones(m,n)生成m×n的全1阵;用函数rand生成随机矩阵:格式B=rand(m,n)生成m×n的随机矩阵;用函数eye生成单位阵:格式B=eye(m,n)生成m×n矩阵,其中对角线元素全为1,其他元素为0。
通过类似这样的操作,我们就可以方便的对信号进行相应的处理。
本次实验中,我们对一段音频信号,进行回音的模仿,然后经过上采样和下采样,反转的处理,并演示处理后的效果。
三、设计内容本次实验,我们通过采样得到一段以采样频率为8192Hz的语音信号x(k),然后通过编写Matlab程序对这段语音信号进行回音模仿,采用函数x(k)=x(k)+a*x(k-d),期中d为时延,a为时延信号的衰减幅度。
然后对语音信号进行下采样x(k/2)、上采样x(2k)、反转x(-k)。
下采样即在得到的语音信号的基础上,隔一个k值取一个函数值;上采样,即在得到的信号的基础上进行每两个k值之间进行插值;反转即把得到的信号的k变为-k。
通过这样的处理后,回放语音信号,观察效果,再看处理后的信号的时域波形。
数字信号处理课程设计报告实验三
课程设计报告课程 : 数字信号处理课程设计学院 : 信息工程学院专业 : 信息工程学号 :学生姓名 :教师姓名 :2019年 10月 13日实验三: FFT频谱分析及应用一、实验目的:(一)通过实验,加深对FFT的理解,熟悉 FFT子程序。
(二)熟悉用 FFT对典型信号进行频谱分析的方法。
二、实验原理与方法:在各种信号序列中,有限长序列占有重要地位。
对有限长序列,可以利用离散傅里叶变换( DFT)进行分析。
DFT不但可以很好的反应序列频谱特性,而且易于用快速算法( FFT)在计算机上实现。
设序列为 x(n),长度为 N,其 DFT定义为:,反变换为,有限长序列的 DFT是其 Z 变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样,因此可以用于序列的谱分析。
FFT是 DFT的一种快速算法,是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以 2 为基数,其长度为 N=2M。
它的效率高,程序简单,使用方便。
当要变换的序列长度不等于 2 的整数幂次时,为了使用以2 为基数的 FFT,可以使用末尾补零的方法,使其长度为 2 的整数次方。
在MATLAB信号处理工具箱中的函数为 fft(x,N) ,可用于序列 x(n)的 N 点快速傅里叶变换。
经函数 fft 求得的序列一般是复序列,通常要求其幅值和相位。
MATLAB中提供了求复数的幅值和相位函数:abs、angle。
三、实验内容:(一)模拟信号,以 0.01n 进行采样,其中n=0,⋯ ,N-1:①求 N=40 点 FFT的幅度频谱,从图中能否观察出信号的 2 个频率分量?②提高采样点数,如 N=128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的 2个模拟频率和数字频率各为多少? FFT频谱分析结果与理论上是否一致?解:① MATLAB程序:3/13N=40;n=0:N-1;t=0.01*n;x=2*cos(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');grid on; subplot(2,1,2);plot(w/pi,magX);title('FFT N=40');xlabel('f (unit:pi)');ylabel('|X|');grid on;结果截图:能观察出信号的 2 个频率分量②MATLAB程序:N=128;n=0:N-1;t=0.01*n;x=2*cos(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1));subplot(2,1,1);stem(n,x,'.');title('signal x(n)');grid on; subplot(2,1,2);plot(w/pi,magX);title('FFT N=128');xlabel('f (unit:pi)');ylabel('|X|');grid on;结果截图:幅度频谱变得更加密集,模拟频率和数字频率各为 4hz 和 100hz 频谱分析结果与理论相一致的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华 北 电 力 大 学
实 验 报 告
反应信号的任何频率信息,只是在原有频谱图的基础上变得更加密集而已,这也 就是高密度频谱图。 当取样点 N=256>64 时,可以从右上角的 256 点 FFT 变换频谱图中清楚的 看出吸纳后的频率成分(6.5KHz,7KHz,9KHz),此时的频谱图就是高分辨率频谱 图。 当取样点足够时,只是改变 FFT 变换的点数,在原有高分辨率频谱图上增 加一些叠加的频率成分,并且在信号频率的点上又叠加了一些新的幅值,所以, 信号的的频率成分又在原有的高分辨率频谱的基础上变成了高密度的频谱图。
实验程序: N=16;L=256;fs=32000;f1=6500;f2=7000;f3=9000;N2=512; T=1/fs;ws=2*pi*fs; n=0:N-1; x=cos(2*pi*f1*n*T)+5*cos(2*pi*f2*n*T)+cos(2*pi*f3*n*T); x1=x(1:N); X1=fft(x1,N); w=((0:N-1)*ws/N)/(2*pi); %横坐标范围 subplot(2,2,1);stem(w,abs(X1)); ylabel('幅频特性曲线');xlabel(' 采样点为 16 的 16 点 FFT 频率 Hz'); x2=[x(1:N) zeros(1,L-N)]; X2=fft(x2,L); w=((0:L-1)*ws/L)/(2*pi); subplot(2,2,3);stem(w,abs(X2)); ylabel('幅频特性曲线');xlabel(' 采样点为 16 补零到 256 后的 256FFT'); n=0:L-1;
华 北 电 力 大 学实 验Βιβλιοθήκη 报 告实验 环境 实验 名称
MATLAB 6.5 实验一: FFT 的应用 1、熟悉 MATLAB 在数字信号处理中的应用。 2、掌握利用 FFT 计算序列线性卷积的基本原理及编程实现。 3、掌握对连续信号进行采样的基本原理和方法,并利用 FFT 对信号进行频谱分 析。 1.对于两个序列:x(n)=nR16(n),h(n)=R8(n) (1)在同一图形窗口中绘出两序列的时域图形。 (2)利用 FFT 编程计算两序列的线性卷积,绘出的时域图形。 2.利用 FFT 对信号进行谱分析 对于连续信号 xa(t)=cos(2π f1t) +5cos(2π f2t) +cos(2π f3t) ,其中 f1=6.5kHz, f2=7kHz, f3=9kHz, 以采样频率 fs=32 kHz 对其进行采样, (1)对 xa(t) 信号采集 16 点样本,分别作 16 点和补零到 256 点的 FFT,并 分别绘出对应的幅频特性曲线。 (2)对 xa(t)信号采集 256 点样本,分别作 256 点和 512 点的 FFT,并分别绘 出对应的幅频特性曲线。 (3)比较(1)和(2)中的结果,分析采样点数和傅里叶变换点数对 FFT 的影响,说明高密度频谱和高分辨率频谱的特点与区别。 题目分析: 1.利用 FFT 计算线性卷积 首先.周期卷积是线性卷积以 L 为周期的周期延拓序列的主值序列; 两个 长度为 M,N 的序列的线性卷积可用长度均为 L 的循环卷积来代替, 用循环卷积计算线性卷积的方法归纳如下: 将长为 N2 的序列 x(n)延长到 L,补 L-N2 个零 将长为 N1 的序列 h(n)延长到 L,补 L-N1 个零 如果 L≥N1+N2-1,则循环卷积与线性卷积相等,此时,可有 FFT 计算线性 卷积,方法如下: a.计算 X(k)=FFT[x(n)] b.求 H(k)=FFT[h(n)] c.求 Y(k)=H(k)Y(k) k=0~L-1 d.求 y(n)=IFFT[Y(k)] n=0~L-1 可见,只要进行二次 FFT,一次 IFFT 就可完成线性卷积计算。计算表 明,L>32 时,上述计算线性卷积的方法比直接计算线卷积有明显的优越性,因 此,也称上述循环卷积方法为快速卷积法。 题目利用 FFT 计算线性卷积 以下为程序及结果:
题目分析: 利用 FFT 进行频谱观测分析 频率分辨率可以理解为在使用 DFT 时,在频率轴上的所能得到的最小频率 间隔 f0=fs/N=1/NTs=1/T,其中 N 为采样点数,fs 为采样频率,Ts 为采样间隔。 因为最小的频率差值为 7KHz—6.5KHz=0.5KHz, 采样频率为 32K,所以最小 的样本数目应当是 32/0.5=64 个,当采样点不足时,必然发生混叠失真,即不能 观测出原信号的频率分布。 不是采样点数越多, 频率分辨力就越高, 因为一段数据拿来就确定了时间 T, 注意:f0=1/T,而 T=NTs,增加 N 必然减小 Ts ,因此,增加 N 时 f0 是不变的。 只有增加点数的同时导致增加了数据长度 T 才能使分辨率越好。 还有容易搞混的 一点,我们在做 DFT 时,常常在有效数据后面补零达到对频谱做某种改善的目 的,我们常常认为这是增加了 N,从而使频率分辨率变好了,其实不是这样的, 补零并没有增加有效数据的长度,仍然为 T。但是补零其实有其他好处: 1.使数据 N 为 2 的整次幂,便于使用 FFT。 2.补零后,其实是对 DFT 结果做了插值,,使谱外观平滑化。 3.由于对时域数据的截短必然造成频谱泄露, 因此在频谱中可能出现难以 辨认的谱峰,补零在一定程度上能消除这种现象。 那么选择 DFT 时 N 参数要注意: 1.由采样定理:fs>=2fh; 2.频率分辨率.f0=fs/N,所以一般情况给定了 fh 和 f0 时也就限制了 N 范 围:N>=fs/f0。 当取样点 N=16<64 时,左上角的信号的 16 点 FFT 变换所得频谱图上几乎反 应出信号的任何频率信息,因为幅值的大小并不能代表对应的频率即为信号的频 率分布。 当采样点 N=16<64 时,左下角的信号的 256 点 FFT 变换所得频谱图也不能
实 验 结 果 及 分 析
第 3 页
华 北 电 力 大 学
实 验 报 告
实验 名称
设计性实验二:IIR 数字滤波器的设计 1、本实验为设计性实验。 2、掌握用双线性变换法设计 IIR 数字滤波器的基本原理和设计方法。 3、掌握用双线性变换法设计 IIR 数字 Butterworth 滤波器的原理和设计方法。 IIR 数字滤波器的设计 用双线性变换法设计一个 IIR 数字 Butterworth 低通滤波器。 技术指标为: 通带截止频率 fp=1kHz ,阻带截止频率 fs=1.5kHz ,通带衰减 Rp≤1dB,阻 带衰减 Rs ≥40dB ,采样频率 Fs=10kHz。绘出滤波器的幅频特性曲线和相频 特性曲线,判断设计是否符合要求。 题目分析: 双线性变换法,其主要的优点: 避免了频率响应的混叠现象。这是因为 S 平面与 Z 平面是单值的一一对 应关系。S 平面整个 jΩ轴单值地对应于 Z 平面单位圆一周,即频率轴是单值 变换关系。在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近 于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时, ω终止在折叠频率ω=π处, 因而双线性变换就不会出现由于高频部分超过折 叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。 但是双线性变换的这个特点是靠频率的严重非线性关系而得到的。 由于 这种频率之间的非线性变换关系,就产生了新的问题。首先,一个线性相位 的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有 的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分 段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型 的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字 滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变, 双线性变换法幅 度和相位特性的非线性映射 对于分段常数的滤波器,双线性变换后,仍得 到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸 变,这种频率的畸变,可以通过频率的预畸来加以校正。 预畸变就是:将临界模拟频率事先加以畸变,然后经变换后正好映射到 所需要的数字频率上。 由于用脉冲响应不变法设计 IIR 数字滤波器,存在从 S 平面到 Z 平面的 多值映射的缺点,而且还有频谱混叠现象,所以本次课程设计就采用双线性 变换法来设计 IIR 数字滤波器。 设计滤波器的步骤: 1.得到数字指标(Wn 等) 2.双线性变换为模拟低通指标 3.归一化模拟拟指标 4.利用通带衰减与阻带衰减的值求 Butterworth 的阶数 N 及归一 化的模拟系统函数
实 验 目 的
实 验 内 容
第 4 页
华 北 电 力 大 学
实 验 报 告
5.将这个再经过去归一化得到想要的滤波器类型 6.用双线性变换法变为数字滤波器 程序代码: fp=1000;%通带截止频率 fs=1500;%阻带截止频率 Rp=1;Rs=40;Fs=10000; wp=2*pi*fp/Fs;ws=2*pi*fs/Fs; T=1;Fs=1/T;Wp=(2/T)*tan(wp/2);Ws=(2/T)*tan(ws/2);% 数 字 域 转 模 拟 域 %预畸变 [N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');%求得滤波器的阶数 N 与 3DB 点对应的频 率 Wn [Z,P,K]=buttap(N);%建立传递函数 Ha(s)。 [bz,az]=zp2tf(Z,P,K); [b,a]=lp2lp(bz,az,Wn); [B,A]=bilinear(b,a,Fs); [H,w]=freqz(B,A,512);%从帮助里面找到返回的单位是 Hz,而不是 rad/s H=(H(1:501))';w=(w(1:501))'; mag=abs(H);pha=angle(H); subplot(2,1,1);plot(w/pi,mag);ylabel('幅度');xlabel('以\pi 为单位的 频率'); title('幅频特性曲线');grid; subplot(2,1,2);plot(w/pi,pha);title('相频特性曲线'); ylabel('相位');xlabel('以\pi 为单位的频率'); grid;