基于FPGA实现FM调制 简易版

一、简介

        本篇文章主要是通过简单的原理帮助大家理解和实现FM的调制。

二、使用工具        

        Quartus II 13.1 、Cyclone V开发板

三、原理介绍

        众所周知所谓FM调制,即频率调制是指瞬时频率偏移随调制信号m(t)成比例变换,即

\frac{d\varphi (t)}{dt}=K_{f}m(t)

        即调制信号的频率随m(t)幅度的变化而变化,这是核心点。抛开各种公式,在Quartus里给我们提供了一个很方便的工具nco核,IP核的一种。它的功能是通过频率控制字Fre输出正余弦波,所谓频率控制字顾名思义就是控制频率的意思。具体计算公式:

f_{out}=\frac{f_{_{sys}}}{2^{n}}*Fre

        fout为nco核输出频率,fsys为系统时钟,n为相位累加器精度,Fre为频率控制字。

        有了这个工具我们就可以通过改变Fre来改变输出信号的频率,即调频。     

  四、具体实现

        1、创建工程,并添加Block Diagram顶层文件

        2、创建第一个nco核,作者具体参数设置如下:

         2、设计频率控制字模块sk

module SK(output [31:0] fr);

assign fr =32'd17179869;

endmodule

        创建符号文件

        导入顶层文件

        3、加法器模块add

module add(a,c);

input signed [15:0] a;
wire signed [32:0] b =32'd1717986918;
output signed [31:0] c;
assign c=a+b;

endmodule

        同上生成符号文件

         4、创建第二个nco核,具体参数配置如下

        

        5、连接各模块

        6、为开发板下载程序并在SignalTap II中观察波形

        导入引脚

        观察波形

        从上至下依次为:

        基带信号波形、加法器结果、调制信号。

五、结语

        至此我们通过调节频率控制字实现了FM的调制,上述步骤实现的波形观察可能不明显,主要原因是第一个nco核输出的信号幅度相比第二个nco的Fre过小,所以调频波形不太明显,这样符合正常FM调制也方便解调,若想观察到跟明显的调制波形,可通过增加第一个nco核的输出位数来实现,据此不再赘述,感兴趣的读者可以自行尝试。调整后现象如下:

         码字不易,如有帮助,望点赞、收藏支持,您的赞许是我前行的动力。若想了解FM解调,也请关注之后的更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值