信号包络及其提取方法

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

一、信号包络

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

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

一个实带通信号记为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日
% 邮箱:shouguo19@163.com
% 说明:常规调幅信号的包络提取
% ---------------------------------------------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("基带信号", "希尔伯特变换求出来的包络信号")

信号包络及其提取方法(Matlab)相关推荐

  1. am信号包络检波matlab,通信电路课程设计--AM信号包络检波器.doc

    项目: AM信号包络检波器 班级: 电气系 07级 通信工程 学号: 070913**** 姓名: ** ** ** 指导老师: * * * 老师 日期: 2009年12月28日~~2009年12月3 ...

  2. 类EMD的“信号分解方法”及MATLAB实现(第七篇)——EWT

    这是"类EMD"方法系列的第7篇,前几篇分别是EEMD.CEEMD.CEEMDAN.VMD.ICEEMDAN.LMD,想要看前几种方法的点击链接可以跳转. 经验小波变换(empir ...

  3. 类EMD的“信号分解方法”及MATLAB实现(第六篇)——LMD

    继续完善"类EMD"方法系列,本篇是继EEMD.CEEMD.CEEMDAN.VMD.ICEEMDAN后的第6篇,想要看前几种方法的点击链接可以跳转. LMD(local mean ...

  4. 类EMD的“信号分解方法”及MATLAB实现(第四篇)——VMD

    重头戏来了. 在以往的应用经验里,VMD方法在众多模态分解方法中可以说是非常好的.从催更力度上看,这个方法也是格外受关注.笔者决定加快进度快一些写完这个方法,十月份了有些同学要开始做毕设,希望这篇文能 ...

  5. 基于ITD实现的轴承故障信号分解并附Matlab源码

    基于ITD实现的轴承故障信号分解并附Matlab源码 轴承是旋转机械中重要的支撑部件,其状态的健康程度对设备运行的性能和寿命有着至关重要的影响.因此,轴承状态监测和故障诊断成为了研究热点.本文基于IT ...

  6. python cv2 轮廓的包络 面积_Python 基于FIR实现Hilbert滤波器求信号包络详解

    在通信领域,可以通过希尔伯特变换求解解析信号,进而求解窄带信号的包络. 实现希尔伯特变换有两种方法,一种是对信号做FFT,单后只保留单边频谱,在做IFFT,我们称之为频域方法:另一种是基于FIR根据传 ...

  7. 基于matlab的离散系统时域分析实验,《信号与系统》 实验一 信号的时域分析及Matlab实现...

    实验一 信号的时域分析及Matlab实现 参考文章 题目 题目1代码实现 讲解 sinc(t) Sa(t) 时移.翻转.展缩 subs(s,old,new) ezplot() 绘画符号函数 题目2代码 ...

  8. matlab仿真生成信号程序,信号与系统的MATLAB仿真

    用哪个MATLAB进行信号与系统仿真,有详细的实例程序及结果 1 信号与系统的MATLAB 仿真 一.信号生成与运算的实现 1.1 实现)3(sin )()(π±===t t t t S t f a ...

  9. 基于MATLAB的信号与系统实验指导,《信号与系统及MATLAB实现》实验指导书

    内容简介: <信号与系统及MATLAB实现>实验指导书 前 言 长期以来,<信号与系统>课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计 ...

最新文章

  1. 递归 累加和累乘
  2. Websocket协议的学习、调研和实现
  3. sim卡rfm_信用卡客户的RFM集群
  4. 黑马程序员——生成html静态页面,方便seo,加快加载速度
  5. 中国联通被指乱扣费 返还金额限制用
  6. 第六部分 PHP实例
  7. 栈的应用 - 就近匹配
  8. 6-5 软件测试与测试优先的编程
  9. 1104File Space Bitmap Block损坏能修复吗
  10. 基于jquery.fixedheadertable 表格插件左侧固定 对齐
  11. USACO 3.4 Closed Fences (计算几何)
  12. UNIX 环境高级编程(四)—— dirent.h
  13. POJ 3576 Language Recognition
  14. chroot环境的快速构建
  15. 教你如何用C语言做一个简单的贪吃蛇
  16. kali linux查看局域网下所有IP,并对指定IP实施局域网内攻击
  17. 多个jar合并成一个jar(复制的)
  18. 卡路里计算JAVA_pedometer 这是一个基于android平台的软件,用于计算你走路的步数,算出消耗的卡路里,以达到健 238万源代码下载...
  19. 白鹭引擎入门教程一(Egret)
  20. 计算机2级mysql有用吗_计算机二级证书对程序员并没有什么卵用!

热门文章

  1. 哪些行业是离散制造?哪些是流程制造?他们有什么区别?
  2. WinSCP软件安装教程
  3. 在互联网时代一切归零
  4. Scratch少儿趣味编程pdf
  5. 基辛格等分享: ChatGPT 预示着一场智能革命,而人类还没有准备好
  6. 什么是系统集成(SI)?
  7. park,clark和ipark浅析
  8. dw css规则中文翻译,DW-CS5-CSS规则英汉对照表.docx
  9. Java程序员怎么迈向架构师
  10. vue 播放器视频插件 之 vue-video-player 铺满全屏自动播放