AM解调的FPGA实现

一、说明:

  1. 功能:AM解调
  2. 平台:Vivado 2016.4 和 Matlab R2017a

二、原理:

1.AM解调原理

  • 模拟电路中采用“包络检波”的方法:
    在这里插入图片描述

  • **数字电路中采用类似的方法: **
    先将已调信号取绝对值,再经过低通滤波器,滤除高频分量(经AM调制的信号包含两个高频分量:载波频率+/-调制信号频率,因此低通滤波器的截止频率小于两个高频分量就可以),得到的就是叠加了直流分量的调制信号,去直流后便可以得到调制信号。

三、AM解调的FPGA实现

1.将已调制的AM信号取绝对值

关于AM信号的产生,参见上一篇博客: AM调制的FPGA实现
简单说明一下对数据取反的思路:如果是无符号数,则不存在符号位,也就是说数据都是正数,不需要取绝对值;如果是有符号数,通过检测最高位的符号位,如果符号位是1,则表示数据是负数,对数据取反,如果符号位是0,则表示数据是正数,不需要取反操作。

  • 取绝对值的Verilog实现:
always @(posedge clk or negedge rst_n) begin
	if(!rst_n)	begin
		data_tdata <= 0;
	end
	else if(AM_mod[15] == 1)	begin
		data_tdata <= -{AM_mod};		//如果符号位是1,对数据取反
	end
	else if(AM_mod[15] == 0)	begin
		data_tdata <= AM_mod;			//如果符号位是0,数据不变
	end
	else	begin
		data_tdata <= data_tdata;
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值