基于LabVIEW的声音信号采集分析系统开发

摘要:以美国国家仪器(NI)公司开发的LabVIEW虚拟仪器为软件开发平台,设计了一个可以同步实现声音信号采集和分析的多功能模块化软件系统.借助LabVIEW图形化软件相应的声音读取、写入和存储函数实现对声音信号的采集、存储、时域分析和频域分析,并实时显示在工作前面板上.该系统在试验中得到了很好的验证,为将来对声音信号进一步分析与处理提供了理论支持。

引言

随着现代信息科学技术发展的日新月异,在电子电路和测控领域中需要处理的问题变得越来越复杂,对信号分析的实时性、普适性、精确性等方面的要求也越来越高.传统仪器因为其功能单一性和高昂的成本,使得在面对信号数据采集和分析时显得越来越力不从心.科研实验中常会出现当新的测控电路设计出来.而实验仪器却难以同步更新的尴尬局面,浪费大量的人力、物力、财力。虚拟仪器信号分析系统完全可以解决这类问题.基于虚拟仪器开发平台开发的各种“虚拟仪器”,大量使用图形化控件使LabVIEW不但操作简单、成本低廉,而且还保证了与传统仪器基本相同的人机交互性、可操作性和真实感旧j.与此同时LabVIEW允许图形方式编程和具有丰富的函数库。摒弃了晦涩难懂的编程代码,使得计算机不再是少数人的专利,这些优点让LabVIEW在科研各个领域尤其是测控领域得到广泛应用.文中利用LabVIEW虚拟仪器软件设计了一个可以实现声音信号采集与分析的系统,可以比较全面地对声音信号进行采集和数据分析,为进一步研究声音信号的特性提供可靠的理论依据。
1、声音信号采集与分析软件的结构框图
软件系统由声音信号的数据采集和信号回放与分析2个主要功能模块构成,声音信号采集与分析软件的主要结构框图如图1所示.


2软件系统的各功能模块

2.1声音信号的数据采集模块

