基于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.mfbz.cn/a/329427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

五、基础篇 vue列表渲染

在v-for里使用对象用 v-for 把一个数组对应为一组元素 我们可以用 v-for 指令基于一个数组来渲染一个列表。v-for 指令需要使用 item in list形式的特殊语法&#xff0c;其中 list是源数据数组&#xff0c;而 item 则是被迭代的数组元素的别名。 <template><div clas…

C++大学教程(第九版)5.15修改GradeBook

目录 题目 代码 运行命令&#xff08;在控制台输入&#xff09; 运行截图 题目 &#xff08;修改GradeBook&#xff09;修改图5.9~图5.11所示的 GradeBook 程序&#xff0c;使它计算一组成绩的平均成绩。 成绩A为4分&#xff0c;成绩B为3分&#xff0c;依次类推。 A:4 B:3…

【数据库】聊聊数据库中的 fetchsize 参数

聊聊数据库中的 fetchsize 参数 1.介绍2.案例3.MySQL 中的 fetchsize4.Oracle 中的 fetchsize 1.介绍 在使用查询语句的时候&#xff0c;经常需要根据条件来进行查询得到最终的总记录条数&#xff0c;然后得到结果之后需要来进行处理。 场景&#xff1a;Java 端从数据库读取 …

【数据库】聊聊MVCC机制与BufferPool缓存机制

上一篇文章&#xff0c;介绍了隔离级别&#xff0c;MySQL默认是使用可重复读&#xff0c;但是在可重复读的级别下&#xff0c;可能会出现幻读&#xff0c;也就是读取到另一个session添加的数据&#xff0c;那么除了配合使用间隙锁的方式&#xff0c;还使用了MVCC机制解决&#…

Vue3响应式系统(二)

Vue3响应式系统(一)https://blog.csdn.net/qq_55806761/article/details/135587077 六、嵌套的effect与effect栈。 什么场景会用到effect嵌套呢&#xff1f;听我娓娓道来。 就用Vue.js来说吧&#xff0c;Vue.js的渲染函数就是在effect中执行的&#xff1a; /*Foo组件*/ const…

香港服务器托管:你对服务器托管了解多少?

在当今数字化的时代&#xff0c;服务器托管已成为企业和网站运营的关键一环。对于许多企业来说&#xff0c;如何选择一个安全、稳定、高效的服务器托管方案&#xff0c;成为了确保业务连续性和数据安全的重要课题。那么&#xff0c;究竟什么是服务器托管&#xff0c;它又有哪些…

SpringBoot多环境配置与添加logback日志

1、多环境配置 一个项目会有多个运行环境 所以SpringBoot提供了可以适应多个环境的配置文件 每个文件对应一个端口号 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application中选择使用哪个…

Qt6入门教程 8:信号和槽机制(连接方式)

目录 一.一个信号与槽连接的例子 二.第五个参数 1.Qt::AutoConnection 2.Qt::DirectConnection 3.Qt::QueuedConnection 4.Qt::BlockingQueuedConnection 5.Qt::UniqueConnection 三.信号 四.connect函数原型 五.信号与槽的多种用法 六.槽的属性 一.一个信号与槽连接…

MetaGPT入门(一)

本文在Win11操作系统下进行&#xff0c;工具pycharm 一、环境准备 1.建议使用conda虚拟环境 安装anaconda参考&#xff1a;Windows10下Anaconda的安装_windows anaconda 路径-CSDN博客 打开Anaconda Powershell Prompt命令窗口&#xff0c;输入下面命令&#xff0c;创建3.1…

MyBatisPlus学习笔记三-核心功能

接上篇&#xff1a; MyBatisPlus学习笔记二-CSDN博客 1、核心功能-IService开发基础业务接口 1.1、介绍 1.2、引用依赖 1.3、配置文件 1.4、用例-新增 1.5、用例-删除 1.6、用例-根据id查询 1.7、用例-根据ids查询 2、核心功能-IService开发复杂业务接口 2.1、实例-更新 3、…

Spring高手之路-Spring在业务中常见的使用方式

