(69)基于Hilbert(希尔伯特)变换的调相信号解调的MATLAB仿真


前言

本文首先介绍了相位调制技术,然后说明了使用希尔伯特变换进行调相信号解调的原理,接着给出了基于Hilbert(希尔伯特)变换的调相信号解调的MATLAB仿真代码。最后给出了仿真结果。


一、希尔伯特变换

关于希尔伯特变换,参考:
(68)希尔伯特变换、解析信号,与瞬时幅度、频率和相位的提取

二、相位调制

相位调制(Phase Modulation, PM)是一种通过改变载波信号的相位来传输信息的调制技术。在相位调制中,信息的携带是通过改变载波信号的相位来实现的,而载波的幅度和频率保持不变。

1.基本原理

在相位调制中,调制信号(通常是基带信号)会影响载波信号的相位。具体来说,调制信号m(t) 的变化会导致载波信号Accos(ωct+ϕ(t)) 的相位ϕ(t) 发生变化,其中:
• Ac 是载波的幅度。
• ωc 是载波的角频率。
• ϕ(t) 是载波的相位,它是时间的函数,由调制信号决定。

相位调制的一般表达式可以写为:

PM(t)= Accos (ωct+ϕm(t))

其中, ϕm(t) 是由调制信号引起的相位偏移,通常与调制信号的积分有关:

ϕm(t)=kp∫m(t)dt

其中, kp 是相位偏移常数,它决定了调制深度,即调制信号对载波相位的影响程度。

2.调制特点

幅度不变:与幅度调制(AM)不同,PM中载波的幅度 Ac 保持不变。
频率不变:与频率调制(FM)不同,PM中载波的频率ωc 也保持不变。
相位变化:信息通过载波相位的变化来传输。
带宽:PM信号的带宽取决于调制信号的带宽和调制指数。理论上,PM的带宽是无限的,但实际上,通过适当的带通滤波,可以限制带宽。

3.应用

相位调制广泛应用于多种通信系统中,特别是在以下情况:
无线通信:如FM广播、卫星通信等。
数字通信:相位键控(PSK)是PM的一种形式,广泛用于数字通信系统。
音频传输:高质量的音频传输通常使用PM或其变体。

三、使用希尔伯特变换进行相位解调的原理

1. 解调原理

使用希尔伯特变换进行相位解调的原理如下:

  1. 希尔伯特变换:首先,对实信号x(t) 进行希尔伯特变换,得到x_H (t)。
  2. 构造解析信号:将原始信号x(t) 和其希尔伯特变换x_H (t) 结合,构造出解析信号xa(t)。
  3. 计算包络和相位:解析信号的包络A(t) 和相位ϕ(t) 可以通过以下方式计算:
    包络:A(t) = sqrt{x(t)^2 + x_H(t)^2}
    相位: ϕ(t)=arctan(x_H(t)/x(t))
  4. 提取相位信息:通过计算得到的相位ϕ(t),可以提取出相位调制信号中的信息。

2.算法优点

相位信息提取:希尔伯特变换可以准确地提取出信号的相位信息,这对于相位调制信号的解调非常重要。
计算效率:希尔伯特变换可以通过高效的算法实现,如快速傅里叶变换(FFT)。

四、MATLAB仿真

1. 仿真代码

% 接收机关于载波频率和初相的信息
ReceiverKnowsCarrier= 'False';        % 如果接收机知道载波频率和初相,则设置为True

% 载波
fc = 200;                             % 载波频率
beta_c = pi/5;                        % 载波的初相

% 调制信号
f = 10;                               % 调制信号频率
alpha = 10;                           % 调制信号幅度
theta_m = pi/4;                       % 调制信号的初相
fs = 10 * fc;                         % 采样频率
duration = 0.3;                       % 信号持续时间
t = 0:1/fs:duration-1/fs;             % 采样时刻序列
m = alpha*sin(2*pi*f*t + theta_m);    % 调制信号

% 相位调制
x = cos(2*pi*fc*t + beta_c + m );     % 已调信号

figure();
subplot(3,1,1); plot(t,m, 'LineWidth', 1); grid on;        % 绘图调制信号
title('Modulating signal'); xlabel('t'); ylabel('m(t)')
subplot(3,1,2); plot(t,x, 'LineWidth', 1); grid on;        % 绘图调制信号
title('Modulated signal'); xlabel('t');ylabel('x(t)')

% AWGN信道传输
nMean = 0;                                       % 噪声均值
nSigma = 0.01;                                   % 噪声标准差
n = nMean + nSigma*randn(size(t));               % awgn噪声
r = x + n;                                       % 带噪接收信号

% 带噪调相信号的解调
% z = hilbert(r);                                  % 生成带噪接收信号的解析信号
z = Generate_analytic_signal(r);                 % 生成带噪接收信号的解析信号
z = z.';                                         % 转置不取共轭
inst_phase = unwrap(angle(z));                   % 瞬时相位

% 载波瞬时相位
if strcmpi(ReceiverKnowsCarrier,'True')          % 接收机完全知道载波频率/相位
    offsetTerm = 2*pi*fc*t + beta_c; 
else                                             % 接收机不知道载波频率/相位,则估计载波瞬时相位作为减法项
    p = polyfit(t,inst_phase,1);                 % 求载波瞬时相位的线性拟合系数
    estimated = polyval(p,t);                    % 拟合估计载波瞬时相位
    offsetTerm = estimated;
end

demodulated = inst_phase - offsetTerm;           % 解调
subplot(3,1,3);  plot(t,demodulated, 'LineWidth', 1); grid on;  % 解调信号
title('Demodulated signal'); xlabel('t'); ylabel('hat m(t) ');

2. 仿真结果

在这里插入图片描述

总结

希尔伯特变换是一种强大的工具,可以用于相位解调,尤其是在分析相位调制信号时。通过构造解析信号并计算其相位,可以有效地提取出相位调制信号中的信息。然而,这种方法在实际应用中需要考虑信号的性质和噪声的影响。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值