声音信号数据采集模块的主要功能是完成声音信号采集和存储.声音信号采集是指声波信号经声音传感器(麦克风)和信号放大器(信号放大)转换成模电信号,再通过模/数(A/D)转换将模电信号转换成数电信号的全过程引。在LabVIEW的前面板中信号采集由用户操作.通过软件相对应的声音写入、声音读取子函数来实现声音信号的采集和声音模板的录入,以WAV格式存储到预先设定好的硬盘内.软件通过布尔开关控制声音信号采集的起止。同时又为所有通道的存储命令设置同步控制功能。实现了多通道信号同步实时存储.人耳能听到的声音频率范围在20Hz~20000Hz,而一般语音信号频率约为300Hz~3400Hz[4I。本文模拟采集一段语音信号,根据奈奎斯特采样定理,采样频率必须大于模拟信号最高频率的2倍,工程上实际采用3倍甚至3倍以上.语音信号频率最高大约为3400Hz:因此。在LabVIEW前面板中设置采样参数为:每通道采集数为5000.采样率为8000Hz。

2.2声音信号的回放与分析模块

声音信号携带着各种信息,声音信号处理的目的就是为了提取这些信息,处理方法基本上可以分为时域分析和频域分析2种。时域分析相对比较直观简单,直接对声音信号的时域波形进行相应数学处理,提取的信号时域特征参数主要包括声音信号的短时平均能量,短时平均过零率以及短时自相关分析等。而频域分析是通过傅立叶变换,将声音信号从时间域变化到南正弦函数或者余弦函数组成的频率域上进行分析。提取的特征参数有幅度谱,相位谱,功率谱等。
2.2.1 声音信号的短时平均能量分析
由于声音在介质中传播的同时伴随着能量的传播,故可以根据声音信号的能量大小和变化情况来判
断有无声音信号和区分声音信号的清音与浊音㈣;声音信号是时变信号,各种物理参数随时间变化而变化:因此。贯穿整个时域分析的分析方法是应用短时分析技术近似处理。理论上认为在10 ms~30 ms内,声音信号频谱特性和它的某些物理参量可以看作近似不变[6].应用短时分析技术,将声音信号的瞬时能量转换为短时平均能量。这就需要一个特殊的切割函数将声音信号分割成若干个小段,用每一小段的短时平均能量代替瞬时能量来描述声音变化的特征.这里所用到的切割函数就是窗函数,其中每一小段称之为一“帧”。这个过程称之为对信号的加窗分析.在对声音信号进行短时平均能量分析时,首先采用一个长度有限的窗函数来截取声音信号形成分析帧[7|。

3软件应用

检测列车轮轨噪声是预判列车接近的一个重要方法,利用本文所设计的软件可以对该噪声信号进行
数据采集和分析,为设计基于轮轨噪声监测的列车接近预警系统做一个前期的数据处理。本文选取一段列车轮轨噪声信号(已将信号放大并转换为WAV格式命名为test)作为测试对象,在软件的前面板设定声音信号的相关采样参数,声音信号相应的波形图实时显示在LaBVIEW工作前面板上,前面板显示如图5所示。

4结论

本文介绍了一个新型的基于LabVIEW虚拟仪器的信号采集与分析系统。软件可以通过选项卡来控制各功能模块,操作简单,功能齐全,可以实现多路信号的同步实时采集、存储、信号时域和频域分析。其中,时域分析包括短时平均能量分析。频率分析包括功率谱、幅度谱和相位谱.同时软件应用LabVIEW子面板技术,使主程序界面看起来更加美观、简洁,为声音信号分析提供了更加开放的处理方法。在软件测试方面,利用该软件分析系统对一段列车接近轮轨噪声信号test.wav进行时域和频域分析。显示出LabVIEW在声音信号处理中的优点,通过设置软件前面板的采样参数可以得到信号在特定时间或频率上的特征参数。为下一步实现对轮轨噪声信号识别提供参考数据.在拓展应用方面,LabVIEW自带了600多个分析函数,能够轻松提取有用的信息进行测量数据分析和信号处理。LabVIEW支持用户自定义,用户可以编写高效、快速的处理函数和控件,建立自己的函数库,甚至可以引入Matlab函数自定义模块。大大提高了在科研用途的广阔性,缩短了开发周期,提高了开发效率。

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

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

相关文章

行为树(Behavior Trees)

行为树(Behavior Trees)是一种在游戏开发中广泛使用的AI设计模式,主要用于描述AI的行为和决策过程,实现更加智能和自然的游戏AI。它由多个节点组成,每个节点代表一个行为或决策,按照特定的方式连接在一起&a…

C#编程-自定义属性

命名自定义属性 让我们继续漏洞修复示例,在这个示例中新的自定义属性被命名为BugFixingAttribute。通常的约定是在属性名称后添加单词Attribute。编译器通过允许您调用具有短版名称的属性来支持附加。 因此,可以如以下代码段所示编写该属性: [ BugFixing ( 122,"Sara…

U-Boot学习(3):.config、defconfig文件对比及图形化配置Kconfig

在上一节中,我们介绍了U-Boot编译和.config配置文件生成分析,我们可以通过make xxx__defconfig来进行一些配置,其中xxx__defconfig对应config目录下的基于不同开发板的一些配置,指令执行完后会根据对应的配置在根目录下生成一个.c…

LLM之幻觉(二):大语言模型LLM幻觉缓减技术综述

LLM幻觉缓减技术分为两大主流,梯度方法和非梯度方法。梯度方法是指对基本LLM进行微调;而非梯度方法主要是在推理时使用Prompt工程技术。LLM幻觉缓减技术,如下图所示: LLM幻觉缓减技术值得注意的是: 检索增强生成&…

将Sqoop与Hive集成无缝的数据分析

将Sqoop与Hive集成是实现无缝数据分析的重要一步,它可以将关系型数据库中的数据导入到Hive中进行高级数据处理和查询。本文将深入探讨如何实现Sqoop与Hive的集成,并提供详细的示例代码和全面的内容,以帮助大家更好地了解和应用这一技术。 为…

bee工具的使用及创建第一个项目

前提文章:beego的安装及配置参数说明-CSDN博客 提示:beego框架下项目需要再GOPATH/src下进行开发,我的GOPATH是C:\Users\leell\go web项目创建 通过 bee new 创建web项目 C:\Users\leell\go\src>bee new beego-web 2024/01/15 21:40:0…

详细讲解Python连接Mysql的基本操作

目录 前言1. mysql.connector2. pymysql 前言 连接Mysql一般有几种方法,主要讲解mysql.connector以及pymysql的连接 后续如果用到其他库还会持续总结! 对于数据库中的表格,本人设计如下:(为了配合下面的操作) 1. mysql.connector mysql.connector 是一…

自动化的自动化(1)--OPCUA2HTML5

现在的自动化工程师是令人沮丧的,他们努力地实现各个行业的自动化系统,自己却停留在敲键盘的手工劳作的阶段,该解放自己了。这就是“自动化实现自动化”的话题。 OPC 统一架构(简称 OPC UA)是现代工厂自动化中用于机器…

漏洞复现-Yearning front 任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

身体互联网 (IoB)

现在,我们的互联网网关就是我们手中的一个小设备。 普渡大学副教授施里亚斯森表示。 我们不断地看着这个盒子,我们低着头走路,我们把大部分时间都花在它上面。如果我们不想让这种未来继续下去,我们就需要开发新技术。相反&#x…

#RAG##AIGC#检索增强生成 (RAG) 基本介绍和入门实操示例

本文包括RAG基本介绍和入门实操示例 RAG 基本介绍 通用语言模型可以进行微调以实现一些常见任务,例如情感分析和命名实体识别。这些任务通常不需要额外的背景知识。 对于更复杂和知识密集型的任务,可以构建基于语言模型的系统来访问外部知识源来完成任…

系统架构11 - 数据库基础(上)

数据库基础 数据库基本概念概述三级模式、两级映像概念模式外模式内模式二级映像逻辑独立性物理独立性 数据库设计需求分析概念结构设计逻辑结构设计物理设计数据库实施阶段据库运行和维护阶段 数据模型E-R模型关系模型模型转换E-R图的联系 关系代数 数据库基本概念 概述 数据…

openpyxl绘制图表

嘿,你是不是在处理Excel文件时感到束手无策?是不是想要一个简单而又强大的工具来处理数据分析和图表制作?别担心,我们有解决方案!让我向你介绍openpyxl,这是一个Python库,专门用于处理Excel文件…

使用MDT将系统升级为Win10

创建升级到Win10任务序列 右键选择Task Sequence ,然后选择NEW Task Sequence 填写ID name 默认配置 选择企业版 默认配置 填写组织 输入Administrator密码 点击下一步 等待完成 我们提前安装一台WIN7,并激活 选择打开 选择是 选择我们要创建好的升级win…

2.3 数据链路层03

2.3 数据链路层03 2.3.7 以太网交换机 1、以太网交换机的基本功能 以太网交换机是基于以太网传输数据的交换机,以太网交换机通常都有多个接口,每个接口都可以直接与一台主机或另一个以太网交换机相连,一般都工作在全双工方式。 以太网交换…

C程序技能:彩色输出

在终端上输出的字体总是单色,但在一些场景彩色输出更能满足需求,在Linux环境中,可以使用终端控制字符来设置输出字符的颜色,在部分版本的Windows系统中也可以使用。本文参考一些文献简要介绍一下在Windows下彩色输出的方法。 1. …

Rust-借用和生命周期

生命周期 一个变量的生命周期就是它从创建到销毁的整个过程。其实我们在前面已经注意到了这样的现象: 然而,如果一个变量永远只能有唯一一个入口可以访问的话,那就太难使用了。因此,所有权还可以借用。 借用 变量对其管理的内存…

从零开始:生产环境如何部署 Bytebase

Bytebase 是面向研发和 DBA 的数据库 DevOps 和 CI/CD 协同平台。目前 Bytebase 在全球类似开源项目中 GitHub Star 数排名第一且增长最快。 Bytebase 的架构 Bytebase 是一个单体架构 (monolith),前端是 Vue3 TypeScript,后端是 Go。前端利用 Go 1.6 …

MySQL面试题 | 09.精选MySQL面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

linux下485通信调试记录

1、使用linux下使用串口调试助手 linux下可以安装并使用下述串口调试工具进行串口测试: 1.1、cutecom cutecom是linux下常用的图形化串口调试软件,通过以下命令安装并打开: sudo apt-get install cutecom sudo cutecom显示如下&#xff1…