函数:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 返回输入序列x的上下包络线,作为其解析信号的大小。              %
% x的解析信号是利用希尔伯特实现的离散傅里叶变换得到的。           %
% 这个函数首先移除x的均值,然后在计算包络线之后再把它加回来。      %
% 如果x是一个矩阵,那么包络线对x的每一列都是独立的。             %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[yupper,ylower] = envelope(x)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 返回用解析信号的大小确定的x的包络线。                        %
% 解析信号通过使用长度为fl的Hilbert FIR滤波器对x进行滤波来计算。 %
% 如果只指定两个参数,则使用此语法。                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[yupper,ylower] = envelope(x,fl,'analytic')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 返回x的上、下均方根包络。包络是使用长度wl样本的滑动窗口确定的。  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[yupper,ylower] = envelope(x,wl,'rms')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 返回x的上峰和下峰包络线。                                  %
% 包络线由至少np个样本分离的局部最大值上的样条插值确定。         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[yupper,ylower] = envelope(x,np,'peak')%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 在没有输出参数的情况下,绘制信号及其上下包络线。               %
% 该语法接受以前语法中的任何输入参数。                         %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
envelope(___)

例1: [up,lo] = envelope(q)

% 信号生成
t = 0:1/2000:2-1/2000;
q = chirp(t-2,4,1/2,6,'quadratic',100,'convex').*exp(-4*(t-1).^2);
plot(t,q)% 包络线绘制
[up,lo] = envelope(q);
hold on
plot(t,up,t,lo,'linewidth',1.5)
legend('q','up','lo')
hold off


例2: [up,lo] = envelope(q,100,'analytic');

% 信号生成
t = 0:1/1000:3;
q1 = sin(2*pi*7*t).*exp(-t/2);
q2 = chirp(t,30,2,5).*exp(-(2*t-3).^2)+2;
q = [q1;q2]';
plot(t,q)% 包络线绘制
[up,lo] = envelope(q,100,'analytic');
hold on
plot(t,up,'-',t,lo,'--')
hold off

例3:不同参数的包络线区别

% 信号生成
t = 0.5:-1/100:-2.49;
z = airy(t*10).*exp(-t.^2);
plot(z)% 无参数
figure
envelope(z)% 参数:analytic,使用50-tap Hilbert filter计算信号的包络线
figure
envelope(z,50,'analytic')% 参数:rms,使用40个样本的移动窗口来计算信号的RMS包络
figure
envelope(z,40,'rms')% 参数:peak,确定峰包络,在被至少10个样本分隔的局部极大值上使用非结点条件的样条插值。
figure
envelope(z,10,'peak')





例4:不同采样点的影响



参考文献:

  • https://www.mathworks.com/help/signal/ref/envelope.html

