DSP基于Matlab的语音信号处理(代码)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理

2.1.2 采样频率

采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

2.1.3 采样位数与采样频率

采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。

2.2 语音信号的分析及处理方法

2.2.1 语音的打开

在matlab平台下,利用wavread进行语音采集, 得到语音的分辨率、采样率以频率特性。

2.2.2 语音信号的频谱分析

画出语音信号的时域波形,利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性。

2.2.3产生噪声信号

利用matlab产生固定频率的交流噪声,并加到语音信号中去,得到被污染的语音信号,并播放语音信号,利用函数fft对噪声进行快速傅里叶变换,得到噪声的频谱特性。

2.2.4 数字滤波器设计原理

数字滤波是数字信号分析中最重要的组成部分之一,与模拟滤波相比,它具有精度和稳定性高、系统函数容易改变、灵活性强、便于大规模集成和可实现多维滤波等优点。在信号的过滤、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。

数字滤波器的作用是利用离散时间系统的特性对输入信号波形(或频谱)进行加工处理,或者说利用数字方法按预定的要求对信号进行变换。

2.2.5数字滤波器的设计步骤

不论是IIR滤波器还是FIR滤波器的设计都包括三个步骤:

(1) 按照实际任务的要求,确定滤波器的性能指标。

(2) 用一个因果、稳定的离散线性时不变系统的系统函数去逼近这一性能指标。根据不同的要求可以用IIR系统函数,也可以用FIR系统函数去逼近。

(3) 利用有限精度算法实现系统函数,包括结构选择、字长选择等。

2.2.6 IIR滤波器与FIR滤波器的性能比较

FIR:Finite Impulse response,有限冲击响应

IIR:Infinite Impulse response,无限冲击响应

从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高5~10倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则IIR滤波器就必须加全通网络进行相位较正,同样要大增加滤波器的节数和复杂性。

整体来看,IIR滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位;FIR滤波器没有稳定性问题,线性相位,但阶数多,延迟大

第三章图形用户界面设计

3.1 图形用户界面概念

图形用户界面或图形用户接口(Graphical User Interface,GUI)是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。

GUIDE是Matlab提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。

3.2 图形用户界面设计

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对象,并设计该对象的属性值。

3.3 图形用户界面模块调试

3.3.1 语音信号的读入与打开

下面的一段程序是语音信号在MATLAB中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。

[y,fs,nbits]=wavread(file);

n = length (y) ; %求出语音信号的长度

Y=fft(y,n); %傅里叶变换

magX=abs(Y);

angX=angle(Y);

figure(1)

subplot(2,2,1);plot(y);title('原始信号波形');

subplot(2,2,2);plot(abs(Y));title('原始信号频谱')

subplot(223);plot(magX);title('原始信号幅值');

subplot(224);plot(angX);title('原始信号相位');

程序运行可以听到声音,得到的结果如图3-1所示:

相关文档
最新文档