5 算法测试
为了验证算法的实时性和正确性,通过信号发生器产生标准信号送入所研制的基于MSP430f1611为核心的处理系统,对算法进行了全面的测试。
(1)测试算法运行时间
测试对2 048点数据进行功率谱估计所需要的总时间。预先设置MSP430F1611单片机的P5.4引脚为普通I/O,且为输出方式,接着,循环执行FFT运算和功率谱估计程序,且每次开始FFT计算和功率谱估算前,将P5.4输出电平翻转,因此P5.4输出的相邻两次翻转电平的时间间隔就是FFT运算和功率谱估计的总时间。通过数字存储示波器观测P5.4引脚输出的信号波形,如图4所示。
每次高低电平翻转的时间间隔约为500 ms,即对2 048点数据进行功率谱估计总共需要500 ms。
(2)测试算法计算精度
由于FFT运算的最大误差发生在非整周期采样时,所以,选择这些最大误差点来进行测试。由于泄漏误差,信号基频表示为
f0=(k+d)fs/N (7)
式(7)中,k为整数,d为小数(定义d为泄漏误差系数)。由于泄漏误差不超过频率分辨率的二分之一,所以|d|≤O.5。当d=O时,即为整周期采样情况;当d=O.5时,就是最大非整周期采样的地方。因为所研制的基于FFT的频谱分析方法将应用于数字涡街流量计,在此,针对气体40口径频率范围为69~1 380 Hz,设定采样频率为3 717.472 199 Hz,数据点数为2 048,选择不同的k值得到不同的频率信号,由信号发生器产生幅值为60 mV的这些信号,送入两线制涡街流量计信号处理系统低通滤波器前端,然后经过预放大电路和低通滤波电路后,送入MSP430F1611进行频率估计。