AM调制与解调

AM 信号相干解调仿真实验报告

一、实验目的

  1. 理解调幅(AM)信号的调制原理,掌握 AM 已调信号的数学表达式与波形特征。
  2. 掌握相干解调的基本原理,理解"本地本振与载波同频同相"这一核心条件。
  3. 利用 MATLAB 完成调制信号生成、混频、FIR 低通滤波、去直流恢复的完整链路仿真。
  4. 对比理想相干解调与含 FIR 实际链路的解调结果,分析量化误差与载波残留。
  5. 通过仿真验证 FIR 低通滤波器对 2MHz 高频分量的抑制效果。
    img

二、实验原理

2.1 AM 调制原理

AM 调制是将基带信号(低频)叠加直流分量后与高频载波相乘,使基带信息"装载"到载波上。其数学表达式为:

\[s(t) = A_c \cdot [1 + m \cdot \cos(2\pi F_m t)] \cdot \cos(2\pi F_c t) \]

其中:

  • \(A_c\):载波幅度
  • \(F_c\):载波频率(1MHz)
  • \(F_m\):基波(调制信号)频率(1kHz)
  • \(m\):调幅指数,满足 \(0 < m < 1\) 时无过调,包络不失真

已调信号 \(s(t)\) 的包络正比于 \(1 + m\cos(2\pi F_m t)\),即携带了基带信息。

2.2 相干解调原理

相干解调(同步检波)利用本地本振与接收信号相乘,通过三角函数恒等式分离出低频分量:

\[s(t) \cdot \cos(2\pi F_c t) = \frac{A_c}{2}[1 + m\cos(2\pi F_m t)] + \frac{A_c}{2}[1 + m\cos(2\pi F_m t)]\cos(4\pi F_c t) \]

混频后产生两部分:

  • 低频分量:\(\frac{A_c}{2}[1 + m\cos(2\pi F_m t)]\),包含基带信息与直流偏置 \(A_c/2\)
  • 高频分量:\(\pm 2F_c\)(约 2MHz)附近的产物,需要滤除

经低通滤波器(FIR)滤除 2MHz 高频分量后,再减去直流偏置 \(A_c/2\),即可恢复纯净的基带信号:

\[m(t) = \frac{A_c \cdot m}{2} \cdot \cos(2\pi F_m t) \]

2.3 关键条件

相干解调要求本地本振与发送载波同频同相。若本振为 \(\cos(2\pi F_c t + \phi)\),则解调输出幅度衰减为 \(\cos\phi\):

  • \(\phi = 0°\):满幅度恢复
  • \(\phi = 90°\):输出为零(正交零点)

2.4 FIR 低通滤波器

FIR 滤波器用于滤除混频后的 2MHz 高频分量。其传递函数为:

\[y[n] = \sum_{k=0}^{N} h[k] \cdot x[n-k] \]

设计采用凯泽窗法,关键参数包括通带截止频率、阻带起始频率与阻带衰减。

三、实验环境与参数

参数 取值 说明
采样率\(F_s\) 100 MHz 系统采样率
载波频率\(F_c\) 1 MHz 载波正弦波
基波频率\(F_m\) 1 kHz 调制信号
调幅指数\(m\) 0.30 无过调
载波幅度\(A_c\) 1.0(浮点)/ 32767(16bit) 归一化
仿真时长 2 ms 含足够基波周期
定点位宽 16 bit 有符号数
FIR 阶数 128(129 抽头) 凯泽窗
FIR 通带 5 kHz 基带通过
FIR 阻带 50 kHz 抑制 2MHz
阻带衰减 80 dB 充分抑制载波

四、实验内容与步骤

  1. 调制信号生成:生成 1MHz 载波与 1kHz 基波,按 AM 表达式合成已调信号,并完成 16bit 定点量化。
    img
  2. 理想相干解调:用同频同相余弦本振混频,观察频谱中 ±2MHz 分量的产生。
    img
  3. 含 FIR 实际链路解调:用 129 抽头 FIR 低通滤波替代理想低通,模拟 FPGA 定点链路。
  4. 去直流恢复:估计并减去直流偏置 \(A_c/2\),恢复基带信号。
  5. 性能评估:对比理想与实际解调的幅度误差、2MHz 残留幅度与噪声底。

