0 引言
在通信系统中,基带数字信号在远距离传输,特别是在有限带宽的高频信道如无线或光纤信道上传输时,必须对数字信号进行载波调制,这在日常生活和工业控制中被广泛采用。数字信号对载波频率调制称为频移键控即FSK。FSK是用不同频率的载波来传送数字信号,用数字基带信号控制载波信号的频率,是信息传输中使用较早的一种调制方式。它的主要特点是:抗干扰能力较强,不受信道参数变化的影响,传输距离远,误码率低等。在中低速数据传输中,特别是在衰落信道中传输数据时,有着广泛的应用。但传统的FSK调制解调器采用“集成电路+连线”的硬件实现方式进行设计,集成块多、连线复杂且体积较大,特别是相干解调需要提取载波,设备相对比较复杂,成本高。本文基于FPGA芯片,采用VHDL语言,利用层次化、模块化设计方法,提出了一种2FSK调制解调器的实现方法。
调制信号是二进制数字基带信号时,这种调制称为二进制数字调制。在二进制数字调制中,载波的幅度、频率和相位只有两种变化状态。相应的调制方式有二进制振幅键控(2ASK),二进制频移键控(2FSK)和二进制相移键控(2PSK)。2FSK就是用两种不同频率的载波来传送数字信号。特别适合应用于衰落信道,其占用频带较宽,频带利用率低,实现起来较容易,抗噪声与抗衰减的性能较好,在中低速数据传输中得到了广泛的应用。
1 调制解调的基本原理
FSK就是利用载波信号的频率变化来传递数字信息。在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点之间变化。故其表达式为:
也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。因此,2FSK信号的时域表达式又可以写成:
2FSK信号的产生方法主要有两种。一种可以采用模拟调频电路来实现,另一种可以采用键控法来实现,即在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每个码元Ts期间输出f1或f2两个载波之一。这种方法产生2FSK信号的差异
在于:由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的。而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之间转换形成,故相邻码元之间的相位不一定连续。针对FSK信号的特点,我们可以提出基于FPGA的FSK调制器的一种实现方法-分频法,这种方法是利用数字信号去控制可变分频器的分频比来改变输出载波频率,产生一种相位连续的FSK信号,而且电路结构简单,容易实现。在2FSK信号中,载波频率随着二元数字基带信号(调制信号)的“1”或“O”而变化,“1”对应于频率为f1的载波,“O”对应于频率为f2的载波。2FSK的已调信号的时域表达式为:
2FSK信号的常用解调方法是采用非相干解调和相干解调。其解调原理是将2FSK信号分解为上下两路2ASK信号分别进行解调,然后进行判决。这里的抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。判决规则应与调制规则相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的样值较大,应判为“1”,反之则判为“0”。
2 2FSK调制器设计
2.1 分频法实现2FSK调制器
键控法也常常利用数字基带信号去控制可变分频器的分频比来改变输出载波频率,从而实现FSK的调制。实现2FSK调制的原理方框图如图1所示。
其中FSK调制的核心部分包括分频器、二选一选通开关等,图中的两个分频器分别产生两路数字载波信号;二选一选通开关的作用是以基带信号作为控制信号,当基带信号为“0”时,选通载波f1;当基带信号为“1”时,选通载波f2。从选通开关输出的信号就是数字FSK信号。这里的调制信号为数字信号。
2.2 仿真结果
整个设计使用VHDL语言编写,以EPM7032LC44-15为下载的目标芯片,在MAX+PLUSⅡ软件平台上进行布局布线后进行波形仿真,其中clk为输入主时钟信号;start为起始信号,当start为“1”的时候,开始解调;q1为载波信号f1的分频计数器,q2为载波信号 f2的分频计数器:f1、f2为载波信号;x为基带信号:y为经过FSK调制器后的调制信号;当输入的基带信号x='O'时,输出的调制信号y为f1,当输入的基带信号x='1'时,输出的调制信号y为f2。仿真结果如图2所示。
3 2FSK解调器设计
3.1 分频法实现2FSK解调器
过零检测法与其他方法比较,最明显的优点就是结构简单、易于实现,而且对增益起伏不敏感,特别适用于数字化实现。它是一种经济、实用的最佳数字解调方法。其方框图如图3所示。
它利用信号波形在单位时间内与零电平轴交叉的次数来测定信号频率。输入的已调信号经限幅放大后成为矩形脉冲波,再经微分电路得到双向尖脉冲,然后整流得到单向尖脉冲,每个尖脉冲代表信号的一个过零点,尖脉冲重复的频率是信号频率的两倍。将尖脉冲去触发一单稳态电路,产生一定宽度的矩形脉冲序列,该序列的平均分量与脉冲重复频率,即输入频率信号成正比。所以经过低通滤波器的输出平均量的变化反映了输入信号的变化,这样就完成了频率一幅度的变换,把码元“1” 与“0”在幅度上区分开来,恢复出数字基带信号。实现2FSK解调器的原理方框图如图4所示。
3.2 仿真结果
在MAX+PLUS软件平台上进行布局布线后进行波形仿真,其中clk为输入主时钟信号;start为起始信号,当start为“1”的时候,开始解调;x为输入信号,本文中在调制阶段的被调制信号,即是调制信号中的输出信号,y为输出信号,在正常情况下y就是在调制信号中的输入信号,在 q=11时,m清零。在q=1O时,根据m的大小,进行对输出基带信号y的电平的判断。在q为其它值时,计数器m计下xx(寄存x信号)的脉冲数。输出信号y滞后输入信号×10个clk。仿真结果如图5所示。
4 2FSK调制解调器整体设计
在整体设计过程中,整体电路如图6所示,其中x为基带信号,y为经过调制解调后的解调信号。
调制解调器设计仿真结果如图7所示。比较输入信号x与输出信号y,完全一样,只是系统仿真结果有一定的延时。仿真结果表明,系统设计正确。
5 结论
本文基于2FSK的基本原理,进行二进制调制解调器的设计。运用VHDL语言对器件进行功能描述,在MAX+PLUSⅡ软件平台上对所描述器件进行时序仿真,最后下载至目标芯片EPM7032LC44-15,分配合理引脚,进行仿真。设计过程中调制阶段的基带信号,经调制仿真得到解调所需的输入信号。解调阶段对来自调制阶段得到的信号进行解调,所得解调信号即为原来调制基带信号,起到了调制解调的作用。整个设计过程采用VHDL语言实现,设计灵活、修改方便,具有良好的可移植性及产品升级的系统性。