0 引言
在各种测量和控制电路中,常需要单相或三相正 弦波信号作为基准信号。一个良好的正弦信号源,要 求其输出的基准正弦波信号幅值、频率高度稳定,波形 失真度小,带负载能力强,幅值、频率可调www.cechina.cn,对于三相正 弦信号还要求三相对称度好。传统方法可通过移相网 络直接对模拟信号进行移相,如阻容移相、变压器移相 等,但采用这些方式设计的移相器有许多不足之处。
本文利用DSP技术www.cechina.cn,通过数值迭代方法,即用DSP数 字振荡器的实现原理获得三相正弦波信号,并具有调 整方便灵活、分辨率高等特点。数值迭代方法能精确 计算角度的正弦值,只需较小的存储空间,选择正弦周 期中的样点数、改变样点间的延迟,能产生不同频率的 波形控制工程网版权所有,可利用软件改变频率、波形幅度及相位。
1 正弦波及三相正弦相波发生器的DSP数字振荡器 实现原理
利用DSP通过运算,用迭代的方法产生正弦信 号,即数字振荡器。数字振荡器的单位冲击响应为sin ( nωT +θ) ·u ( n) ,即系统在δ( n)的激励下产生振荡, 输出相位为θ的正弦序列, 该系统的系统函数就是冲 击响应的Z变换,即:
H ( z) =
sinθ+ z- 1 sin (ωT -θ)
1 - 2z- 1 cosωT + z- 2
则该系统所对应的差分方程为:
y ( n) = 2cosωT·y ( n - 1) - y ( n - 2) + sinθx ( n) + sin (ωT -θ) x ( n - 1)
通过迭代可由差分方程求出系统的冲击响应。系 统的输入为x ( n) =δ( n) , 初始条件为零。则由差分方程可得:
y ( - 1) = y ( - 2) = 0; y (0) = sinθ;
y (1) = 2cosωT·y (0) + sin (ωT -θ) ;
y (2) = 2cosωT·y (1) - y (0) ;
当n≥3时有: y ( n) = 2cosωT·y ( n - 1) - y ( n - 2) 。在n≥3以后CONTROL ENGINEERING China版权所有, y ( n)能用y ( n - 1)和y ( n - 2)算 出,这是一个递归的差分方程。因此得到如下结论:只 要已知系统输出正弦信号角频率ω和采样周期T就 可以得到系统差分方程,系统只需每隔T秒时间计算 一次差分方程, 就可得到当前正弦采样序列y ( n )的 值。设定的y ( 1) 、y ( 2)初值不同, 初始相位就不同。 在设计中,主程序通过键盘输入频率幅值等数据www.cechina.cn,在初 始化时依输出信号频率、采样速率及幅值等数据先计 算出3路正弦信号的初始值y1 ( 1) 、y1 ( 2) 、y1 ( 3)和 y2 (1) 、y2 (2) 、y2 ( 3) , 然后开放定时器中断。以后每 次进入定时器中断服务程序时,利用前面的y1 ( 1) 、y1 (2) 、y1 (3)和y2 ( 1) 、y2 ( 2) 、y2 ( 3) , 计算出新的y1 (0) 、y2 (0) 、y3 (0) 。虽然计算并输出y1 (0) 、y2 ( 0)和 y3 (0)之间有一定的延迟, 但由于DSP的高速流水线 运行