简易FM信号解调的FPGA实现过程讲解

可编程逻辑

1358人已加入

描述

FM解调需要去掉载波得到基带的信号,考虑到FM的特殊性,使用参考资料1中的小角度近似解调算法。

简单来说,FM信号采样后,进行下变频后,传统方法需要对正交分量和同相分量进行反正切及差分运算,这样在FPGA中实现起来相对来说复杂且耗费资源。改进的小角度近似解调法利用了FM的恒包络特性,角度相似原理,得到的解调公式如下:

触发器

如此,仅需对信号进行延时,相乘再相减的操作,运算过程简化且使用频率提升,优缺点如下图所示:

触发器

最后,解调的整体过程还包括下变频过程,本工程为简化流程,未使用载波恢复进行频偏补偿。整体过程流程图如下:

触发器

下变频

使用NCO IP核,设置好对应中心频率的频率控制字即可,如下图,NCO输出预设频率的正弦波信号,NCO的设置可见参考资料2及上篇文章。

触发器

将采样信号分为两路,分别与cos,sin信号相乘,如下图,乘法器的IP核需要注意数据类型,需要选择为有符号数,最好使用流水线结构,其它的如数据位宽根据实际需求设置:

触发器

时域混频对应频域频谱搬移,需要使用滤波器滤除高频分量。滤波器的参数设置见参考资料3,设置好对应的采样频率,截止频率,滤波器系数位宽和输入位宽参数即可。如下图,信号通过滤波器:

触发器

至此,下变频过程结束。

小角度近似解调

使用D触发器将下变频后的信号延迟一个时钟周期,按照上述提到的公式,进行对应的乘法,最后做减法即可。

触发器

这块没什么可说的,基本上就是照着公式调用乘法/减法IP核,设置好对应参数,可能需要截位,截位见参考资料4。

整体结构搭建起来并不复杂,实际出来的信号效果还需要使用Signaltap II进行板上验证,并调整滤波器参数和截位得到最好的效果。

最终得到的效果如下:

触发器

第二个是原始基带信号,最后一个就是解调的信号,可以看到还是有部分载波信号在,这是因为我们所使用的FPGA芯片l里的资源比较少,滤波器的阶数和系数位宽不能设置过大,省资源导致的,其次下变频的本振信号与信号载波之间可能存在频偏,未进行补偿操作。

FPGA型号:Altera Cyclone EP4CE10F17C8

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

全部0条评论

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

×
20
完善资料,
赚取积分