logo资料库

基于matlab语音信号采集与分析.docx

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
《数字信号处理》课程设计 题目:基于 MATLAB 的语音信号采集与基本处理 学 院:电子与信息工程 班 级: 电信 3 班 姓 名: 学 号: 201407014320 教 师: 成 绩:__________________ 冯地耘 张伟 2016 年 12 月 26 日
基于 MATLAB 的语音信号采集与基本处理 一、设计目的 1.1 本次实验的目的是运用数字信号这门学科的基本原理,在 MATLAB 环境 下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号采 集与运行行。我的作品是通过电脑自带的录音机录制一段语音,然后把这段音频 文件转换成 wav 格式,在 MATLAB 软件上编写一个语音信号处理程序,对语音信 号进行加噪去噪等处理,完成对语音信号时域和频域的分析和仿真,达到简单语 音信号处理的目的。 1.2 让我们熟悉 MATLAB 的使用,掌握 MATLAB 中各种语音处理命令;掌握 在 Windows 环境下语音信号录制方法;掌握数字信号处理的基本概念、基本理论 和基本方法;利用 MATLAB 设计 IIR 数字滤波器;学会用 MATLAB 对信号进行分析 和处理。 二、设计任务 2.1 语音信号的录入及转换 2.2 在 MATLAB 读入并且回放语音信号 2.3 绘制语音的频谱图和波形图 2.4 在语音信号中加入噪声并比较频谱图 2.5 设计一个滤波器去噪 2.6 比较加噪前后噪声对语音影响,通过频谱及波形反映 三、设计原理 3.1 语音信号的采集原理 因为在 MATLAB 中,[y,fs,bits]=wavread(‘蜀道难’,[N1 N2]);用于读取 语音信号,采样值放在向量 y 中,fs 表示采用频率(Hz),nbits 表示采样位数, [N1 N2]表示读取的值从 N1 点到 N2 点的值。 sound(y,fs,bits);用于声音的回放。向量 y 则代表了一个信号,也即一个 复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信 号。在本次设计中,利用 fft 对语音信号进行快速傅里叶变换,就可以得到信号 的频谱特性。
3.2 加噪原理 利用 MATLAB 中的随机函数(rand 或 randn)产生噪声加入到语音信号中,模 仿语音信号被污染,并对其频谱分析。Randn 函数有两种基本调用格式:Randn(n) 和 Randn(m,n),前者产生 n×n 服从标准高斯分布的随机数矩阵,后者产生 m ×n 的随机数矩阵。 我在本次代码中加入的是 Noise=a*rand(N,2),就是产生一个 2xN 的矩阵, 前面的 a 表示加入的随机噪声的强度。我通过改变 a 的数值发现,a 的值越大, 噪声对声音信号的影响越明显,反之影响较小,这些都是通过波形图和频谱图反 映出来的。我觉得这是个有趣的代码,并且对声音信号的认识又加深了一步。我 加入的是 Noise=0.01*rand(N,2)噪声,因为这样的的噪声我才能看到频谱的的 波形。 然后将设计好的噪声加入的原来的声音信号中,通过查阅资料我发现是频率 相加。通过 MATLAB 运行加入了噪声的代码及声音,声音信号就会出现噪声。 3.3 去噪原理 在进行模拟/数字信号的转换过程中,当采样频率 fs.max 大于信号中,最高 频率 fmax 的 2 倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了 原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的 5~10 倍; 采样定理又称奈奎斯特定理。 1924 年奈奎斯特(Nyquist)就推导出在理想低通信 道 的 最 高 大 码 元 传 输 速 率 的 公 式: 理 想 低 通 信 道 的 最 高 大 码 元 传 输 速 率 =2W*log2 N (其中 W 是理想低通信道的带宽,N 是电平强度)为什么把采样频率设 为 8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的 2 倍 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组 成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或 者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒 钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的 质量标准。 采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没 有规则限制。 采样频率的常用的表示符号是 fs。 通俗的讲采样频率是指计
算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、 声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时 间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样 频率与声音频率之间有一定的关系,根据采样定理,只有采样频率高于声音 信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。 这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。采样 位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接 口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音 频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了 6dB。 采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似 于一个照相机,44.1kHz 意味着音频流进入计算机时计算机每秒会对其拍照 达 441000 次。显然采样率越高,计算机摄取的图片越多,对于原始音频的 还原也越加精确. 3.4 滤波器原理 我采用 IIR 滤波器用于对加噪的语音信号进行滤波,对于 IIR 滤波器,它的 极点可以在单位圆内的任何位置,实现 IIR 滤波器的阶次可以较低,所用的存储 单元较少,效率高,又由于 IIR 数字滤波器能够保留一些模拟滤波器的优良特性, 因此得到广泛应用。 在 IIR 数字滤波器的设计过程中,通常将数字滤波器的设计指标转化为模拟 低通滤波器的设计指标,然后设计满足这些指标的模拟低通滤波器的系统函数, 再将它变成所需要的数字滤波器系统函数。此方法具有如下优点:模拟逼近技术 非常成熟、通常能产生闭式解、模拟滤波器有大量的图标可查,因此充分利用这 些已有的资源将会给数字滤波器设计带来很大的方便。一般,当着眼于滤波器的 时域瞬态响应时,采用脉冲不变法较好,而其它情况下,对于 IIR 数字滤波器设 计,大多采用双线性变换法。 正是基于 IIR 滤波的诸多特性,所以我选择这种滤波器,但是由于我的基础 不够扎实,很多原理不是很清楚,需要自己下来好好理解。 四、设计过程 4.1 语音信号录入
通过电脑自带录音机录制一段 20s 左右的语音(我自己录的是《蜀道难》), 但是由于电脑录制的的格式为(蜀道难.wma),而 MATLAB 是不能识别这个格式的 音频文件,所以需要将音频文件改成 MATLAB 能够识别的 wav 格式,因此我使用 了(格式工厂)这个软件制作了(蜀道难.wav)这个音频文件。 4.2 语音信号的原始信号和频谱分析图 通过 MATLAB 读取我的音频文件,得到了我所需要的语音信号的原 始信号波形图和频谱图,并且发现语音信号是一个起伏的对称的波形。 程序在附录 1 4.3 语音信号加噪前后波形的比较 通过加入 Noise=0.01*rand(N,2)的噪声,来观察噪声对语音信号的影响,通 过波形图来更加直观的反映。
通过波形很容易看出,加了噪声之后的波形明显变粗了,可以知道噪声对声音信 号产生了较大的影响,因此可以理解噪声在生活中对声音的干扰。代码在附录 2
4.4 用双线性法设计 IIR 低通滤波器 我用到的是 cheeby1 函数。函数 butter,cheby1 和 ellip 设计 IIR 滤波器时 都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可 可以观察该滤波器的功能是比较强大的,滤波的幅度也是比较大的 程序在附录 3 4.5 滤波前后波形图的比较 在 Matlab 中,IIR 滤波器利用函数 filter 对信号进行滤波。函数 filter 的调 用格式:x3=filter(num11,den11,x1),它是按照直线型结构实现对 x1 的滤波。 其中 x1 是输入信号向量,x3 输出信号向量。设计一个 IIR 低通滤波器对加噪语 音信号进行滤波处理。
分享到:
收藏