基于MATLAB的虚拟音频信号分析

发表时间:2020/8/12   来源:《电力设备》2020年第10期   作者:陈正文
[导读] 摘要:本文介绍了一种通过计算机声卡采集音频信号再利用基于MATLAB编写的软件进行虚拟音频信号分析的方法,与传统的设计方案相比,该方法可以在保持较高系统性能的同时,大幅度降低成本、缩短开发周期。
        (中车株洲所电气技术与材料工程研究院  湖南株洲  412001)
        摘要:本文介绍了一种通过计算机声卡采集音频信号再利用基于MATLAB编写的软件进行虚拟音频信号分析的方法,与传统的设计方案相比,该方法可以在保持较高系统性能的同时,大幅度降低成本、缩短开发周期。本文给出了虚拟音频信号分析仪的系统框图,设计过程。通过测试结果,证明本虚拟分析仪达到了预期的设计要求。
        关键词:虚拟;音频信号分析;MATLAB
        1.引言
        对于音频信号的测量一般包括频率、电压、信噪比、谐波失真等基本参数,大部分音频信号的参数可以通过这几个基本参数组合而成。音频信号的分析包括两个方面:一是时域分析,即以时间为自变量,研究音频信号的时域波形;二是频域分析,即以频率为自变量,在频域内对信号频谱进行分析,其基本方法是利用傅立叶变换将采集到的信号分解成一系列不同频率的正弦分量的叠加。
        基于计算机软硬件平台的虚拟仪器可代替传统的测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,由于计算机性能的飞速发展,已把传统仪器远远抛到后面,并给虚拟仪器生产厂家不断带来迅速的技术更新速率。MATLAB是一个数据分析和处理功能十分强大的工程实用软件,他的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令。
        因此,基于MATLAB的虚拟音频信号分析仪相较于传统仪器有操作简单、成本低廉、使用方便等特点。
        2.系统总体设计
        系统由基于MATLAB的软件和电脑声卡组成。
        其中系统详细框图如图2-1所示。
       
        图2-1 虚拟音频分析仪系统框图
        硬件部分:
        通过麦克风利用电脑的声卡采集信号。声卡(Sound Card)也叫音频卡(港台称之为声效卡):声卡是多媒体技术中最基本的组成部分,是实现声波/数字信号相互转换的一种硬件。声卡从话筒中获取声音模拟信号,通过模数转换器(ADC),将声波振幅信号采样转换成一串数字信号,存储到计算机中。声卡属于一种特殊的数据采集卡,虽然性能不如专业的数据采集卡,但在音频范围内基本可以实现数据采集卡的功能,并且价格低廉,实用性好。利用声卡开发的虚拟音频分析仪只需一台电脑就能完成音频信号的测量和分析。
        软件部分:
        使用MATLAB完成软件的开发。MATLAB是MathWorks公司推出的一种面向工程和科学运算的交互式计算软件,它提供了强大的矩阵运算和图形处理功能,编程效率高,几乎在所有的工程计算领域都提供了准确、高效的工具箱。
        2.1硬件结构
        通过麦克风利用电脑的声卡采集信号。麦克风的功能是将声音转换成电信号。对于一个理想的麦克风(或接近理想的麦克风),从麦克风出来的电信号的波形与进入麦克风的声信号的波形是一样的。
        声卡作为语音信号与计算机的通用接口,其主要功能就是实现模拟信号和数字信号之间的转换,其工作原理如图2-2所示。输入时,语音信号从线路输入(Line In)或麦克风输入(Mic In)进入A/D 转换器,从而将语音信号转化为数字信号,然后送到计算机进行处理;以声卡作为数据采集工具的虚拟音频信号分析系统,主要完成对已进行A/D转换后的数字信号进行分析和处理工作。
       
        图2-2 声卡硬件结构图
        2.2软件设计
        (1)用户界面的框架设计
        根据设计的要求,系统需要完成人机交互功能,因此选用了GUI来完成软件设计。GUI即人机交互图形化用户界面设计,指的是计算机或计算机程序的接触点或交互方式是用户与计算机进行信息交流的方式。
        系统的要求是利用计算机的声卡采集音频信号然后对其进行时域分析和频域分析。对于输入的信号,采样频率为5120Hz,采样点数设置成1024,并且能显示输入波形,这需要控件板、本文框和坐标系来实现;输入方式应分为声卡输入和信号发生器输入,其中声卡输入应当包括录音时间以及开始按钮,信号发生器输入包括波形方式、频率、幅值、相位和产生按钮,这些功能的实现依靠按钮组、按钮、文本框、弹出菜单控件来完成;信号分析时需要选取采样点,可用户自行设置或者分析所有采样点,需要应用到控件板、文本框和复选框;分析方面分为时域分析及频域分析,时域分析是对信号的频率、周期、峰值、幅值相位等以时间为自变量的参数进行研究,而频域分析是以频率为自变量,对信号频谱进行分析,分析功能与分析结果的显示依靠按钮、文本框与坐标系来实现。最后得到的用户应用界面如图2-3所示。
       
        图2-3 根据要求设计的GUI模板
        (2)回调程序的编写
        完成参数设置后,点击工具栏最右边的绿色按钮即可运行当前的GUI窗口同时生成M文件。但是界面编辑器独立生成的M代码只是其骨架,为了实现必要的功能,必须根据需要填写相应的代码以完成程序中变量的赋值、输入输出、计算和绘图等功能。
        在本系统中,各类按钮、按钮组、复选框和滚动条都需要填写其回调函数。“开始录音”按钮需要完成读取麦克风录音信号和绘制信号波形图的功能,“产生波形”按钮需要根据设置的值和波形方式生成相应的信号,“时域分析”按钮所实现的功能是对采集到的信号进行计算从而得出数值,“频域分析”按钮应该进行傅立叶变换计算其周期频率并绘制频谱曲线,按钮组应该实现切换按钮各控件的使能变化。软件流程图如图2-4所示。
        信号通过耳机插头传输到声卡中,此时声卡接口程序就成了关键。通过声卡接口程序,系统软件能够获取到声卡所接收到的信号,从而完成对信号的分析处理。MATLAB函数库中所提供的wavrecord函数能够控制声卡实现录音的功能。因此声卡接口程序只需通过wavrecord函数进行录音并将所获信号保存使得其在别的函数中也能使用即可。
       
        图2-4 软件流程图
        3.测试验证
        为了验证整个系统的功能,使用EE1643C型信号发生器产生一个频率为500Hz幅值为0.5V的标准正弦波,将其两个夹子分别接在耳机插头的两根线上,再将耳机插头插入到电脑声卡插孔中。运行所编软件程序,选择声卡按钮,录音时间设置成5S,点击“开始录音”按钮。等待5S后得到所采集的波形,分别点击时域分析和频域分析,最后的界面显示如图3-1所示。
       
        图4-1 声卡采集正弦波信号的分析
        4.结束语
        时域分析所得参数与标准信号的参数大致相同,同时频域分析的频谱特性曲线与理论情况基本相符,因此本软件系统的分析功能符合要求。
        利用声卡和Matlab的虚拟音频信号分析十分方便,硬件上仅需一块声卡,无需添加其他设备。在需要对音频信号进行采集分析时,可以快速简洁完成相关分析处理,在实际应用中具有一定的应用前景。
        参考文献:
        [1] 吕紫薇,马昕洋,李豇安,李铎,教召航.基于MATLAB的音频信号的分析与处理.河北农机,2019.4
        [2] 尹学爱,马国利,冯伟伟.基于MATLAB的声音信号频谱分析仪.教育教学论坛,2018.01
        [3] 常春,倪铭.基于MATLAB和声卡的虚拟仪器技术.自动化与仪器仪表,2005.
         
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: