如何用matlab程序实现声卡的数据采集.doc

如何用matlab程序实现声卡的数据采集.doc

ID:53451124

大小:31.50 KB

页数:2页

时间:2020-04-03

如何用matlab程序实现声卡的数据采集.doc_第1页
如何用matlab程序实现声卡的数据采集.doc_第2页
资源描述:

《如何用matlab程序实现声卡的数据采集.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何用matlab实现声卡的数据采集functionxinhaoAI=analoginput('winsound');%2.Addchannels-AddonechanneltoAI.chan=addchannel(AI,1);%3.Configurepropertyvalues-Assignvaluestothebasicsetupproperties,and%createthevariablesblocksizeandFs,whichareusedforsubsequentanalysis.%Theactua

2、lsamplingrateisretrievedsinceitmaybesetbytheenginetoa%valuethatdiffersfromthespecifiedvalue.set(AI,'SampleRate',8000)                    %设置采样速率为8000HzActualRate=get(AI,'SampleRate');              %从AI中获取实际采样速率set(AI,'TriggerChannel',chan)                %设置触

3、发通道set(AI,'TriggerType','software');              %设置触发类型set(AI,'Triggercondition','rising');            %设置为电压上升至某值后触发set(AI,'TriggerConditionValue',0.013);          %设置触发电压值set(AI,'TriggerDelay',-1);                  %设置触发时延set(AI,'TriggerDelayUnits','secon

4、ds');          %设置触发时延的单位set(AI,'timeout',2)                        %定义超时值Fs=ActualRate;                          %设置采样速率cleardata1;start(AI)                              %开始采样try  [data1,time]=getdata(AI);                %将采样得到的数据保存到data1,采样时间保存到timecatchtim

5、e=0;data1=0;  disp('Atimeoutoccurred.');endsubplot(2,1,1)                          %绘制2行1列的第1张子图plot(time,data1)                          %以时间为横轴,数据为纵轴作图xlabel('Time(sec.)')                      %标注横坐标ylabel('SignalLevel(Volts)')                %标注纵坐标gridon  

6、                              %添加网格%对采集数据作滤波处理blocksize=length(data1);                    %计算窗函数长度window=hanning(blocksize);                  %计算汉明窗函数(此函数为MATLAB自带)data2=window.*data1;                      %对数据先作加窗处理[b,a]=ellip(4,0.1,20,3000*2/Fs);           

7、   %构造椭圆滤波器data=filter(b,a,data2);                    %求加窗处理后的数据经过滤波器的响应%当不需要AI时,将它从工作空间和内存中删除delete(AI)                              clearAI%对滤波处理后的数据作FFT频谱分析,并将结果在第二张子图上作图表示,加上横纵坐标和标题[f,mag]=daqdocfft(data1,Fs,blocksize);          %此函数为MATLAB自带  subplot(2,1

8、,2)plot(f,mag)gridonylabel('Magnitude(dB)')xlabel('Frequency(Hz)')title('FrequencyComponentsofIncomingSignal')%找到频谱幅度最大值,并在屏幕上显示xlim([01500])[ymax,maxindex]=max(mag);disp(['Maximumoccurre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。