01 ll l虚 £ 音频频谱分析 hnalyze of Imi tate Audi0 Spectrum 齐海东’姜文龙’王立忠’刘艳虹 Qi Haidong Jiang Wenlong Wang Lizhong Lill Yanhong 顿烦潜 分 析 136000) (1.吉林师范大学信息技术学院,四平136000;2.四平世英中学,四平(1.Col lege of Information Technology,Jilin Normal University,Si ping 1 36000; 2.Siping Shiying Middle School,Si pi ng 1 36000) 摘要:本文讨论的内容是如何使用MATLAB对模拟信号进行测量的问题。文中使用MATLAB数据采集工具箱来采集音频 信号,并且对所采集的音频信号进行频谱分析,最后将分析的结果显示在电脑窗口上 文章主要介绍了音频信号分析的步骤, 对音频信号进行分析的程序等。 关键词:MATLAB,数据采集:音频信号:频谱分析 中图分类号:TP391 文献标识码:A 文章编号:1671—4792一(2006)8—0087一O2 TL、B sjmulation of the measurement signals.using Abstract:This paper discusses how to use the contents of  ̄L,XTL B toolbox to collect audio signals,as well as collecting specti’al analysis of audio signals.the computer wil1 display the results on the window.Audio Signal Analysis of the mador steps.such as procedures fm’the analysis of audio signals is also metioned in the paper. Kevwords:. ̄tATL B;Data Acquisition;Audio Signal:Spectrum Ana1yze 0引言 频谱分析仪是一种用来对被测信号进行频率及频谱分析 的重要测量仪器,被广泛应用于电声测量、音频制作、信号 分析乃至振动测量等领域。它可把采集到的音频信号保存下 (2)为ai建立两个通道。 Addchannal(ai,1:2); (3)设置采样频率为44.1Mlz。 Set(ai.’SampleRate’.441O0) 来,从而,对已有的音频波形文件进行分析,但是这样的仪 器购买价格比较高,对一些教学单位造成了较大的经济负 担。本文所介绍的音频频谱分析方法在很大程度上克服了上 述矛盾。这种方法主要是利用M, ̄TLAB6.5的数据采集工具箱 和电脑中的声卡借助麦克风把模拟音频信号输入到电脑中,然后将输入信号在 ̄TLAB的工作平台上进行分析,把分析的结果——声音波形及其频谱显示在电脑的屏幕上。该系统所 用设备简单,使用方便,分析精度较高,具有较大的优越性。1 数据采集工具箱功能及频谱分析过程 数据采集工具箱是基于MATLAB科学计算工作平台的Ⅵ一 file函数和. ̄tEX—file动态链接库的集合。工具箱提供了以 ‘] {峰能: Set(ai,’SamplePerTrigger’.441O0) (4)启动模拟输入对象(这里指声卡),开始采集,当 所有数据已经被采集,对采集到的数据绘图。 Start(ai); Data=getdata(ai); Plot(data) (5)撤销声音输入对象ai。 Delete(ai) Clear(ai) 2频谱分析流程 频谱分析流程如图一所示。 一一 具有灵活的方案,通过使用p 一 。 p t 1。、p1 g—i 数据库硬件使数据符合 ̄TLAB的要求; ②支持模拟输入(AI)、模拟输出(.^o)和数字1/o(DIO) 子系统,也包括同时的模拟I/O转化; ④MATL B数据采集工具箱支持声卡。 信号波形的生成使用绘图函数就可以完成,而信号的频 谱可通过快速傅立叶变换得到。通过麦克风把模拟音频信号 输入电脑声卡来获取声音数据,大致步骤如下: (1)设声卡为模拟输入对象ai。 ai=analoginput(‘winsound’); l 壹 董 ±卜I!薹墨墨篁卜 壁璺卜 董 一 堑塾量I 图一频谱分析流程 3程序清单及分析结果 将麦克风插入电脑声卡麦克的输入插口,在 \TL、B的命 令窗口键入函数的使用方法,对着麦克风发声,按一下回车 键(发声与确定同时进行),信号的波形即出现在电啮的窗 口l:,用鼠标点击波形图上的点,直到满足你要求的个数; 随后,再按一下任意键,信号的频谱即出现在电脑窗口上, 如图二所示。用鼠标点击频谱图上的点,直到所要求的个数, 此时,相应的时间值、电压值、频率值和幅度值即出现在 77 维普资讯 http://www.cqvip.com
 ̄,IATL、B的命令窗口上,如表一所示。 音频频谱分析的程序清单如下: function[sec,vol,fre,mag]= 、dioStrem(duration plot(f,n丑g): grid on; ,rate); %AUD10 SPECTRUM AXALYSER 2004,4,1; %Usage:[sec,vol,fre,mag]=AdioStrem(duration, rate); %usi ng soundcard; %[f,mag]=daqdocfft(data,fs,blocksi ze); i f nabg i n<2%输入一个参数或不输入参数,程序认为 rate=8000,而输入的是duration; rate=8000; end; if nargin<1%无输人参数时,程序默认为duration=l/ 30; duration=1/30; end; . ai=analoginput(’winsound’); chan=addchannel(ai,【1 2】); set(ai,’1ogtodiskmode’,。overwrite’) set(ai,’loggingmode’,’disk ̄nemory’) set(ai,’triggertype’,’i彻edlate’) set(ai,’samplerate’,rate) actual rate=get(ai,’samplerate’); set(ai,’samp1espertrigger ,duralion‘rate)%For zoom in×axes.that plot later; fs=actualrate; dt=l/fs; start(ai); [data,time]=getdata(ai); blocksize=duration‘rate; 22050; [f,mag]=daqdocfft(data,fs,blocksize); figure; subplot(2,1,1); p1ot(time,data); grid on; title(。in ̄nediate trigger。); xlabel(’time(s)。); ylabel(。volts(v)。); 【sec,vol】=ginput(1O); pause; subplot(2,1,2); ho】d on: 图二某人的发声的声音波形图和它的频谱图 [fre,mag]=ginput(10); title(。frequency components of sound’); xlabel(。frequency(Hz)。); ylabel(。magnirude(db)。); delete(ai); C】ear a{: 根据香侬定理,44.1 KH z的采样频率能够完整地复现 20KHz的音频。对于不同的音频频段,采样频率可由用户自 定义,但不能低于8Kltz。 在 ̄,IATLAB窗口下,键入[sec,vo1,fre,mag】= AdioStrem,即可分析4KHz以下的音频频率。如果分析4KHz 以上的音频频率,则要给出函数的输入参数duration的值。 如果dural i on的数值很小,比如l/lO0,8KHz以下的波形能 够看得清楚。对于rate的值,即采样频率,可设为44100Hz。 当按下回车键后,触发的波形即出现在桌面上,随着光标带 的移动来选择你喜欢的符合程序要求的数目的几个点,点击 鼠标左键直到光标不存在,然后再按一下任意键,频谱图随 即出现在波形图的下面,以同样的方法来移动光标确定你想 要的几个点,点击鼠标左键直到光标不存在为止,此时返回 到MATLAB命令窗口,即可看到波形图和频谱图所对应的测量 值,如表一所示。 表一电脑对声音波形分析后显示的数据 Sec S vol(V) fre(KHz1 mag(dB1 0_00I7 0.1472 0.0864 7.724l 0.0026 0.2472 0.3l68 5.5l72 0.0046 0.I 583 0.6048 23.7241 0 0057 0 2472 0.9505 25.93l0 0.0077 0.I694 I.3537 24.8276 0.0086 0.2639 1.9873 l2.6897 0.0Il0 0.1472 2.2753 l2.6897 0 0Il8 0.236l 2.5058 6.6207 0.0I 38 O.1472 3.0242 0 55l7 0.0l48 0.2472 3.8882 I l034 现输入命令【sec,vol,fre,mag】=AdioStrem(1/3o, 44100),分析结果如一F: >>[sec,vol,fre,mag]=AdioStrem(1/30,44100) 4结束语 由波形图、频谱图和给出的数据得知,此人发出的声音 能量最高频率的周期约为T:(o.0148-0.0017)/9 0.O015s, 其对应的频率约为F=I/T 666Hz。在频谱图上,点出316. 8Hz处所对应的幅度为近5.5172db。由此可见, ̄TLAB是一 种能够对线性系统进行分析和仿真的方便而快捷的工具。 参考文献 [1]周金萍,王冉,吴斌.MATLAB6实践与提高【\.I].北京: 中国电力出版社,2002. [2J车晴.电子系统仿真与 ̄,IATLAB【\1].北京:北京广播学 院出版社,2000. [3]伍湘涛.音乐知识与名曲赏析 .北京:航空工业出 版社.1993. 作者简介 齐海东(1978一),男,吉林通榆人,讲师,主要从事 无线电物理方面的教学与研究工作。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务