单片机或可编程器件实现bpsk信号解调提供了一个有效的低成本方案。
二进制移相键控(bpsk)是一种常用的数字信号调制方式,广泛用于卫星、微波通信、广播电视等诸多领域。bpsk信号是抑制载波的双边带信号,信号中不存在载频分量,因而bpsk信号的相干解调需要通过非线性变换,如costas环、平方环电路、数字锁相环(dpll)技术等方法提取载频信号,需要较为复杂的载波恢复电路。近年来,随着智能卡、rfid、bluetooth等相关技术的发展,较低码率的bpsk在近距离无线产品中也得到了越来越广泛的应用,因而成本较低的bpsk非盯干解调越来越受重视。在bsp的非相干解调方法中,比较重要的是移相键控信号的非相干反馈判决接收机和多符号最大似然接收机。文献针对文献中的部分电路用最大似然方法进行了结构分析,指出这两种接收机是相互关联的。文献对反馈判决接收机和多符号最大似然接收机的性能进行了分析,指出两者性能相近,而反馈判决接收机结构要简单些,因而在实现上更有吸引力。文献提出了基于知识优化的psk信号的非相干解调,并介绍了一种反馈判决式的延迟递归解调结果。上述文献均从模拟信号处理的角度给出了移相键控信号的非相干解调方案,其结构比相干方式有所简化,但是仍然需要较多的硬件电路。此外,还有一类较为实用的中低速bpsk信号的非相干解调方法:文献给出了一种精巧的bpsk解调电路,该电路通过引入一个窄带振荡器,使其中心频率与bspk信号的载波频率相等,当bpsk信号通过该振荡器时,因其通频带太窄,信号在码元交替时刻的相移不能突变,使得bpsk的频率发生偏移,导致振荡器失谐和输出电压下降,利用这种电压下降实现bpsk信号的非相干解调。文献是利用bpsk信号在相位突变点有两个半余弦周期的特点实现的,实现中亦额外使用了模数转换器。针对中低速bpsk的低成本解调需求,本文提出了一种基于时间测量的bpsk非相干解调方法。该方法将bpsk波形量化成数字脉冲串后,通过测量码元交替时不同的时间间隔判决对应的码元类型,只需要很少的硬件电路进行信号整形,同时还可以输出与解调数据同步的时钟。对于较高的码率,该方法也可以用fpga等可编程器件硬件实现,因而为使用单片机或可编程器件实现bpsk信号解调提供了一个有效的低成本方案。1 bpsk信号特点及其波形变换
二进制相移键控中,载波的相位随调制信号1或0而改变。通常用相位0和π来分别表示1或0,则已调信号的时域表达式为:
x(t)=a·cos(2πf·t+φi) (1)
式(1)中,a为信号幅值、f为载波频率、φi=0或π,分别对应于调制数据1或0。图1给出了bpsk信号的时域波形图,设每个码元对应三个完整的载波周期。
本文中,解调过程将基于对时间的测量。为准确计时,时间测量所用的触发信号采用脉冲信号,因而在解调前,首先需要将图1所示的模拟波形转换为数字脉冲。图2是bpsk信号转换前后的对应波形,其中vt+、vt-为转换门限电平。为了减少误码率,应尽量使vt+与vt-相等,从而使得脉冲的正负跳变沿对应的bpsk信号相位做整体平移,以减少相位噪声。上述脉冲形成电路可以通过施密特触发器(带正反馈的迟滞比较器)实现。2 解调原理
图2输出的脉冲串将作为本文方法的输入,用以提取二进制码流及其同步时钟。讨论解调方法之前,首先观察两个码元交替时刻的bpsk信号及其对应脉冲串之间的时序关系,如图3。设bpsk的载频周期为t。从图3可以看出,在两个码个交替时刻,从前一个下降沿(或上升沿)开始计时,如果在时刻t又出现了新的下降沿,对应的码元值不变(即0-0或1-1)。而在1.5t时刻出现新的下降沿时,对应的码元值有变化(即0-1或1-0)。根据图3,如设置一计时器,当两个相邻脉冲下降沿之间的时间间隔为t时,对应数据没有发生翻转;当两个下降沿之间的时间间隔为1.5t时,则对应数据必然发生翻转。是否发生码元电平翻转,明确对应于两个不同的时间间隔。据此,即可实现bpsk信号的非相干解调。
下面讨论如何生成数据的同步时钟。在上述解调过程中,如果相邻数据电平发生了翻转,即可从解调数据得到一个同步时钟沿;而当相邻数据没有翻转时,是无法直接生成相应的时钟跳变的。图4所示是一串比较长的bpsk脉冲序列,其中每个码元对应的载波周期数为k(为简便起见,图4中每个码元对应的载波周期数仍为3)。由图4可见,如前后两个码元值有变化,从上一个码元结束到下一个码元开始,中间持续的时间可能为k-1个或者k个载波周期;如果前后两个码元值没有变化,那么一个码元的持续时间可用k+1个载波周期表示。根据上述特点,如果在解调流程中再设置一个值为k+1的计数器,根据以上对t、k两个参数的研究,信息码流的解调用一个定时器即可实现;如需要同时得到同步时钟,则必须结合定时器和计数器实现,如图5。 根据图4和图5,如果前后两个码元值有变化,计数器计到k-1个或者k个载波脉冲后,定时器发出定时溢出信号over,由该信号触发生同步时钟clock和信息码流data,同时清零并重启计数器和定时器。在此过程中,计数器因为一直没有计满k+1个脉冲,它不发出任何信号;如前后两个码元值没有变化,定时器始终不会产生溢出信号,此时应在第k+1个载波脉冲到来时由计数器生成一个同步脉冲clock,同时清零并重启计数器和定时器。通过对上述定时器和计数器的输出作适当的电路组合,即可得到所需的解调码流data和同步时钟clock。图5中,定时器定时长度为t+δt,δt=∈[0,t/2]。显然,当δt=t/4时,系统的噪声性能最好。3 实验验证
下面通过一个实际电路对上述解调方法进行验证,如图6所示。其中,脉冲形成电路由一个带正反馈电路的运算放大器组成,实现图2所示的功能。解调部分完成图5所示的功能,由单片机内固化的软件来实现。 图6中,解调的实际情况由单片机at89c2051完成。在具体的解调过程中,为保证速度,定时器和计数器都工作在中断方式,所有的解调操作也完全由两个中断服务子程序完成。图7给出了定时中断和计数中断的程序流程图。 由简单计算可知,如果at89c2051采用12mhz晶振,该验证方案能够解调的bpsk信号的最大载频约为25khz。图8给出了从示波器上输出的解调波形图。实验中,bpsk模拟信号由信号发生器产生,信号载波为16khz,对应t=62.5μs;为了能在示波器上看清各种信号的对应关系,采取了较大的二进制码流速率,这里取5.33kbps,对应k=3。图8中,上部为解调前的脉冲波形,下部为解调出来的数据码流。图8解调出的数据为100101,可以清楚地看出信号的对应关系。从图8可以发现,输入脉冲与解调码流之间有信号滞后现象,且0、1码的码元宽度也不完全一致。但是,数据码流与同步时钟的关系却始终是严格对应的。因为本设计中同步时钟的脉冲宽度设为2μs,相对信号的宽度来说太窄,无法通过示波器拍照来观察。笔者根据从示波器上的观察,绘制了解调前的脉冲波形与解调后的数据码流及其同步时钟的对应关系,如图9。其中波形(a)为解调前的bpsk脉部信号,(b)为解调后的数据码流data,(c)为同步时钟clock。可以明显地看到,同步时钟不是等周期的,但是它与数据码流的对应关系是确定的,因而不会影响到数据的正确解释。 本文提出了一种基于时间测量的bpsk信号的解调方法,并通过实际电路进行了验证。该电路已成功地用于实验皮卫星的低码率bpsk指令信号的解调中。本文方法结构简洁,系统开销小,解调参数t、k调整方便(只需修改两个中断程序的相应参数即可),是一种实用、低成本的中低速bpsk解调方法。如需对更高载频的bpsk信号进行解调,则可采用具有更短指令周期的单片机,或采用cpld、fpga硬件实现。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』