ABSTRACT
In digital signal processing, filter design occupies an extremely important position. And among them, the FIR digital filter and IIR digital filter is an important part. Matlab has powerful function, easy to learn, programming efficiency higher characteristic, and was deeply loved by the masses of scientific and technical workers.Especially also has signal analysis toolbox in Matlab, so for users, don't need to have strong programming ability, can be easily signal analysis, processing and design. Signal processing toolbox of Matlab, can be used to quickly and efficiently design all kinds of digital filter. In this paper the design and implementation of speech signal processing based on Matlab, the integrated use of the relevant theoretical knowledge of digital signal processing, to add noise speech signal in time domain, frequency domain analysis and filtering. And then corresponding conclusion through theoretical derivation, using Matlab as a programming tool for computer implementation work. Implementation in the design process, using butterworth, chebyshev and bilinear reform IIR digital filter design, window function method used to design FIR digital filter, and by using the Matlab as an auxiliary tool, to complete the design of computing and graphics drawing. Through a simulation of the designed filter and frequency characteristic analysis shows that using the Matlab signal processing toolbox, can quickly and effectively to design FIR and IIR digital filter, the process is simple, convenient, and the results of various performance indicators meet the specified requirements.
Keywords:Matlab; Filter; IIR; FIR
2
绪论
语音信号的采集与分析技术的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等学科紧密联系,同时也是一门涉及面很广的交叉学科。语音是人类获取信息的重要来源,是利用信息的重要手段。由于实验条件或各种其他主、客观条件的限制,在信号的传输过程中,语音处理系统都不可避免地要会受到各种噪声的干扰。噪声不仅降低了语音的可懂度,破坏了语音质量,而且还将会导致系统性能的急剧恶化,严重时会使整个系统无法正常工作。Matlab是由美国Mathworks公司发布的一款软件,该软件主要面对的是科学计算、可视化以及交互式程序设计的高科技计算环境。它具有数值分析、矩阵计算、非线性动态系统的建模和仿真以及科学数据可视化等功能。它被集成在一个易于使用的视窗环境下,为工程设计、科学研究以及其它一些必须进行有效数值计算的众多科学领域提供了一种全面有效的解决方案。它在很大程度上摆脱了传统的其它编程语言的限制,如C语言、Fortran语言的编辑模式,代表了当今国际科学计算软件的先进水平。其强大的数据处理能力可以极大程度上削弱噪声影响,其还原出的真实的语音信号相符度一般都在90%以上。
数字滤波器和快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础,是20世纪60年代形成的一系列数字信号处理的理论和算法。随着信息科学技术的快速发展,语音信号处理技术也相应取得了重大的进展:进入70年代之后,出现了很多新兴技术,其中语音信号的信息压缩和特征提取的线性预测技术(LPC)作用日益突出,逐渐在数字信号处理领域占据统治地位,并广泛应用于语音信号的分析、合成及其他各个应用领域。进入80年代后,一种新的技术:基于聚类分析的高效数据压缩技术—矢量量化(VQ),被应用到语音信号处理领域之中;而随着隐马尔可夫模型(HMM)描述语音信号过程的产生,80年代语音信号处理技术也随之发生了重大的发展。目前,HMM已构成了现代语音识别研究的重要基石。进入21世纪之后,人工神经网络,也即是人们所称的ANN的研究,取得了快速发展,语音信号处理的各项研究的发展是促进其进步的重要源泉之一,他的各项成果也体现在语音信号处理的各项技术之中。
3
本论文主要介绍的是语音信号的简单处理。由于语音信号的处理有很多种类,本论文仅针对滤波处理去噪这一范围,运用数字信号处理所学基本原理,以实现语音信号的处理,在Matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号滤波去噪。我所做的工作就是运用Matlab软件,在其上编写几个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单的语音信号处理的目的。
硬件环境:
(1)处理器:Inter Pentium B950 (2)内存:2G (3)硬盘空间:460G (4)显卡:NVIDIA GeForce GT520 开发环境:
(1)操作系统:Windows 7(64位旗舰版) (2)开发环境:Matlab 7.0
4
1 语音信号处理的基本知识
1.1语音的录入和打开
在Matlab中,[y,fs,bits]=wavread('Blip',[N1 N2]),用于读取语音信号,采样值放在向量y中。fs表示采样频率(Hz),bits表示采样位数。[N1 N2]表示读取从N1点到N2点的值。若只有一个N的点,则表示读取前N点的采样值。
sound(x,fs,bits)该函数的作用是用于对声音进行回放。向量x是一个复杂的“函数表达式”,代表了一个信号,可以像处理一个信号表达式一样处理这个声音信号。
1.2采样位数和采样频率
所谓采样位数,也即是采样值或取样值,一般是用来衡量声音波动变化的参数。指的是声卡在采集和播放声音文件时,所使用的数字声音信号的二进制位数。采样频率,则是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高,则声音的还原就越真实,越自然。
对于音频接口来说,采样位数和采样率是最为重要的两个指标,也是选择音频接口的两个重要标准。单从理论上来说,无论采样频率如何,采样的位数决定了音频数据最大的力度范围。每增加一个采样位数,则相当于力度范围增加了6dB。采样位数越多,则捕捉到的信号就会越精确。对于采样率来说,你可以想象它类似于一个照相机,40kHz则意味着当音频流进入计算机时,计算机每秒会对其拍照达40000次。显然采样率越高,计算机摄取的图片会越多,对于原始音频的还原也将会更加精确。
1.3时域信号FFT分析
FFT,即快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换DFT的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进而后获得的。在Matlab的信号处理工具箱中,函数FFT和IFFT用于快速傅立叶变换及其逆变换。函数FFT用于序列快速傅立叶变换,其调用格式为:y=fft(x)。其中x是序列,y是相应序列的FFT。x可以为一向量,也可以是矩阵。若x为一向量,y则是x的FFT,且和x相同长度;若x为矩阵,y则是对矩阵的每一列向量进行FFT。若x长度是2的幂次方,函数fft将执行高速基-2FFT算法,否则fft执
5
相关推荐: