LabVIEW基于双通道FFT共轭相乘的噪声抑制

对于双通道采集的含噪信号,通过FFT获取复数频谱后,对第二通道频谱取共轭并与第一通道频谱相乘,理论上可增强相关信号成分并抑制非相关噪声。此方法适用于通道间信号高度相关、噪声独立的场景(如共模干扰抑制)。以下为LabVIEW实现方案及案例验证。


实现原理与步骤

1. 核心数学推导

设两通道信号为:

  • 通道1S1(t) = Signal(t) + Noise1(t)

  • 通道2S2(t) = Signal(t) + Noise2(t)

假设信号Signal(t)完全相关,噪声Noise1Noise2独立。在频域中:

  • FFT(S1)A + jW1 = FFT(Signal) + FFT(Noise1)

  • FFT(S2)B + jW2 = FFT(Signal) + FFT(Noise2)

对通道2频谱取共轭后相乘:

(A + jW1) × (B - jW2) = AB + W1W2 + j(BW1 - AW2)   

若信号成分占主导(A≈B, W1≈W2),则实部增强(AB + W1W2 ≈ A² + W1²),虚部噪声项(BW1 - AW2)因噪声不相关趋于抵消。最终通过逆FFT恢复时域信号,噪声被部分抑制。

2. LabVIEW实现流程

关键VI

  • FFT.vi(信号处理→变换→FFT)

  • Complex Conjugate.vi(数学→复数→复共轭)

  • Multiply.vi(数值→乘)

  • Inverse FFT.vi(信号处理→变换→逆FFT)

代码步骤

  1. 信号采集与预处理

    • 双通道同步采集信号(如DAQmx读取)。

    • 加窗处理(推荐汉宁窗,减少频谱泄漏)。

  2. FFT变换

    (A + jW1) × (B - jW2) = AB + W1W2 + j(BW1 - AW2)   

  3. 共轭相乘处理

    B+jW2 → Complex Conjugate.vi → B-jW2   A+jW1 × B-jW2 → Multiply.vi → 乘积频谱   

  4. 逆FFT恢复时域信号

    乘积频谱 → Inverse FFT.vi → 降噪后时域信号   


3. 应用案例:工业电机振动信号降噪

场景需求

某电机振动监测系统中,两加速度传感器对称安装,采集轴承振动信号。目标:抑制环境噪声,提取真实振动特征频率。

实现细节
  1. 信号生成(仿真)

    • 信号成分:10 Hz基频 + 50 Hz谐波,幅值1 V。

    • 噪声:通道1加入20-100 Hz高斯白噪声(SNR=10 dB),通道2加入相同频带但独立生成的噪声。

  2. LabVIEW代码设计

    • FFT设置:采样率1 kHz,FFT点数1024,汉宁窗。

    • 频域处理:共轭相乘后,取乘积频谱的模值开方作为最终幅值(避免能量倍增)。

  3. 结果对比

    • 原始信号:频谱中10 Hz与50 Hz被噪声淹没(峰值不明显)。

    • 处理后信号:10 Hz与50 Hz幅值清晰,背景噪声降低约6 dB。


4. 注意事项与优化

  • 通道同步性:确保两通道严格同步采样,避免时延导致相位偏差。

  • 频谱对称性:仅处理FFT结果的前半部分(0~Nyquist频率),避免重复计算。

  • 幅值修正:逆FFT后需缩放幅值(除以FFT点数N),恢复物理单位。

  • 窗函数补偿:若加窗处理,需在频域幅值中除以窗函数的相干增益(如汉宁窗为0.5)。


总结

通过双通道FFT共轭相乘处理,LabVIEW可有效抑制独立噪声并增强相关信号。此方法适用于对称传感器布局共模干扰场景(如工业振动监测、声学阵列),但需注意通道一致性校准与频谱对称性处理。实际测试表明,在SNR≥10 dB时,信噪比可提升3-8 dB,显著改善特征频率识别能力。

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

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

相关文章

c语言笔记 静态数据与ELF程序格式

数据段: 1.全局变量 2.常量.rodata段 3.已初始化的静态数据(全局变量).data段 4.未初始化的静态数据(static修饰的局部变量).bss段 为什么需要静态数据? 全局变量 可以在任何文件,函数中使用,数据操作上更加方便。static修饰的局部变量&a…

算法 之 树形dp 树的中心、重心

文章目录 重心实践题目小红的陡峭值 在树的算法中,求解树的中心和重心是一类十分重要的算法 求解树的重心 树的重心的定义:重心是树中的一个节点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点…

Ubuntu切换lowlatency内核

文章目录 一. 前言二. 开发环境三. 具体操作 一. 前言 低延迟内核(Lowlatency Kernel) 旨在为需要低延迟响应的应用程序设计的内核版本。Linux-lowlatency特别适合音频处理、实时计算、游戏和其他需要及时响应的实时任务。其主要特点是优化了中断处理、调…

【Zinx】Day5-Part2:Zinx 的消息队列及多任务机制

目录 Day5-Part2:Zinx 的消息队列及多任务机制创建消息队列创建及启动 Worker 工作池在 Server 启动的同时对连接池进行初始化 Day5-Part2:Zinx 的消息队列及多任务机制 接下来我们需要给 ZInx 添加消息队列以及多任务 Worker 机制。可以通过限制 worke…

项目上传到Gitee过程

