MATLAB环境下一维时间序列信号的欠定盲源分离方法

news/发布时间2024/5/16 1:34:38

在酒会上会有多种声音,如酒杯碰撞的声音、朋友之间聊天的声音、会场中音乐的声音等,这些声音混叠起来使我们难以得到我们感兴趣的声音信号,怎样获得我们想要得到的声音信号,这就是盲源分离BSS研究上的最经典问题“鸡尾酒会”问题。盲源分离最早提出时就是为了解决源信号及系统混叠过程未知,只有输出信号已知的问题,盲源分离技术已经取得了多方面的应用。

近年来,非常多的关于盲源分离的文章出现在信号处理的权威期刊中,可见关于这个领域的研究正越来越受到学者们的重视。除此之外,在国际声学、语音和信号处理大会上都有关于盲信号处理的专题,盲源分离有众多的问题需要研究,目前盲源分离的理论热点主要集中在以下几个方面:

(1)欠定问题。该问题主要研究的是在源信号数目较多,观测信号与源信号相比数目较少的情况下进行源信号恢复的问题。这是传统的的独立分量分析算法很难攻克的问题,这也是与实际情况更相符的问题,本文主要研究的就是欠定条件下的盲源分离算法。

(2)单通道问题。只有一个观测信号,只根据这个观测信号,恢复出多个源信号的问题。

(3)非线性盲源分离。实际应用中,盲源分离的混合模型大部分都是非线性的,使用线性的分析方法就会存在一定的误差,尤其是在实时处理过程中,有时甚至会导致算法不可用,因此非线性模型的建立将会是今后研究的一个重点。

(4)盲解卷积。盲解卷积是盲源分离问题的一个通式,而瞬态盲源分离只是盲解卷积在时延为零时的一个特殊存在方式,因此研究盲解卷积问题更有助于解决实际问题。

(5)如何更有效的在非平稳环境中进行源信号恢复问题的研究。

盲源分离的应用领域主要有:

(1)语音信号的处理“鸡尾酒会”问题是盲源分离处理语音信号的发端,关于该问题的研究成果是盲源分离发展史上的一个重要节点。移动通信领域,盲源分离技术得到了广泛的应用,对移动通话质量的改善做出很大贡献。

(2)图像处理目前,盲源分离技术在图像处理方面的应用大致有:图像分离、图像特征提取、图像去噪、人脸识别和检测、医学图像处理、图像水印甚至遥感图像处理等很多方面。

(3)医学方面在医学信号中可用于心电图、脑电图源信号及脑磁图分析。脑磁图是一种非扩散性的方法,可以提高活动脑皮层神经元的时间和空间分辨率。在实际的医学研究中,通过盲源分离技术获取脑部信号,而且通过盲源分离技术进行脑信号获取时,能较好的分离噪声和所需的有用信号,对神经医学的发展将会贡献很大的力量。

(4)天线阵列处理在阵列信号处理中,传感器从各个信号源处接收到信号,而源信号完全未知的情况。譬如在海洋声纳探测中就存在这种情况,而且信号的传输介质(海洋)同样也是未知的,并且是时变的。在军事领域,近年来发展起来的被动“雷达”(暂且称其为雷达)由于只接收信号而不发出任何信号就可以探测到目标,因而受到重视。实际上这种雷达的基本工作原理就是盲信号处理技术。

(5)地震信号处理地质勘探中,用地音探测器监听接受到的反射或衍射信号,根据信号特性来辨别地质构造、地质特点,只根据接收信号的性质来判断地质构造,这就需要盲处理技术来处理。

(6)金融数据处理将盲信源分离应用在金融数据分析中是一个探索性的工作。可以将盲源分离应用于揭示流通交易率或每日的股票成交量等其中隐藏的驱动机制或者数据的基本结构。实际上,盲源分离技术的应用非常广泛,甚至已经超越了信号处理的范畴,在数据加密、化学反应分析等方面也有很大应用。

代码为MATLAB环境下一维时间序列信号的欠定盲源分离方法。首先利用各阶模态响应信号在时频域中的聚类特性估计结构的模态振型;然后,在已知振型矩阵的基础上,通过L1范数最小化算法分离出多个单模态信号。

部分代码如下:

function [S]=L1_norm_min(X,A)
%     L1_norm_min    L1_norm minimum method.
%     When number of sensors is two, it can be called shortest path method.
%     But this method proposed here can process any number sensors.
%     You can see paper 'Underdetermined blind source separation using sparse representation' to know the original theory of shortest path method.
%     X is the data after time-frequency transform.
%     A is the mixing matrix between sources.
[Xm Xn]=size(X);
[Am An]=size(A);

部分出图如下:

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任
《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

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

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

相关文章

sentinel整合nacos在gateway中实现限流

sentinel整合nacos在gateway中实现限流 一、应用层面完成网关整合nacos和sentinel实现限流 前沿 启动nacos与sentinel的jar的启动,这里不细讲 sentinel官网 https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5 sentinel 下载地址 https://github.com/…

Linux-基础知识(黑马学习笔记)

硬件和软件 我们所熟知的计算机是由:硬件和软件组成。 硬件:计算机系统中电子,机械和光电元件等组成的各种物理装置的总称。 软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。 而操作系统…

代码随想录算法训练营第三天

