LabVIEW开发自适应降噪ANC

简介: LabVIEW开发自适应降噪ANC

LabVIEW开发自适应降噪ANC


在许多情况下,信号很嘈杂,必须消除噪声。自适应降噪(ANC)是可用于消除信号噪声的主要实时方法之一。可以使用LabVIEW自适应滤滤器工具包来设计ANC应用程序。本文介绍使用自适应筛选器工具包的ANC的一些实际示例。


ANC应用程序使用自适应过滤器,这些过滤器的系数会根据特定标准自动调整。通过一些最小均方(LMS)、归一化LMS和递归最小二乘法(RLS)等方法,使用自适应滤波器来执行噪声消除、回声消除。


项目采用LabVIEW图形化开发环境和Compact RIO硬件执行实时自适应降噪。典型的自适应降噪系统如下图所示。


9f803232eb8dba903b966fd173fb1fc9.png


其中s(n)是需要获取的飞行员的声音


v(n),v1(n)和v2(n)表示喷气发动机噪声


y(n)是输出信号


e(n)是结果信号


飞机内部的飞行员与地面控制塔之间的通信通常受到喷气发动机噪音的污染。不能获取有效声音。只能获得s(n)+v1(n),从s(n)+v1(n)删除v1(n),可以使用自适应过滤器。


首先,必须使用传感器来仅获取喷气发动机噪声v2(n),并将此信号送到自适应滤波器。如果s(n)与喷气发动机噪声v(n)不相关,并且v1(n)和v2(n)与V(N)高度相关,通过迭代调整自适应滤波器的系数,噪声消除系统可以估计喷气发动机噪声v1(n)。当输出信号y(n)接近v1(n),系统可以消除发动机噪音。e(n)表示接近s(n)的结果信号。


使用不同的NI平台来部署实时ANC应用程序。这些平台包括台式计算机、笔记本电脑、LabVIEW Real-Time终端和LabVIEW FPGA终端。下图显示了在台式计算机和LabVIEW Real-Time终端上使用LabVIEW和Adaptive Filter Toolkit编程ANC应用程序的常用方法。

3fc8588669263f5f12247896428e1710.png



在这些平台上,使用NI4461或NI4472动态信号采集设备来采集数据,因为这两款设备都具有PCI和PXI接口。


可以使用LabVIEW自适应滤波工具包、LabVIEW FPGA模块和NI Compact RIO平台来实现实时ANC系统。


LabVIEWFPGA模块的IP发生器提供了一种生成定点LMS自适应滤波器,以在FPGA上运行的方法。下图显示了定点LMS自适应滤波器的配置对话框。可以在此配置对话框中指定参数。

3cf58e7c86fd8007530a853b60ce422e.png




FXPLMS VI自动生成,因此只需对如何控制整个ANC过程进行编程。在cRIO-9104 FPGA上运行的框图如下所示。


6df2a4074f42a3c94b05e48fae21292a.png


自适应降噪在当今的降噪应用中很有用。通过使用LabVIEW自适应过滤器工具包,您可以根据不同的需求在台式计算机、实时终端和FPGA平台上部署实时ANC应用程序。


这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

相关文章
|
网络协议 安全 网络安全
【UDP】——为什么 UDP 数据包不能超过 512 个字节
一开始了解的是 DNS 服务使用的是 UDP 协议,后面看到 DNS 服务主要使用 UDP 协议,在少数情况(传输的数据超过 512 个字节)下也会使用 TCP 协议,因为 UDP 数据包不能超过 512 个字节。那问题来了,为什么 UDP 数据包不能超过 512 个字节呢?
4151 0
【UDP】——为什么 UDP 数据包不能超过 512 个字节
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
1569 0
|
Java Spring
Spring Boot 2.X(八):Spring AOP 实现简单的日志切面
AOP 1.什么是 AOP ? AOP 的全称为 Aspect Oriented Programming,译为面向切面编程,是通过预编译方式和运行期动态代理实现核心业务逻辑之外的横切行为的统一维护的一种技术。
3341 1
|
10月前
|
人工智能 Ubuntu 语音技术
ebook2audiobookXTTS:开源电子书转有声书 AI 工具,支持 16 种语言
ebook2audiobookXTTS 是一款开源的 AI 工具,能够将电子书转换为有声书,支持多种电子书格式和 16 种语言。该工具利用 Coqui XTTS 技术实现高质量的文本到语音转换,并提供命令行、Web 界面和 Docker 容器等多种使用方式。
1131 3
ebook2audiobookXTTS:开源电子书转有声书 AI 工具,支持 16 种语言
|
11月前
|
JavaScript
在Vue中获取DOM元素的实际宽高
【10月更文挑战第2天】
1078 76
|
缓存 Linux C语言
C语言 多进程编程(六)共享内存
本文介绍了Linux系统下的多进程通信机制——共享内存的使用方法。首先详细讲解了如何通过`shmget()`函数创建共享内存,并提供了示例代码。接着介绍了如何利用`shmctl()`函数删除共享内存。随后,文章解释了共享内存映射的概念及其实现方法,包括使用`shmat()`函数进行映射以及使用`shmdt()`函数解除映射,并给出了相应的示例代码。最后,展示了如何在共享内存中读写数据的具体操作流程。
|
测试技术
三种等待方式(‌线程等待、‌隐式等待、‌显式等待)
三种等待方式(‌线程等待、‌隐式等待、‌显式等待)
564 4
|
计算机视觉
使用QT显示OpenCV读取的图片
使用QT显示OpenCV读取的图片
234 1
|
存储 编解码 Ubuntu
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
|
存储 监控 数据安全/隐私保护
数据备份策略有哪些?
【6月更文挑战第19天】数据备份策略有哪些?数据备份策略有哪些?
1037 6

热门文章

最新文章