在gitee上新建一个仓库 点击“克隆/下载”获取仓库地址 电脑上要装好git 在电脑本地文件夹右键“Git Bash Here” 依次执行如下命令 git init git remote add origin https://gitee.com/qlexcel/stm32-simple.git git pull origin master git add . git commit -m ‘init’…

速算迷你世界脚本UI

--[[ --数学速算主界面 local UI"6996144362677448610" local v"6996144362677448610_" --自定义玩家数据界面 --显示界面分类 -- --称号积分幼儿园0学前班50小学生200初中生500高中生1000大学生2000研究生5000博士生10000教授50000 local A {["主屏幕…

坐落于杭州的电商代运营公司品融电商

坐落于杭州的电商代运营公司品融电商 在中国电商行业蓬勃发展的浪潮中,品融电商(PINKROON)作为一家扎根杭州的新锐品牌管理公司,凭借其独特的全域增长方法论和实战经验,迅速崛起为行业标杆。自2020年成立以来&#x…

mysql的Innodb最大支持的索引长度是多少,以及索引长度怎么计算

今天正好有空,来讲个之前粉丝经常问的一个知识,就是mysql的Innodb最大支持的索引长度是多少?以及索引长度怎么计算? 一、mysql的innodb引擎,创建索引最大支持的长度是多少字节? 不墨迹,直接说…

【网络安全工程】任务11:路由器配置与静态路由配置

目录 一、概念 二、路由器配置 三、配置静态路由CSDN 原创主页:不羁https://blog.csdn.net/2303_76492156?typeblog 一、概念 1、路由器的作用:通过路由表进行数据的转发。 2、交换机的作用:通过学习和识别 MAC 地址,依据 M…

Dagger 2 系列(五)——进阶之@Scope 和 @Singleton

前言: 在上一篇Dagger 2 系列(四)——Named 和 Qualifier注解介绍,了Named 和 Qualifier注解,这篇文章,我们将会了解另外俩个注解:Scope 和 Singleton。 在这篇文章中你会了解到: …

脑电波控制设备:基于典型相关分析(CCA)的脑机接口频率精准解码方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、CCA的用途二、频率求解思路三、输入数据结构四、判断方法五、matlab实践1.数据集获取及处理2.matlab代码3.运行及结果 六、参考文献 前言 在脑机接口(BCI)领…

fiddler+雷电模拟器(安卓9)+https配置

一、fiddler配置 1、开启https代理 2、根证书安装:导出证书系统安装 二、模拟器设置 1、设置网络桥接模式 【点击安装】提示安装成功后保存即可 2、开启root(开启adb远程调试) 3、开启磁盘写入 4、设置WLAN代理 5、证书安装:物…

跨越时空的对话:图灵与GPT-4聊AI的前世今生

(背景:虚拟咖啡厅,图灵身着1950年代西装,端着一杯热茶,GPT-4以全息投影形态坐在对面) 图灵(喝了口茶):“听说你能写诗?我当年在布莱切利园破解Enigma时&…

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开

双击PPT文件界面灰色不可用,需要再次打开该PPT文件才能正常打开 1. 软件环境⚙️2. 问题描述🔍3. 解决方法🐡解决步骤 4. 结果预览🤔 1. 软件环境⚙️ Windows10 或 Windows11 专业版64位,安装MotionGo软件&#xff08…

【时间序列聚类】Feature-driven Time Series Clustering(特征驱动的时间序列聚类)

文章目录 1.文章介绍2.问题背景3.拟解决的问题4.主要贡献5.提出的方法5.1模型pipeline5.2特征抽取和选择5.3图渲染和社区检测5.4共现矩阵的构建5.5对共现矩阵进行聚类 6.实验6.1模型设置6.2实验结果6.3消融实验 7.结论8.个人观点9.Reference 1.文章介绍 论文出处:ED…

tomcat负载均衡配置

这里拿Nginx和之前做的Tomcat 多实例来实现tomcat负载均衡 1.准备多实例与nginx tomcat单机多实例部署-CSDN博客 2.配置nginx做负载均衡 upstream tomcat{ server 192.168.60.11:8081; server 192.168.60.11:8082; server 192.168.60.11:8083; } ser…

SQLAlchemy系列教程:如何执行原生SQL

Python中的数据库交互提供了高级API。但是,有时您可能需要执行原始SQL以提高效率或利用数据库特定的特性。本指南介绍在SQLAlchemy框架内执行原始SQL。 在SQLAlchemy中执行原生SQL SQLAlchemy虽然以其对象-关系映射(ORM)功能而闻名&#xff…

19.HarmonyOS Next CustomSlider组件基础教程(一)

温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! 1. 组件介绍 Slider(滑动选择器)是HarmonyOS中常用的交互组件,用于在给定的数值范围内进行连续值的选择。本教…

管中窥豹数字预失真(DPD)

管中窥豹数字预失真(DPD) 数字预失真在通信领域发挥了巨大的作用,对提高功放效率、改善误码率起了不可忽略的作用,广泛运用与通信、雷达等各种领域。但是对于普通用户,它显得及其高深神秘。今天就用这个短文&#xff…

MCP极简入门:超快速上手运行简单的MCP服务和MCP客户端

MCP是什么? 首先我们快速过一下MCP的基本概念,接着我们会通过一个简单的天气服务的教程,来上手学会使用MCP服务和在主机运行服务。本文根据官方教程改编。 1. MCP的基本概念 MCP(Model Context Protocol,模型上下文…