一、方案设计与论证
系统由前级信号调节、A/D采样、运算处理三部分组成,核心在于对信号进行频谱分析,从而得到信号的功率谱、失真度和周期性等参数。
1.总体方案比较与选择。
方案一:模拟实现方法,即扫频超外差法。
通过DDS芯片产生某一频率的正弦波与待测信号混频,将上混频的信号经过窄带滤波器,然后经过AD采样得到其幅值,有窄带滤波的中心频率和DDS信号产生的频率可以得到对应频率,然后改变DDS产生的信号频率,就可逐一测定输入信号包含的频率和对应的幅值,进而得到输入信号的频谱。
图2 扫频外差法框图
此方法原理比较简单,但是实现起来比较困难,因为,DDS芯片的信号输出要经过滤波和增益控制,硬件实现起来比较麻烦,题目要求频率分辨率最小为20Hz,窄带滤波器设计通带为20Hz时Q值非常高,实现起来非常困难。
方案二:数字分析法,即傅里叶分析法。
音频信号经过前级处理后进行AD采样,并将所采到的值送入到FPGA内部,在单片机控制下,FPGA利用FFT算法对采入的数据进行分析,从而得到其频谱并且计算出信号的总功率和失真度。此方案大大节省了外部硬件,并且精度比较高。
本系统采用此方案。
2.总体方案设计
系统前级采用阻抗匹配和程控放大器,实现信号的放大,然后一路经过有效值检波,进ADC转换芯片,另一路直接进入ADC对信号进行采样量化,所得数据送入FPGA进行数据处理,进而得到功率谱、失真度的信息。
总体框图如下:
二、理论分析与计算
1.功率谱的测量方法及失真度计算
功率谱表示单位频带内信号功率随频率的变化情况,它反映了信号功率在频域的分布情况。
根据傅立叶变换定义及原理可知,离散傅立叶变换计算的结果包括各频率分量的幅度信息和相位信息,根据幅度信息就可以得到原始信号的功率。具体做法是:设由采样得到M(2的整数次幂)点序列{x(n)},经M点FFT变换并取模后得到实序列{X(N)},根据FFT计算结果数据的对称性,可以得到原始信号的总功率和各谱线对应频率的功率为:
式中Po为总功率,Pi为序列{X(N)}中第i点对应频率的功率。在大动态范围的信号功率表示时,一般使用dBm为信号功率的单位,dBm与瓦特(W)的转换关系为:
,例如:。
根据失真度的定义,在得到信号总功率和某频率点的功率后,我们可以方便计算信号的失真度。公式为:
式中Po为总功率,Pi为序列基波频率的功率。
由于系统进行非同步采样,计算FFT时会有频谱泄漏等问题影响功率测量精度,为此我们在计算信号功率时增加了窗函数处理,减少频谱泄漏问题,并利用相位差校正法[1]对信号幅度做了校准,提高精度。同时精确的幅度信息可以提高系统测量正弦信号失真度的精度。
计算出了各频率分量上的功率大小,那么根据失真度的定义,即信号中全部谐波分量的能量与基波能量之比的平方根值,正弦信号的失真度可以很方便得求出。
用户1708706 2012-10-16 08:39