博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MATLAB - 数字信号包络线的求取
阅读量:2011 次
发布时间:2019-04-28

本文共 2061 字,大约阅读时间需要 6 分钟。

函数:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 返回输入序列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 onplot(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 onplot(t,up,'-',t,lo,'--')hold off

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

例4:不同采样点的影响

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


参考文献:

转载地址:http://cuzxf.baihongyu.com/

你可能感兴趣的文章
AI 3.0时代,情感计算的颠覆性力量
查看>>
直播预告:对神经网络对抗鲁棒性正则化的认识 | AI TIME PhD
查看>>
ACL 2020最佳论文:一种全新的NLP模型测试方法CheckList
查看>>
KDD 2020(一) | 可调控的多兴趣推荐框架(作者带你读论文)
查看>>
KDD 2020(二) | GCC:图上的Contrastive Coding(作者带你读论文)
查看>>
KDD 2020(三) | 从多个环境选择性偏差中学习稳定的图结构
查看>>
刘洋——联邦学习技术在金融领域的研究与应用
查看>>
北京交通大学万怀宇:时空交通数据预测方法及应用
查看>>
直播预告:多领域端到端任务型对话系统研究分享 | AI TIME PhD对话系统专题第七期...
查看>>
让文创作品“活”起来、“火”起来,AI是否将颠覆新文创?
查看>>
利用自监督学习的放端故事生成评价方法
查看>>
哈尔滨工业大学博士覃立波:多领域端到端任务型对话系统研究分享
查看>>
倒计时2天-线下报名|论道火爆AI圈的GPT-3
查看>>
复旦大学邢晓渝:细粒度情感分析中模型的鲁棒性研究
查看>>
复旦大学傅金兰:中文分词是个已经解决的任务了吗?
查看>>
数据重生:让神经机器翻译中的不活跃样本“复活”
查看>>
NeurlPS 2020来啦!AI TIME PhD 顶会专场直播预告
查看>>
直播预告: NeurlPS 2020 专场二| AI TIME PhD
查看>>
清华大学王晓智:大规模通用域事件检测数据集MAVEN
查看>>
AI Open 专刊征稿|预训练语言模型
查看>>