77范文网 - 专业文章范例文档资料分享平台

2ASK在FPGA中的实现(2)

来源:网络收集 时间:2019-02-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(式9)

将式(7)、式(8)和式(9)代入式(6),可得

2ASK信号的功率谱的特点

2ASK信号的功率谱由连续谱和离散谱两部分组成 2ASK信号的带宽是基带脉冲波形带宽的两倍

2 2ASK的实现方案

2.1 2ASK信号的调制

2ASK信号的产生实现比较简单,如图2-1:

图2-1 2ASK调制信号的产生框图

输入信号是01信号,通过二选一开关,当信号为零时直接输出0,当信号为一时,使信号和载波相乘,这样就可以产生2ASK调制信号。

载波可以用正弦波,也可以用数字载波。如用正弦波作为载波,则在解调的时候必须用上面原理介绍的解调方法。如选用数字载波,则在解调时只需要通过对一个信号周期内的调制信号进行脉冲计数,便可实现解调。

2.2 2ASK信号的解调

以正弦波为载波的2ASK解调在原理部分已经介绍,在此不再赘述。下面介绍以数字信号为载波的2ASK信号的解调。 解调框图如下:

6

图2-2 以数字信号为载波的2ASK信号解调框图

时钟计数器进行以信号周期为周期的循环计数,为判别模块提供判别时刻,调制信号计数器也是以信号周期为周期的循环计数器,将判别时刻的计数值送入判别模块进行判别,由此实现解调。

2.3 方案的选择

根据前面的分析,可以知道。用数字信号为载波来实现2ASK相对容易很多,原理也简单。传统的以正弦波为载波的2ASK,实现起来可以增进对通信原理的理解。两种实现方法各有各自的优点,本次实验从容易的开始做,因此选用数字载波。

3 2ASK的FPGA实现

3.1 2ASK调制解调的FPGA实现

3.1.1 2ASK调制部分的代码

module two_ASK(clk,reset,en,sig_S,out_rdy,carriers,modata);

input clk; input reset;

input en; output carriers; output sig_S,out_rdy;

7

output modata;

reg [1:0] cnt; reg carriers; wire modata; reg sig_S,out_rdy;

reg[2:0] addr; reg[2:0] count;

parameter COUNT=3'd7; always @(posedge clk) begin:initial_control if(reset) begin addr<=3'd0;

count<=3'd0; end

else if(en) begin

count<=count+1; if(count==COUNT) begin

always @(posedge clk) begin:Red_sig if(en) case(addr) 4'd0:sig_S<=0; 4'd1:sig_S<=0;

8

addr<=addr+1;

end

else addr<=addr; out_rdy<=1;

end

end

4'd2:sig_S<=1; 4'd3:sig_S<=0; 4'd4:sig_S<=0; 4'd5:sig_S<=1; 4'd6:sig_S<=1; 4'd7:sig_S<=1; endcase end

// 下面实现载波产生

always@(posedge clk) begin

endmodule

程序的前面一部分是产生01信号,后面的是产生载波,然后是使01信号和载波相乘,实现了调制。

assign modata=sig_S&carriers; if(reset)

begin cnt<=2'b00; carriers<=0; end else if(en) cnt<=cnt+1;

carriers<=~cnt[1];

end

3.1.2 2ASK解调部分代码

module ASK_two(clk,reset,in_rdy,modata,demodata,out_rdy,cnt,k);

input clk,reset,in_rdy; input modata; output demodata;

9

output out_rdy;

reg demodata; reg out_rdy;

output [2:0] cnt; output [2:0] k;

reg [2:0] cnt; reg [2:0] k; //时钟计数器 always@(posedge clk) begin if(reset) cnt<=3'b00; else if(in_rdy) begin if(cnt==3'b111) cnt<=3'b00; else

cnt<=cnt+1; end

end

// 2ASK调制信号计数器

always @(posedge clk) begin if(reset) k <= 3'b000; else if(in_rdy) begin if(modata) k<= k+1;

else k<=k;

//判别模块

// 此过程完成2_ASK信号的解调10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库2ASK在FPGA中的实现(2)在线全文阅读。

2ASK在FPGA中的实现(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/474702.html(转载请注明文章来源)
上一篇:工地例会汇报材料
下一篇:发言稿123
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: