《数字信号处理》实验指导书
- 格式:doc
- 大小:407.50 KB
- 文档页数:17
数字信号处理实验指导书实验一离散时间与系统的傅立叶分析一、实验目的用傅立叶变换对信号和系统进行频域分析。
二、实验原理对信号进行频域分析就是对信号进行傅立叶变换。
对系统进行频域分析即对它的单位脉冲响应进行傅立叶变换,得到系统的传输函数。
也可以由差分方程经过;傅立叶变换直接求它的传输函数。
传输函数代表的就是系统的频率响应特性。
但传输函数是ω的连续函数,计算机只能计算出有限个离散频率点的传输函数值,因此得到传输函数以后,应该在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 表示。
《数字信号处理实验》实验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 转换为级联型结构。
数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(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)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。
实验一 采样率对信号频谱的影响一、实验目的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 应取得大一些,以便观察谱的细节变化。
数字信号处理实验指导书山东建筑大学信息与电气工程学院目录引言 (1)关于实验用计算机语言 (2)实验一信号、系统及系统响应 (3)实验二用FFT作谱分析 (7)实验三用双线性变换法设计IIR数字滤波器 (9)实验四用窗函数法设计FIR数字滤波器 (11)实验五IIR、FIR数字滤波器 (13)引言引言数字信号处理是一门理论和实践密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,作上机实验。
上机实验可以帮助读者深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
第一、二章是全书的基础内容。
采样定理、时域离散系统的时域和频域分析以及系统对输入信号的响应是重要的基本内容。
通过实验一可以帮助读者掌握以上重点内容,加深对数字信号处理实质的理解。
第三、四章DFT、FFT是数字信号处理的重要数学工具,它有广泛的使用内容。
通过实验二可以加深理解DFT的基本概念、基本性质以及FFT快速算法。
数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。
学习这一部分时,应重点掌握IIR和FIR两种不同数字滤波器的基本设计方法。
实验三、实验四和实验五可以帮助理解和巩固这部分内容。
关于实验用计算机语言关于实验用计算机语言MATLAB是一种交互式的以矩阵为基本数据结构的系统。
在生成矩阵对象时,不要求明确的维数说明。
所谓交互式,是指MATLAB的草稿纸编程环境。
与C语言或FORTRON语言作科学数值计算的程序设计相比较,利用MATLAB可节省大量的编程时间。
另外,MATLAB的工具箱及图形显示功能,可以满足各层次人员直观、方便的进行分析、计算和设计工作,从而可以大大节省时间。
例如,序列的卷积、滤波,系统函数的幅频特性和相频特性等计算,均有现成的工具箱函数。
由于上述特点,MATLAB已成功地用于数字信号处理课程中的问题分析、实验、滤波器设计及计算机模拟。
实验一 信号、系统及系统响应1. 实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2) 熟悉时域离散系统的时域特性。
(3) 利用卷积方法观察分析系统的时域特性。
(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
2. 实验原理与方法采样是连续信号数字处理的第一个关键环节。
对一个连续信号()a x t 进行理想采样的过程可用(1.1)式表示。
()()()ˆa a xt x t p t =⋅ (1.1) 其中()t xa ˆ为()a x t 的理想采样,()p t 为周期冲激脉冲,即 ()()n p t t nT δ∞=-∞=-∑ (1.2)()t xa ˆ的傅里叶变换()j a X Ω为 ()()s 1ˆj j j a a m X ΩX ΩkΩT ∞=-∞=-∑ (1.3)将(1.2)式代入(1.1)式并进行傅里叶变换,()()()j ˆj e d Ωt a a n X Ωx t t nT t δ∞∞--∞=-∞⎡⎤=-⎢⎥⎣⎦∑⎰()()j e d Ωt a n x t t nT t δ∞∞--∞=-∞=-∑⎰()j eΩnTan x nT ∞-=-∞=∑ (1.4)式中的()a x nT 就是采样后得到的序列()x n , 即()()a x n x nT =()x n 的傅里叶变换为 ()()j j eenn X x n ωω∞-=-∞=∑ (1.5)比较(1.5)和(1.4)可知(1.6)为了在数字计算机上观察分析各种序列的频域特性,通常对()j e X ω在[]0,2π上进行M 点采样来观察分析。
对长度为N 的有限长序列()x n ,有()()1j j 0eekk N nn X x n ωω--==∑ (1.7)其中2π,0,1,,1k k k M Mω==⋅⋅⋅- 一个时域离散线性非移变系统的输入/输出关系为()()()()()m y n x n h n x m h n m ∞=-∞=*=-∑ (1.8)上述卷积运算也可以在频域实现()()()j j j e e e Y X H ωωω= (1.9)3. 实验内容及步骤(1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2) 编制实验用主程序及相应子程序。
① 信号产生子程序, 用于产生实验中要用到的下列信号序列: a . 采样信号序列:对下面连续信号:()()()0e sin at a x t A Ωt u t -=进行采样, 可得到采样序列:()()()()0e sin anT a a x n x nT A ΩnT u n -== , 0n ≤<50 其中A 为幅度因子,a 为衰减因子,Ω0是模拟角频率,T 为采样间隔。
这些参数都要在实验过程中由键盘输入,产生不同的()a x t 和()a x n 。
b . 单位脉冲序列:()()b x n n δ=c. 矩形序列: ()(),10c N x n R n N ==② 系统单位脉冲响应序列产生子程序。
本实验要用到两种FIR 系统。
a . ()()10a h n R n =b . ()()()()()2.51 2.523b h n n n n n δδδδ=+-+-+-③ 有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。
可以直接调用MATLAB 语言中的卷积函数conv 。
conv 用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。
调用格式如下:y=conv (x, h) 其中参数x 和h 是两个已赋值的行向量序列。
(3) 运行实验程序,完成下述实验内容:① 分析采样序列的特性。
产生采样信号序列()a x n ,使图1.1给出了连续信号()a x t 的幅频特性曲线。
a . 取采样频率s 1F =kHz (1000),即T =1ms 。
观察所得采样()a x n 的幅频特性()j e X ω和图1.1中的()j a X Ω,在折叠频率附近有无明显差别。
b . 改变采样频率,s 300F =Hz ,观察()j e X ω的变化,并做记录(打印曲线); 进一步降低采样频率,s 200F =Hz ,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的()j e X ω曲线。
② 时域离散信号、系统和系统响应分析。
a. 观察信号()b x n 和系统()b h n 的时域和频域特性;利用线性卷积求信号()b x n 通过系统()b h n 的响应()y n ,比较所求响应()y n 和()b h n 的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
b. 观察系统()a h n 对信号()c x n 的响应特性。
利用线性卷积求系统响应()y n ,并判断()y n 图形及其非零值序列长度是否与理论结果一致,对()()()10c a x n h n R n ==,说出一种定性判断()y n 图形正确与否的方法。
调用序列傅里叶变换数值计算子程序,求得()j e Y ω,观察()j e k Y ω特性曲线,定性判断结果的正确性。
改变()c x n 的长度,取5N =,重复该实验。
注意参数变化的影响,图1.1 ()a x t 的幅频特性曲线10.80.60.40.200100200300400500x a (j f )f /Hz说明变化前后的差异,并解释所得结果。
③ 卷积定理的验证。
将实验②中的信号换成()a x n ,使0.4a =,0 2.0734Ω=,1A =,1T =,重复实验②a ,打印()j e k Y ω曲线;对主程序作简单修改,按式(1.9)计算()()()j j j e e e k k k a b Y X H ωωω=⋅,并绘出()j e k Y ω曲线,与前面直接对()y n 进行傅里叶变换所得幅频特性曲线进行比较,验证时域卷积定理。
4. 思考题(1) 在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅里叶变换频谱的数字频率度量是否都相同?它们所对应的模拟频率是否相同?为什么?(2) 在卷积定理验证的实验中,如果选用不同的频域采样点数M 值,例如, 选M =10和M =20,分别做序列的傅里叶变换,求得()()()j j j e e e ,0,1,,1k k ka b Y X H k M ωωω==⋅⋅⋅-所得结果之间有无差异?为什么? 5. 实验报告要求(1) 简述实验目的及实验原理。
(2) 按实验步骤附上实验过程中的信号序列、系统单位脉冲响应及系统响应序列的时域和幅频特性曲线,并对所得结果进行分析和解释。
(3) 总结实验中的主要结论。
(4) 简要回答思考题。
实验二 用FFT 作谱分析1. 实验目的(1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。
(2) 熟悉FFT 算法原理和FFT 子程序的应用。
(3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
2. 实验步骤(1) 复习DFT 的定义、性质和用DFT 作谱分析的有关内容。
(2) 复习FFT 算法原理与编程思想,并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。
(3) 编制信号产生子程序, 产生以下典型信号供谱分析用:1423()()1,03()8470403()3470x n R n n n x n n n n n x n n n =⎧+≤≤⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩456π()cos 4π()sin 8()cos8πcos16πcos 20πx n nx n n x t t t t===++(4) 编写主程序。
(5) 按实验内容要求,上机实验,并写出实验报告。
3. 上机实验内容(1) 对 2 中所给出的信号逐个进行谱分析。
下面给出针对各信号的FFT 变换区间N 以及对连续信号x 6(t )的采样频率F s ,供实验时参考。
x 1(n ),x 2(n ),x 3(n ),x 4(n ),x 5(n ):N =8,16x 6(t ):F s =64Hz ,N =16,32,64(2) 令x (n )=x 4(n )+x 5(n ),用FFT 计算8点和16点离散傅里叶变换。
X (k )=DFT[ x (n ) ](3) 令x (n )=x 4(n )+j x 5(n ), 重复(2)。
4. 思考题(1) 在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?(2) 如果周期信号的周期预先不知道,如何用FFT进行谱分析?5. 实验报告要求(1) 简述实验原理及目的。