数字信号处理实验指导书(修订版)
数字信号处理实验指导书(审)
电工电子实验中心实验指导书数字信号处理实验教程二○○九年三月高等学校电工电子实验系列数字信号处理实验教程主编石海霞周玉荣攀枝花学院电气信息工程学院电工电子实验中心内容简介内容简介数字信号处理是一门理论与实践紧密联系的课程,适当的上机实验有助于深入理解和巩固验证基本理论知识,了解并体会数字信号处理的CAD手段和方法,锻炼初学者用计算机和MATLAB语言及其工具箱函数解决数字信号处理算法的仿真和滤波器设计问题的能力。
本实验指导书结合数字信号处理的基本理论和基本内容设计了八个上机实验,每个实验对应一个主题内容,包括常见离散信号的MATLAB产生和图形显示、离散时间系统的时域分析、离散时间信号的DTFT、离散时间信号的Z变换、离散傅立叶变换DFT、快速傅立叶变换FFT及其应用、基于MATLAB的IIR和FIR数字滤波器设计等。
此外,在附录中,还简单介绍了MATLAB的基本用法。
每个实验中,均给出了实验方法和步骤,还有部分的MATLAB程序,通过实验可以使学生掌握数字信号处理的基本原理和方法。
目录绪论 (1)实验一常见离散信号的MATLAB产生和图形显示 (2)实验二离散时间系统的时域分析 (6)实验三离散时间信号的DTFT (9)实验四离散时间信号的Z变换 (14)实验五离散傅立叶变换DFT (18)实验六快速傅立叶变换FFT及其应用 (24)实验七基于MATLAB的IIR数字滤波器设计(设计实验) (30)实验八基于MATLAB的FIR数字滤波器设计(设计实验) (33)附录 (37)参考文献 (40)绪论随着电子技术迅速地向数字化发展,《数字信号处理》越来越成为广大理工科,特别是IT领域的学生和技术人员的必修内容。
数字信号处理是把信号用数字或符号表示成序列,通过计算机或通用(专用)信号处理设备,用数值计算方法进行各种处理,达到提取有用信息便于应用的目的。
数字信号处理的理论和技术一出现就受到人们的极大关注,发展非常迅速。
数字信号处理实验(设计性实验修改)
《数字信号处理》实验指导书(实验报告)Digital Signal Processing Laboratory湛柏明编蒋伟荣审班级:姓名:湖北汽车工业学院电子信息科学系二〇〇六年十二月修订前言《信号与系统》、《数字信号处理》是电子信息类专业的两门主要技术基础课程,是电子信息类专业本科生的必修课程,也是电子信息类专业硕士研究生入学必考课程。
该课程的任务在于研究信号与系统理论的基本概念和基本分析方法,使学生初步认识如何建立信号与系统的数学模型,如何经适当的数学分析求解,并对所得结果给予物理解释,赋予物理意义。
该课程的基本理论和方法大量用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域应用更为广泛。
通过实验,配合《信号与系统》和《数字信号处理》课程的教学、加强学生对信号与系统理论的感性认识、提高学生的综合能力具有重要的意义。
长期以来,《信号与系统》和《数字信号处理》课程一直采用黑板式的单一教学方式,学生仅依靠做习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,严重影响和制约了教学效果。
由于黑板式教学,课程中大量的信号分析结果缺乏可视化的直观表现,学生自己设计系统也不能直观地得到系统特性的可视化测试结果,学生将大量的时间和精力用于繁杂的手工数学运算,而未真正理解所得结果在信号处理中的实际意义。
近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。
通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》和《数字信号处理》中的概念、方法和相应的结果,以图形的形式直观地展现给学生,大大的方便学生迅速掌握和理解教学内容。
然而,我们意识到,按照之前的《信号与系统》和《数字信号处理》课程的各8个实验学时进行实验,实验效果比较不尽如人意,由于实验学时数太少,没有给学生更的时间先去了解MATLAB语言,以至于使实验课流于形式,由于实验学时太少,也导致我们无法安排更为细致的具有综合型和设计型的实验项目。
数字信号处理实验指导书
数字信号处理实验指导书实验一离散时间系统及离散卷积一、实验目的(1)熟悉MA TLAB软件的使用方法。
(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。
(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。
(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。
二、实验内容1、离散时间系统的单位脉冲响应(1)选择一个离散时间系统;(2)用笔进行差分方程的递推计算;(3)编制差分方程的递推计算程序;(4)在计算机上实现递推运算;(5)将程序计算结果与笔算的计算结果进行比较,验证程序运行的正确性;2、离散系统的幅频、相频的分析方法(1)给定一个系统的差分方程或单位取样响应;(2)用笔计算几个特殊的幅频、相频的值,画出示意曲线图;(3)编制离散系统的幅频、相频的分析程序;(4)在计算机上进行离散系统的幅频、相频特性计算,并画出曲线;(5)通过比较,验证程序的正确性;3、离散卷积的计算(1)选择两个有限长序列,用笔计算其线性卷积;(2)编制有限长序列线性卷积程序;(3)利用计算程序对(1)选择的有限长序列进行卷积运算;(4)比较结果验证程序的正确性。
三、实验要求a)自编并调试实验程序,并且,给实验程序加注释;b)按照实验内容完成笔算结果;c)验证计算程序的正确性,记录实验结果。
d) 至少要求一个除参考实例以外的实验结果,在实验报告中,要描述清楚实验结果对应的系统,并对实验结果进行解释说明。
实验二 离散傅立叶变换与快速傅立叶变换一、实验目的1、加深理解离散傅立叶变换及快速傅立叶变换概念;2、学会应用FFT 对典型信号进行频谱分析的方法;3、研究如何利用FFT 程序分析确定性时间连续信号;4、熟悉应用FFT 实现两个序列的线性卷积的方法。
二、实验原理在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier 变换(DFT)。
这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为()()[]()∑==-=10N n nk NWn x n x DFT k X 10-≤≤N k反变换为()()[]()∑==-=-101N n nk N Wk X Nk X IDFT n x 10-≤≤N n有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。
《数字信号处理》实验指导书1
实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。
(2)掌握对常用离散信号的理解与运算实现。
二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。
第二种格式用于生成步长为p的均匀等分的向量。
b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。
第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。
2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。
sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
4. 二维曲线的绘制plot()函数plot()函数是将各个数据点通过连折线的方式来绘制二维图形的,其命令格式有以下几种:c . plot(y)当y 为向量时,以y 的序号作为X 轴,按向量y 的值绘制曲线。
《数字信号处理》上机实验指导书
《数字信号处理》上机实验指导书实验1 离散时间信号的产生1.实验目的数字信号处理系统中的信号都是以离散时间形态存在,所以对离散时间信号的研究是数字信号处理的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
MATLAB 是一套功能强大的工程计算及数据处理软件,广泛应用于工业,电子,医疗和建筑等众多领域。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大的绘图功能,便于用户直观地输出处理结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号的理解。
2.实验要求本实验要求学生运用MATLAB编程产生一些基本的离散时间信号,并通过MATLAB的几种绘图指令画出这些图形,以加深对相关教学内容的理解,同时也通过这些简单的函数练习了MATLAB的使用。
3.实验原理(1)常见的离散时间信号1)单位抽样序列,或称为离散时间冲激,单位冲激:?(n)???1?0n?0 n?0如果?(n)在时间轴上延迟了k个单位,得到?(n?k)即:?1n?k ?(n?k)??0n?0?2)单位阶跃序列n?0?1 u(n)?n?0?0在MATLAB中可以利用ones( )函数实现。
x?ones(1,N);3)正弦序列x(n)?Acos(?0n??)这里,A,?0,和?都是实数,它们分别称为本正弦信号x(n)的振幅,角频率和初始相位。
f0??02?为频率。
x(n)?ej?n4)复正弦序列5)实指数序列x(n)?A?n(2)MATLAB编程介绍MATLAB是一套功能强大,但使用方便的工程计算及数据处理软件。
其编程风格很简洁,没有太多的语法限制,所以使用起来非常方便,尤其对初学者来说,可以避免去阅读大量的指令系统,以便很快上手编程。
值得注意得就是,MATLAB中把所有参与处理的数据都视为矩阵,并且其函数众多,希望同学注意查看帮助,经过一段时间的训练就会慢慢熟练使用本软件了。
《数字信号处理》实验指导书
《数字信号处理》实验指导书实验一离散傅里叶变换一、实验目的(1) 熟悉Matlab的主要操作命令;掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。
(2) 理解离散傅立叶变换是信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。
掌握DFT的理论,通过DFT对典型信号进行的频谱分析,加深对DFT的理解。
(3) 通过对同一信号,作不同点数的FFT,比较其对应的频谱,比较两者的异同点,加深理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。
二、预习要求1、掌握连续信号和离散信号的特点及其运算方法;2、熟悉Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;3、掌握部分Matlab基本数学函数和作图函数的使用。
三、和实验相关的一些功能函数正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*n+phi);方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。
指数信号:A*exp(a*t);矩形脉冲信号:rectpulse(t),rectpulse(t,w);单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n);基本信号运算函数:abs(幅值)、 angle(相角)。
四、实验原理1、有限长序列x(n)的DFT的概念和公式:N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?10?n?N?1《数字信号处理》实验指导书WN?e?j(2?/N)2、FFT算法调用格式是X= fft(x)或 X=fft(x,N)对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。
数字信号处理实验指导书
数字信号处理实验指导书实验一离散时间与系统的傅立叶分析一、实验目的用傅立叶变换对信号和系统进行频域分析。
二、实验原理对信号进行频域分析就是对信号进行傅立叶变换。
对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数。
也可以由差分方程经过;傅立叶变换直接求它的传输函数。
传输函数代表的就是系统的频率响应特性。
但传输函数是ω的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在0~2л之间取许多点,计算这些点的传输函数的值,并取它们的包络,该包络才是需要的频率特性。
当然,点数取得多一些,该包络才能接近真正的频率特性。
注意:非周期信号的频率特性是ω的连续函数,而周期信号的频率特性是离散谱,它们的计算公式不一样,响应的波形也不一样。
三、实验内容‘1.已知系统用下面差分方程描述:y(n)=x(n)十ay(n一1)试在a=0.95和a=一0.5两种情况下用傅立叶变换分析系统的频率特性。
要求写出系统的传输函数和幅度响应,并打印|H(e jw)|~ω曲线。
2.已知两系统分别用下面差分方程描述:y1(n)=x(n)+x(n一1)y2(n)=x(n)一x(n一1)试分别写出它们的传输函数和幅度响应,并分别打印|H(e jw)|~ω曲线。
3.已知信号x(n)=R3(n),试分析它的频域特性,要求打印|H(e jw)|~ω曲线。
4.假设x(n)=a(n),将x(n)以2为周期进行周期延拓,得到x(n),试分析它的频率特性,并画出它的幅频特性。
四、实验用MATLAB函数介绍1.abs功能:求绝对值(复数的模)。
y=abs(x):计算实数x的绝对值。
当x为复数时得到x的模(幅度值)。
当x为向量时,计算其每个元素的模,返回模向量y。
2.angle功能:求相角。
Ph=angle(x):计算复向量x的相角(rad)。
Ph值介于-л和+л之间.3.freqz:计算数字滤波器H(z)的频率响应。
《数字信号处理》实验指导书(完整)
《数字信号处理》实验指导书通信教研室安阳工学院二零零九年三月第1章 系统响应及系统稳定性1.1 实验目的● 学会运用MATLAB 求解离散时间系统的零状态响应;● 学会运用MATLAB 求解离散时间系统的单位取样响应;● 学会运用MATLAB 求解离散时间系统的卷积和。
1.2 实验原理及实例分析1.2.1 离散时间系统的响应离散时间LTI 系统可用线性常系数差分方程来描述,即∑∑==-=-Mj jN i i j n x b i n y a 00)()( (1-1) 其中,i a (0=i ,1,…,N )和j b (0=j ,1,…,M )为实常数。
MATLAB 中函数filter 可对式(13-1)的差分方程在指定时间范围内的输入序列所产生的响应进行求解。
函数filter 的语句格式为y=filter(b,a,x)其中,x 为输入的离散序列;y 为输出的离散序列;y 的长度与x 的长度一样;b 与a 分别为差分方程右端与左端的系数向量。
【实例1-1】 已知某LTI 系统的差分方程为)1(2)()2(2)1(4)(3-+=-+--n x n x n y n y n y试用MATLAB 命令绘出当激励信号为)()2/1()(n u n x n=时,该系统的零状态响应。
解:MATLAB 源程序为>>a=[3 -4 2];>>b=[1 2];>>n=0:30;>>x=(1/2).^n;>>y=filter(b,a,x);>>stem(n,y,'fill'),grid on>>xlabel('n'),title('系统响应y(n)')程序运行结果如图1-1所示。
1.2.2 离散时间系统的单位取样响应系统的单位取样响应定义为系统在)(n 激励下系统的零状态响应,用)(n h 表示。
数字信号处理实验指导书
j j
括幅频特性和相频特性)曲线。并将其和第 4 步中得到的结果进行比较。
七. 实验报告内容与要求
1. 简述实验目的、实验原理及实验方法和步骤。 2. 对各实验所得结果进行分析和解释。 3. 打印程序清单和要求的各信号波形。 4. 总结实验中的主要结论。 5. 简要回答思考题。
八. 思考
1. 信号的频域特性即信号的傅立叶变换利用 MATLAB 程序如何实现? 2. 信号的频域特性即频率响应函数 H (e ) 利用 MATLAB 程序如何求取?
4
X (e j ) FT [ x(n)]
n
x ( n) e
j n
(2.1)
序列和信号的傅立叶变换是ω的连续函数, 而计算机只能计算出有限个离散频率点的 函数值。因此在取得频谱函数后,应该在 0~2π之间取许多点,计算这些点的频谱函数 的值,并取它们的包络,该包络才是需要的频率特性。当然,点数取得多一些,该包络才
y(n) 0.05 x(n) 0.05 x(n 1) 0.9 y(n 1) 的响应 y2 (n) ,并绘出 y2 (n) 的时域特性曲
线。
( n) ,并绘出 y1 ( n) 的 5. 利用卷积函数 conv () 求信号 x1 ( n) 通过系统 h1 (n) 的响应 y1
j 能接近真正得频率特性。通常对 X (e ) 在[0,2π]上取模 X (e ) ,绘出幅频特性曲
j
线进行观察分析。系统的频域特性,通常是指求系统频率响应函数 H (e ) ,即系统单位 脉冲响应 h(n)的傅里叶变换。 对于线性时不变时域离散系统,当系统的输入序列为 x(n) ,系统的单位脉冲响应为 为 h(n) ,则线性时不变系统的输出序列为
《数字信号处理实验》指导书
《数字信号处理实验》实验1 常用信号产生实验目的:学习用MATLAB编程产生各种常见信号。
实验内容:1、矩阵操作:输入矩阵:x=[1 2 3 4;5 4 3 2;3 4 5 6;7 6 5 4]引用 x的第二、三行;引用 x的第三、四列;求矩阵的转置;求矩阵的逆;2、单位脉冲序列:产生δ(n)函数;产生δ(n-3)函数;3、产生阶跃序列:产生U(n)序列;产生U(n-n0)序列;4、产生指数序列:x(n)=0.5n⎪⎭⎫⎝⎛4 35、产生正弦序列:x=2sin(2π*50/12+π/6)6、产生取样函数:7、产生白噪声:产生[0,1]上均匀分布的随机信号:产生均值为0,方差为1的高斯随机信号:8、生成一个幅度按指数衰减的正弦信号:x(t)=Asin(w0t+phi).*exp(-a*t)9、产生三角波:实验要求:打印出程序、图形及运行结果,并分析实验结果。
实验2 利用MATLAB 进行信号分析实验目的:学习用MATLAB 编程进行信号分析实验内容:1数字滤波器的频率响应:数字滤波器的系统函数为:H(z)=21214.013.02.0----++++z z z z , 求其幅频特性和相频特性:2、离散系统零极点图:b =[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];画出其零极点图3、数字滤波器的冲激响应:b=[0.2 0.1 0.3 0.1 0.2];a=[1.0 -1.1 1.5 -0.7 0.3];求滤波器的冲激响应。
4、 计算离散卷积:x=[1 1 1 1 0 0];y=[2 2 3 4];求x(n)*y(n)。
5、 系统函数转换:(1)将H(z)=)5)(2)(3.0()1)(5.0)(1.0(------z z z z z z 转换为直接型结构。
(2)将H (z )=3213210.31.123.7105.065.06.11-------+--+-zz z z z z 转换为级联型结构。
《数 字 信 号 处 理》 实 验 指 导 书PPT文档共55页
3、法律是最保险的头盔。——爱·科 克 4、一个国家如果纲纪不正,其国风一 定颓败 。—— 塞内加 5、法律不能使人人平等,但是在法律 面前人 人是平 等的。 ——波 洛克
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
《数字信号处理》实验指导书
实验一 采样率对信号频谱的影响一、实验目的1.理解采样定理; 2.掌握采样频率确定方法; 3.理解频谱的概念; 4.理解三种频率之间的关系。
二、实验原理理想采样过程是连续信号x a (t )与冲激函数串M (t )的乘积的过程∑∞-∞=-=k skT t t M )()(δ (1))()()(ˆt M t x t xa a = (2) 式中T s 为采样间隔。
因此,理想采样过程可以看作是脉冲调制过程,调制信号是连续信号x a (t ),载波信号是冲激函数串M (t )。
显然)()()()()(ˆs k s ak s aa kT t kT xkT t t xt x-=-=∑∑∞-∞=∞-∞=δδ (3)所以,)(ˆt xa 实际上是x a (t )在离散时间kT s 上的取值的集合,即)(ˆs a kT x 。
对信号采样我们最关心的问题是,信号经过采样后是否会丢失信息,或者说能否不失真地恢复原来的模拟信号。
下面从频域出发,根据理想采样信号的频谱)(ˆΩj X a和原来模拟信号的频谱)(Ωj X 之间的关系,来讨论采样不失真的条件∑∞-∞=Ω-Ω=Ωk ssakj j X T j X )(1)(ˆ (4)上式表明,一个连续信号经过理想采样后,其频谱将以采样频率Ωs =2π/T s 为间隔周期延拓,其频谱的幅度与原模拟信号频谱的幅度相差一个常数因子1/T s 。
只要各延拓分量与原频谱分量之间不发生频率上的交叠,则可以完全恢复原来的模拟信号。
根据式(4)可知,要保证各延拓分量与原频谱分量之间不发生频率上的交叠,则必须满足Ωs ≥2Ω。
这就是奈奎斯特采样定理:要想连续信号采样后能够不失真地还原原信号,采样频率必须大于或等于被采样信号最高频率的两倍h s Ω≥Ω2,或者h s f f 2≥,或者2hs T T ≤(5) 即对于最高频率的信号一个周期内至少要采样两点,式中Ωh 、f s 、T h 分别为被采样模拟信号的最高角频率、频率和最小周期。
数字信号处理实验指导书
实验一 信号、系统及系统响应1、实验目的:(1)熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2、实验仪器:PC 机一台 MATLAB 软件 3、实验原理:采样是连续信号数字处理的第一个关键环节。
对一个连续信号)(t x a 进行理想采样的过程可用下式表示。
)()()(ˆt p t x t xa a = 其中)(ˆt xa 为)(t x a 的理想采样,)(t p 为周期冲激脉冲, 即 ∑∞-∞=-=n nT t t p )()(δ;由频域卷积定理,得)]([1)(ˆs a am j X Tj X Ω-Ω=Ω ※ 上式表明,)(ˆΩj X a为)(Ωj X a 的周期延拓,其延拓周期为采样角频率(T s /2π=Ω)。
采样前后的频谱示意图见课本。
只有满足采样定理时,才不会发生频率混叠失真。
在计算机上用高级语言计算)(ˆΩj X a 很不方便,下面给出用序列的傅里叶变换来计算)(ˆΩj X a的方法。
课本中(2.4.7)式∑∞-∞=-=r ajwr TT w j X T e X )]2([1)(π,表示序列的傅里叶变换)(jwe X 和模拟信号)(t x a 的傅里叶变换)(Ωj X a 之间的关系式。
与※式比较,可得T w jw a e X j X Ω==Ω|)()(ˆ,这说明两者之间只在频率度量上差一个常数因子T 。
实验过程中应注意这一差别。
为了在数字计算机上观察分析各种序列的频域特性,通常对)(jwe X 在[]π2,0上进行M 点采样来观察分析。
对长度为N 的有限长序列x(n), 有∑-=-=1)()(N n n jw jw k ke n x eX其中 1,,1,02-==M k k Mw k ,π通常M 应取得大一些,以便观察谱的细节变化。
《数字信号处理》实验指导书-新
实验一:离散时间序列卷积和MATLAB实现实验学时:2实验类型:验证实验要求:必修(一)实验目的:学会用MATLAB对信号与系统分析的方法,理解离散序列卷积和的计算对进行离散信号与系统分析的重要性。
(二)实验原理:1、离散时间序列f1(k)和f2(k)的卷积和定义:f(k)=f1(k)*f2(k)=∑∞-∞=-∙iikfif)(2)(12、在离散信号与系统分析中有两个与卷积和相关的重要结论:a、f(k)= ∑∞-∞=-∙iikif)()(δ=f(k)* δ(k)即离散序列可分解为一系列幅度由f(k)决定的单位序列δ(k)及其平移序列之积。
b、对线性时不变系统,设其输入序列为f(k),单位响应为h(k),其零状态响应为y(k),则有:y(k)= ∑∞-∞=-∙iikhif)()((三)实验内容:conv.m用来实现两个离散序列的线性卷积。
其调用格式是:y=conv(x,h)若x的长度为N,h的长度为M,则y的长度L=N+M-1。
题一:令x(n)= {}5,4,3,2,1,h(n)={}246326,,,,,,y(n)=x(n)*h(n),求y(n)。
要求用subplot和stem画出x(n),h(n),y(n)与n的离散序列图形。
题二:已知序列f1(k)=⎩⎨⎧≤≤其它0201k f2(k)=⎪⎪⎩⎪⎪⎨⎧===其它332211k k k调用conv()函数求上述两序列的卷积和题三:编写计算两离散序列卷积和f(k)=f1(k)*f2(k)的实用函数dconv().要求该程序在计算出卷积和f(k)的同时,还绘出序列f1(k),f2(k)和f(k)的时域波形图,并返回f(k)的非零样值点的对应向量。
function[f,k]=dconv(f1,f2,k1,k2)%f1(k),f2(k)及f(k)的对应序号向量分别为k1,k2和k 。
题四:试用MATLAB 计算如下所示序列f1(k)与f2(k)的卷积和f(k),绘出它们的时域波形,并说明序列f1(k)与f2(k)的时域宽度与序列f(k)的时域宽度的关系。
《数字信号处理》实验指导书(正文)
实验一 离散时间信号分析一、实验目的1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
3.掌握序列的相加、相乘、移位、反褶等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验原理1.序列的基本概念离散时间信号在数学上可用时间序列来表示,其中代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。
离散时间信号可以是由模拟信号通过采样得到,例如对)(t x a 模拟信号进行等间隔采样,采样间隔为T ,得到一个{})(nT x a 有序的数字序列就是离散时间信号,简称序列。
2.常用序列常用序列有:单位脉冲序列(单位采样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。
4.序列的卷积运算∑∞∞-*=-=)()()()()(n h n x m n h m x n y上式的运算关系称为卷积运算,式中代表两个序列卷积运算。
两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
其计算的过程包括以下4个步骤。
(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。
(2)移位:将)(m h -移位n ,得)(m n h -。
当n 为正数时,右移n 位;当n 为负数时,左移n 位。
(3)相乘:将)(m n h -和)(m x 的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。
《数字信号处理》实验指导书
的相角, Ai 就是极点 pi 到单位圆上的点 e jω 的矢量长度(距离),而θ i 就是该矢量 的相角,因此有:
M
∏ B e j(ψ1 +ψ 2 +⋅⋅⋅⋅+ψ M ) j
H (e jω ) =
j =1 N
= H (e jω ) e jϕ (ω )
∏ A e j(θ1+θ2 +⋅⋅⋅⋅+θ N ) i
(1) 设有直流信号 g(t)=1,现对它进行均匀取样,形成序列 g(n)=1。试讨 论若对该序列分别作加窗、补零,信号频谱结构有何变化。 四、实验过程及结果(含程序)
12
13
14
15
16
实验三 IIR 数字滤波器的设计
一、实验目的 (1)掌握双线性变换法及脉冲相应不变法设计 IIR 数字滤波器的具体设计 方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和 带通 IIR 数字滤波器的计算机编程。 (2)观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双 线性变换法及脉冲响应不变法的特点。 (3)熟悉 Butterworth 滤波器、Chebyshev 滤波器和椭圆滤波器的频率特 性
《数字信号处理》
实验指导书
班级: 学号: 姓名: 苏州科技学院 电子教研室
实验一 信号、系统及系统响应
一、实验目的
(1) 熟悉 MATLAB 平台的使用,掌握离散信号、离散系统的 MATLAB 实现。 (2)掌握根据系统函数绘制系统零极点分布图的基本原理和方法。 (3)理解离散系统频率特性分析的基本原理,掌握根据系统函数零极点分布来分 析离散系统频率响应的几何矢量法。
17
变换类型 低通
Байду номын сангаас
数字信号处理实验指导书
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10
12
14
16
18
20
(3)用 impz 函数 a1=[1,0.75,0.125]; b1=[1,-1]; impz(b1,a1,21);
Impulse Response 1.5
1
0.5
Amplitude
0
-0.5
-1
-1.5
-2
0
2
4
6
8
10 12 n (samples)
5
……
程序计算结果: I.
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1]
a. 单位冲激响应: (1) 用 filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');
3. 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分
别用 filter、conv、impz 三种函数完成。
y[n] + 0.75 y[n − 1] + 0.125 y[n − 2] = x[n] − x[n − 1] y[n] = 0.25{x[n − 1] + x[n − 2] + x[n − 3] + x[n − 4]}
数字信号处理实验指导书
实验一DES 综合外设实验1.1实验目的和要求DES320E 提供了键盘,液晶,数码管,直流电机,步进电机,交通灯等外设。
本实验学习这些外设的控制原理。
本实验为大型综合性实验,要求学生掌握DSP编程的基本方法。
通过实验,学生能编写外设控制程序。
例如,使用交通灯和定时器实现十字路口红绿灯的控制,直流电机的调速控制,使用液晶数码管显示和键盘实现计算器等。
1.2实验原理1) C54XX 的I O 空间读写C54XX 提供64K 字的I O 空间访问能力。
在汇编指令中分别提供了读和写命令:portr和p ortw。
你也可以在C中实现该I O 操作,方法如下:首先定义I O 空间变量,如:ioport unsigned portXXXX;/* 其中,XXXX 代表具体I O 口地址*/然后,就可以象访问普通变量一样访问I O 口。
如portXXXX=0x55;/* 将0x55 写到X XXX 指定的I O 口*/2) 交通灯的控制DES320E 提供了 12 个 LED,其控制地址为 IO 空间的 0x0c000h。
该地址的 D0-11比特位分别对应这12 个L ED。
将1写入可以点亮L ED,0 则关闭。
3) 直流电机控制DES320E 实验系统配有一个小型直流电机,可以 DSP 编程完成直流电机的调速控制。
其控制方法为:当向0x0e000h(…VC5402 的I O 空间)的D0 比特位写入1时,电机正向转动;当写入 0 时,电机反向转动。
用户可以通过 D0 位为 1 或 0 的持续时间(即D0 输出方波的占空比)控制电机的转速。
注意,使用直流电机时,应该先接通电机的电源,方法如下:向I O 空间的0x8000 地址的D0 比特位写入1。
若要关闭电源,请写入0。
当写入1或0时,你可以听到继电器动作的声音。
4) 步进电机的控制DES320E 实验系统还配有一个步进电机。
IO 空间的0x0f000h 的D0,D1,D2,D3 四个比特位分别对应步进电机的四相驱动端。
数字信号处理实验指导书(修订版)
目录实验一卷积实验 (1)实验二DFT和FFT实验 (5)实验三用双线性变换法设计IIR数字滤波器 (11)实验四用窗函数法设计FIR数字滤波器 (16)实验一卷积实验一.实验目的1.熟悉离散信号和系统的MATLAB 表示和产生方法;2.熟悉线性卷积的MATLAB编程方法;3利用卷积方法观察分析系统的时域特性。
二实验原理(一) 离散时间信号的MATLAB表示序列x(n)={2,6,1,2,0,3,4,5,6},用MATLAB语句表示为:n=[-4 -3 -2 -1 0 1 2 3 4];x=[ 2 6 1 2 0 3 4 5 6];其中:n表示取样时间点,x表示对应时间点的值。
如果不需要采样位置信息或这个信息是多余的时候(例如序列从n=0开始),用户可以只使用x向量来表示序列。
1.单位样值序列产生函数IMPSEQ.Mfunction[x,n]=impseq(n0,n1,n2)%产生x(n)=delta(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)==0];在命令行窗口里执行:>>x= impseq(20,0,100);>> stem(x)有:2.单位阶跃序列产生函数STEPSEQ.Mfunction[x,n]=stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)>=0]; 在命令行窗口里执行:>>x=stepseq(20,0,100);>> stem(x)有:3正余弦信号的产生:% x(n)=1.5cos(0.02*pi*n) -150<=n<=150 n=-150:150x=1.5*cos(0.02*pi*n);stem(n,x)4.产生均值为0,方差为1的高斯随机噪声序列。
n=-150:150;Noise=randn(1,301);stem(n, Noise)(二) 序列的卷积一个线性系统一般应满足下式:y(n)=T[x(n)]由数字信号处理理论可知,线性系统的脉冲响应即为h(n),上式一般称为线性卷积,一般可以表示为:y(n)=x(n)*h(n)如果任意序列是无限长度的,就不能用MATLAB来直接计算卷积。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录实验一卷积实验 (1)实验二DFT和FFT实验 (5)实验三用双线性变换法设计IIR数字滤波器 (11)实验四用窗函数法设计FIR数字滤波器 (16)实验一卷积实验一.实验目的1.熟悉离散信号和系统的MATLAB 表示和产生方法;2.熟悉线性卷积的MATLAB编程方法;3利用卷积方法观察分析系统的时域特性。
二实验原理(一) 离散时间信号的MATLAB表示序列x(n)={2,6,1,2,0,3,4,5,6},用MATLAB语句表示为:n=[-4 -3 -2 -1 0 1 2 3 4];x=[ 2 6 1 2 0 3 4 5 6];其中:n表示取样时间点,x表示对应时间点的值。
如果不需要采样位置信息或这个信息是多余的时候(例如序列从n=0开始),用户可以只使用x向量来表示序列。
1.单位样值序列产生函数IMPSEQ.Mfunction[x,n]=impseq(n0,n1,n2)%产生x(n)=delta(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)==0];在命令行窗口里执行:>>x= impseq(20,0,100);>> stem(x)有:2.单位阶跃序列产生函数STEPSEQ.Mfunction[x,n]=stepseq(n0,n1,n2)%产生x(n)=u(n-n0);n1<=n<=n2;n=[n1:n2];x=[(n-n0)>=0]; 在命令行窗口里执行:>>x=stepseq(20,0,100);>> stem(x)有:3正余弦信号的产生:% x(n)=1.5cos(0.02*pi*n) -150<=n<=150 n=-150:150x=1.5*cos(0.02*pi*n);stem(n,x)4.产生均值为0,方差为1的高斯随机噪声序列。
n=-150:150;Noise=randn(1,301);stem(n, Noise)(二) 序列的卷积一个线性系统一般应满足下式:y(n)=T[x(n)]由数字信号处理理论可知,线性系统的脉冲响应即为h(n),上式一般称为线性卷积,一般可以表示为:y(n)=x(n)*h(n)如果任意序列是无限长度的,就不能用MATLAB来直接计算卷积。
MATLAB提供了一个内部函数conv( )来计算两个有限长序列的卷积。
conv( )函数假定两个序列都从n=0开始,调用格式如下所示:y=conv(x,h)例:设x(n)=[2,3,6,5,7,6,4],h(n)=[1,2,1,2,0,1],则 y(n)=x(n)*h(n)可由以下语句实现:x=[2,3,6,5,7,6,4];h=[1,2,1,2,0,1];y=conv(x,h)y =Columns 1 through 82.00 7.00 14.00 24.00 29.00 39.00 36.00 34.00Columns 9 through 1221.00 15.00 6.00 4.00三实验内容1.分别实现单位样值序列产生函数, 单位阶跃序列产生函数, 正余弦信号和高斯随机噪声序列;2.计算线性卷积任意产生有限长序列x1(n)和x2(n),用conv()函数计算它们的线性卷积,会出结果的图形。
3.已知某系统的输入序列为x(n)=0.9n u(n),系统的单位样值响应为h(n)=[1,0.3,1,0.8,0,1],要求:(1)编程产生上述序列;(2)计算序列x(n)输入系统后的响应,绘出0≤n≤100时的输出序列。
四实验报告要求(1) 简述实验目的及实验原理。
(2) 按实验内容要求,给出Matlab 程序,附上实验过程中的信号序列、系统响应序列的图形。
(3) 总结实验中的主要结论。
实验二 DFT 和FFT 实验一.实验目的1加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。
2掌握DFT 、IDFT 的MATLAB 编程方法;3 学习用FFT 对连续信号和时域离散信号进行谱分析的方法, 了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二 实验原理(一) 由傅立叶分析可知,一个周期函数可以由其各个谐波分量的线性组合得到,这就是离散傅级数(DFS)。
将其推广至有限持续时间序列,并产生一个新的变换,这就是离散傅立叶变换(DFT)。
(1)离散傅立叶级数在DSP 理论中定义周期序列)(~n x 满足下式:其中N 为序列的基本周期。
由傅立叶分析可知,周期函数可由复指数的线性组合叠加得到。
其频率为基本频率(在这里为2p /N)的倍数(或谐波)。
因此周期序列)(~n x 可以表示为下式:其中,{)(~k x ,k=0, ±1,…}被称为离散傅立叶级数系数,由下式给出:(2)离散傅立叶变换离散傅立叶级数提供了一种对离散时间傅立叶变换作数值计算的技巧,同时它也提出了时域出现混叠的潜在问题。
数学分析表明对离散时间傅立叶变换的采样,可得到一个周期信号x(n)。
但实际中,大多数信号不具有周期性,它们很可)(~)(~rN n x n x +=∑-=-=102)(~)(~N n kn Nj e n x k X π∑-==102)(~1)(~N k kn N j e k X N n x π能具有有限持续时间。
对这些信号,在数字信号处理理论中,可以通过定义一个周期信号,其基本形状为有限持续时间信号,然后采用此周期信号的DFS 。
实际上,在数字信号处理理论中定义了一个新的变换,叫做离散傅立叶变换(DFT),它是DFS 的主周期。
DFT 为对任意有限持续时间序列可数值计算的傅立叶变换。
(二) IDFT 和DFT 的Matlab 实现函数:DFT.Mfunction[Xk]=dft(xn,N)%计算离散傅立叶变换%Xk 为在0<=n<=N-l 间的DFT 系数数组%xn 为N 点有限持续时间序列%N 为DFT 的长度n=0:N-l;k=0:N-l;WN=exp(-j*2*pi/N);nk=n ’*k;WNnk=WN.^nk;Xk=xn*WNnk;IDFT.Mfunction[xn]=idft(Xk,N)%计算逆离散傅立叶变换%xn 为在0<=n<=N-l 间的N 点有限持续时间序列%Xk 为在0<=k<=N-l 间的DFT 系数数组%N 为DFT 的长度 n=0:N-l;10)(1)]([)(10)()]([)(110-≤≤==-≤≤==∑∑-=--=N n W k X N k X IDFT n x N k W n x n x DFT k X N k nkNN n nk Nk=0:N-l;WN=exp(-j*2*pi/N);nk=n’*k;WNnk=WN.^(-nk);xn = Xk *WNnk/N;(三) 用DFT或FFT分析信号的频谱x(n)=c o s(0.48πn)+s i n(0.51πn)分析信号的频谱成分注:M a t l a b中符号π用p i表示产生长为100的时间序列n=[0:1:99];x=c o s(0.48*p i*n)+c o s(0.52*p i*n);a.抽取10点序列并做10点DFT,显示其幅度谱n1=[0:1:9];y1=x(1:1:10);Y1=dft(y1,10);magY1=abs(Y1(1:1:6));k1=0:1:5;w1=2*pi/10*k1;subplot(2,2,1);stem(w1/pi,magY1);title('10点DFT');xlabel('fequency in pi units');b.时间序列添加90个0,做100点的DFT观察其幅度谱n2=[0:1:99];y2=[x(1:1:10),zeros(1,90)];Y2=dft(y2,100);magY2=abs(Y2(1:1:51));k2=0:1:50;w2=2*pi/100*k2;subplot(2,2,3);plot(w2/pi,magY2);title('补零后频谱');xlabel('fequency in pi units');运行结果如下:c.增加抽样点数,做100点的DFT观察其幅度谱n3=[0:1:99];y3=x(1:1:100);Y3=dft(y3,100);magY3=abs(Y3(1:1:51));k3=0:1:50;w3=2*pi/100*k3;subplot(2,2,4);plot(w3/pi,magY3);title('增加抽样点数后频谱');xlabel('fequency in pi units');思考: 比较上述实验结果,可以得出什么结论?用FFT分析含噪声信号的频谱成分N=256; n=[0:1:N-1];x=cos(0.38*pi*n);noise_x=x+randn(1,N);% 产生噪声污染的信号X=fft(noise_x,N);magX=abs(X);figure(2)subplot(3,1,1)plot(x);subplot(3,1,2)plot(noise_x);subplot(3,1,3)k=0:1:N/2-1;w=2*pi/N *k;plot(w/pi,magX(1:N/2));运行结果如右图:三实验内容1.重做上述实验,体验DFT或FFT频谱分析的效果;2.任意产生含噪声的正弦信号,用FFT分析信号的频谱成分;3.在步骤2的基础上,增加信号个数并改变信号或噪声的幅度,观察FFT实验结果可以得出什么结论?四实验报告要求(1) 简述实验目的及实验原理。
(2) 按实验内容要求,给出Matlab 程序,附上实验过程中的信号序列、信号频谱的图形。
(3) 总结实验中的主要结论。
实验三 用双线性变换法设计IIR 数字滤波器一.实验目的1.熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。
2.掌握数字滤波器的计算机仿真方法。
3.通过观察对实际心电图信号的滤波作用,获得数字滤波的感性知识。
二 实验原理数字滤波器从实现的网络结构或者从单位脉冲响应分类,可以分成无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。
它们的系统函数分别为:IIR 滤波器和FIR 滤波器的设计方法是很不相同的。
IIR 滤波器设计方法有两类,经常用的一类设计方法是借助于模拟滤波器的设计方法进行的。
其设计步骤是:先设计模拟滤波器得到传输函数H a (s),然后将H a (s)按某种方法转换成数字滤波器的系统函数H(z),所采用的方法主要有: 脉冲响应不变法和双线性变换法,这里主要采用后者来设计IIR 滤波器.双线性变换法设计IIR 滤波器的具体步骤如下:(1)确定数字低通滤波器的技术指标:通带截止频率ωp 、通带衰减αp 、阻带截止频率ωs 、阻带衰减αs 。