0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

电子设计 来源:郭婷 作者:电子设计 2019-05-03 09:01 次阅读

引言

通信系统中,基带数字信号在远距离传输,特别是在有限带宽的高频信道如无线或光纤信道上传输时,必须对数字信号进行载波调制,这在日常生活和工业控制中被广泛采用。数字信号对载波频率调制称为频移键控即FSK。FSK是用不同频率的载波来传送数字信号,用数字基带信号控制载波信号的频率,是信息传输中使用较早的一种调制方式。它的主要特点是:抗干扰能力较强,不受信道参数变化的影响,传输距离远,误码率低等。在中低速数据传输中,特别是在衰落信道中传输数据时,有着广泛的应用。但传统的FSK调制解调器采用“集成电路+连线”的硬件实现方式进行设计,集成块多、连线复杂且体积较大,特别是相干解调需要提取载波,设备相对比较复杂,成本高。本文基于FPGA芯片,采用VHDL语言,利用层次化、模块化设计方法,提出了一种2FSK调制解调器的实现方法。

调制信号是二进制数字基带信号时,这种调制称为二进制数字调制。在二进制数字调制中,载波的幅度、频率和相位只有两种变化状态。相应的调制方式有二进制振幅键控(2ASK),二进制频移键控(2FSK)和二进制相移键控(2PSK)。2FSK就是用两种不同频率的载波来传送数字信号。特别适合应用于衰落信道,其占用频带较宽,频带利用率低,实现起来较容易,抗噪声与抗衰减的性能较好,在中低速数据传输中得到了广泛的应用。

1 调制解调的基本原理

FSK就是利用载波信号的频率变化来传递数字信息。

在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点之间变化。故其表达式为:

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。因此,2FSK信号的时域表达式又可以写成:

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

在移频键控中, 和 不携带信息,通常可以令和 为零。因此,2FSK信号的表达式可简化为:

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

其中:

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

2FSK信号的产生方法主要有两种。一种可以采用模拟调频电路来实现,另一种可以采用键控法来实现,即在二进制基带矩形脉冲序列的控制下通过开关电路对两个不同的独立频率源进行选通,使其在每个码元Ts期间输出f1或f2两个载波之一。这种方法产生2FSK信号的差异在于:由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的。而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之间转换形成,故相邻码元之间的相位不一定连续。

针对FSK信号的特点,我们可以提出基于FPGA的FSK调制器的一种实现方法--分频法,这种方法是利用数字信号去控制可变分频器的分频比来改变输出载波频率,产生一种相位连续的FSK信号,而且电路结构简单,容易实现。在2FSK信号中,载波频率随着二元数字基带信号(调制信号)的“1”或“0”而变化,“1”对应于频率为f1的载波,“0”对应于频率为f2的载波。2FSK的已调信号的时域表达式为:

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

2FSK信号的常用解调方法是采用非相干解调和相干解调。其解调原理是将2FSK信号分解为上下两路2ASK信号分别进行解调,然后进行判决。这里的抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。

判决规则应与调制规则相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的样值较大,应判为“1”,反之则判为“0”。

2 2FSK调制器设计

2.1 分频法实现2FSK调制器

键控法也常常利用数字基带信号去控制可变分频器的分频比来改变输出载波频率,从而实现FSK的调制。实现2FSK调制的原理方框图如图1所示。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图1 2FSK调制实现原理框图

其中FSK调制的核心部分包括分频器、二选一选通开关等,图中的两个分频器分别产生两路数字载波信号;二选一选通开关的作用是以基带信号作为控制信号,当基带信号为“0”时,选通载波f1;当基带信号为“1”时,选通载波f2。从选通开关输出的信号就是数字FSK信号。这里的调制信号为数字信号。

2.2 仿真结果

