当前位置: 首页 > news >正文

基于FPGA的AM调制解调:包含ModelSim仿真、Quartus 18.1与Vivado ...

基于fpga的AM调制解调,有modlsim仿真,以及quartus18.1和vivado2017.4的工程文件,使用matlab设计解调需要的滤波器,fir才采用verilog实现,没有调用ip。 相关仿真如下图所示,如果板子有adc和dac,支持上板。

AM调制解调在通信系统里就像老司机必备的生存技能。咱们今天用FPGA整活这个经典方案,全程不调IP核,从Matlab滤波器设计到Verilog手撸FIR,最后还能真刀真枪上板实测。

先看发射端架构(敲黑板,重点来了)。载波直接用DDS生成,Verilog代码里这个相位累加器你品:

always @(posedge clk) begin phase_acc <= phase_acc + 32'd42949673; //1MHz载波@50MHz时钟 end

累加值每时钟周期加(2^32 * fout)/fclk,这种定点运算比浮点香多了。调制部分更暴力——直接把基带信号和载波相乘:

assign am_wave = (carrier * (12'd2048 + baseband)) >> 11; //基带DC偏移+调幅

这里基带信号要加个直流偏移避免过调幅,移位操作相当于定点数规格化,比直接截位更稳。

接收端最骚的操作在解调。Matlab的fdatool生成FIR系数,注意导出时要做定点量化:

h = fir1(63, 0.1); % 10%截止频率 h_quant = round(h * 32767); %16位量化

生成的系数直接喂给Verilog实现的FIR滤波器。手写FIR核心是这个画风:

always @(posedge clk) begin //移位寄存器更新 delay_line <= {delay_line[62:0], am_signal}; //乘累加操作 for(int i=0; i<64; i=i+1) begin product[i] = $signed(delay_line[i]) * coeff[i]; end sum = 0; for(int j=0; j<64; j=j+1) begin sum = sum + product[j]; end filtered <= sum >>> 15; //数据对齐 end

这个并行结构虽然吃资源,但时序表现比串行实现强太多。注意右移15位对应Matlab的32767量化系数,信号对齐的坑踩过的人都懂。

基于fpga的AM调制解调,有modlsim仿真,以及quartus18.1和vivado2017.4的工程文件,使用matlab设计解调需要的滤波器,fir才采用verilog实现,没有调用ip。 相关仿真如下图所示,如果板子有adc和dac,支持上板。

ModelSim仿真时发现个鬼故事——当基带信号频率接近载波1/10时,解调波形会抽搐。后来发现是FIR过渡带没设计好,回Matlab把滤波器阶数从64提到128阶,立马稳如老狗。

上板实测环节,AD/DA配置要注意这个骚操作:

assign dac_data = am_wave[23:8]; //16位有效位提取 always @(posedge adc_clk) begin demod_in <= {adc_data, 8'b0}; //左移8位提升计算精度 end

数据位宽处理不当会导致信噪比血崩,实测有效位损失超过3位时解调信号直接妈见打。

最后说个保命技巧:在Vivado里用XPMCLOCKGEN替代PLL,不同板卡移植时能少掉头发。Quartus用户当我没说,Altera的IP核脾气你们懂的。完整工程已传GitHub,自取时记得star,老铁们的三连是更新的动力!

http://www.jsqmd.com/news/486359/

相关文章:

  • RFID读写器怎么选更适合企业现场?
  • 国内知名半导体核心部件论坛盘点,2026从业者必关注(附核心亮点) - 品牌2025
  • 2026贵阳室内装修数据出炉:本地口碑TOP5品牌权威盘点 - 精选优质企业推荐榜
  • 文件包含PHP_INCLUDE_TO_SHELL_CHAR_DICT工具详解
  • 2026贵阳装修公司5强名单公布,本地市场格局数据出炉 - 精选优质企业推荐榜
  • 4节点光储直流微网:多目标控制下的光伏MPPT与储能双向DCDC的二次优化与多智能体一致性研究
  • 2026贵阳室内设计5强名单出炉,权威机构发布行业现状 - 精选优质企业推荐榜
  • 2026年三防布批发TOP10企业揭晓,谁将领跑行业?
  • 虚拟机(Red Hat)部署后的优化
  • 2026高二生免高考留学新加坡全指南:避开内卷,直通世界名校 - 品牌2026
  • 超绝openclaw技能skill,herHug让AI更懂你
  • 计算机毕业设计 java 虚拟股票交易系统 Java+SpringBoot 模拟股票交易平台 Web 版股市虚拟交易实训系统
  • 【云藏山鹰代数信息系统】琴语言基础100讲之琴语言解析器梅开二度设计
  • 技术裸奔时代:软件测试行业的社交货币陷阱与专业重构
  • 制造知识断层:软件测试工程师的不可替代性构建策略
  • 基于MATLAB的Kmeans自动寻找最佳聚类中心App:‘手肘法‘确定k值与聚类结果可视化
  • 2026年最新完整java面试题(含答案)
  • 老牌智造,长效守护:2026全国风机五强赋能全场景通风安全能效新标杆 - 深度智识库
  • openYuanrong Agent 方向真实案例验证
  • 基于FPGA的DisplayPort Transmitter IP纯源码,使用fpga的gt收发器
  • 2026贵阳室内设计实惠排行榜发布,权威数据揭示本地格局 - 精选优质企业推荐榜
  • 数据仓库处理架构: lambda架构、kappa架构
  • 计算机毕业设计springboot基于Vue.js的臻品可可平台管理系统 基于SpringBoot与Vue.js的高端巧克力电商运营平台 采用前后端分离架构的精品可可产品在线销售管理系统
  • Coze自动化工作流+Agent智能体实战教程(0基础入门,附多场景实操)
  • 刷题篇-1
  • 基于FFT傅里叶变换的QPSK基带信号频偏估计与补偿算法的FPGA实现:从调制到补偿的完整流程...
  • 画说:一个开箱即用的白板录屏工具,专为知识讲解而生
  • 计算机毕业设计springboot基于Vue的北方消逝民族网站的设计与实现 基于SpringBoot与Vue.js的北方濒危民族文化数字化传承平台 采用前后端分离架构的北方少数民族历史文化在线展示系统
  • 和 AI 聊天不难,难的是长期协作:我做了一套三层机制
  • LeetCode 49. 字母异位词分组