实验五 数字振荡器实验
一、实验目的
本实验属于综合性实验,在项目开发中,我们经常要用产生某一频率的正弦振荡信号,比如在电话通信中,用两个不同频率的正弦信号的叠加来代表按键。正弦信号的生成方法有三种,计算法、查表法和数字振荡器。用计算法求正弦波的离散序列值程序设计容易,但实际应用时会占用计算时间,使系统运行速度变慢。查表法是先通过matlab 将正弦波的序列值计算出来并寄存在存储器中,运行时只要按顺序和一定的速度取出便可。这种方法要占用较多的存储空间,但是速度快。第三种方法是利用数字振荡器来实现不同频率信号的叠加,这种方法通过迭代的方法计算出不同频率的正弦信号序列,结构简单,运算速度快,节省内存,因此在DSP 实际应用中我们选择这种方法。
数字振荡器的本质是,使用一个IIR (Infinite Impulse Response )滤波器,通过把它的极点放在单位圆上面来产生振荡。
利用正弦波sinx 的指数形式
)(21sin jx jx e e j x --=
可以得到正弦序列x(n)的Z 变换为 )(21)sin(][jnwT jnwT e e j T n n x --=
=ϖ 1100
11[()]()(X )2z 2jnwT jnwT n jwT n jwT n n n e e z e z e z j j ∞∞-----==⎡⎤-=-⎣⎦=∑∑() 12jwT jwT z z j z e z e -⎡⎤=-⎢⎥--⎣⎦222122cos()1jwT jwT z ze z ze j z z wT -⎡⎤--+=⎢⎥-+⎣⎦ 22sin()2cos()1z wT Cz z z wT z Az B
==-+--,此式在|z|>1时成立,且)sin(,1),cos(2wT C B wT A =-==。
根据Z 变换的基本原理和性质,序列x[n]及其Z 变换X (z )之间存在一一对应的关系,即对于给定的X (z ),可以通过反Z 变换,唯一地确定x[n]。
因此,产生一个正弦波就等价于利用上式设计一个二阶IIR 滤波器,使其系统传递函数
就是正弦序列x[n]的z 变换。系统传递函数为
211
21)(-----=--=Bz Az Cz B Az z Cz z H 滤波器的极点就是分母02
=--B Az z 的根。
24)(cos 4)cos(224222,1-±=+±=wT wT B A A P =)sin()cos(wT j wT ±
我要评论