基于FPGA的AM调制解调:Modsim仿真与Quartus18.1/Vivado2017.4...

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

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

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

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

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

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

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

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

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

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

verilog 复制代码
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量化系数,信号对齐的坑踩过的人都懂。

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

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

verilog 复制代码
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,老铁们的三连是更新的动力!

相关推荐
Matlab光学1 天前
Matlab 复现:分数阶&整数阶OAM 变换
算法·matlab·拓扑学
Trouvaille ~13 天前
【优选算法篇】拓扑排序——逻辑先后与任务依赖的终极拆解
数据结构·c++·算法·leetcode·青少年编程·蓝桥杯·拓扑学
Cathy Bryant14 天前
拓扑学:曲面与圆环
笔记·线性代数·矩阵·拓扑学
Cathy Bryant16 天前
聊聊拓扑学
笔记·算法·数学建模·拓扑学·高等数学
Cathy Bryant16 天前
拓扑学-毛球定理
笔记·线性代数·算法·矩阵·拓扑学·高等数学
Figo_Cheung18 天前
Figo以规范势为基本量的规范场论(GPFT):电磁相互作用与宏观量子态的统一框架——揭示:规范势 [特殊字符] [特殊字符] 是电磁相互作用的根本实体
数学建模·量子计算·拓扑学
天疆说1 个月前
【拓扑学+航天轨道动力学】同伦(Homotopy)概念解析
人工智能·算法·拓扑学
ComputerInBook2 个月前
拓扑学基本概念——流形(manifold)
拓扑学·微分几何·流形·微分流形
2301_81062744颜斌2 个月前
【无标题】标准模型与11维拓扑量子色动力学——第一原理统一理论:从几何本原到粒子物理的严格构建
拓扑学
WW_千谷山4_sch2 个月前
MYOJ_7788:(洛谷P3387)【模板】缩点(有关强连通分量)
c++·算法·深度优先·动态规划·图论·拓扑学