简易AM信号调制的FPGA实现过程简单讲解

时间:2025-04-28  作者:Diven  阅读:0

为什么是AM信号的调制过程,是因为在短时间情况下,AM信号的实现相对简单,而且上述提到的几个模块都可以得到使用和验证。

简易AM信号调制的FPGA实现过程简单讲解

因为FPGA的价格因素,做课设/比赛使用最多的还是Altera的Cyclone系列板。所以,本文使用Quartus II 13.1 作为Verilog代码综合实现工具

AM信号调制过程就不做过多介绍了,简单来说,就是基带信号和一个直流信号相加,然后与载波相乘。那么,在实现过程中,做了些许改变,先让基带信号与载波相乘,然后将截位后的信号与载波相加。如果想要实现更精细的AM信号调制(变更调制深度等参数),可以修改这个地方的先后顺序。

AM公式表达如下:

NCO(DDS)的本质是ROM表,ROM表存储着正弦波的波形数据,相位精度代表波形数据的多少。根据phi_inc_i累加地址,ROM根据地址输出波形数据,最后数据计算如下。

然后让基带和载波信号相乘,使用LPM_MULT IP核,设置好位宽,数据类型设为“signed”,设置流水线(增加clock),延迟设为1,便于后续通过时序检查。

相乘输出信号位宽为32位,保险起见我们只截取最高位的符号位,再截取低位的数据。但是经过上板测试和仿真,符号位实际上有很多位。当然,这部分可以将符号位进行优化,或者设置一个模块,根据输入的参数输出不一样的截位信号,相当于在调整调制深度。

将载波信号延迟一个周期,与乘法器延迟一周期的信号做好时序对齐,然后经过LPM_ADD_SUB IP核的加法运算;同样,LPM_ADD_SUB IP核设置好输入信号位宽,数据类型设为“signed”,设置流水线,延迟设为1。

最后输出的信号就可以经过高速DAC输出。整个调制过程就结束了。

仿真结果:

最后思考,可以在加法器和乘法器增加一个enable端口,IP核可以增加这个输入信号;如果先加再乘,由于直流信号一般不会变动,使能信号可以等待每次低速ADC或低速NCO数值更新再拉高一次;乘法器也可以使用使能信号控制,这样的话性能可能没有变化,功耗或许可降低些。

使用VCS仿真NCO的nco.vo文件时,一直遇到一个问题,报错如下:

大概是说NCO生成的4个hex文件有问题,但是使用modelsim就没这个问题了。

猜您喜欢

内存条连接器(DDR)规格尺寸是了解电脑硬件的重要一环。DDR内存条的连接器长度通常为 6.5厘米,宽度约为 3.5厘米,而高度则因不同类型而异。最常见的DDR...
2013-12-22 00:00:00

开关二极管是重要的电子元件,应用于各种电路中,尤其是在开关电源、整流电路和信号处理等领域。正确识别开关二极管的型号对于确保电路的正常运行和提高产品的可靠性非常重...
2025-03-30 06:30:02

你是否好奇过,电子设备如何从低电压电源获得更高的电压来驱动其组件?答案就在于一种巧妙的电路设计——电荷泵电路。简单来说,电荷泵电路就像一个电子水泵,利用电容存储...
2024-05-24 00:00:00

电阻和电容是电子电路中最基本的两种元件,在电路中是重要的配件。电阻用于限制电流的流动,而电容则用于储存电能和过滤信号。了解电阻和电容的用途,对于设计和维护电子设...
2025-04-14 16:30:36


低压差线性稳压器 (LDO) 是一种电子电路,用于将变化的直流电压转换为稳定的低纹波输出电压。与其类型的线性稳压器相比,LDO 可以在输入电压和输出电压之间保持...
2024-08-27 00:00:00


想快速读懂贴片电阻的型号规格?其实很简单!主要看两个方面:阻值和封装尺寸。阻值通常用三位数字表示,前两位是有效数字,第三位是10的幂次方。例如102表示10 x...
2024-11-29 10:25:42

如果您正在寻找一种可以有效管理家庭空调系统的产品,那么我们的AC控制器将是您的理想选择。这款AC控制器专为满足一般用户的需求而设计,以其实用和简便的操作性能,帮...
2024-02-18 00:00:00

贴片电阻R101的标称阻值为0Ω,并不代表完全没有电阻。实际上,是一种特殊用途的贴片电阻,通常被称为零欧姆电阻或跳线电阻。的实际阻值非常小,一般在几毫欧到几十毫...
2024-11-29 10:26:10