原创 FPGA FM调制

2015-3-17 21:10 2004 15 16 分类: FPGA/CPLD

2.3  FM调制的基本原理

2.3.1概述

    两个正弦信号振荡器,一个是稳定不变的载波频率fc振荡器;一个是调制频率fm振荡器。载波频率被加在调制振荡器的输出上。进行远距离通信。

2.3.2 FM调制的理论

2.3  FM调制模型

FM调制的模型如图2.3所示。为基带原始的调制信号,假定调制信号为:

...............................................................................2.3.1

假定正弦载波为:

..............................................................................2.3.2

在调制时,载波的频谱偏随着调制信号成正比比例系数为调频灵敏度

........................................................................2.3.4

此时相位偏移量为:

...........................................................................2.3.5

此时调频信号为:

.................................................2.3.6

2.3.2 FM调制的优点

    接收设备解调器设计比较简单,成本比较低。大规模应用在微波中继、超短波小功率电台(窄带);卫星通信、调频立体声广播(宽带)。

代码

module fm(

                            data_in,

                            sys_clk,

                            en,

                            sys_restn,

                            signal_out

                            );

/////////////////////////////////////////////////////////

input [15:0]data_in;  

input sys_clk;

input sys_restn;

input en;

output [15:0]signal_out;

 

reg [31:0]signal_out;

wire [9:0]address_sig;

wire [15:0]q_sig;

//////////////////////////////////////////////////////////                  

fm_data fm_data_inst (

       .address ( address_sig ),

       .clock ( sys_clk ),

       .q ( q_sig )

       );

 

//////////////////////////////////////////////////////////

always @(posedge sys_clk or negedge sys_restn)

       begin

              if(!sys_restn)

              signal_out <= 0;

              else

          signal_out <= q_sig*data_in;

       end

////////////////////////////////////////////////////////////

reg [9:0]count;

always @(posedge sys_clk or negedge sys_restn)

       begin

              if(!sys_restn)

                     count <= 10'd0;

              else if(en)

                            count <= count + 1'b1;

              else

                     count <= count;

                    

       end

///////////////////////////////////////////////////////////

assign address_sig = count;

 

endmodule

文章评论1条评论)

登录后参与讨论

用户1855130 2016-4-11 18:40

请问你的使能en是怎么控制的,什么情况下让地址加1呢?
相关推荐阅读
用户1777143 2015-03-17 21:07
基于fpga的FSK调制
2.2  PSK调制的基本原理 2.2.1概述 相移键控(PSK)是一种用载波相位表示输入信号信息的调制技术。移相键控分为绝对移相和相对移相两种。 2.2.2PSK调制的原理 ...
用户1777143 2015-03-17 21:01
基于fpga的dds合成
DDS理论        图2.1.1 DDS原理       DDS实现框图如图1-1所示,主要由相位累加器、正弦ROM表、D/A转换、低通滤波器构成。正弦信号与幅度的对应...
用户1777143 2014-12-07 12:58
fpga最小系统及高速信号完整性分析篇之原理图库的创建
      大家好,至于画fpga原理图的时候,我自己自制了EXCEL表格,然后倒入cadence软件,比较复杂和麻烦,虽然比之前的单纯画引脚的方法好很多,画完484个引脚后,但我画完之后。仔细寻...
用户1777143 2014-12-07 12:48
nios处理器硬件平台及开发文档
    外设,nios使用文档,还有我自己搭建的硬件平台。对于想学fpga的同学必须自己学会看英文文档。后续我看有没时间我出个文档翻译版的。...
用户1777143 2014-12-07 12:41
fpga最小系统及高速信号完整性分析篇
    最近兜兜转转去学画fpga GX系列的高速板子,迷迷糊糊看了一个月的英文资料,完成了器件的与外设的连接,我也是第一次学着画。我把我学到的跟大家分享下。希望大家能支持我的博客,从cyclon...
我要评论
1
15
关闭 站长推荐上一条 /2 下一条