整个设计使用VHDL语言编写,以EPM7032LC44-15为下载的目标芯片,在MAX+PLUS II软件平台上进行布局布线后进行波形仿真,其中clk为输入主时钟信号;start为起始信号,当start为“1”的时候,开始解调;q1为载波信号f1的分频计数器,q2为载波信号f2的分频计数器;f1、f2为载波信号;x为基带信号;y为经过FSK调制器后的调制信号;当输入的基带信号x=‘0’时,输出的调制信号y为f1,当输入的基带信号x=‘1’时,输出的调制信号y为f2。仿真结果如图2所示。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图2 2FSK调制器仿真结果3 2FSK解调器设计

3.1 分频法实现2FSK解调器

过零检测法与其他方法比较,最明显的优点就是结构简单、易于实现,而且对增益起伏不敏感,特别适用于数字化实现。它是一种经济、实用的最佳数字解调方法。

其方框图如图3所示。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图3 FSK过零检测法。

它利用信号波形在单位时间内与零电平轴交叉的次数来测定信号频率。输入的已调信号经限幅放大后成为矩形脉冲波,再经微分电路得到双向尖脉冲,然后整流得到单向尖脉冲,每个尖脉冲代表信号的一个过零点,尖脉冲重复的频率是信号频率的两倍。将尖脉冲去触发一单稳态电路,产生一定宽度的矩形脉冲序列,该序列的平均分量与脉冲重复频率,即输入频率信号成正比。所以经过低通滤波器的输出平均量的变化反映了输入信号的变化,这样就完成了频率-幅度的变换,把码元“1”与“0”在幅度上区分开来,恢复出数字基带信号。实现2FSK解调器的原理方框图如图4所示。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图4 2FSK解调实现原理框图。

3.2 仿真结果

在MAX+PLUS软件平台上进行布局布线后进行波形仿真,其中clk为输入主时钟信号;start为起始信号,当start为“1”的时候,开始解调;x为输入信号,本文中在调制阶段的被调制信号,即是调制信号中的输出信号,y为输出信号,在正常情况下y就是在调制信号中的输入信号,在q=11时,m清零。在q=10时,根据m的大小,进行对输出基带信号y的电平的判断。在q为其它值时,计数器m计下xx(寄存x信号)的脉冲数。输出信号y滞后输入信号×10个clk。仿真结果如图5所示。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图5 FSK解调仿真结果。

4 2FSK调制解调器整体设计

在整体设计过程中,整体电路如图6所示,其中x为基带信号,y为经过调制解调后的解调信号。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图6 整体电路。

调制解调器设计仿真结果如图7所示。比较输入信号x与输出信号y,完全一样,只是系统仿真结果有一定的延时。仿真结果表明,系统设计正确 。

采用VHDL语言和FPGA芯片的2FSK调制解调器实现方案介绍

图7 整体仿真结果。

5 结论

本文基于2FSK的基本原理,进行二进制调制解调器的设计。运用VHDL语言对器件进行功能描述, 在MAX+PLUS II软件平台上对所描述器件进行时序仿真,最后下载至目标芯片EPM7032LC44-15,分配合理引脚,进行仿真。设计过程中调制阶段的基带信号,经调制仿真得到解调所需的输入信号。解调阶段对来自调制阶段得到的信号进行解调,所得解调信号即为原来调制基带信号,起到了调制解调的作用。整个设计过程采用VHDL语言实现,设计灵活、修改方便,具有良好的可移植性及产品升级的系统性。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593242
  • 调制解调器
    +关注

    关注

    3

    文章

    821

    浏览量

    38388
  • vhdl
    +关注

    关注

    30

    文章

    816

    浏览量

    127689
