准周期信号基2同步数据采集系统的设计
摘要:介绍了一款基于单片机的倍频电路。该电路能够实现对准周期信号的整周期同步采样,具有倍频精度高、跟踪速度快、能对准周期信号进行预测和补偿等特点;同时介绍了一种周期预测的方法和原理以及基于PC总线实现准周期信号的同步数据采集系统。
关键词:准周期信号 整周期采样 单片机 预测
数据采集及其傅立叶分析是信号处理的重要环节和基本手段。众所周知,利用FFT技术对信号进行频谱分析时,其精度受谱泄漏和栅栏效应等因素的制约。理论研究和实验均表明:对周期或准周期信号实行按基频整周期同步采集2n个数据,即整周期基2同步采样,可以减小傅立叶分析中的固有误差——谱泄漏和栅栏效应[1]。
对周期信号,通常可采用由锁相环和分频器组成的锁相倍频电路[2],实现对信号的整周期基2同步采样。但对周期缓慢变化的准周期信号,要实现整周期基2同步采样,则非易事。一文提出一款基于单片机周期预测和补偿,从而实现对准周期信号整周期基2号同步采样的倍频电路。该电路倍频精度高、跟踪速度快,能对准周期信号进行预测和补偿,在信号处理和数据采集领域有较好的应用前景。最后给出了基于PC总线实现同步要样的数据采集系统。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 准周期信号基2倍频电路的实现
1.1 准周期信号基2倍频原理
设待采集的准周期信号的频率为fx,周期Tx。为了实现对输入信号的整周期同步采样,要求对输入信号N倍频,即产生一个频率为Nfx的A/D采样脉冲。又设某基准时钟脉冲信号的频率为fo(fo>>fx),周期为To,对fo进行M分频后,使其恰好等于输入待采集周期信号频率fx的N倍,即:
Nfx=(f0)/M (1)
或
Tx=M·NT0=N·MT0 (2)
为了实现基2同步采样,通常取:
N=2 n (3)
式(3)中n=4,5,...8。显然,当n的位数确定后,改变M,使M随Tx的变化而变化,就能保证整周期基2同步采样。
1.2 准周期信号基2倍频电路的硬件实现
为了保证对准周期信号基2整周期同步采样有较高的精度,笔者提出一款基于双单片机的基2倍频电路如图1所示。它由过零比较器、二分频器、单片机和或门组成,其中单片机选用AT89C2051,外部晶振频率为12MHz,内部计数频率fo为1MHz,输入信号fx经整形和二分频后直接与两单片机的外中断INT0和INT1相连。图1中A、B、C、D、E、F、G各点波形如图2所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
其工作原理是:在信号的奇周期Tx1期间,单片机(1)定时器To由输入信号Tx1的上升沿启动,并对Tx1填脉冲计数,Tx1的下降沿关闭定时器To;借助单片机的运算功能,确定M值,并利用定时器T1产生频率为Nfx的输出脉冲信号。定时器To设为内部计数形式,工作方式1(16位计数,初值为0),GATE位为1,利用外部中断INT0引脚上的电平Tx1,直接启动和关才计数器。其计数结果是16位二进制数HL,其中高位为H,低位为L值。
当输入信号频率较低时,计数器T0会溢出触发中断,在中断服务程序中使用单片机内部寄存器(R4)记灵中断次数,以扩展计数范围。利用外部中断INT0引脚上Tx1电平的下降沿产生中断,读取T0的计数值HL和R4的值。通常(3)式中的n可根据输入信号的频率,智能地选取4到8位的二进制数,(2)式中的M值由下式给出:
M=R4HL N (4)
显然M为16位二进制数,因此设置定时器T1为内部计数方式,GATE位为1。当输入信号频率较高时,选工作方式2(8们,初值自动重装载);当输入信号频率较低时,选工作方式1(16位)。定时器T1的初值取决于上一奇周期期间测得的M值,当计数溢出中断时,在中断服务程序中使PLO输出电平翻转,即获得fx的N倍频的方波信号。javascript:window.open(this.src);" style="cursor:pointer;"/>
同理,可实现单片机(2)在偶周期Tx2期间,输出N倍频的方波信号。可见当输入单片机的外部信号?x每产生一个周期脉冲,在其输出端就会有N个输出脉冲,用输出脉冲去触发A/D板卡采集,即实现了N倍频的整周期采样。
1.3 准周期信号的周期预测
上述方法实现整周期采样时,是把这一周的周期值作为下一周的周期来计算采样脉冲输出频率的。对周期性信号,周期固定不会影响结果;但对准周期信号,周期是渐变的,会带来较大的误差。为了减少或补偿这种误差,本设计借助单片机的运算和数据处理功能,分别对下一周期进行周期预测。即利用前m个周期的T值,对下一个周期作出预测,再以预测的M来设置定时器T1的初值。用拉格朗日线性插值法可预测周期[3],如图3所示。提取最近两周的周期值,推算下一周的周期值。
图3中Tj为第j周终了时刻测得的周期值,Tj-1为第j-1周终了时刻测得的周期值,Tj+1为要预估的下一周终了时刻的周期值,则可得预估公式:
Tj+1=2Tj-Tj-1=Tj±ΔTj (5)
由此可得:
Mj+1=2Mj-Mj-1=Mj±ΔMj (6)
2 基于PC总线控制的数据采集系统
基于PC总线的同步采样系统框图见图4,它主要由地址译码器、单片机倍频电路、A/D转换器组成。各模块功能如下:
地址译码:PC机中用户可使用0300H~031FH地址,采用与非门74LS133对PC总线的地址信号A0~A9译码,端口地址为030FH和030FH。
单片机倍频电路:产生同步信号进行同步采样,保证信号截断长度正好是信号周期的整数倍。
A/D转换器:采用AD678芯片实现模数转换。AD678是带采样保持器的12位A/D转换器,其精