C2000 参赛项目报告(命题组)
题 目: 基于 TMS320F2812 的复合频率信号频率计
基于 TMS320F2812 的复合频率信号频率计
摘要:本设计基于 TMS320F2812 DSP 芯片,研制了复合频率信号频率计。利用外
部信号源和设计的加法电路产生叠加信号。将周期图谱分析和频谱校正相结合,实
现对主次信号频率、幅值宽范围、高精度的测量。采用先计算复数 FFT 再转化为实
数 FFT 的算法,减少了数据存储空间,保证系统的实时性。提出二次采样和分段设
置采样频率的方法,通过多次测量取平均值的方法得到最终结果,提高了系统的测
量精度。采用 C2000PWM 模块和开关电容滤波器,准确重建主次信号。系统测试
结果表明本设计是可行的。
关键词:复合频率计,复数 FFT,频谱校正,DSP
Frequency Counter for Complex Frequency Signal based
on TMS320F2812
Liu Cui Xiong Wenjun Zheng Wenxu
(School of Electrical Engineering and Automation,Hefei University of Technology)
Abstract:Frequency counter for complex frequency signal is developed with TMS320-
F2812DSP in our project. The complex signal is produced by the external signal generat-
or and self-designed added circuit. Combining the periodogram spectral analysis with the
spectral correction, the wide range and high-precision measurements of the primary and
secondary signal frequency and magnitude. The method that calculating complex FFT
first and then converting to real FFT is adopted to save the storage and meet the real-time
requirements of the system. In order to improve the measurement precision,a measurem-
ent method is proposed using the twice sampling and different sample frequency accordi-
ng to frequency range,and the final results are obtained by averaging multi-time measur-
ements. Using the PWM output and switch capacitive filter, both primary and secondary
signal are reconstructed accurately.The testing results show that our design is feasible.
Key words:Complex frequency Counter, Complex FFT, Spectral Correction, DSP
目 录
1 引言 ........................................................................................................................................................3
2 系统方案 ................................................................................................................................................3
2.1 总体介绍 ..............................................................................................................................................3
2.2 信号频率及幅值测量原理 ..................................................................................................................3
2.3 采样频率设置 ......................................................................................................................................6
3 系统硬件设计 ........................................................................................................................................8
3.1 信号产生与调理模块 ..........................................................................................................................8
3.2 DSP 信号处理模块...............................................................................................................................9
3.3 通讯显示模块 ....................................................................................................................................10
3.4 电源管理模块 ....................................................................................................................................11
3.5 信号重建模块 ....................................................................................................................................11
4 系统软件设计 ......................................................................................................................................14
4.1 软件总体框图 ....................................................................................................................................14
4.2 主监控程序和中断 ............................................................................................................................14
4.3 采样模块 ............................................................................................................................................16
4.4 频谱分析模块 ....................................................................................................................................16
4.5 串口通讯的软件设计 ........................................................................................................................17
4.6 看门狗模块 ........................................................................................................................................20
4.7 PWM 模块.............................................................................................................................................20
5 系统关键设计与创新 ..........................................................................................................................20
6 评测与结论 ..........................................................................................................................................21
6.1 测试方法与仪器 .................................................................................................................................21
6.2 评 测....................................................................................................................................................21
6.2 结 论....................................................................................................................................................24
7 附录 ......................................................................................................................................................24
7.1 系统实物照片及现场测试................................................................................................................24
7.2 通讯窗口............................................................................................................................................25
8 参考文献 ..............................................................................................................................................25
1 引言
在工业测量中,被测信号往往是含有多个频率参数的复合信号,并且在测定过程中,由于
环境因素、仪器自身等影响,不可避免地含有噪声,因此,如何准确分辨出复合信号的不同频
率成分,对工业测量具有重要的现实意义。
对于单频率测量,主要采用的方法有:直接测频法,直接测周法,组合法,倍频法和高精
度多周期测量法。而对于复合频率信号,以上方法均无法准确分辨出不同的频率成分。
数字信号处理技术的发展为复合频率信号的测量提供了强有力的工具。经典的谱分析算法可
以在频域对不同频率成分的信号进行分析;高速的数字信号处理器(Digital Signal
Processor,简称 DSP)具有高速处理和运算能力,为算法的实时实现提供了保证。本设计基于美
国德州仪器(TI)公司 TMS320F2812 DSP,充分利用 DSP 片上丰富的外设资源并搭建外围输入输出
电路,采用频谱分析算法实现对复合频率信号的频率和幅值的测量。
2 系统方案
本设计的主要任务是测量两个正弦信号的叠加信号
1 1 2 2
( ) 1( ) 2( ) sin(2 ) sin(2 )y t x t x t A f t A f t
p p
= + = +
,
其中,x1 是主信号,幅值为 V(偏置为 0V),频率为:20-20kHz;x2 是次要信号,幅值为主信号
的 1/4-1/6,频率为:20-20kHz;
为了完成以上任务,系统方案设计如下。
2.1 总体介绍
利用外部信号源和自制的加法电路得到叠加的正弦信号。频率测量系统主要由信号调理电
路、DSP模块、电源管理模块、通讯模块和信号重建电路组成,实现叠加的正弦信号不同频率
成分幅值和频率的准确测量和重建。
由信号发生器的两个通道分别产生满足幅值和频率要求的主信号和次信号,通过放大器跟
随输出实现阻抗匹配及隔离作用,经由放大器OPA2134搭建加法电路叠加,产生频率范围为
20~20KHz复合频率信号。利用DSP片内12位AD模块采集复合信号,为了保证AD采样精度,利用
数字电位器AD5259实现输入信号幅值分段放大并且叠加1.5V直流偏置,使得输入信号尽可能接
近ADC满量程。为了进一步提高AD采样的精度,使用外部基准源并且在软件部分采用过采样法;
基于TMS320F2812高速运算的特点,利用频谱分析算法分辨主次信号,测量出信号的频率和幅
值,同时采用频谱校正算法修正非整周期采样的误差,以提高频率和幅值测量精度;最后通过
SCI串行通讯将测量结果送至上位机显示,显示刷新时间为1s。根据测量出的信号频率和幅值,
利用TMS320F2812片内PWM模块和外部滤波电路重建主信号和次信号,为了提高信号重建的精度,
利用开关电容滤波器TLC04实现程控滤波器。
2.2 信号频率及幅值测量原理
叠加的主次信号经过采样后成为离散序列,用快速傅里叶变换(FFT)将信号由时域变换到
频域中进行分析。由于叠加前的输入信号都为正弦信号,根据离散序列选频性可知,频域上幅
值最大的点的幅值和频率对应主信号的幅值和频率,幅值大小次之的点对应次信号。因此可以
求出主次信号频率和幅值。
基于快速傅里叶变换(FFT)的频谱分析算法可以实现复合信号频率和幅值的测量,频率测
量精度通常由频率分辨率
/
s
f f ND =
决定,其中
s
f
为采样频率,
N
为采样点数。为了提高计
算精度,在采样频率满足采样定理
max
2
s
f f³
的条件下(
max
f
为信号最高频率),采用增加采
样点数提高频率分辨率。采样点数增加增大了计算量和存储空间,本设计我们选用计算点数为
2048 点,目前仅采用 F2812 内部存储器,无法满足空间要求,实时性也受到一定影响,需做一
定的改进。我们提出采用复数点 FFT 实现算法。
2.1.1 复数 FFT 基本原理
假设要计算一个长度为 2N 的实序列
)(nx
的 DFT:
)(kx
,n=0,1,…,2N-1。首先将其偶
数项
)(rg
=
)2( rx
作为复数序列中的实部,奇数项
)(rh
=
)12( �rx
为复数序列中的虚部,r=0,
1,…,N-1,则组成的 N 点复数序列为:
)(ry
=
)(rg
+
)(rhj �
(1)
根据 DFT 的定义,得:
)(kY
=
�
�
�
�
1
0
2
)(
N
r
kr
N
j
ery
�
=
)()( kjYkY
IR
�
(2)
�
�
�
�
�
1
0
2
)()(
N
r
kr
N
j
ergkG
�
=
)]()([
2
1
)]()([
2
1
kNYkYjkNYkY
IIRR
�����
(3)
)]()([
2
1
)]()([
2
1
)( kYkNYjkNYkYkH
RRII
������
(4)
又根据定义,长度为 2N 的实序列
)(nx
,其 DFT 为
�
�
�
�
12
0
2
)()(
N
n
kn
N
WnxkX
,k=0,1,…,
2N-1,令
)(rg
=
)2( rx
,
)(rh
=
)12( �rx
,则
)()()(
2
kHWkGkX
k
N
��
,k=0,1,…,2N-1 (5)
因此,计算 2048 点的实数 FFT 的过程为:
(1)对 2048 点实数序列
)(nx
按式(1)组成一个 1024 点的复数序列;
(2)计算该复数系列的 FFT,其结果为式(2);
(3)根据式(3)、(4)计算出
)(kG
和
)(kH
;
(4)根据式(5)计算出
)(kX
,即为 2048 点实数序列
)(nx
的 FFT。
在计算完 1024 点的复数序列 FFT 后,再将计算结果转化为 2048 点的实数 FFT。 令:
realkG _)(
=
)]()([
2
1
kNYkY
RR
��
,
imagekG _)(
=
)]()([
2
1
kNYkY
II
��
,
realkH _)(
=
)]()([
2
1
kNYkY
II
��
,
imagekH _)(
=
)]()([
2
1
kYkNY
RR
��
.
则:
realkX _)(
=
)2048/2sin(_)()2048/2cos(_)(_)(
��
kimagekHkrealkHrealkG ����
(6)
imagekX _)(
=
)2048/2sin(_)()2048/2cos(_)(_)(
��
krealkHkimagekHimagekG ����
(7)
其中,K 分别取 0,1,…,1023,当 K
�
0 时,根据式(6)、(7)分别计算
)(kX
的实部和虚部;
当 K=0 时,由于 N-K=1024,已经超过了数组的范围,所以当 K=0 时区别于其他情况,要单独计
算。计算
)0(X
时,其实部等于 1024 点 FFT 运算结果的
)0(
R
Y
与
)0(
I
Y
相加,而虚部等于 0。
经过比较,这种方法不仅比直接实数 FFT 要节省 4K 字节的内存空间,而且能缩短计算时
间,经过测试,计算 2048 点的实数 FFT 只需 114ms。
2.1.2 频谱校正
利用傅里叶变换(FFT)将动态信号从时域变换到频域,进行频域估计,这种基于 FFT 的频谱
分析方法在科研、工程和生产中应用十分广泛。但是,这种方法也存在局限:(1)计算机只能
对有限样本进行处理,FFT 谱分析也只能在有限区间内进行。由于时域截断产生的能量泄漏,
造成谱峰值变小,精度降低。(2)采样频率不可能是信号频率的整数倍,而 FFT 的频谱是离
散的,若信号频率在两条谱线之间,这时由峰值谱线反映的频率、幅值和相位就存在较大误差。
例如,当加矩形窗且非整周期采样时,频谱分析的幅值误差最大达
%4.36
,频率误差最大为
f�5.0
(频率分辨率)。因此,需要对信号频谱进行校正,来提高频率估计的精度。本设计我
们采用重心校正法提高频率和幅值的测量精度。
利用窗函数主瓣内的谱线求主瓣中心的坐标,得到准确频率、幅值和相位。根据主瓣函数
的特点用重心法规求中心坐标。