基于FPGA的AM信号调制与解调详细步骤

 

详细程序及原理参考原文:

FPGA学习(二)——实现AM信号调制与解调 - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/p/37203478

 

  1. 使用的软件是Vivado 2016.4
  2. 实验室板卡是Nexys Video

一、写在前面

仿真可实现,VIO可用。

 

1.本篇记录的是如何进行AM信号的调制与解调,

其主要步骤包括:

 

  1. 分频器(Frequency divider)的产生
  2. 载波信号(Carrier signal)的产生
  3. 调制信号(Modulated signal)的产生
  4. 含直流分量(DC component)的调制信号
  5. 已调信号(Modulated signal)的产生
  6. 相干解调(Coherent demodulation)
  7. 滤除直流分量(DC component)
  8. 中间还有截位操作

 

2.关于截位:

在FPGA中,随着信号处理的层次加深,对信号进行乘、累加、滤波等运算后,可能输入时仅为8位位宽的信号会扩展成几十位位宽,位宽越宽,占用的硬件资源就越多,但位宽超过一定范围后,位宽的增宽并不会对处理精度带来显著的改善,这时就需要对信号进行截位。

3.关于滤波器设计

两种方法:

一是相干解调时需要低通滤波器;

二是可采用对已调信号取绝对值的方式(包络检波)也需要低通滤波器。

 

二、对过程的要求:

(1)载波信号频率范围:1M-10MHz,分辨率0.01MHz;

(2)调制信号为单频正弦波信号,频率范围:1kHz-10kHz,分辨率0.01kHz;

(3)调制深度0-1.0,步进0.1,精度优于5%;

(4)调制信号和解调信号位宽为___8___位,其他信号位宽自定义,解调误差优于1%(可利用MATLAB对数据进行验证);

 

三、原理分析

1.调制与解调原理

//已调信号输出:out=Add_1_out*dds_zb_out

//含直流分量的调制信号:Add_1_out=mult_1_out+1280(8位调制信号的幅值)

//可控的直流分量输出:mult_1_out=dds_tz_out*ma(Ma/10为调制深度)

//载波信号输出:DDS>>dds_compiler_zb>>dds_zb_out>>频率控制字fre_word_zb,16bits,输出位宽8bits

//无直流分量的调制信号输出:DDS>>dds_compiler_tz>>dds_tz_out>>频率控制字fre_word_tz,16bits,输出位宽8bits

 

2.根据要求设计信号参数

1)载波信号频率范围:1M-10MHz,分辨率0.01MHz

DDS工作时钟选择40MHz,dds_zb_out:频率控制字16位,输出8位,原理见:

子木:FPGA学习(一)——产生频率可控的正弦波​zhuanlan.zhihu.com图标

(2)调制信号为单频正弦波信号,频率范围:1kHz-10kHz,分辨率0.01kHz

DDS工作时钟选择10MHz,dds_tz_out:频率控制字为16位,

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子木呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值