信号包络及其提取方法(Matlab)

您所在的位置:网站首页 求希尔伯特变换 信号包络及其提取方法(Matlab)

信号包络及其提取方法(Matlab)

2024-01-17 10:50| 来源: 网络整理| 查看: 265

信号包络及其提取方法

介绍信号包络,以及信号包络的提取方法。

一、信号包络

直观地从时域来讲,信号包络就是信号波形的轮廓。

本质上,信号包络是带通信号的基带部分。

一个实带通信号记为x(t),将它频谱的中心频点搬移到零频,将得到信号的复包络,复包络取模就是信号的包络,复包络取相位就是信号的相位分量。

请添加图片描述

二、包络检波器

通常需要接收到的信号进行解调,才能得到需要的基带信号(比如语音)。包络检波是一种非相干解调方式,接收机不需要产生相干载波。其基本电路是

请添加图片描述

检波原理:二极管使得正半周高电压通过,此时对电容器充电,负半周截止的时候电容器经电阻器放电,如此循环,从而输出近似于包络的纹波信号。

参数设计:RC是滤波时间常数, B A M B_{AM} BAM​是基带信号带宽, f c f_c fc​是载波频率。 B A M ≪ 1 2 π R C ≪ f c B_{AM} \ll \frac{1}{2\pi RC} \ll f_c BAM​≪2πRC1​≪fc​

三、Matlab实现包络提取

在计算机仿真的时候,包络提取可以采用希尔伯特变换。Matlab的希尔伯特变换求得的是原信号的解析信号z(t),解析信号又称信号预包络,对解析信号取模求得的就是信号的包络。

简单来讲,就是下面这个公式,其中x(t)是原信号,a(t)是信号包络, x ^ ( t ) \hat x(t) x^(t)是原信号的希尔伯特变换,因此对解析信号取模就得到了信号的包络。 z ( t ) = a ( t ) e j θ ( t ) e j 2 π f c t = x ( t ) + j x ^ ( t ) z(t) = a(t)e^{j\theta(t)}e^{j2\pi f_ct} = x(t)+j \hat x(t) z(t)=a(t)ejθ(t)ej2πfc​t=x(t)+jx^(t) 这其中的数学道理,详细的推理步骤可以随便参考一本通信原理的教材,主要是搞明白第二个等号怎么来的。

下图的红色线条是常规调幅信号的包络,等于 基带信号m(t)+1

请添加图片描述

仿真代码:

% --------------------------------------------- % 作者:wsg % 日期:2022年11月29日 % 邮箱:[email protected] % 说明:常规调幅信号的包络提取 % --------------------------------------------- f1 = 15; % 信号频率分量1,单位Hz f2 = 50; f3 = 60; fc = 3e3; % 载波频率 fs = 10e3; % 采样频率 t = 0:1/fs:(0.5-1/fs); N_point = length(t); m = cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t); % 基带信号 m = m/max(abs(m)); s_AM = (1+m).*cos(2*pi*fc*t); % 常规调幅信号 f = (0:1/N_point:(0.5-1/N_point))*fs; pxx = 10*log10(abs(fft(s_AM))); % 调幅信号的频谱 z = hilbert(s_AM); % 解析信号 baoluo = abs(z); %% 绘图部分 figure(1) subplot(211) plot(t, s_AM) hold on plot(t,1+m,LineWidth=3); hold off xlabel("t/s") ylabel("电压/V") legend("幅度调制信号","包络") subplot(212) plot(f,pxx(1:N_point/2)); xlabel("频率/Hz") figure(2) plot(t,m); hold on plot(t,baoluo); hold off legend("基带信号", "希尔伯特变换求出来的包络信号")


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3