五、MATLAB 仿真代码

代码:

%% 相干解调用低通 FIR(100MHz 采样,加强版)
clear; clc;
Fs = 100e6;
Fpass = 5e3;        % 通带 5kHz(确保 1kHz 基带安全通过)
Fstop = 50e3;       % 阻带 50kHz(远离 2MHz 高频残留)
N = 128;            % 129 抽头,提升阶数以获得更陡峭的过渡带

% 凯泽窗设计
Ast = 80;            % 阻带衰减提升至 80dB
beta = 0.1102*(Ast-8.7);
b = fir1(N, Fstop/(Fs/2), kaiser(N+1, beta));

% 16bit 量化(保留直流增益,不再做 max 归一化)
coeff = round(b * (2^15-1));

% 绘制滤波器频响用于验证
[H, f] = freqz(b, 1, 8192, Fs);
figure;
plot(f/1e3, 20*log10(abs(H) + eps));
xlabel('频率 (kHz)'); ylabel('幅度 (dB)');
title('FIR 低通滤波器幅度响应 (129 Taps)');
grid on; 
xlim([0 5000]); ylim([-100 5]);
hold on;
line([1 1], [-100 5], 'Color','r','LineStyle','--', 'DisplayName','1kHz 基带');
line([50 50], [-100 5], 'Color','g','LineStyle','--', 'DisplayName','50kHz 阻带起始');
line([2000 2000], [-100 5], 'Color','m','LineStyle','--', 'DisplayName','2MHz 高频残留');
legend show;

% 导出 COE 文件
fid = fopen('coh_fir_v2.coe','w');
fprintf(fid,'radix = 16;\ncoefdata = \n');
for i=1:length(coeff)
    v = coeff(i); 
    if v<0
        v=v+2^16; 
    end
    hx = dec2hex(v,4);
    if i==length(coeff)
        fprintf(fid,'%s;\n',hx);
    else
        fprintf(fid,'%s,\n',hx);
    end
end
fclose(fid);
disp('coh_fir_v2.coe 已生成,129 taps');

六、仿真结果与分析

6.1 调制波形

图 6-1 展示了 AM 调制过程中各关键波形:1MHz 载波、1kHz 基波以及合成后的 AM 已调信号。已调信号的包络清晰地反映了 1kHz 基波的变化规律,调幅指数 \(m=0.3\) 保证了包络无过调。

图 6-1 AM 调制波形(载波 / 基波 / 已调信号):

img

6.3 混频后频谱

图 6-3 为混频后的信号频谱。可以看到在 \(\pm 2MHz\) 处存在明显的高频分量,这正是需要通过 FIR 低通滤波器滤除的部分;低频段则包含待恢复的基带信息。

图 6-3 混频后频谱:

img

6.4 解调结果对比

图 6-4 对比了三种解调结果:理想相干解调(含直流)、含 FIR 的实际链路解调(去直流后)以及 16bit 定点链路解调(去直流后)。三者波形基本一致,验证了 FIR 低通滤波的有效性。

图 6-4 AM 相干解调结果对比:

  • 解调信号
    img
  • 基带信号

img

七、性能指标

运行仿真后,得到以下性能指标(请以你实际运行的输出为准填写):

指标 理论值 实际值 误差
基波幅度(\(A_c \cdot m / 2\)) 1474.5 1444 30.5
FIR 输出基波分量幅度 — 722 —
2MHz 残留幅度 — ≈ 0 1
幅度误差百分比 — 9.7% -

八、实验结论

  1. 成功实现了 AM 信号的调制,已调信号包络正比于 \(1 + m\cos(2\pi F_m t)\),调幅指数 \(m=0.3\) 保证无过调。
  2. 相干解调利用本地本振混频,将已调信号中的低频分量与 2MHz 高频分量分离。
  3. 129 抽头 FIR 低通滤波器有效抑制了 2MHz 高频分量,2MHz 残留幅度接近零。
  4. 去直流处理后成功恢复了纯净的 1kHz 基波,验证了相干解调"同频同相"原理的正确性。

项目地址

vivado仿真

posted @ 2026-11-02 14:35  奶龙大王  阅读(36)  评论(0)    收藏  举报