收藏 人收藏

    评论

    相关推荐

    基于MSP430的FSK调制解调器

    FSK调制解调器芯片MC145442和MC145443等,电路比较复杂,灵活性不高,且难以应用于线路干扰强的场合。
    发表于 03-04 17:24

    有关基于单片机的2FSK数字调制解调器

    大家好,请问大家有没有用过单片机实现2FSK数字调制解调器呢?有的话吱一声……谢谢!
    发表于 09-11 23:35

    【资料分享】基于FPGAFSK调制设计

    2FSK信号调制解调器,利用m序列的随机性和确定性来产生输入基带信号,用分频把时钟信号分频成两个不同频率的信号。详细介绍了基于FPGA
    发表于 03-20 16:54

    LoRa™调制解调器相关设计操作

    (睡眠模式)下进行, 这样既实现了远距离调制能力又能使用标准的FSK或OOK调制技术。LoRaTM调制解调器
    发表于 08-03 15:11

    线缆调制解调器的原理是什么?

    线缆调制解调器(简称CM),Cable是指有线电视网络,Modem是调制解调器。平常用Modem通过电话线上互联网,而线缆调制解调器是在有线电视网络上用来上互联网的设备,它是串接在用户家的有线电视
    发表于 09-27 09:11

    Virtex 2 Pro与Fargo Maestro 20 GSM调制解调器连接问题的解决办法?

    你好,,我做的项目涉及从fpga向任何手机发送消息任何gsm调制解调器...所以需要接口Virtex 2Pro和GSM调制解调器..因为我设计了一个工作在9600波特率的UART ..
    发表于 06-13 20:28

    如何选择理想的ADSL调制解调器解决方案

    如何选择理想的ADSL调制解调器解决方案
    发表于 05-28 06:03

    介绍移动宽带调制解调器的不同设计方案

    介绍移动宽带调制解调器的不同设计方案
    发表于 05-28 06:47

    基于FPGA的MSK调制解调器设计与应用

    提出了一种基于FPGA 的数字MSK 调制解调器设计方法,应用VHDL 语言进行了模块设计和时序仿真。硬件部分在Altera 公司 EP2C15AF256C8N
    发表于 01-25 14:29 53次下载

    基于DSP的2FSK调制解调器的设计

    介绍了简易V.23二进制频移键控(2FSK调制解调器的工作原理、算法分析以及基于可编程器件DSP的软件设计方法。
    发表于 07-27 17:50 66次下载

    Quartus II平台下实现全数字FSK调制解调器

    根据数字信号FSK调制解调的工作原理,采用层次化、模块化方法设计了一种基于FPGA 芯片
    发表于 08-26 15:25 114次下载
    Quartus II平台下<b class='flag-5'>实现</b>全数字<b class='flag-5'>FSK</b><b class='flag-5'>调制解调器</b>

    FPGA实现2FSK数字信号调制解调

    基于FPGA调制解调的数字信号有多种,包括2ASK、2FSK、2PSK等,文中介绍2FSK
    发表于 03-23 11:17 398次下载
    <b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>2FSK</b>数字信号<b class='flag-5'>调制</b><b class='flag-5'>解调</b>

    基于FPGA的BPSK调制解调器设计

    本文设计实现了一种新型的BPSK信号调制解调器,利用m序列的随机性来产生输入基带信号,详细介绍了基于FPGA的BPSK信号调制解调器的设计方
    发表于 03-31 15:06 67次下载
    基于<b class='flag-5'>FPGA</b>的BPSK<b class='flag-5'>调制</b>与<b class='flag-5'>解调器</b>设计

    关于MSP430的FSK调制解调器

    提出了一种基于 TIM SP430单片机的 FSK 调制解调器设计方案
    发表于 04-26 14:15 21次下载
    关于MSP430的<b class='flag-5'>FSK</b><b class='flag-5'>调制解调器</b>

    基于VHDL的MSK调制解调器的建模与设计

    电子发烧友网站提供《基于VHDL的MSK调制解调器的建模与设计.pdf》资料免费下载
    发表于 10-18 10:46 0次下载
    基于<b class='flag-5'>VHDL</b>的MSK<b class='flag-5'>调制解调器</b>的建模与设计