【使用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代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/100705.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理

Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理 目录 Unity C# 之 Task、async和 await 、Thread 基础使用的Task的简单整理 一、Task、async和 await 、Thread 基础概念 1、线程,多线程 2、Task 3、async (await )…

奥威BI数据可视化工具:个性化定制,打造独特大屏

每个人都有自己独特的审美,因此即使是做可视化大屏,也有很多人希望做出不一样的报表,用以缓解审美疲劳的同时提高报表浏览效率。因此这也催生出了数据可视化工具的个性化可视化大屏制作需求。 奥威BI数据可视化工具:个性化定制&a…

11. Vuepress2.x 关闭夜间模式

修改 docs/.vuepress/config.ts 配置文件 设置 themeConfig.darkMode属性详见 官网 module.exports {host: localhost, // ipport: 8099, //端口号title: 我的技术站, // 设置网站标题description: 描述:我的技术站,base: /, //默认路径head: [// 设置 favor.ico&a…

JVM及垃圾回收机制

文章目录 1、JVM组成?各部分作用?1.1 类加载器(Class Loaders)1.2 运行时数据区(Runtime Data Area)1.3 执行引擎(Execution Engine)1.4 本地方法接口(Native Interface&…

Shader学习(三)(片元着色器)

1、在片元着色器处理漫反射 // Upgrade NOTE: replaced _World2Object with unity_WorldToObjectShader "Custom/specularfragement" {properties{_sp("Specular",color) (1,1,1,1)_shiness("Shiness",range(1,64)) 8}SubShader{pass {tags{&…

初始C语言(7)——详细讲解有关初阶指针的内容

系列文章目录 第一章 “C“浒传——初识C语言(1)(更适合初学者体质哦!) 第二章 初始C语言(2)——详细认识分支语句和循环语句以及他们的易错点 第三章 初阶C语言(3)——…

Scrum的三个工件(产品Backlog、Sprint Backlog、产品增量 )

产品Backlog •产品backlog是一个按照价值排序的需求清单。 •为了达成产品目标,所有的需求都需要放到产品backlog中进行管理和规划。 •由产品负责人负责管理和维护。 产品Backlog当中的工作按照迭代的方式推进 •在Scrum中Sprint(冲刺&#xff09…

前馈神经网络解密:深入理解人工智能的基石

目录 一、前馈神经网络概述什么是前馈神经网络前馈神经网络的工作原理应用场景及优缺点 二、前馈神经网络的基本结构输入层、隐藏层和输出层激活函数的选择与作用网络权重和偏置 三、前馈神经网络的训练方法损失函数与优化算法反向传播算法详解避免过拟合的策略 四、使用Python…

pytorch内存泄漏

问题描述: 内存泄漏积累过多最终会导致内存溢出,当内存占用过大,进程会被killed掉。 解决过程: 在代码的运行阶段输出内存占用量,观察在哪一块存在内存剧烈增加或者显存异常变化的情况。但是在这个过程中要分级确认…

光伏发电+boost+储能+双向dcdc+并网逆变器控制(低压用户型电能路由器仿真模型)【含个人笔记+建模参考】

MATALB代码链接:光伏发电boost十储能十双向dcdc十并网逆变器 个人笔记与建模参考请私信发送 包含Boost、Buck-boost双向DCDC、并网逆变器三大控制部分 boost电路应用mppt, 采用扰动观察法实现光能最大功率点跟踪 电流环的逆变器控制策略 双向dcdc储能系…

Java集合利器 Map Set

Map & Set 一、概念二、Map三、Set下期预告 一、概念 Map和Set是一种专门用来进行搜索的数据结构,其搜索的效率与其具体的实例化子类有关。它们分别定义了两种不同的数据结构和特点: Map(映射) :Map是一种键值对&…

Android 12 源码分析 —— 应用层 二(SystemUI大体组织和启动过程)

Android 12 源码分析 —— 应用层 二(SystemUI大体组织和启动过程) 在前一篇文章中,我们介绍了SystemUI怎么使用IDE进行编辑和调试。这是分析SystemUI的最基础,希望读者能尽量掌握。 本篇文章,将会介绍SystemUI的大概…

【算法随记】在计算过程中模的情况

https://leetcode.cn/problems/power-of-heroes/ 计算过程中,可以放心模的情况: 加减乘 先模再加再模和直接加再模一样 a m o d m b m o d m ≡ a b ( m o d m ) a\mod mb\mod m ≡ ab \ (\mod m) amodmbmodm≡ab (modm) 先模再减再模和直接减再模…

pdf太大怎么压缩大小?这样压缩文件很简单

工作和学习中,用到PDF文件的机会还是比较多的,但有时候PDF文件过大会给我们带来困扰,比如上传PDF文件时会因超出系统大小导致无法上传,这时候简单的解决方法就是压缩PDF文件,下面就来看看具体的操作方法吧~ 方法一&…

LeetCode 热题 100(五):54. 螺旋矩阵、234. 回文链表、21. 合并两个有序链表

题目一: 54. 螺旋矩阵https://leetcode.cn/problems/spiral-matrix/ 题目要求: 思路:一定要先找好边界。如下图 ,上边界是1234,右边界是8、12,下边界是9、10、11,左边界是5,所以可…

【2023七夕】星河漫舞,七夕的璀璨之夜。分享:七夕表白的前端特效(附完整原代码+详细注释),情不知何起,却一往情深。愿天下有情人终成眷属

满山遍野你的脸庞,唯有遗忘是最漫长。 又一年的七夕了,今年,你还是孤单一人吗? … … 若是的话,咱们可是一个阵营的!!! 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿…

计算机竞赛 垃圾邮件(短信)分类算法实现 机器学习 深度学习

文章目录 0 前言2 垃圾短信/邮件 分类算法 原理2.1 常用的分类器 - 贝叶斯分类器 3 数据集介绍4 数据预处理5 特征提取6 训练分类器7 综合测试结果8 其他模型方法9 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 垃圾邮件(短信)分类算…

opencv-人脸关键点定位

#导入工具包 from collections import OrderedDict import numpy as np import argparse import dlib import cv2#https://ibug.doc.ic.ac.uk/resources/facial-point-annotations/ #http://dlib.net/files/# 参数 ap argparse.ArgumentParser() ap.add_argument("-p&quo…

JDK JRE JVM 三者之间的详解

JDK : Java Development Kit JRE: Java Runtime Environment JVM : JAVA Virtual Machine JDK : Java Development Kit JDK : Java Development Kit【 Java开发者工具】,可以从上图可以看出,JDK包含JRE;java自己的一些开发工具中&#…

嵌入式入门教学——C51(中)

嵌入式入门教学汇总: 嵌入式入门教学——C51(上)嵌入式入门教学——C51(中)嵌入式入门教学——C51(下) 目录 七、矩阵键盘 八、定时器和中断 九、串口通信 十、LED点阵屏 十一、DS1302实…