● 自己看到题目的第一想法 203.移除链表元素 方法一: 思路: 设置虚拟头节点 dummyhead 设置临时指针 cur 遍历 整个链表 循环: 如果 cur !nullptr &&cur->next !nullptr 则 遍历链表 否则结束遍历 如果 cur->next val 则…

TestNG与ExtentReport单元测试导出报告文档

TestNG与ExtentReport集成 目录 1 通过实现ITestListener的方法添加Reporter log 1.1 MyTestListener设置 1.2 输出结果 2 TestNG与ExtentReporter集成 2.1 项目结构 2.2 MyExtentReportListener设置 2.3 单多Suite、Test组合测试 2.3.1 单Suite单Test 2.3…

C++ Primer Plus 笔记(持续更新)

编译器的正解 数据+算法程序 赋值从右向左进行 cin,cout的本质也是对象 类和对象的解释

Jmeter内置变量 vars 和props的使用详解

JMeter是一个功能强大的负载测试工具,它提供了许多有用的内置变量来支持测试过程。其中最常用的变量是 vars 和 props。 vars 变量 vars 变量是线程本地变量,它们只能在同一线程组内的所有线程中使用(线程组内不同线程之间变量不共享&#…

【Java EE初阶二十一】http的简单理解(二)

2. 深入学习http 2.5 关于referer Referer 描述了当前页面是从哪个页面跳转来的,如果是直接在地址栏输入 url(或者点击收藏夹中的按钮) 都是没有 Referer。如下图所示: HTTP 最大的问题在于"明文传输”,明文传输就容易被第三方获取并篡改. …

Android13 编译ninja failed with: exit status 137

描述 现象很奇怪,主机是ubuntu 18.04, 内存有32G,并且系统中有两份Android13代码, 有一份编译正常,另外一份编译不正常,一度以为是因为下载源码不齐全导致,后面仔细看日志,原来是内…

Automated Testing for LLMOps 01:使用CircleCI进行持续集成CI

Automated Testing for LLMOps 这是学习https://www.deeplearning.ai/short-courses/automated-testing-llmops/ 这门课的笔记 Learn how LLM-based testing differs from traditional software testing and implement rules-based testing to assess your LLM application. …

计算机操作系统-笔记

现代操作系统阅读笔记 第一章 引论 1. 操作系统定义 操作系统是运行在内核态的软件,它执行两个基本上独立的任务。 隐藏计算机底层硬件的实现,为用户及应用程序提供一个资源集的清晰抽象。 管理计算机硬件资源。 任何操作系统的核心是它可处理的系…

NGINX服务器配置实现加密的WebSocket连接WSS协议

一、背景 最近在做小程序开发,需要在nginx中配置websocket加密模式,即wss。初次配置wss时,踩了两个小时的坑,本文将踩坑过程分享给大家,有需要用到的伙伴可以直接copy即可实现,节省宝贵时间。 二、WebSo…

Escalate_Linux(4)-利用SUDO实现提权

利用SUDO实现提权 利用用户的sudo授权获得root的shell cat /etc/passwd cat /etc/sudoers 命令没有权限 echo "cat /etc/sudoers" >/tmp/ls chmod 755 /tmp/ls export PATH/tmp:$PATH /home/user5/script 想办法更改user1的口令 echo echo "user1:xiao…

openai chat GPT-4 Technical Report 技术报告论文

摘要 我们报告了 GPT-4 的开发,这是一个大规模、多模态的模型,可以接受图像和文本输入,并生成文本输出。虽然在许多现实场景中不如人类,但 GPT-4 在各种专业和学术基准测试中表现出与人类水平相当的性能,包括在模拟的…

微信小程序(1)- 小程序开发工具

1. 小程序开发工具下载 地址:官网 微信小程序账号只要开发者满足开发资质都可以进行注册,并且会获得对应的 开发者 ID。一个完整的开发者 ID 由 小程序 ID(AppID)和一个 小程序密钥(AppSecret)组成。小程…

java基础-正则表达式+文件操作+内置包装类

目录 正则表达式去除字符串前后空格:去除每一行中首尾的空格去除开头的 数字_ 文件操作打印当前项目路径获取文件的上级目录/和\读取文件 内置包装类System类常用方法 Number类Integer类常用方法Float和Double 正则表达式 去除字符串前后空格: str.tri…

《游戏引擎架构》--学习3

内存管理 优化动态内存分配 维持最低限度的堆分配,并且永不在紧凑循环中使用堆分配 容器 迭代器 Unicode

国内大型语言模型(LLM)的研发及突破性应用

随着人工智能技术的迅猛发展,大型语言模型(LLM)在国内外科技领域成为了热点话题。这些模型因其在文本生成、理解和处理方面的卓越能力,被广泛应用于各种行业和场景中。 在中国,一批人工智能公司在LLM的研发与应用方面…

普中51单片机学习(EEPROM)

EEPROM IIC串行总线的组成及工作原理 I2C总线的数据传送 数据位的有效性规定 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许…

数据结构之哈夫曼树

哈夫曼树 什么是哈夫曼树 哈夫曼树的定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),哈夫曼树是带权路径长度…

【Linux基础】vim、常用指令、组管理和组权限

Linux基础 1、目录结构2、vi和vim3、常用指令运行级别找回密码帮助指令时间日期指令搜索查找文件目录操作磁盘管理指令压缩和解压缩 4、组管理和组权限用户操作指令权限 1、目录结构 Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”&a…
推荐文章