当前位置: 首页 > news >正文

【使用Hilbert变换在噪声信号中进行自动活动检测】基于Hilbert变换和平滑技术进行自动信号分割和活动检测研究(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

基于Hilbert变换和平滑技术进行自动信号分割和活动检测是一种常用的方法,它可以帮助检测出噪声信号中的活动部分,并进行信号分割。

Hilbert变换是一种将实函数转换为复函数的数学变换,它将信号在时域上的振幅信息与相位信息进行分离。在活动检测中,可以利用Hilbert变换提取信号的振幅特征,以判断信号的活动程度。下面是一种基于Hilbert变换和平滑技术的自动活动检测方法的步骤:

1. 对信号进行Hilbert变换:将要分析的噪声信号应用Hilbert变换,得到对应的复数信号。复数信号由实部和虚部组成,其中实部表示原始信号的时域振幅,虚部表示相位信息。

2. 计算信号振幅:从复数信号中提取振幅信息,可以通过计算复数信号的模值来获取信号的振幅。得到的振幅信号反映了原始信号在各个时间点的能量分布情况。

3. 应用平滑技术:为了减小噪声对活动检测的影响,可以采用平滑技术对振幅信号进行平滑处理。常用的平滑方法包括移动平均和中值滤波等。

4. 阈值判决:通过设置适当的阈值,可以将平滑后的振幅信号转换为二进制活动检测结果。通常,当信号的振幅超过阈值时,认为该时间点存在信号活动。

5. 信号分割和活动检测:基于阈值判决结果,可以进行信号分割,并以二进制形式表示信号的活动和非活动区域。

这种基于Hilbert变换和平滑技术的自动活动检测方法可以有效地检测出噪声信号中的活动部分,并进行信号分割。然而,在实际应用中,根据具体的需求和噪声信号特征,可能需要进行参数优化和算法调整,以提高活动检测的准确性和鲁棒性。

📚2 运行结果

部分代码:

% To run demo mode simply execute the following line without any input;
% Example 1 :
% alarm = envelop_hilbert()
% The script generates one artificial signal and analysis that
% v = repmat([.1*ones(200,1);ones(100,1)],[10 1]); % generate true variance profile
% y = sqrt(v).*randn(size(v));

% Example 2 : For real world signals with a certain Sampling frequency
% called (Fs) (In this example a smoothing window with length 200 msec,)
% alarm = envelop_hilbert(signal,round(0.050*Fs),1,round(0.020*Fs),1)

%% ======= calculate the analytical signal and get the envelope ====== %%
test=y(:);
analytic = hilbert(test);
env = abs(analytic);

%% =========== take the moving average of analytical signal =========== %%
env = conv(env,ones(1,Smooth_window)/Smooth_window);                       % smooth
env = env(:) - mean(env);                                                  % get rid of offset
env = env/max(env);                                                        % normalize


%% ====================== threshold the signal =============== %%
if threshold_style == 0
   hg=figure;plot(env);title('Select a threshold on the graph')
   [~,THR_SIG] =ginput(1);
   close(hg);
end
% ------------------------- Threshold Style ---------------------- %
if threshold_style
   THR_SIG = 4*mean(env);
end

nois = mean(env)*(1/3);                                 % noise level
threshold = mean(env);                                  % signal level

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]郑杰.基于Hilbert变换的水轮发电机组振动冲击信号自动检测技术及应用研究[J].水力发电, 2017, 043(008):94-98.

[2]张博,王凯,马高杰,等.小波变换及Hilbert-Huang变换在转子系统故障诊断中的应用[J].机床与液压, 2009(6):5.DOI:10.3969/j.issn.1001-3881.2009.06.080.

[3]唐春菊,刘衍平.Hilbert-Huang变换在燃声检测信号分析中的应用[J].声学与电子工程, 2011(2):21-23.

[4]徐仁林,安伟.小波降噪在信号基于EMD的Hilbert变换中的应用[J].噪声与振动控制, 2008, 28(3):4.DOI:10.3969/j.issn.1006-1355.2008.03.022.

🌈4 Matlab代码实现

相关文章:

【使用Hilbert变换在噪声信号中进行自动活动检测】基于Hilbert变换和平滑技术进行自动信号分割和活动检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

Android 13 Launcher——屏蔽上拉到应用列表

背景 Launcher定制需要将原先的应用列表去掉,可以从根源去掉,就是将上拉出现应用列表的上拉手势直接屏蔽,让其不能上拉出现应用列表界面,在研究的过程中顺便将下拉出现负一屏的逻辑也研究了下,如下就是具体实现。 目录 背景 一.如何屏蔽上拉出现应用列表 一.如何屏蔽上拉…...

