基于matlab的语音信号的仿真与分析内容摘要:

卡在采集和播放声音文件时所使用数字声音信号的二进制位数。 采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。 采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。 采样位数越多则捕捉到的信号越精确。 对于采样率来说你可以想象它类似于一个照相机, 意味着音频流进入计 算机时计算机每秒会对其拍照达 441000 次。 显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。 根据语音信号的采样依据,可以选择 Wondows 自带的录音机进行声音采集。 采集过程如图 31所示: 图 31 语音信号采集过程 在 MATLAB 中, [y,fs,bits]=wavread(39。 Blip39。 ,[N1 N2])。 用于读取语音,采样值放在向量 y中 , fs 表示采样频率 (Hz), bits 表示采样位数。 [N1 N2]表示读取从 N1 点到 N2 点的值(若只有一个 N的点则表示读 取前 N点的采样值)。 sound(x,fs,bits)。 用于对声音的回放。 向量 y 则就代表了一个信号 ,也就是说可以像处理一个信号表达式一样处理这个声音信号。 在静态仿真界面中的语音信号录入打开方式如图 32所示: 湖北师范学院 2020届教育信息与技术学院学士学位论文(设计) 6 图 32 语音信号的录入与打开 FFT分析 FFT 即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。 在 MATLAB 的信号处理工具箱中函数 FFT 和 IFFT 用于快速傅立叶变换和逆变换。 函数 FFT 用于序列快 速傅立叶变换,其调用格式为 y=fft(x),其中, x 是序列, y 是序列的 FFT, x 可以为一向量或矩阵,若 x 为一向量,y 是 x 的 FFT 且和 x 相同长度;若 x 为一矩阵,则 y 是对矩阵的每一列向量进行 FFT。 如果 x 长度是 2 的幂次方,函数 fft 执行高速基- 2FFT 算法,否则 fft 执行一种混合基的离散傅立叶变换算法,计算速度较慢。 函数 FFT 的另一种调用格式为 y=fft(x,N),式中, x, y 意义同前, N 为正整数。 函数执行 N 点的 FFT,若 x 为向量且长度小于 N,则函数将 x 补零至长度 N;若向量 x 的长度大于 N,则函数截短 x 使之长度为 N;若 x 为矩阵,按相同方法对 x 进行处理。 经函数 FFT 求得的序列 y 一般是复序列,通常要求其幅值和相位。 MATLAB 提供求复数的幅值和相位函数: abs, angle,这些函数一般和 FFT同时使用。 湖北师范学院 2020届教育信息与技术学院学士学位论文(设计) 7 数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。 在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。 数字滤波器的作用是利用离散时间系统的特性对输入信号波形 (或 频谱 )进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。 FIR( Finite Impulse response)有限冲击响应, IIR( Infinite Impulse response)无限冲击响应。 从性能上来说, IIR 滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。 但是这个高效率是以相位的非线性为代价的。 选择性越好,则相位非线性越严重。 相反, FIR 滤波器却可以得到严格的线性相位,然而由于 FIR 滤波器传输函数的极点固定在原点,所 以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标, FIR 滤波器所要求的阶数可以比 IIR 滤波器高 5~ 10 倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则 IIR 滤波器就必须加全通网络进行相位 校 正,同样要大增加滤波器的节数和复杂性。 整体来看, IIR 滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位; FIR 滤波器没有稳定性问题,线性相位,但阶数多,延迟大。 其中 不论是 IIR 滤波器还是 FIR 滤波器的设计都包括三个步骤: (1) 按照实际任务的要求,确定滤波器的性能 指标。 (2) 用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。 根据不同的要求可以用 IIR 系统函数,也可以用 FIR 系统函数去逼近。 (3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。 本文设计了四大简单滤波器。 分别是 N阶高通滤波器, N 阶低通滤波器,2N 阶带通滤波器, 2N阶带阻滤波器。 湖北师范学院 2020届教育信息与技术学院学士学位论文(设计) 8 4. 建立用户图形界面进行语音信号的静态处理分析 图形用户界面或图形用户接口 (Graphical User Interface, GUI)是指采用图形方式显示的计算机操作环 境用户接口。 与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。 GUIDE 是 Matlab 提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。 图形用户界面 的 设计 (1) GUI 设计模板 在 MATLAB 主窗口中,选择 File 菜单中的 New 菜单项,再选择其中的GUI 命令,就会显示图形用户界面的设计模板。 MATLAB 为 GUI 设计一共准备了 4 种模板,分别是 Blank GUI(默认 ) 、GUI with Uicontrols(带控件对象的 GUI 模板 ) 、 GUI with Axes and Menu(带坐标轴与菜单的 GUI 模板 )与 Modal Question Dialog(带模式问话对话框的GUI 模板 )。 当用户选择不同的模板时,在 GUI 设计模板界面的右边就会显示出与该模板对应的 GUI 图形。 (2)GUI 设计窗口 在 GUI 设计模板中选中一个模板,然后单击 OK 按钮,就会显示 GUI设计窗口。 选择不同的 GUI 设计模式时,在 GUI 设计窗口中显示的结果是不一样的。 GUI 设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。 GUI 设计窗口的菜单栏有 File、 Edit、 View、 Layout、 Tools 和 Help 6 个菜单项,使用其中的命令可以完成图形用户界面的设计操作。 (3)GUI 设计窗口的基本操作 在 GUI 设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。 例如,创建一个 Push Button 对象,并设计该对象的属性值。 湖北师范学院 2020届教育信息与技术学院学士学位论文(设计) 9 图形用户界面模块调试 (1)语音信号的读入与打开 下面的一段程序是语音信号在 MATLAB 中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。 [x,fs,bits] =wavread(39。 D:\Backup\我的文档 \My Files\39。 ,[1024 5120])。 sound(x,fs,bits)。 X=fft(x,4096)。 magX=abs(X)。 %绘制 X 的幅度谱 angX=angle(X)。 %绘制 X 的相位谱 subplot(221)。 plot(x)。 title(39。 原始信号波形 39。 )。 ylabel(39。 amplitude39。 )。 xlabel(39。 time(ms)39。 )。 subplot(222)。 plot(abs(x))。 axis([0,6144,0,1])。 title(39。 原始信号频谱 39。 )。 ylabel(39。 amplitude39。 )。 xlabel(39。 frequency(hz)39。 )。 subplot(223)。 plot(magX)。 title(39。 原始信号幅值 39。 )。 ylabel(39。 amplitude39。 )。 xlabel(39。 frequency(hz)39。 )。 subplot(224)。 plot(angX)。 title(39。 原始信号相位 39。 )。 ylabel(39。 amplitude39。 )。 xlabel(39。 frequency(hz)39。 )。 程序运行可以听到声音,得到的结果如图 41 所示: 图 41 语音信号的读入与打开 湖北师范学院 2020届教育信息与技术学院学士学位论文(设计) 10 (2)语音信号的定点分析 已知一个语音信号,数据采样频率为 100Hz,试分别绘制 N= 128 点 DFT( Discrete Fourier Transform)离散傅里叶变换 的幅频图和 N= 1024 点 DFT幅频图。 编程如下:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。