MATLAB - 数字信号包络线的求取相关推荐

  1. MATLAB:regionprops函数求取最大连通域面积

    MATLAB:regionprops函数求取最大连通域面积 regionprops统计被标记的区域的面积分布,显示区域总数. 函数regionprops语法规则为:STATS = regionprop ...

  2. matlab中利用xy求取多项式z,matlab基础练习题

    3. 求有理分式()()()()3323230.522521x x x R x x x x ++=+-++的商多项式和余多项式 4. 一元多项式42234p x x x =-+,写出表示p 的MATL ...

  3. matlab 计算逆时针夹角,求取向量A逆时针到向量B的夹角

    算法思路:通过余弦定理求取向量夹角的cosa,然后判断夹角是否大于180,如果大于,则向量夹角为360-arccosa*180/Pi(单位为°):否则夹角为arccosa*180/Pi.(Pi为常量3 ...

  4. matlab中利用xy求取多项式z,将(x y z)^10展开为多项式,经过合并同类项

    如何在matlab中展开多项式 symssps=((s^2+1))^3*(s+5)^2*(s^4+4*s^2+7)ps1=expand(ps)结果:ps=(s^2+1)^3*(s+5)^2*(s^4+ ...

  5. MATLAB点云处理:读取、展示、最近邻、ICP算法求取转移矩阵、旋转

    MATLAB中关于点云的几个函数的简单应用.作者使用的是MATLAB R2015b,这几个函数应该是在Computer Vison包里. 全文都是作者自己结合MATLAB文档的理解,欢迎指教. 1. ...

  6. matlab寻找闭合,MatLab求取多个闭合区域的轮廓、面积和bbox

    问题描述 要对如下所示的二值标签图做如下处理: 获取每一个闭合小区域的轮廓曲线坐标 获取每一个闭合小区域的面积 获取每一个闭合小区域的 bounding box 处理方法 问题一: 获取每一个闭合小区 ...

  7. 怎么用matlab分析孔隙度,基于MATLAB软件的声波测井孔隙度求取

    ·99·2016年 第 24 期 基于MATLAB软件的声波测井孔隙度求取 向旻 (新疆工程学院,新疆 乌鲁木齐 830091) 摘要 :目前,声波测井是一种重要的孔隙度测井方法,被各大油田广泛的使用 ...

  8. 使用Matlab对频繁2项集和频繁3项集的求取

    使用Matlab对频繁2项集和频繁3项集的求取 一.问题描述 二.实验目的 三.实验内容 程序实现(详细代码) 运行结果截图 分析 四.总结 本文作者原创,如需转载,请注明原作者和地址,谢谢合作! 一 ...

  9. 信号功率谱密度matlab,Matlab2019b中常用的音频信号分析,快速傅里叶(FFT),功率谱密度(PSD),以及通过FFT求取功率谱密度的问题...

    本应该为基础知识的维纳辛钦定理的证明,在matlab调试中遇到的大坑.为了验证,本人编写了一个从求取FFT,到多种方法求取PSD的matlab程序. 问题主要集中在x轴和y轴应该如何取值的问题上,单纯 ...

  10. Matlab中求取置信区域

    Matlab中求取置信区间_warnerchang的博客-CSDN博客_matlab求置信区间一.概率密度函数.累计分布函数.逆累积分布函数在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简 ...

最新文章

  1. 服务器架构之性能扩展-第七章(8)
  2. PicoBlaze输入/输出端口
  3. Develop chrome extension study
  4. 图像缩放的双线性内插值算法的原理解析
  5. 02_IO操作的基本规律(InputStream,OutputStream,Reader,Writer,FileReader,FileWriter,BufferedReader,BufferedWri
  6. python迷宫算法及实现_Python迷宫递归算法
  7. alin39048错误原因_支付宝支付ALIN10146错误
  8. dom4j 基本操作
  9. API不治,混合云何以统天下?
  10. linux qt遍历设备,Qt获取设备环境变量
  11. java adminlte 使用_AdminLTE实现动态菜单
  12. gc buffer busy release gc buffer busy acquire
  13. 微信发送图文消息,查看图文media_id
  14. linux命令学习一 :touch和mkdir 创建文件和文件夹
  15. php生成excel到服务器,php如何异步生成excel文件并保存到服务器
  16. 爬虫 人人车字体反爬分析(含源码)
  17. python手机连续点击脚本_Appium-Python 通过 find_element_by_android_uiautomator 后怎么连续点击两次...
  18. #BDA#笔记#阶段一:熟悉要分析的数据
  19. Flash CS3编程
  20. LIFT: Learned Invariant Feature Transform详细笔记

热门文章

  1. 郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(一)推荐系统概述...
  2. iOS开发:Protocol协议以及委托代理传值
  3. 划分子网(计算机网络)
  4. 基于ZYNQ wifi方案实现与测试
  5. liferay-protal学习1-配置开发环境
  6. bzoj3772: 精神污染
  7. 电影外观调色效果Lr预设
  8. 文献阅读笔记怎么写?
  9. 计算机大赛获奖作品动画,全国xx杯说课大赛计算机类一等奖作品:《遮罩动画》说课课件...
  10. 广义瑞利商_LDA里的瑞利商和广义瑞利商