【微科普】相位调制 (PM) 理论推导、频谱演化与 MATLAB 仿真验证

文章目录

    • [一、 理论模型与瞬时参量表征](#一、 理论模型与瞬时参量表征)
      • [1.1 角度调制通用表征](#1.1 角度调制通用表征)
      • [1.2 相位调制的数学定义](#1.2 相位调制的数学定义)
      • [1.3 PM 与 FM 的内在对偶性](#1.3 PM 与 FM 的内在对偶性)
    • [二、 频域特性:贝塞尔展开与传输带宽](#二、 频域特性:贝塞尔展开与传输带宽)
      • [2.1 单音调制的贝塞尔函数展开](#2.1 单音调制的贝塞尔函数展开)
      • [2.2 卡森带宽与频带利用率差异](#2.2 卡森带宽与频带利用率差异)
    • [三、 解调机理与算法设计](#三、 解调机理与算法设计)
      • [3.1 正交 I/Q 相干解调算法](#3.1 正交 I/Q 相干解调算法)
    • [四、 完整 MATLAB 仿真实现](#四、 完整 MATLAB 仿真实现)
    • [五、 工程关键考量](#五、 工程关键考量)
      • [5.1 相位模糊与边界解缠绕](#5.1 相位模糊与边界解缠绕)
      • [5.2 差分延时解调与鉴频器的边界关系](#5.2 差分延时解调与鉴频器的边界关系)

相位调制(Phase Modulation, PM)与频率调制(Frequency Modulation, FM)同属于恒包络角度调制技术。在模拟通信系统中,PM 信号的瞬时相位偏移量与基带调制信号呈现严格的线性映射关系。相比于调幅(AM)技术,角度调制通过牺牲传输频带换取更高的输出信噪比,并在非线性功率放大器(如 C 类、E 类功放)中具备恒包络无失真传输的固有优势。


一、 理论模型与瞬时参量表征

1.1 角度调制通用表征

连续正弦载波的一般表达式为:

s ( t ) = A c cos ⁡ θ ( t ) = A c cos ⁡ 2 π f c t + ϕ ( t ) s(t) = A_c \cos\\theta(t) = A_c \cos2\\pi f_c t + \\phi(t) s(t)=Accosθ(t)=Accos2πfct+ϕ(t)

式中, A c A_c Ac 为载波幅度, f c f_c fc 为未调载波中心频率, θ ( t ) \theta(t) θ(t) 为瞬时总相位, ϕ ( t ) \phi(t) ϕ(t) 为瞬时相位偏移量。

根据信号瞬时角频率与瞬时相位的微分关系,瞬时频率 f i ( t ) f_i(t) fi(t) 定义为总相位对时间的导数:

f i ( t ) = 1 2 π d θ ( t ) d t = f c + 1 2 π d ϕ ( t ) d t f_i(t) = \frac{1}{2\pi} \frac{d\theta(t)}{dt} = f_c + \frac{1}{2\pi}\frac{d\phi(t)}{dt} fi(t)=2π1dtdθ(t)=fc+2π1dtdϕ(t)

1.2 相位调制的数学定义

在相位调制中,瞬时相位偏移 ϕ ( t ) \phi(t) ϕ(t) 正比于基带信号 m ( t ) m(t) m(t):

ϕ ( t ) = k p m ( t ) \phi(t) = k_p m(t) ϕ(t)=kpm(t)

s P M ( t ) = A c cos ⁡ 2 π f c t + k p m ( t ) s_{PM}(t) = A_c \cos2\\pi f_c t + k_p m(t) sPM(t)=Accos2πfct+kpm(t)

其中 k p k_p kp 为调相灵敏度 (Phase Sensitivity),单位为 rad/V \text{rad/V} rad/V。

对瞬时相位求导,可得 PM 信号的瞬时频率偏移量 Δ f ( t ) \Delta f(t) Δf(t):

f i ( t ) = f c + k p 2 π d m ( t ) d t    ⟹    Δ f ( t ) = k p 2 π d m ( t ) d t f_i(t) = f_c + \frac{k_p}{2\pi}\frac{dm(t)}{dt} \implies \Delta f(t) = \frac{k_p}{2\pi}\frac{dm(t)}{dt} fi(t)=fc+2πkpdtdm(t)⟹Δf(t)=2πkpdtdm(t)

本质特征:PM 信号的瞬时频偏与基带信号的变化率(一阶导数)成正比,而非正比于基带信号的幅值本身。

1.3 PM 与 FM 的内在对偶性

角度调制的两种形式在时域通过微积分网络互为对偶:

调制方式 瞬时相位偏移 ϕ ( t ) \phi(t) ϕ(t) 瞬时频率偏移 Δ f ( t ) \Delta f(t) Δf(t) 等效实现架构
相位调制 (PM) k p m ( t ) k_p m(t) kpm(t) k p 2 π d m ( t ) d t \frac{k_p}{2\pi} \frac{dm(t)}{dt} 2πkpdtdm(t) 基带微分器 + 调频器 (FM)
频率调制 (FM) 2 π k f ∫ − ∞ t m ( τ ) d τ 2\pi k_f \int_{-\infty}^{t} m(\tau) d\tau 2πkf∫−∞tm(τ)dτ k f m ( t ) k_f m(t) kfm(t) 基带积分器 + 调相器 (PM)

在工程实践中,间接调频系统(如阿姆斯特朗调制法)正是利用窄带调相器(NBPM)级联积分网络构造而成的。


二、 频域特性:贝塞尔展开与传输带宽

2.1 单音调制的贝塞尔函数展开

设单音调制信号为 m ( t ) = A m cos ⁡ ( 2 π f m t ) m(t) = A_m \cos(2\pi f_m t) m(t)=Amcos(2πfmt),代入 PM 模型:

s P M ( t ) = A c cos ⁡ 2 π f c t + m p cos ⁡ ( 2 π f m t ) s_{PM}(t) = A_c \cos2\\pi f_c t + m_p \\cos(2\\pi f_m t) sPM(t)=Accos2πfct+mpcos(2πfmt)

定义调相指数 (Modulation Index) m p m_p mp 为最大瞬时相位偏移:

m p = k p A m ( rad ) m_p = k_p A_m \quad (\text{rad}) mp=kpAm(rad)

利用第一类 n n n 阶贝塞尔函数 J n ( m p ) J_n(m_p) Jn(mp) 展开,PM 信号在频域表现为离散谱线的叠加:

s P M ( t ) = A c ∑ n = − ∞ ∞ J n ( m p ) cos ⁡ 2 π ( f c + n f m ) t + n π 2 s_{PM}(t) = A_c \sum_{n=-\infty}^{\infty} J_n(m_p) \cos\left2\\pi(f_c + n f_m)t + \\frac{n\\pi}{2}\\right sPM(t)=Acn=−∞∑∞Jn(mp)cos2π(fc+nfm)t+2nπ

由贝塞尔函数的解析性质可得:

  • 无限边带特性 :理论上频谱由载波及位于 f c ± n f m f_c \pm n f_m fc±nfm 处的无穷多对离散边带构成。
  • 载波抑制特性 :当调相指数 m p m_p mp 达到 J 0 ( m p ) = 0 J_0(m_p) = 0 J0(mp)=0 的零点(如 m p ≈ 2.405 , 5.520 , 8.654 m_p \approx 2.405, 5.520, 8.654 mp≈2.405,5.520,8.654)时,中心载波分量完全消失,发射功率全部转移至各级边带。
  • 功率恒定守恒 :根据帕塞瓦尔定理及贝塞尔求和恒等式 ∑ n = − ∞ ∞ J n 2 ( m p ) = 1 \sum_{n=-\infty}^{\infty} J_n^2(m_p) = 1 ∑n=−∞∞Jn2(mp)=1,信号的总平均功率严格保持为 P = 1 2 A c 2 P = \frac{1}{2}A_c^2 P=21Ac2,与调制状态完全解耦。

2.2 卡森带宽与频带利用率差异

PM 信号的最大频偏 Δ f \Delta f Δf 为:

Δ f = max ⁡ ∣ Δ f ( t ) ∣ = k p A m ⋅ 2 π f m 2 π = m p f m \Delta f = \max\vert{}\Delta f(t)\vert{} = \frac{k_p A_m \cdot 2\pi f_m}{2\pi} = m_p f_m Δf=max∣Δf(t)∣=2πkpAm⋅2πfm=mpfm

依据卡森准则(Carson's Rule),包含总功率 98% 以上的有效传输带宽 B P M B_{PM} BPM 估算为:

B P M ≈ 2 ( Δ f + f m ) = 2 ( m p + 1 ) f m B_{PM} \approx 2(\Delta f + f_m) = 2(m_p + 1) f_m BPM≈2(Δf+fm)=2(mp+1)fm

工程选型关键差异

  • 在宽带 FM 中, B F M ≈ 2 ( Δ f + f m ) = 2 ( k f A m + f m ) B_{FM} \approx 2(\Delta f + f_m) = 2(k_f A_m + f_m) BFM≈2(Δf+fm)=2(kfAm+fm)。当频偏较大时,带宽主要由幅度 A m A_m Am 决定,对基带频率 f m f_m fm 不敏感。
  • 在 PM 中,频偏 Δ f = m p f m \Delta f = m_p f_m Δf=mpfm 与调制频率 f m f_m fm 强耦合。高频基带分量会产生巨大的频偏,导致传输带宽随 f m f_m fm 急剧膨胀。因此在多路模拟语音广播中,FM 具备更可控的信道带限特性,而 PM 更多应用于数字通信中的连续相位调制(CPM)与相移键控(PSK)。

三、 解调机理与算法设计

PM 信号的解调需从高频载波中线性还原相位函数 ϕ ( t ) \phi(t) ϕ(t)。常见方案包括正交下变频解调法(I/Q Demodulation)差分延时鉴相法

3.1 正交 I/Q 相干解调算法

利用相互正交的同频相干载波与接收信号混频:

I ( t ) = LPF { s P M ( t ) ⋅ 2 cos ⁡ ( 2 π f c t ) } = A c cos ⁡ k p m ( t ) I(t) = \text{LPF}\{ s_{PM}(t) \cdot 2\cos(2\pi f_c t) \} = A_c \cosk_p m(t) I(t)=LPF{sPM(t)⋅2cos(2πfct)}=Accoskpm(t)

Q ( t ) = LPF { s P M ( t ) ⋅ − 2 sin ⁡ ( 2 π f c t ) } = A c sin ⁡ k p m ( t ) Q(t) = \text{LPF}\{ s_{PM}(t) \cdot -2\\sin(2\\pi f_c t) \} = A_c \sink_p m(t) Q(t)=LPF{sPM(t)⋅−2sin(2πfct)}=Acsinkpm(t)

利用双变量反正切函数提取复合相位,并引入相位解缠绕(Phase Unwrapping)算法消除 2 π 2\pi 2π 阶跃不连续性:

ϕ ( t ) = unwrap ( atan2 ( Q ( t ) , I ( t ) ) ) = k p m ( t ) \phi(t) = \text{unwrap}\left( \text{atan2}(Q(t), I(t)) \right) = k_p m(t) ϕ(t)=unwrap(atan2(Q(t),I(t)))=kpm(t)

此方法对任意调制指数 m p m_p mp 均保持完全线性,不存在小角度线性化截断误差。


四、 完整 MATLAB 仿真实现

以下脚本包含单音 PM 信号生成、正交下变频解调以及基于贝塞尔零点的频谱结构扫描。代码仅使用 MATLAB 核心矩阵运算,无需任何附加工具箱。

matlab 复制代码
%% ========================================================================
%  相位调制 (PM) 与正交相干解调仿真系统
%  功能:时域波形生成、I/Q相干解调、单边带幅度谱及贝塞尔载波抑制验证
%  运行环境:MATLAB R2018a 及以上版本(纯原生算法,无需额外工具箱)
% ========================================================================

clear; clc; close all;

%% -------------------- 1. 仿真参量定义 -----------------------------------
Fs = 200e3;                 % 采样率 (Hz),需严格满足带通采样与高阶边带过采样
T_total = 0.01;             % 仿真总时长 (s)
t = 0:1/Fs:T_total-1/Fs;    % 离散时间轴向量
N = length(t);              % 样本序列长度

% ---- 载波与基带参量 ----
fc = 10e3;                  % 载波中心频率 (Hz)
Ac = 1.0;                   % 载波幅度 (V)
fm = 500;                   % 单音基带信号频率 (Hz)
Am = 1.0;                   % 基带信号峰值幅度 (V)

% ---- 调相参数设置 ----
% 选取 mp = 2.405 rad,此值接近一类零阶贝塞尔函数 J0 的第一个过零点,用于验证载波抑制
mp = 2.405;                 
kp = mp / Am;               % 调相灵敏度 (rad/V)

%% -------------------- 2. PM 调制信号合成 --------------------------------
m_t = Am * cos(2*pi*fm*t);          % 基带调制信号
phi_t = kp * m_t;                   % 瞬时相位偏移量 (rad)
theta_t = 2*pi*fc*t + phi_t;        % 瞬时总相位 (rad)
s_pm = Ac * cos(theta_t);           % PM 已调信号

%% -------------------- 3. 正交相干解调 (I/Q 解调架构) -------------------
% 3.1 本振正交载波生成
lo_i = 2 * cos(2*pi*fc*t);
lo_q = -2 * sin(2*pi*fc*t);

% 3.2 混频下变频 (生成基带同相与正交分量及 2fc 高频分量)
mix_i = s_pm .* lo_i;
mix_q = s_pm .* lo_q;

% 3.3 移动平均低通滤波器设计 (在 2fc 谐波处构造传输零点)
samples_per_carrier = round(Fs / fc);
L_window = 2 * samples_per_carrier; % 滤波窗长覆盖 2 个载波周期
b_filter = ones(1, L_window) / L_window;

% 3.4 滤波与群延迟补偿
% 使用 conv 配合群时延修正,避免对 signal processing 工具箱中 filtfilt 的依赖
delay = floor(L_window / 2);
i_pad = conv(mix_i, b_filter);
q_pad = conv(mix_q, b_filter);
i_baseband = i_pad(delay + (1:N));
q_baseband = q_pad(delay + (1:N));

% 3.5 相位判决与解缠绕 (Phase Unwrapping)
phi_recovered = unwrap(atan2(q_baseband, i_baseband));

% 3.6 交流耦合与灵敏度反变换
m_recovered = (phi_recovered - mean(phi_recovered)) / kp;

%% -------------------- 4. 频谱特征分析 ----------------------------------
S_pm_fft = fft(s_pm) / N;
f_axis = (0:N/2-1) * (Fs / N);
S_pm_mag = 2 * abs(S_pm_fft(1:N/2)); % 正频率单边带幅度谱

%% -------------------- 5. 图形化渲染输出 --------------------------------
% 5.1 时域与解调恢复波形
figure('Color', 'w', 'Position', [100, 100, 950, 700]);

subplot(3, 1, 1);
plot(t * 1e3, m_t, 'b', 'LineWidth', 1.2);
grid on; xlabel('时间 t (ms)'); ylabel('幅度 (V)');
title('原始单音基带调制信号 m(t)');
xlim([0 6]);

subplot(3, 1, 2);
plot(t * 1e3, s_pm, 'r', 'LineWidth', 1.0);
grid on; xlabel('时间 t (ms)'); ylabel('幅度 (V)');
title('PM 已调信号时域波形 s_{PM}(t)');
xlim([0 6]);

subplot(3, 1, 3);
plot(t * 1e3, m_t, 'b', 'LineWidth', 1.8); hold on;
plot(t * 1e3, m_recovered, 'r--', 'LineWidth', 1.3);
grid on; xlabel('时间 t (ms)'); ylabel('幅度 (V)');
title('基带信号与正交相干解调输出比对');
legend('原始基带信号', '解调恢复信号', 'Location', 'northeast');
xlim([1.5 7.5]); % 避开边缘瞬态响应区

% 5.2 幅度频谱与贝塞尔零点特征
figure('Color', 'w', 'Position', [150, 150, 850, 420]);
plot(f_axis / 1e3, S_pm_mag, 'b', 'LineWidth', 1.2); hold on;
carrier_bin = round(fc / (Fs / N)) + 1;
plot(fc / 1e3, S_pm_mag(carrier_bin), 'ro', 'MarkerSize', 8, 'LineWidth', 1.5);
grid on; xlabel('频率 f (kHz)'); ylabel('幅度 |S(f)| (V)');
title(sprintf('PM 离散幅度谱 (m_p = %.3f rad, 载波抑制点验证)', mp));
legend('调制边带离散谱', '中心载波分量', 'Location', 'northeast');
xlim([fc/1e3 - 6, fc/1e3 + 6]);

% 5.3 调相指数 mp 对频谱结构的演化影响
figure('Color', 'w', 'Position', [200, 200, 1000, 650]);
mp_sweep = [0.5, 1.5, 2.405, 5.0];

for idx = 1:length(mp_sweep)
    mp_val = mp_sweep(idx);
    s_temp = Ac * cos(2*pi*fc*t + (mp_val / Am) * m_t);
    S_temp = 2 * abs(fft(s_temp) / N);
    
    subplot(2, 2, idx);
    plot(f_axis / 1e3, S_temp(1:N/2), 'LineWidth', 1.2);
    grid on;
    xlabel('频率 f (kHz)'); ylabel('幅度 (V)');
    title(sprintf('m_p = %.3f rad', mp_val));
    xlim([fc/1e3 - 5, fc/1e3 + 5]);
    ylim([0 1.0]);
end
sgtitle('不同调相指数 m_p 下的边带扩展与能量重构');

五、 工程关键考量

5.1 相位模糊与边界解缠绕

在相干接收端,反正切计算的值域受限于主值区间 ( − π , π ] (-\pi, \pi] (−π,π]。当调相指数满足 m p > π m_p > \pi mp>π 时,接收端提取的相位轨迹必然产生幅值为 2 π 2\pi 2π 的人工伪跳变。工程算法中必须依赖相位解缠绕逻辑:当检测到相邻采样点的相位差绝对值超过门限(通常取 π \pi π)时,自动累加或剔除 2 π 2\pi 2π 的整数倍偏移。若信噪比恶化产生突发噪声跳变,解缠绕算法容易发生"周跳"(Cycle Slip),导致解调直流基线发生漂移。

5.2 差分延时解调与鉴频器的边界关系

在部分低复杂度硬件中,常使用无相干本振的延时乘法检测器(Delay-and-Multiply Receiver)。其输出满足:

s ( t ) s ( t − τ ) → LPF y ( t ) ∝ cos ⁡ ω c τ + Δ τ ϕ ( t ) s(t)s(t-\tau) \xrightarrow{\text{LPF}} y(t) \propto \cos\\omega_c \\tau + \\Delta_\\tau \\phi(t) s(t)s(t−τ)LPF y(t)∝cosωcτ+Δτϕ(t)

取正交延时参量 ω c τ = π 2 + 2 k π \omega_c \tau = \frac{\pi}{2} + 2k\pi ωcτ=2π+2kπ(即时延满足四分之一载波周期奇数倍),则:

y ( t ) ∝ sin ⁡ Δ τ ϕ ( t ) ≈ Δ τ ϕ ( t ) ≈ τ d ϕ ( t ) d t = τ k p d m ( t ) d t y(t) \propto \sin\\Delta_\\tau \\phi(t) \approx \Delta_\tau \phi(t) \approx \tau \frac{d\phi(t)}{dt} = \tau k_p \frac{dm(t)}{dt} y(t)∝sinΔτϕ(t)≈Δτϕ(t)≈τdtdϕ(t)=τkpdtdm(t)

这一推导证明:延时乘法解调的物理本质是差分鉴频,其输出严格正比于基带信号的一阶导数。若直接将差分鉴频器用于 PM 信号接收,后端必须串联高精度理想模拟积分器以复原基带波形,且高频带内噪声会被同等积分放大;因此,正交 I/Q 混频架构在保真度上显著优于延时相乘架构。

相关推荐
我爱C编程18 小时前
基于GCC-PHAT与球面散乱数据插值ML估计算法的混合麦克风阵列声源定位方法Matlab仿真
matlab·gcc-phat·球面散乱数据插值·ml估计·麦克风阵列声源定位
菜鸟~noob2331 天前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
菜鸟~noob2332 天前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
菜鸟~noob2332 天前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab
洛阳纸贵3 天前
MATLAB-matlab基础知识
学习·算法·matlab
matlab代码3 天前
基于matlab PCA人脸识别系统【源码63期】
开发语言·matlab
matlab代码3 天前
基于matlab的红绿灯图像检测识别系统【源码60期】
开发语言·matlab
通信仿真爱好者3 天前
第【122】期--卷积编码与维特比译码在 M‑QAM 系统中的性能仿真研究--matlab完整代码
matlab·qam调制·维特比译码·卷积码·信道编码
weixin_307779136 天前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab