FSK信号的调制原理 FSK调制信号的FPGA实现

电子说

1.3w人已加入

描述

1、FSK信号的调制原理

数字频率调制是利用载波的频率传输信息的一种调制方式,FSK是在ASK之后出现的一种调制方式,抗衰落能力较强,在一些衰落信道中应用广泛。

数字频移键控(FSK)是用载波的频率来传递数字信息,符号1对应某个载频,符号0对应某个载频,频率之间的改变瞬间完成的,根据码元转换时刻的载波相位特征,可以分为连续相位FSK和非连续相位FSK,最简单的是二进制频移键控(2FSK),如下是连续相位的2FSK信号的波形。

 

matlab

 

波形matlab分别用来传输数字1和0,信号可以看成是载频为f1和f2的两个振幅键控信号的合成,2FSK信号可表示为:

 

matlab

 

式中,A是载波的振幅,Tb为数字码元的周期,{bn}为传送的数字序列为bn的反码.

2、FSK调制信号的MATLAB仿真

在matlab中仿真具有连续相位的2FSK调制信号:

调制指数为3.5。即两个频点以载波为中心,间隔为3.5*Rb=3.5MHz。

基带信号符号速率Rb =1MHz。

载波信号频率fc =6MHz。

采样频率fs =32*Rb。

Matlab提供了专门的FSK信号调制函数fskmod(),只需要设置几个参数就可以产生所需调度以及相位特征的FSK信号。

 

matlab

 

如下可以看到产生的FSK信号,并且两个频率确实相差3.5MHz,其中时域的波形只截取了一部分显示。

 

matlab

 

3、FSK调制信号的FPGA实现

在matlab中可以使用。现成的FSK函数,快速产生FSK调制信号,在FPGA中却不会有这样方便的函数使用,如下是产生2FSK信号的原理框图

 

matlab

 
2FSK信号原理框图

两种方法都可以实现,但是第二种所需要更少的逻辑资源,更具有性能优势,这里采用一个DDS核实现连续相位的FSK,需要使得DDS输出信号的频率可以配置,因此需要将DDS的“Phase Increment Programmability”选中“Streaming”,输出位宽选择16bit。根据输入数据data_in的高低电平状态,分别设置DDS核的频率调制输入信号的相位增量值,得到需要的信号。

根据DDS工作原理

 

matlab

 

式中fout为输出频率,fclk为系统时钟频率,matlab为相位增量位宽,例如:

 

matlab

 

计算得到相位增量,编写完成整个系统的Verilog HDL代码后,经测试,仿真如下:

 

matlab

 

从图中可以看到输出信号在符号跳变时刻仍然保持了信号相位的连续性。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分