2005 年第 12 期
文章编号 :1001 - 2265(2005) 12 - 0075 - 02
·控制与检测·
基于 DSP 的正弦信号失真度测量
崔艳 , 杨燕翔
(西华大学 电气信息学院 , 成都 610039)
摘要 :文章提出了一种基于数字处理芯片 DSP 和 CPLD 为基本结构的采用快速傅立叶变换来实现对正弦信号失真度的测
量方法 。通过 DDS 芯片 AD9851 来产生相对于输入信号 64 倍频的高精度采样信号 。由于 DSP 芯片为 FFT 算法提供的快速
专用指令使得程序在快速性和测量精确性方面有很大提高 。
关键词 :失真度 ; DSP ; DDS ; FFT; CPLD
中图分类号 :TM935. 24 文献标识码 :A
The Measurement for the Distortion Factor of Sine Wave Based on DSP
CUI Yan , YANG Yan
xiang
(School of Electric and Information Engineering ,Xihua University , Chengdu 610039 ,China)
Abstract : This paper gives a method of based on the DSP and CPLD to work out the distortion of sine wave. Through the DDS CMOS chip
AD9851 , the system produces a 64 points sampling signal. As the DSP CMOS chip provides many special instructions to FFT , the program
has large improvement in speediness and exactness.
Key words : distortion factor ; DSP ; DDS ; FFT; CPLD
0 引言
振动信号 、电力系统信号和工业控制中的激励信号和输出
信号的波形纯正性的检测是普遍而必要的 。常用的失真度检测
仪器测量原理大致可分为二大类 :基波剔除法和频谱分析法 。
一般模拟式的测量仪采用基波剔除法但其缺点是需要提供未失
真的基波信号而且其低频测量精度低 。频谱分析法是用频率分
析仪测量各次谐波的方法计算出波形失真度 ,但采用此钟方法
的仪器价格较昂贵 。数字频谱分析法也属于频谱分析法 ,其原
理是采用计算机对被测信号进行采集通过一定的算法实现失真
度的测量 。常用的计算失真度的方法有曲线拟合法和傅立叶分
析法 。由于 DSP 芯片的特殊总线结构和特殊指令使得 FFT 算法
实现起来非常简单而且精确度很高所以本文采用快速付立叶变
换来求出信号的基波和各次谐波的电压有效值 ,从而得到失真
度值 。
1 测量原理
失真度可以被定义为被测信号中各次谐波的总有效值电压
与被测信号中基波的有效值的比值 。用下式表示 :
A0
2
为正弦波中的直流分量 , An 为第 n 次谐波的振幅 , n 为谐
波次数 ,ω0 为基波的角频率 ,φn 为第 n 次谐波相对于基波的初
相角 。正弦波的振幅和有效值的关系是 :
vn =
An
2
因此 ,正弦波的失真度的表达式为 :
(3)
2
+
A2
2
Kf =
2
+ L +
2
An
2
A3
2
A1
2
由此可知只要通过 FFT 算法求得基波和各次谐波的有效值再代
入式 (4) 即可得到失真度值 。
通常用于计算机处理的傅立叶变换方法是快速傅立叶变换
(FFT) 。快速傅立叶变换 (FFT) 比直接傅立叶变换 (DFT) 在计算
量上要小很多 。如果设计算的采样序列点数为 N 。DFT 的复数
乘法次数是 N2 次 , FFT的复数乘法次数是 N
log2 N 次 。由此可以
2
看出 ,在 N 值越大时 FFT 比 DFT 越快 。本设计使用的是 FFT 的
反序输入顺序输出时间抽取的 FFT 算法 。
D =
谐波的总有效值
基波的有效值 =
式中 A1 —基波的有效值
∞
∑
A2
n
n =2
A1
An —第 n 次谐波的有效值 。
将式 (1) 所得的正弦周期信号展成傅立叶级数 , 设周期信
号为 f ( t) ,其傅立叶展开式为 :
f ( t) =
∞
A0
2 + ∑
n =1
Ansin ( nω0 t + φn)
(2)
(1)
2 系统硬件
2. 1 主要芯片简介
TMS320VC5402 芯片是 TI 公司生产的第五代芯片之一 ,专
用的硬件乘法器和特殊的 DSP 指令使 FFT 算法的实现快速简
单 。TMS320VC5402 指令速度为 100MIPS ,片内 4K ×16 bit ROM
和片内 16K×16 bit 的双存取 ROM ,片内锁向环 ,2 个多通道带缓
冲同步串口和 8 位 HPI 接口能高速 ,双向的与其他串行接口器
件通信 。在本系统中将其作为处理器完成对 AD9851 方波频率
的控制和 FFT 的算法实现 。
收稿日期 :2005 - 06 - 24
作者简介 :崔艳 (1981 - ) ,女 ,天津市人 ,西华大学电气信息学院硕士研究生 ,主要从事智能仪器和信号处理 , ( E - mail) brofue @sina. com。
57
·控制与检测·
组合机床与自动化加工技术
采用 DDS 直接数字频率合成技术的高集成度产品 AD9851
是由数据输入寄存器 、频率/ 相位寄存器 、具有 6 倍参考时钟倍
乘器的 DDS 芯片 、10 位的模/ 数转换器 、内部高速比较器这几个
部分组成 。其中具有 6 倍参考时钟倍乘器的 DDS 芯片是由 32
位相位累加器 、正弦函数功能查找表 、D/ A 变换器以及低通滤波
器集成到一起 。这个高速 DDS 芯片时钟频率可达 180MHz , 输
出频率可达 70 MHz ,分辨率为 0. 04Hz。通过软件编程方式控制
频率控制字得到所需频率的正弦波形 ,在本系统中主要用于生
成相对于基波 64 倍频的采样信号 ,AD9851 内有高速比较器 ,将
输出的正弦波由引脚 VOUTP 输出得到稳定性很好的方波 。
2. 2 系统框图
本系统以 DSP 为处理器 ,主要用于测量 2Hz 至 200kHz 信号
的峰值电压和基频 ,然后根据测量结果产生 DDS 的频率控制字
同时控制幅度调节电路队信号幅值调节实器不超过 A/ D 的测
量范围 ,采样信号的基准是对被测信号进行一周期的 64 点采样
即产生 64 倍频信号作为采样信号 ,此采样信号加到 A/ D 转换
芯片 ,由 DSP 控制 CPLD 产生控制信号控制采样 ,采样数据送到
DSP 的存储单元 ,从而进行 FFT 和失真度计算 ,结果送 LCD 显
示 ,如图 1 所示 。
图 1 系统框图
3 单元模块设计
3. 1 测频模块
在此测量系统中 ,基频的测量精度直接影响到倍频的精度
从而对失真度测量精度有很大影响 ,本测量系统采用计数器和
DSP 内部定时器相结合的方法用软件控制来测量频率 , 对低频
信号采用测周法即以被测信号作为门控阀门信号以 CPU的时钟
周期 Tc 在被侧信号的一个周期内填充 ,由程序控制开关对时钟
计数得 nx ,因此被测信号周期为 Tx = nx Tc 。对于高频信号采用
内部定时器定时 ,外部计数器对被测信号进行计数 ,设定时时间
为 t ,计数值为 N ,被测信号频率为 f x = N/ t 。所谓高频和低频是
以中界频率来定义的 ,中届频率是以对被测信号采用测频或测
周法测量频率引起的误差相等 。则该信号的频率定义为中届频
率 f 0 = kf c/ nT , k 、n 分别为测频和测周的阀门控制时间的倍数 。
由认为设定测周上限频率 f oh 和测频下限 f ol 频率使 f ol < f o <
f oh ,让测频法和测周法存在一定的回差 , 当进行测量时可在误
差范围内不丢弃本次测量结果并实现量程自动切换 。测频和测
周自动切换流程图如图 2 所示 。
3. 2 采样信号模块
采样信号的产生是本设计的一个重点 ,传统的设计方法多
采用锁相环来实现对输入信号的倍频即获得采样信号 ,但其倍
频范围小 , 若用在此设计中则需要设计多路倍频电路来对应不
67
图 2 切换流程图
同频段 , 所以本设计 采
用了一片 DDSAD9851 芯
片 来 实 现 对 2HZ ~
200KHZ 的 信 号 实 现 64
倍频 , 其实现过程是 由
DSP 测出输入信号频率
后用软件编程产生 5 个
8 位 的 控 制 字 送 入
DDSAD9851 的相应寄存器并使能其内部的比较器得到稳定的方
波信号即采样信号 。波形精度和稳定性远远高于锁相环倍频电
路 。图 3 为 TMS320VC5402 和 AD9851 的接口框图 。
3. 3 FFT 算法结构框图
图 3 接口框图
离散信号 x ( n) 的傅里叶变换可以表示为
X ( k) = ∑
x ( n) Wnk
N k = 0 ,1 ,2 , ……, N - 1
N - 1
n =0
式中 WN = e - j2π/ N , 称为旋转因子 , 上式
实际是 N 点 DFT ,所谓 FFT就是对该式进
行快速计算 。本系统使用倒序输入顺序
输出的基 2 的快速傅里叶变换 。在程序
执行前将所需数据和旋转因子表计算出
来 ,计算式直接索引即可 。流程图如图 4
所示 。
4 结论
(1) TMS320VC5402 芯片的特殊指令
MAC 乘法/ 累加指令和位反向寻址 ,使得
FFT 算法在 DSP 芯片上实现的速度非常快 。
图 4 流程图
(2) DDS 芯片 AD9851 的应用使得在一个周期内能均匀的
采样 64 点 ,提高了测量精度 。
(3) CPLD 的使用减少了系统体积 ,使设计由很大灵活性 ,
便于改进和扩展 。
[参考文献 ]
1 清源科技 . TMS320C54xDSP 硬件开发教程 M . 北京 :机械工
业出版社 ,2003.
2 刘益成. TMS320C54xDSP 软件程序设计与开发 M . 北京 :北
京航空航天大学出版社 ,2002.
3 郭勇等. DDS 芯片 AD9851 及其应用J . 电子技术 ,2001 (2) .
4 张雪平. 单片机提高频率测量精确度的新方法 J . 微型计
算机应用 ,2004 (1) .
(编辑 赵蓉)