目录 通过IOC实现策略模式 通过AOP实现拦截增强 1.参数检验 2.缓存逻辑 3.日志记录 通过Event异步解耦 通过Spring管理事务 1.声明式事务 2.编程式事务 3.需要注意的问题 不能在事务中处理分布式缓存 不能在事务中执行 RPC 操作 不过度使用声明式事务 通过IOC实现…

软件工程应用题汇总

绘制数据流图(L0/L1/L2) DFD/L0&#xff08;基本系统模型&#xff09; 只包含源点终点和一个处理(XXX系统) DFD/L1&#xff08;功能级数据流图&#xff09;在L0基础上进一步划分处理(XXX系统) 个人理解 DFD/L2&#xff08;在L1基础上进一步分解后的数据流图&#xff09; 数据…

蓝桥杯备赛 day 3 —— 高精度(C/C++,零基础,配图)

目录 &#x1f308;前言&#xff1a; &#x1f4c1; 高精度的概念 &#x1f4c1; 高精度加法和其模板 &#x1f4c1; 高精度减法和其模板 &#x1f4c1; 高精度乘法和其模板 &#x1f4c1; 高精度除法和其模板 &#x1f4c1; 总结 &#x1f308;前言&#xff1a; 这篇文…

C#中对浮点数NaN,PositiveInfinity,NegativeInfinity的特殊处理

NAN NAN 整体意思为Not a Number 不是一个数&#xff0c; NaN&#xff08;Not a Number&#xff0c;非数&#xff09;是计算机科学中数值数据类型的一类值&#xff0c;表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。 EEE 75…

Linux Mii management/mdio子系统分析之六 fixed-mii_bus分析(mac2mac分析)

&#xff08;转载&#xff09;原文链接&#xff1a;[https://blog.csdn.net/u014044624/article/details/130674908] (https://blog.csdn.net/u014044624/article/details/130674908) 前面几章我们介绍了MDIO模块的大部分内容&#xff0c;针对mii_bus、mdio_bus、phy_device、p…

学习鸿蒙先解决这几个是关键问题~

HarmonyOS 是最近最火的操作系统&#xff0c;HarmonyOS 宣布删除 Android 代码之后&#xff0c;正式向世界上第三大操作系统有迈进了一步&#xff0c;HarmonyOS 前期为了完成从 Android 到 HarmonyOS 的过渡&#xff0c;在设计之初 HarmonyOS 采用了双框架架构设计。 从图中可以…

【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值

【栈】【字符串和int类型转化】Leetcode 150 逆波兰表达式求值 解法1 栈 ---------------&#x1f388;&#x1f388;题目链接 Leetcode 150 逆波兰表达式求值 &#x1f388;&#x1f388;------------------- 解法1 栈 字符串转化为int类型数据: Integer.parseInt(s) Long.p…

SpringBoot教程(十五) | SpringBoot集成RabbitMq

SpringBoot教程(十五) | SpringBoot集成RabbitMq RabbitMq是我们在开发过程中经常会使用的一种消息队列。今天我们来研究研究rabbitMq的使用。 rabbitMq的官网&#xff1a; rabbitmq.com/ rabbitMq的安装这里先略过&#xff0c;因为我尝试了几次都失败了&#xff0c;后面等我…

FPGA时序分析与时序约束(四)——时序例外约束

目录 一、时序例外约束 1.1 为什么需要时序例外约束 1.2 时序例外约束分类 二、多周期约束 2.1 多周期约束语法 2.2 同频同相时钟的多周期约束 2.3 同频异相时钟的多周期约束 2.4 慢时钟域到快时钟域的多周期约束 2.5 快时钟域到慢时钟域的多周期约束 三、虚假路径约…

网站SEO优化方案

1&#xff0c;去各类搜索引擎里面&#xff0c;注册你的站点 解决方案&#xff1a;注册地址&#xff1a;https://seo.chinaz.com/chinaz.com 2&#xff0c;网站地址使用 https 会增加搜索排名 解决方案&#xff1a;https:www.xxx.com 3&#xff0c;官网每个页面的 meta 里面&a…