基于PC声卡的定音系统研究
[关键词:PC声卡,定音系统] [热度 ]提示:此毕业设计论文完整版包含【论文】 作品编号:jskx0092,word全文:27页,合计:6800字 |
打开音频文件
本软件中的输入模块即“打开音频文件”按钮的回调函数,MATLAB提供了wavread函数,该函数能够方便的打开并读取WAV文件中的声音信息,并且同时读取所有声道,下面是“打开音频文件”按钮回调函数的代码:
%通过对话框函数uigetfile选择文件,并读取其文件名、路径信息
[filename,filepath]=uigetfile('.wav','打开文件');
%从WAV文件中读出信号,采样率和采样位数。
[handles.Sound,handles.fs,handles.n]=wavread([filepath,filename]);
%存储数据
guidata(hObject,handles);
3.3.2 播放
MATLAB提供了wavplay函数,该函数能够方便的播放指定的WAV文件,下面是“播放”按钮回调函数的代码:
%音频回放
wavplay(handles.Sound,handles.fs);
频域分析
这部分是本软件的核心。由于MATLAB的绘图功能很强大,所以图形显示模块不用单独开发,可直接调用plot、axis等函数实现图形显示功能,故图形显示也将在频域分析模块中给出。频域分析需要作傅里叶变换,MATLAB提供了fft函数,能够方便地实现快速傅里叶变换算法。
MATLAB中快速傅里叶变换的函数用法[8]:
如果是向量,则采用快速傅里叶变换算法作的离散傅里叶变换;如果是矩阵,则计算矩阵每一列的傅里叶变换;如果是.......
......
从图中可以看出,频域分析的结果为f=1570.4Hz,而标准频率为1567.98Hz,误差为0.15%。
从造成误差的原因来看,频率估计是通过找出幅值谱峰值点对应的频率求出,故不会像时域分析那样有“误判”和“漏判”的问题,但频率离散化的误差及栅栏效应却是不可避免地带来误差,仅频率离散化的误差就大于Fs/2。不过作为大致上的判断,0.15%的误差在接受范围之内。
.....
本文给出了基于PC声卡的定音系统的设计原理与实现方法,在原理部分,从频域方面提供了信号分析所需要的算法流程及计算公式,在原理的最后还结合软件工程理论给出了软件的模块划分,这样在基于此设计原理的基础上可以用任何平台任何语言进行软件开发。在实现方法上,结合软件的界面和具体的代码讲述了整个软件编码实现的原理。最后结合一个运行实例,分析了误差以及造成误差的原因。
提示:此毕业设计论文完整版包含【论文】 作品编号:jskx0092,word全文:27页,合计:6800字 |
本信息与计算科学毕业设计论文作品由 毕业论文设计参考 [http://www.qflunwen.com] 征集整理——基于PC声卡的定音系统研究(论文)!
-
没有关键字相关信息!