Java 基础知识点

Object 类相关方法 getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对…...

jenkins容器内CI/CD 项目失败问题

问题: 在jenkins 的docker容器内CI/CD制作vue项目镜像失败 1、docker权限问题 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs%…...

CRC 校验码

CRC 校验码 题目解答发送端接收端 题目 假设生成多项式为 G(X)X4X31,要求出二进制序列10110011的CRC校验码 解答 发送端 首先 生成多项式为:G(X)X4X31,改写为二进制比特串为11001(有X的几次方,对应的2的几次方的位就是1) 因为…...

代码随想录二刷day01

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、704. 二分查找二、35. 搜索插入位置三、34. 在排序数组中查找元素的第一个和最后一个位置四、69. x 的平方根五、367. 有效的完全平方数六、27. 移除元素七…...

【C++奇遇记】智能的函数探幽

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…...

使用wxPython和PyMuPDF在Python中显示PDF目录的实现

展示如何使用wxPython和PyMuPDF库在Python中选择PDF文件并将目录显示在列表框中。 简介: 在本篇教程中,我们将学习如何使用wxPython和PyMuPDF库在Python中选择PDF文件,并将其目录显示在一个列表框中。这将使用户能够方便地浏览PDF文档的目录…...

综述:计算机视觉中的图像分割

一、说明 这篇文章是关于图像分割的探索,这是解决计算机视觉问题(如对象检测、对象识别、图像编辑、医学图像分析、自动驾驶汽车等)的重要步骤之一。让我们从介绍开始。 二、图像分割介绍 图像分割是计算机视觉中的一项基本任务,涉…...

【动态规划基础】数字三角形(IOI1994)

题目描述 数字三角形 输入输出样例 输入样例#1: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5输出样例#1: 30思路: 这题可能看到的第一眼——直接贪心然后一层一层判断呀!!!不过很快又会发现,额___好…...

yolo源码注释2——数据集配置文件

代码基于yolov5 v6.0 目录: yolo源码注释1——文件结构yolo源码注释2——数据集配置文件yolo源码注释3——模型配置文件yolo源码注释4——yolo-py 数据集配置文件一般放在 data 文件夹下的 XXX.yaml 文件中,格式如下: path: # 数据集存放路…...

Java实现根据姓名生成头像(钉钉样式)

头像生成器代码如下: package com.hua.util;import org.apache.commons.lang3.StringUtils;import javax.imageio.ImageIO; import java.awt.*; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; import java.io.File; import java.i…...

微信小程序备案流程

微信小程序备案流程 📔 千寻简笔记介绍 千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes,包含笔记源文件.md,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我…...

JavaScript版本ES5/ES6及后续版本

JavaScript简史 1995: Brendan Eich在短短10天内创建了JavaScript的第一个版本。它被称为摩卡,但已经具备了现代JavaScript的许多基本特性! 1996: 为了吸引Java开发人员,Mocha先是更改为LiveScript,然后又更改为Ja…...

解决Idea 多模块,maven项目是多层级文件夹的子项时无法加入git管理的问题

问题 多模块项目,引入模块无法做git管理,第一个项目没有git分支标志,也不能像其他项目一样右键出git选项。 解决方法 发现该模块是多层级的文件夹结构,也就是项目本身在一个文件夹下。应该是要管理该文件夹。 Settings-Versi…...

yolo源码注释4——yolo-py

代码基于yolov5 v6.0 目录: yolo源码注释1——文件结构yolo源码注释2——数据集配置文件yolo源码注释3——模型配置文件yolo源码注释4——yolo-py yolo.py 用于搭建 yolov5 的网络模型,主要包含 3 部分: Detect:Detect 层Model…...

计算机网络中速率和带宽的区别

速率,指的是连接在计算机网络上的主机在数字信道上传送数据的速率,它也称为数据率或比特率,单位是bps。速率往往指的是额定速率或者标称速率,意思也就是在非常理想的情况下才能达到的数据传送的速率,然而在现实生活中是…...

MySQL数据库练习

目录 表结构 建表 插入数据 1、用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。 2、修改student 表中年龄(age)字段属性,数据类型由…...

Redis BitMap/HyperLogLog/GEO/布隆过滤器案例

面试问题: 抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序展现取前10条记录用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签到,来没来如何…...

POI处理excel,根据XLOOKUP发现部分公式格式不支持问题

poi4不支持XLOOKUP函数,但poi最新的5.2.3却已经对此函数做了支持 poi下载地址:Index of /dist/poi/release/bin 公式源码位置:org/apache/poi/ss/formula/atp/XLookupFunction.java 但是在使用此函数过程中,发现有些XLOOKUP函数会…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...