数字锁相放大器的实现研究
扫描二维码
随时随地手机看文章
摘要:基于DSP设计了一种采样频率可控的数字锁相放大器。针对数字锁相放大器对低通滤波器性能的要求,采用CIC和降采样的方法,实现了一种高效的窄带低通滤波器。测试结果表明,在采样频率为500 kHz时,低通滤波器的通带截止频率可达0.5 Hz;当输入信号幅度为5~150 mV时,系统测试的相对误差小于0.5%;当输入信号幅度为1~50μV时,系统测试的相对误差小于2%;同时系统在1~120 kHz的工作范围内,具有较好的一致性。
关键词:锁相放大器;采样率;积分梳状滤波器;降采样
0 引言
弱信号检测一直是测量领域的重点研究问题。锁相放大器是一种能够检测微弱周期信号的精密仪器。它利用相关检测的方法,能够测量μV(甚至nV)量级信号的幅度和相位,并且具有极强的抗干扰能力,因而在很多测量领域(如电学、光学、热学及生物学等)得到了广泛的应用。早期的锁相放大器都是基于模拟电路设计的。由于模拟器件在带宽、温漂、直流偏置以及器件老化等方面的限制,模拟锁相放大器在测量精度、测量稳定性和抗噪声能力等方面均受到很大的限制;数字锁相放大器通过数字信号处理器(Digital Signal Processor,DSP),将模拟信号转换到数字域进行检测和处理,具有动态范围大,测量误差小,不受运放温漂和偏置影响等优势。近年来随着数字信号处理器的飞速发展,模拟锁相放大器逐渐被数字锁相放大器所取代。本文对数字锁相放大器的硬件结构和相关算法进行了研究,设计了一种采样频率可控的系统结构,并利用积分梳状滤波器和降采样的方法实现了高效的窄带低通滤波器,满足了系统实时性要求。测试结果表明,该系统能够达到较高的测试精度。
1 数字锁相放大器的基本原理
数字锁相放大器利用输入信号与参考信号的相关性、待测信号与噪声的互不相关性来完成测量。其基本原理如图1所示。
将输入信号定义为:
X(t)=Asin(ωt+φ)+n(t) (1)
式中:A为输入信号的幅度;ω是输入信号的角频率;φ是输入信号的相位;n(t)是输入信号中混入的噪声(噪声强度可以远大于信号强度)。参考信号由两路相互正交的正弦信号构成。输入信号和两路正交的参考信号相乘之后,对应的输出分别为:
将两路输出信号各经过一个理想的低通滤波器后,二倍频和噪声成分都会被滤除,此时两路的输出分别为:
由以上分析可知,数字锁相放大器实际上是利用一个低通滤波器,实现了中心频率为ω的带通滤波器。低通滤波器的带宽越窄,相应地,带通滤波器的带宽也越窄,滤除噪声的能力也越强。低通滤波器的截止频率决定了系统的抗噪声能力,通带内波动决定了输出的稳定性。由于系统对线性相位的要求,滤波器需采用FIR型低通滤波器来实现。而采用传统的单级FIR滤波器来实现窄带低通滤波器需要很高的阶数,运算量较大,难以实时实现,并且滤波性能易受滤波器系数的影响。低通滤波器的性能好坏,直接决定着数字锁相放大器滤除噪声的能力。如何设计和实现高性能的低通滤波,是影响数字锁相放大器性能的关键。
2 数字锁相放大器的结构设计
微控制器采用了德州仪器(Texas Instrument,TI)公司的MSP430F149,其主要功能包括系统控制和状态检测。待测的输入信号经过放大、滤波后进入ADC。其中,ADC的采样速度决定了系统能够测试信号的最高频率。本系统采用了TI公司的AD8329,这是一款16 b的高精度串行模/数转换器,最高采样速率可达1 MSPS。
为了防止ADC的转换数据丢失,系统必须对采集到的大量数据进行实时处理。数字锁相放大器的实时性对数字信号处理器的速度提出了很高的要求。虽然目前市场上主流的定点和浮点DSP器件的数据处理速度相比以前有了很大提升,但是它仍然是制约数字锁相放大器测量频率范围进一步增加的主要原因。为了降低系统对DSP处理速度的要求,提高检测的最高频率,一些系统甚至将DSP的部分功能通过外围电路来实现,比如采用中心频率可控的模拟滤波器来滤除输入信号的带外噪声,利用FIFO结合CPLD来缓冲ADC数据等。这些方法虽然减轻了DSP的运算负荷,但是也增加了系统的硬件成本和复杂度。
本系统以TI公司的TMS320VC5502为核心,设计了一种采样频率可控的数字锁相放大器,不仅满足了系统实时性的要求,简化了系统结构,而且具有较好的准确度和稳定性。数字部分接口示意图如图2所示。
TMS320VC5502的片上定时器Timer0配置成输出工作方式,产生频率恒定的脉冲信号。此脉冲信号作为模/数转换器采样开始的控制信号。采样频率可由定时器产生脉冲的频率来控制;多通道缓冲串口(Multichannel Buffered Serial Port,McBSP)被配置成SPI模式,用于控制命令的发送和采样数据的接收。ADS8329的转换结束信号作为DSP的外部中断。采样数据的接收和存储、控制命令发送以及对ADC转换结束的响应均采用DMA控制器来完成,这样不但保证了采样数据的完整性,而且DSP可以专注计算而不被外部事务频繁中断,极大地提高了DSP的运算效率。
为了保持采样数据的连续性,并防止原有数据被新数据覆盖,系统在DSP内部开辟了两块长为1024×16 b的缓冲区,用于暂时存放ADC的采样数据。两块缓冲区交替存储和计算,以保证系统的实时性。当ADC的转换结果向缓冲区A存放时,系统处理缓冲区B中的数据;当转换结果向缓冲区B存放时,系统处理缓冲区A中数据。其数据流图如图3所示。
假设系统的采样率为fs,每块缓冲区的长度为N(本系统为1 024×16 b),处理每块缓冲区数据所需的时间为TCAL。若三者满足TCAL< Nfs,则系统可以实现实时处理。测试证明,本系统最高采样速率可达640 kHz。
3 数字锁相放大器的算法设计
当获得ADC的采样数据之后,DSP会对采集的数据进行相关的处理。DSP完成的主要功能有内部振荡信号的产生、数字相关运算、低通滤波以及最终相位和幅度计算。DSP会产生两路同频、正交的参考信号来锁定输入信号。目前比较常用的方法有正交迭代法和查找表法。由于定点DSP的有限字长带来的舍入误差,正交迭代法会产生较大的频率偏差。经过相关运算之后,表现为一个低频干扰信号,此信号很难被滤除掉,会对测量产生较大误差,并且正交迭代法的运算量过大,不能满足信号处理的实时性要求。本系统在FLASH中存储了正弦波的四分之一个周期的正弦值,共2 048个点,采用查找表法来产生所需要的两路正交的周期信号。
采样数据和参考信号相乘之后通过低通滤波器,滤除高频成分和噪声成分,获得所需要的两路直流分量。低通滤波器的性能是整个锁相放大器设计的关键。它的性能好坏直接决定了数字锁相放大器的性能。为了满足系统的实时性要求,低通滤波器的运算要尽可能的高效,一般的数字低通滤波器很难满足要求。
积分梳状滤波器在多速率调制系统中广泛应用,在硬件实现时不需要存储滤波器系数,也不需要乘法器,其结构简单,运算效率高,非常适合在DSP中实现。为了实现高效的窄带FIR低通滤波器,系统采用了积分梳状滤波器(Cascaded Integrator Comb Filter,CIC)结合降采样的方法。通过多级级联的结构,逐渐地降低系统的采样率,这样能够有效降低对各级抗混叠滤波器的性能要求。
积分梳状滤波器是一种特殊的FIR滤波器,其冲击响应为:
式中:R表示滤波器的阶数。积分梳状滤波器是线性时不变系统。对积分梳状滤波器的冲击响应进行x变换,可以得到积分梳状滤波器的传递函数为:
由式(8)可知,积分梳状滤波器由积分器H1(x)和梳状滤波器H2(x)级联而成。假设系统输入是x(n),输出是y(n),则:
通过式(10)可以看出,积分梳状滤波器用加法运算代替了一般滤波器的乘加运算,对DSP来说运算效率大大提高。假设系统的抽取因子为D,考虑将积分梳状滤波器用于抽取系统中,相邻的两个输出为y(n)和y(n+D),其表达式为:
由式(9)可知,当滤波器的阶数R与抽取因子D相等时,滤波和抽取的过程可以用一个简单的累加运算来完成,即相邻的D个数为一组,累加求和。这种累加运算在DSP中的运算效率很高。下式是CIC的幅频响应:
当f趋近于0时,需要注意CIC滤波器增益为D,在实际运算中需要对其进行处理。设系统的采样率为fs,最终低通滤波器的截止频率为fc。若满足Dfc/fs<1/64时,系统的通带容差可以忽略,实际系统中选取D=512。
单级级联的CIC滤波器幅频特性具有较高的旁瓣,可用多级级联的CIC滤波器的级联来降低旁瓣,改善阻带衰减特性。但是过度的降采样,会导致数据的损失。在考虑到对运算速度和数据量的要求,实际系统采用了一级CIC配合多级半带滤波器的方法来满足实时性要求。
在CIC滤波器之后,系统通过若干级联的半带滤波器结合2倍降采样,使低通滤波器的截止频率进一步降低。半带滤波器的通带和阻带对称,设计常采用FIR半带滤波器。半带滤波很容易实现线性相位,并且有近一半的系数精确为零,非常适合做2倍抽取,同时也非常适合进行DSP硬件运算。但是级联的2倍抽取器不应过多,通常在1到5级范围内。如果对降采样的阶数要求较高,可以适当地加大第一级的CIC降采样率来满足要求。
最后将降采样的数据经过一个整形滤波器之后即可获得稳定的输出,整形滤波器的性能应该与整个系统的性能一致,只是采样率不一样。系统的算法流程图如图4所示。
图5是在以下仿真条件下整个低通滤波器的幅频响应曲线。
(1)第一级CIC降采样D=512;
(2)第二级采用两级半带滤波级联实现,其中第一个半带滤波器阶数为15阶,第二个半带滤波器阶数为23阶,作为降采样之前的抗混叠滤波器;
(3)第三级利用Matlab的Filter Design&Analysis Tool,采用等波纹法作为设计准则,设计了一个采样率为250 Hz,通带波纹为0.01 dB,通带截止频率为0.5Hz,阻带衰减为80dB,阻带下限截止频率为2Hz的低通滤波器,滤波器的阶数为388阶。第三级未采用均值滤波器。
仿真结果说明,在采样率为500 kHz时,滤波器的通带截止频率可达0.52 Hz,2 Hz处的衰减可达到-60 dB,整个阻带衰减接近-80 dB,并且,算法运算极易在DSP内部实现。如果合理地降低系统的采样频率,可以实现通频带更窄的低通滤波器。
4 数字锁相放大器的测试
为了产生极其微弱的测试信号,系统采用了对标准信号通过电阻网络进行衰减的方法。为了测试数字锁相放大器对微弱信号的检测性能,搭建了如图6所示的测试平台。
系统输入采用了安捷伦公司(Agilent)生产的33250A函数/任意波形发生器,它最低可以产生峰值为1 mV的正弦波。Agilent 33250A函数/任意波形发生器采用直接数字合成技术,可以产生稳定、精确的各种输出波形,频率分辨率可达1μHz,幅度分辨率可达0.1 mV。函数发生器产生的mV级的信号,可以经过衰减比例可调的精密电阻网络来产生幅度为μV级的信号以供测量。
4.1 窄带滤波器性能测试
数字锁相放大器系统中的窄带滤波器应该具有较高的Q值。为了对设计的数字窄带低通滤波器的性能进行测试,采取了如下的测试方法:用波形发生器产生幅度恒定的正弦信号(幅度恒定为2 000 mV),设定数字锁相放大器参考信号频率为50 kHz,将输入信号的频率以50 kHz为中心,以0.05 Hz为步长,逐步增加或减少输入信号的频率,测试输入信号的幅度衰减。
图7显示了在不同采样频率的情况下,输入信号与参考信号的频差和输出幅度衰减的关系。
通过测试结果可以看出,随着采样频率的降低,窄带滤波器的带宽逐渐降低,系统抗噪声能力越强。当采样频率fs=300 kHz时,窄带滤波器的带宽BW=0.46 Hz,Q值达105以上。为了进一步提高系统的抗噪声能力,在满足采样定理的情况下,可以适当地降低采样频率获得Q值更高的窄带滤波器。
4.2 大信号幅值测试
利用33250A函数/任意波形发生器产生周期为20 kHz,幅度从5~150 mV、步进为5 mV的正弦波信号作为测试信号的输入(不经过电阻衰减网络)。此信号经过前端模拟电路的14倍放大、滤波和采样后,在DSP中进行相关运算。当ADC的采样率fs=420kHz时,测试结果如图8所示。
由测试结果可知,在输入信号为5~150 mV时,系统具有较好的线性度,测试的相对误差在0.5%以内。
4.3 小信号幅度测试
在μV级小信号测试时,由于环境噪声、外界干扰及电阻热噪声等因素的影响(幅度通常在mV级),经放大、滤波处理后的有用信号淹没在强噪声中,已经无法通过示波器观测其时域波形。将待测信号的频率设定为20 kHz,然后以1 mV为起始,步进为0.5 mV地改变输入正弦波的幅度,此信号经过999:1的精密电阻衰减网络后产生μV级的待测信号。此信号经过前级14 000倍的放大后进入ADC。为了尽量减小噪声对测试的影响,保持较高的测试精度,系统合理地降低了采样频率。实际测试中,采样频率设定为400 kHz。测试结果如图9所示。
由测试结果可知,当待测信号的幅度在1~40μV时,系统具有较好的线性度,系统测试的幅度相对误差小于2%。
4.4 频率一致性测试
数字锁相放大器可以测定一定频率范围内的微弱周期信号。不同频率信号的幅度测试准确度是其重要的技术指标。设置33250A函数/任意波形发生器输出的正弦周期信号幅度恒定为1 mV(不经过电阻衰减网络),将信号经过500倍的放大,改变输入信号的频率对其进行测试。实际测试结果如图10所示。
由图10可以看出,当输入信号的幅度恒定为1 mV时,频率从1 kHz变化到120 kHz,系统测试的相对误差小于0.9%。
5 结语
本文对数字锁相放大器的系统结构进行了研究,设计了一种利用DSP串行接口配合DMA方式的高速数据采集系统,最大限度地降低了系统的硬件复杂度。同时针对这种结构的特点,系统在数据采集过程中采用了一种双缓冲的结构。这种结构不仅避免了采用双口RAM或者FIFO等器件而导致硬件结构的复杂化和成本的上升,而且具有采样频率灵活可控的特点。将此结构稍加改变,就可以应用于其他的数据采集系统中。同时基于降采样的思想,利用积分梳状滤波器和半带滤波器,实现了一种高效的窄带低通滤波器,满足了数字锁相放大器对精度和实时性的要求。系统的整体测试结果表明,当输入信号为mV量级时,系统测试相对误差小于0.5%;当输入信号为μV级时,系统测试的相对误差小于2%。同时系统在1~120 kHz的工作范围内,具有较好的一致性,幅度测试误差不超过0.9%。