基于matlab的语音信号录制采集和窗函数法滤波器设计(编辑修改稿)内容摘要:

始 /程序 /附件 /娱乐 /录音机(如图 )。 图 windows media player 播放一首音乐并用 MIC 对着耳机录音或自已说话录音(按 键),到 10 秒时停止(按 键)(如图 ); 图 D:/MATLAB7/work 中,文件名为 (如图 、图); 4 图 语音信号的时域分析 在 MATLAB软件平台下, 利用 MATLAB中的 “ wavread” 命令来读入(采集)语音信号,将它赋值给某一向量。 再对其进行采样,记住采样频率和采样 点数。 通过使用wavread函数,可以深入理解采样频率、采样位数等概念, 下面介绍 Wavread 函数几种调用格式。 ( 1) y=wavread( file);读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。 ( 2) [y,fs,nbits]=wavread(file) ;采样值放在向量 y中, fs表示采样频率( hz),nbits 表示采样位数。 ( 3) y=wavread( file, N);读取钱 N点的采样值放在向量 y中。 ( 4) y=wavread( file, [N1,N2]);读取从 N1 到 N2点的采样值放在向量 y中。 接下来,对语音信号 进行采样。 其采样程序如下: [y,fs,nbits]=wavered (‘ E:\sheji\shijiebei’ )。 即把语音信号加载入 Matlab 仿真软件平台中。 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。 MATLAB 提供了快速傅里叶变换算法 FFT 计算 DFT 的函数 fft,其调用格式如下: Xk=fft(xn,N) 参数 xn 为被变换的时域序列向量, N是 DFT 变换区间长度,当 N 大于 xn的长度时,fft 函数自动在 xn后面补零。 ,当 N小于 xn 的长度时, fft 函数计算 xn的前 N个元素, 5 忽略其后面的元素。 在本次设计中,我们利用 fft 对语音信号进行快速傅里叶变换,就可以 得 到信号的频谱特性。 其程序如下: [y,fs,nbits]=wavread (39。 shijiebei39。 )。 sound(y,fs,nbits)。 %回放语音信号 N= length (y)。 %求出语音信号的长度 Y=fft(y,N)。 %傅里叶变换 subplot(2,1,1)。 plot(y)。 title(39。 原始信号波形 39。 )。 subplot(2,1,2)。 plot(abs(Y))。 title(39。 原始信号频谱 39。 ) 程序运行结果如下图: 图 原始信号波形及频谱 6 语音信号加噪和频谱分析 MATLAB 中产生高斯白噪声非常方便, 有两个 产生高斯白噪声的两个函数。 我们 可以直接应用两个函数 : 一个是 WGN, 另一个是 AWGN。 WGN用于产生高斯白噪声, AWGN则用于在某一信号中加入高斯白噪声。 也可直接用 randn 函数产生高斯分布序列。 在本次课程设计中,我们是利用 MATLAB 中的随机函数 (rand 或 randn)产生噪声加入到语音信号中,模仿语音信号 被污染,并对其频谱分析。 Randn 函数有两种基本调。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。