当前位置:文档之家› 语音信号的FIR滤波器处理(华南农业大学)

语音信号的FIR滤波器处理(华南农业大学)

语音信号的FIR滤波器处理(华南农业大学)
语音信号的FIR滤波器处理(华南农业大学)

DSP课程设计报告语音信号的FIR滤波器处理

姓名:XXX XXX XXX 班级:10电信1

学号:XXXXXXXX

指导老师:徐梅宣

日期:2013.06.10~2013.06.21 华南农业大学工程学院

摘要

DSP( Digital Signal Processing) 也就是我们常说的数字信号处理, 它是利用计算机或专用处理设备, 以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理, 以得到符合人们需要的信号形式。DSP 芯片在信号处理、通信、雷达等许多领域得到广泛的应用。

Matlab是一款强大的软件,它将数值分析、矩阵计算、科学数据可视化等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。

在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。最后在DSP中实现了FIR带通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。

关键词:语音信号 DSP FIR滤波 MATLAB CCS

目录

1.前言 (4)

2.设计原理 (4)

2.1数字信号处理器 (4)

2.2滤波器简介 (5)

2.3 fir滤波器原理 (6)

2.4窗函数简介 (7)

3.FIR滤波器的MATLAB设计 (8)

3.1总体方案的设计 (8)

3.2语音信号的采集 (9)

3.3MATLAP的具体处理 (10)

3.5FIR滤波器的系统参数 (14)

4.FIR滤波器的CCS设计与仿真 (16)

4.1CCS程序流程图 (17)

4.2CCS仿真结果 (20)

5.问题及解决办法 (22)

6.设计感想 (23)

参考文献 (23)

7.附录 (24)

1 前言

随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。

在数字信号处理中,滤波占有极其重要的地位。数字滤波是语音信号处理、图像处理、模式识别、频谱分析等应用的基本处理算法。用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响等优点外,还具有灵活性好等特点。

本文介绍了数字滤波器的设计基础及用窗函数法设计FIR滤波器的方法,运用MATHLAB语言实现了低通滤波器的设计并用CCS 3.3进行观察效果。

2 设计原理

2.1 数字信号处理器

DSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

由Ti公司提供专业的开发工具CCS,自带DSP/BIOS操作系统,能够直接编写适合DSP开发工程及文件,满足DSP程序设计要求。

由MathWorks 公司和TI 公司联合开发的DSPMATLAB Link for CCS Development Tools(简称CCSLink)是MATLAB6.5 版本(Release13)中增加的一个全新的工具箱,它提供了MATLAB、CCS 和DSP 目标板的接口,利用此工具

可以像操作MATLAB变量一样来操作DSP 器件的存储器和寄存器,使开发人员在MATLAB环境下完成对DSP的操作,从而极大地提高DSP应用系统的开发进程。

本设计主要是使用DSP对语音噪声信号进行处理,使用CCS开发工具编写程序,同时利用MATLAB操作DSP 器件的存储器和寄存器。

2.2 滤波器简介

滤波器,顾名思义,是对波进行过滤的器件。“波”是一个非常广泛的物理概念,在电子技术领域,“波”被狭义地局限于特指描述各种物理量的取值随时间起伏变化的过程。该过程通过各类传感器的作用,被转换为电压或电流的时间函数,称之为各种物理量的时间波形,或者称之为信号。因为自变量时间‘是连续取值的,所以称之为连续时间信号,又习惯地称之为模拟信号(Analog Signal)。随着数字式电子计算机(一般简称计算机)技术的产生和飞速发展,为了便于计算机对信号进行处理,产生了在抽样定理指导下将连续时间信号变换成离散时间信号的完整的理论和方法。也就是说,可以只用原模拟信号在一系列离散时间坐标点上的样本值表达原始信号而不丢失任何信息,波、波形、信号这些概念既然表达的是客观世界中各种物理量的变化,自然就是现代社会赖以生存的各种信息的载体。信息需要传播,靠的就是波形信号的传递。信号在它的产生、转换、传输的每一个环节都可能由于环境和干扰的存在而畸变,有时,甚至是在相当多的情况下,这种畸变还很严重,以致信号及其所携带的信息被深深地埋在噪声当中了。

滤波,本质上是从被噪声畸变和污染了的信号中提取原始信号所携带的信息的过程。

滤波器特性可以用其频率响应来描述,按其特性的不同,可以分为低通滤波器,高通滤波器,带通滤波器和带阻滤波器等。

带通滤波器(英语:Band-pass filter)是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。一个模拟带通滤波器的例子是电阻-电感-电容电路(RLC circuit)。这些滤波器也可以用低通滤波器同高通滤波器组合来产生。

2.3 FIR滤波器原理

FIR滤波器(有限长单位冲激响应滤波器)是在数字信号处理(DSP)中经常使用的两种基本的滤波器之一,另一个为IIR滤波器。IIR滤波器是无限冲激响应滤波器。

不论哪一种滤波器设计方法,都要求出滤波器的单位冲激响应h(n),然后才能在时域中实现频域中的滤波。

在频域,当其输入信号为X(ejω)时,如滤波器的频率响应为H(ejω),则其输出信号为Y(ejω)=X(ejω)H(ejω)。

在时域,设滤波器的单位冲激响应h(n)为一N点序列,即0≤n≤N-1时h(n)的值不为零,根据离散傅氏变换的性质,则可以将滤波器的输入序列x(n)的响应y(n)表示为x(n)与h(n)的卷积和,即:

这就是滤波系统的差分方程,它给滤波器的实现奠定了理论基础。即求出时域的h(n)后,便可通过卷积来实现频域的滤波。

卷积和运算主要有以下几个步骤:

(1) h(n)序列N个点数值的存储

由于h(n)是根据滤波性能要求已经设计好的有限长单位冲激响应,故其N 个点的数值是已知的,因此可以存放在ROM或RAM当中,且对应着N个不同的地址,便于寻址。

(2) 输入序列x(n)的移位寄存

输入序列x(n)是不断变化的,因此只能对其进行移位寄存,寄存器的个数为N,即N个寄存器中分别存放着x(n)、x(n-1)……x(n-N+1),它们都随着n的变化而变化。

(3) 乘法器

用以完成两个数值的乘法,即h(m)x(n-m),也就是将存储器中N地址所对应的N个固定数值h(m)分别与N个移位寄存器中的不断变化的N个变化数值x (n-m)相乘。

(4) 累加器

用以实现N个乘积的累加,即将当前x(n)所对应的N个乘积进行累加,所得到的和就是y(n)。当滤波器的下一个输入值即x(n +1)到来时,累加器清零,并重新将下一组x(n +1)所对应的N个乘积进行累加,所得到的和就是y(n +1)。

2.4 窗函数简介

数字信号处理的主要数学工具是傅里叶变换。而傅里叶变换是研究整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无线长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。

为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截短,截断函数称为窗函数,简称为窗。信号截短以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是有限带宽信号,而在截短以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了。又从采样定理可知,无论采样频率多高,只要信号一经截短,就不可避免地引起混叠,因此信号截短必然导致一些误差。

泄漏与窗函数频谱的两侧旁瓣有关,如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截短信号。

3 FIR滤波器的Matlab设计

3.1. 总体方案设计

本次课程设计所采用的主要软件为Matlab。设计中用到的函数主要有wavread,sound,fft,subplot,plot,fir1,freqz,filter。

课程设计利用窗函数法设计FIR数字滤波器,并利用MATLAB作为辅助工具仿真滤波前后的时域波形和频谱。对于DSP的处理,首先,通过Matlab给语音信号添加高频噪音,即将原始信号调制到某一高频上(本设计用10000hz),再将其与原始语音信号相叠加,最后将这个叠加后的信号转化为数据(matlab编程),并存入后缀为dat的文件中。之后根据仿真结果使用MATLAB的设计分析工具FDATOOL产生滤波器参数。将混叠后的信号数据和滤波器参数输入CCS 进行DSP编程,在DSP中实现FIR带通滤波,并使用CCS的频谱分析功能,查看最终DSP的滤波效果。

3.2 语音信号的采集

使用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒插入计算机的语音输入插口上,启动MOOo录音专家。按下录音按钮,接着对话筒录音,录音结束后屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。如图3.1所示,以文件名“voice”保存入matlab当前工作路径中。可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS 操作系统规定的声音文件存的标准。

3.3 matlab具体处理

3.3.1 原始音频抽样

Fs=10000;

bits=16;

T=1;ts=1/Fs;

N=38;

[x,Fs,bits]=wavread('voice.wav'); %

x=x(:,1);

m=length(x);

%sound(x,Fs,bits);

y=fft(x,m); %对录制的信号进行傅立叶变换

f=(Fs/m)*[1:m];

t=[1:m]/Fs;

figure(1);

subplot(211);plot(t,x);title('原始信号波形');xlabel('time(s)');

subplot(212);plot(f,abs(y));title('原始信号频谱');xlabel('frequency(hz)'); noise4=0.01*sin(2*pi*5000*t)+0.01*sin(2*pi*200*t); 带通噪声%

3.3.2 加噪声并带通滤波

fpl4=500;

fph4=2000;

fsl4=700;

fsh4=1800;

wp4=[2*fpl4/Fs 2*fph4/Fs];

ws4=[2*fsl4/Fs 2*fsh4/Fs];

X4=x+noise4';%加了带通噪声的信号

%sound(X4,Fs,bits);%回放噪声信号

Y41=fft(X4,m);%对加了带通噪声的信号进行傅立叶变换

figure(2);

subplot(211);plot(t,X4);title('加了带通噪声的信号时域图');xlabel('time(s)'); subplot(212);plot(f,abs(Y41));title('加了带通噪声的信号频谱图');xlabel('frequency(hz)');

figure(3);

wc4=(wp4+ws4)/2;

b4=fir1(N,wc4,kaiser(N+1));%调用kaiser计算带通FIRDF的b4(n)

[hn4 wp4]=freqz(b4,1,512);

subplot(211);plot(wp4/pi,20*log10(abs(hn4)));title('带通滤波器幅频');xlabel('w'); subplot(212);plot(wp4/pi,unwrap(angle(hn4)));title('带通滤波器相频');xlabel('w'); figure(4);

x4get=filter(b4,1,X4);

Y4get=fft(x4get,m);

%sound(x4get,Fs,bits);

subplot(211);plot(t,x4get);title('加了带通噪声的信号滤波后时域图');xlabel('time(s)');

subplot(212);plot(f,abs(Y4get));title('加了带通噪声的信号滤波后频谱图');xlabel('frequency(hz)');

3.3.3 导出混合信号供DSP处理

xout=X4/max(X4);

xto_ccs=round(32767*xout);

%由于TMS32054X是16位定点处理器,在进行汇编程序设计时,FIR滤波器系数需要采用Q15格式。

myfile=fopen('fir1.dat','w');%新建

fprintf(myfile,'1651 1 e5 1 12c\n');

fprintf(myfile,'%d\n',xto_ccs);%把调制信号+原始信号输出fir.dat文件

fclose(myfile);

3.5 FIR滤波器的系统参数

在本设计中,使用MATLAB模拟产生合成信号,然后利用CCS进行滤波。

因此设计一个FIR带通滤波器,其参数为:

采样频率: Fs=44100Hz

通带1: Fp=700Hz

阻带1: Fc=500Hz

通带2: Fp=1800Hz

阻带2: Fp=2000Hz

通带最大衰减: 1dB

阻带最少衰减: 100dB

滤波器级数: N=38(由MATLAB根据前述参数求得。)

其中,采样频率由[y,fs,bits]=wavread()求出。其中fs为采样频率。执行程序可得fs为22050HZ。滤波器级数由%据ωp1=2*fp1/fs;ωc1=2*fc1/fs,B(带宽)=ωp1-ωc1,N(窗口长度)=ceil(6.6/B),n(阶数)=N-1;算出阶数为38。

滤波器系数使用matlab滤波器的设计/分析工具FDATOOL设计FIR滤波器。步骤如下图所示:

4 FIR滤波器的检验

图10 Matlab滤波器设计

在选项中选择或输入滤波器参数,然后点击”Design Filter”按钮完成滤波器设计。设计成功后的结果如图下图所示。在fdatool中,选择Targets->Code Composer Studio?IDE。在出现的对话框中选择输出文件类型为C.header file,输出系数类型为signed 16-bit integer,如图11—13。点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器系数表。

4 FIR滤波器的CCS设计与仿真

CCS是一种针对TMS320系列DSP的集成开发环境,在windows操作系统下,采用图形接口界面,提供环境配置、源文件编辑、程序调试、跟踪和分析等工具,提供了配置、建立、调试、跟踪和分析程序的工具,从而完成编辑、编译、链接、调试和数据分析等工作。

在CCS中编写汇编语言程序,进行调试,实现FIR滤波的功能。本课程设计使用CCS开发应用程序的一般步骤为:

(1)创建一个工程项目文件fir2.h,用汇编语言编写处理主程序fir2.asm。另外根据板上的存储器配置方式,编写存储器配置文件fir.cmd文件,将MATLAB 生成的fir2.h和indata.dat文件拷贝到工程文件夹下。

(2)编辑各类文件。使用CCS提供的集成编辑环境,对头文件、链接命令文件和源程序进行编辑。

(3)对工程项目进行编译,生成可执行文件。如出现语法错误,将在构建窗口中显示错误信息。用户可以根据显示信息定位错误信息,更改错误。

(4)下载程序、输入数据,执行程序,对结果和数据进行分析和算法评估。利用CCS提供的探测点、图形显示等工具,对运行结果、输出数据进行分析,评估算法性能。

4.1 CCS程序流程图

图15 CCS汇编程序流程图

4.1.1 程序分析

FIR滤波器的DSP实现主要有线性缓冲区法和循环缓冲区法两种。

线性缓冲区法又称延迟线法。其特点:

(1)对于N级的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(滑窗),用来存放最新的N个输入样本;

(2)从最老样本开始取数,每取一个样本后,将此样本向下移位;

(3)读完最后一个样本后,输入最新样本存入缓冲区的顶部。

循环缓冲区法的特点如下:

(1)对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(滑窗),用来存放最新的N个输入样本;

(2)从最新样本开始取数;

(3)读完最后一个样本(最老样本)后,输入最新样本来代替最老样本,而其他数据位置不变;

(4)用片内BK(循环缓冲区长度)寄存器对缓冲区进行间接寻址,使循环缓冲区地址首尾相邻。

本次设计的FIR滤波器所采用的就是循环缓冲区法。

对DSP进行初始化,并设置好存储单元。为数字滤波作准备,将预先设计好的有N个抽头的FIR数字滤波器的冲激响应序列h(n)中的N个数值放入存储单元bn中,从indata数据存储段中读入抽样值,将抽样值逐一放入存储单元xn 中。

主要循环程序如下:

将累加器清零,将存储单元bn与xn值对应相乘并累加到ACC中,循环N次将ACC中的值保存输出。再从indata数据存储段中读入一个新的数据,代替原来的最老样本 MVDD *AR4+,*AR2+0% ,重复循环直到数据全部处理完。

最后将处理完的数据输入到outdata数据存储段中。

4.1.2 数据输入

MATLAB辅助DSP 实现FIR滤波器滤波 ,其总体过程是为DSP 中编写处理程序提供滤波器系数。在MATLAB中利用滤波器设计、分析工具( FDATOOL) ,根据指定的滤波器性能快速设计一个FIR ,然后把滤波器系数以头文件形式导入CCS 中,头文件中包含MATLAB 辅助DSP 实现FIR 数字滤波器的阶数和系数数组,在MATLAB中调试、运行DSP 程序并显示、分析处理后的数据。

打开CCS IDE 中file的data加载初始化data数据,在Address中输入数

据存放的起始地址indata,并设置数据栈长度。

4.1.3 运行程序仿真

运行程序,查看输入输出波形,修改相应参数进行调试。

在View的Graph中单击Time/frequency出现graph property dialog框。

将显示类型,图形名称,起始地址,抽样点数,数据类型等分别进行设置,输出各种波形。输出滤波前的信号时域波形。首先,设置如下图所示,输出滤波前的信号时域波形。

图16 滤波前语音信号的时域Graph Property Dialog设置参数图将Display Type改为FFT Magnitude 就可以看到滤波前信号的频谱,将Start Address改为outdata就可以看到滤波后信号的时域波形和频谱。

4.2 CCS仿真结果

图17 滤波前语音信号的时域波形图

图18 滤波前信号频谱波形图

IIR滤波器语音去噪处理

课程设计(论文) 题目基于IIR数字滤波器的有噪语音信号的 处理 课程设计(论文)任务书学院:电气工程学院 题目:基于IIR数字滤波器的有噪语音 信号的处理

起止时间:2016年10月25日至16年11月20日 学生姓名: 专业班级: 指导教师: 教研室主任: 院长: 2016年11 月20 日

摘要:滤波器设计在数字信号处理中占有极其重要的地位,IIR滤波器是滤波器设计的重要组成部分。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域,频域分析和滤波。通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具处理工具箱可以有效快捷地设计IIR数字滤波器,结果的各项性能指标均达到指定要求。 关键词:MATLAB;IIR滤波器;有噪音语音信号

Abstract: filter design plays an important role in digital signal processing, IIR filter is an important part of the filter design. Research based on MATLAB design and implementation of the noise processing of speech signal, the theory of knowledge of the integrated use of digital signal processing in time domain of speech signal plus noise, frequency domain analysis and filtering. Through theoretical derivation corresponding conclusion using MATLAB as a programming tool for computer implementation. In the design process, with Butterworth, Chebyshev and bilinear method of IIR digital filter design, and use MATLAB as a tool Complete the drawing calculation and graphic design. Through the simulation and frequency characteristic analysis on the design of filter, MATLAB signal processing tools processing toolbox can effectively and quickly design IIR digital filter based on the results of the performance indicators to meet the specified requirements. Keywords: MATLAB; IIR filter; noisy speech signal

滤波器语音信号去噪讲解

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2013年春季学期 信号处理课程设计 题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:通信工程(1)班 姓名:王兴栋 学号:10250114 指导教师:陈海燕 成绩:

摘要 语音信号在数字信号处理中占有极其重要的地位,因此选择通过对语音信号的研究来巩固和掌握数字信号处理的基本能力十分具有代表性。对数字信号处理离不开滤波器,因此滤波器的设计在信号处理中占有极其重要的地位。而MATLAB 软件工具箱提供了对各种数字滤波器的设计。本论文“在MATLAB平台上实现对语音信号的去噪研究与仿真”综合运用了数字信号处理的各种基本知识,进而对不带噪语音信号进行谱分析以及带噪语音信号进行谱分析和滤波处理。通过理论推导得出相应的结论,再通过利用MATLAB作为编程工具来进行计算机实现比价已验证推导出来的结论。在设计过程中,通过设计FIR数字滤波器和IIR数字滤波器来完成滤波处理。在设计过程中,运用了MATLAB对整个设计中的图形的绘制和一些数据的计算以及仿真。 关键字滤波器;MATLAB;仿真;滤波

前言 语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。 语音信号是信息技术处理中最重要的一门科学,是人类社会几步的标志。那么什么是语音?语音是人类特有的功能,也是人类获取外界信息的重要工具,也是人与人交流必不可少的重要手段。那么什么又是信号?那信号是什么呢?信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 语音信号处理是一门用研究数字信号处理研究信号的科学。它是一新兴的信息科学,同时又是综合多个学科领域的一门交叉科学。语音在我们的日常生活中随时可见,也随处可见,语音很大程度上可以影响我们的生活。所以研究语音信号无论是在科学领域上还是日常生活中都有其广泛而重要的意义。 本论文主要介绍的是的语音信号的简单处理。本论文针对以上问题,运用数字信号学基本原理实现语音信号的处理,在matlab7.0环境下综合运用信号提取,幅频变换以及傅里叶变换、滤波等技术来进行语音信号处理。我所做的工作就是在matlab7.0软件上编写一个处理语音信号的程序,能对语音信号进行采集,并对其进行各种处理,达到简单语音信号处理的目的。 对语音信号的研究,本论文采用了设计两种滤波器的基本研究方法来达到研究语音信号去噪的目的,最终结合图像以及对语音信号的回放,通过对比,得出结论。

语音信号滤波去噪

一、设计的目的和意义 数字滤波器和快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础,是20世纪60年代形成的一系列数字信号处理的理论和算法。在数字信号处理中,滤波器的设计占有极其重要的地位。而其中,FIR数字滤波器和IIR数字滤波器是重要组成部分。Matlab具有功能强大、简单易学、编程效率高等特点,深受广大科技工作者的喜爱。特别是Matlab中还具有信号分析工具箱,所以对于使用者,不需要具备很强的编程能力,就可以方便地进行信号分析、处理和设计。利用Matlab中的信号处理工具箱,可以快速有效的设计各种数字滤波器。本论文基于Matlab语音信号处理的设计与实现,综合运用数字信号处理的相关理论知识,对加噪声语音信号进行时域、频域分析并滤波。而后通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现工作。 本次课程设计的课题为《基于DSP的语音信号滤波去噪》,运用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用脉冲响应不变法设计的一个满足指标的巴特沃斯IIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。 二、设计原理: 2.1 巴特沃斯滤波器 巴特沃斯滤波器是电子滤波器的一种。巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑。巴特沃斯滤波器的特性是通频带内的频率响应曲线最大限度平坦,没有起伏,而在组频带则逐渐下降为零。在振幅的对数对角频率的波得图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。 其振幅平方函数具有如2-1式: 式中,N为整数,称为滤波器的阶数,N越大,通带和阻带的近似 性越好,过渡带也越陡。如下图2.1所示:

信号系统处理 语音信号滤波处理

数字信号处理实验报告 实验名称:基于MATLAB对语音信号 进行分析及滤波处理 院系:物联网工程学院 班级:电子信息工程1101 姓名:

一、实验目的 综合计算运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。 二、实验要求 1.分析原始语音信号的时域特性和频谱特性。 2.设计一个IIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 3.设计一个FIR滤波器,用该滤波器对语音信号进行滤波处理,分析滤波后信号的时域特性和频谱特性。 三、实验原理 1.采样定理:在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。 采样频率越高,即采样的时间间隔越短,对声音波形的表示越精确。 2.时域信号的FFT分析:信号的频谱分析就是计算机信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于用计算机进行计算,使其应用受到限制。而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。 3.IIR数字滤波器设计原理利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as指标不作变化。边界频率的转换关系为∩=2/T tan(w/2)。接着,按照模拟低通滤波器的技术指标根据相应设计公式

根据MATLAB的加噪语音信号的滤波

《计算机仿真技术》 基于MATLAB的加噪语音信号的滤波学生姓名: 专业:电子信息工程 班级: 学号: 指导教师: 完成时间:2017年12月

一.滤波器的简述 在MATLAB环境下IIR数字滤波器和FIR数字滤波器的设计方法即实现方法,并进行图形用户界面设计,以显示所介绍迷你滤波器的设计特性。 在无线脉冲响应(IIR)数字滤波器设计中,先进行模拟滤波器的设计,然后进行模拟-数字滤波器转换,即采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换。在有限脉冲响应(FIR)数字滤波器设计中,讨论了FIR线性相位滤波的特点和用窗口函数设计FIR数字滤波器两个问题。两类滤波器整个过程都是按照理论分析、编程设计、集体实现的步骤进行的。为方便分析直观者直观、形象、方便的分析滤波器的特性,创新的设计出图形用户界面---滤波器分析系统。整个系统分为两个界面,其内容主要包括四个部分:System(系统)、Analysis(分析)、Tool(工具)、Help(帮助)。 数字滤波在DSP中占有重要地位。数字滤波器按实现的网络结构或者从单位脉冲响应,分为IIR(无限脉冲响应)和FIR(有限脉冲响应)滤波器。如果IRR 滤波器和FIR滤波器具有相同的性能,那么通常IIR滤波器可以用较低的阶数获得高的选择性,执行速度更快,所有的存储单元更少,所以既经济又高效。二.设计要求 1.在matlab平台上录制一段语音信号; 2.完成语音信号的谱分析; 3.对语音信号进行加噪以及加噪后信号的谱分析; 4.选择合适的滤波器进行滤波,确定相关指标; 5.实现滤波过程,显示滤波后的结果,并进行谱分析。 三.实验内容与步骤 1、语音信号的录入

语音信号处理实验报告

通信与信息工程学院 信息处理综合实验报告 班级:电子信息工程1502班 指导教师: 设计时间:2018/10/22-2018/11/23 评语: 通信与信息工程学院 二〇一八年 实验题目:语音信号分析与处理 一、实验内容 1. 设计内容 利用MATLAB对采集的原始语音信号及加入人为干扰后的信号进行频谱分析,使用窗函数法设计滤波器滤除噪声、并恢复信号。 2.设计任务与要求 1. 基本部分

(1)录制语音信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (2)对所录制的语音信号加入干扰噪声,并对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (3)分别利用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman 窗几种函数设计数字滤波器滤除噪声,并画出各种函数所设计的滤波器的频率响应。 (4)画出使用几种滤波器滤波后信号时域波形和频谱,对滤波前后的信号、几种滤波器滤波后的信号进行对比,分析信号处理前后及使用不同滤波器的变化;回放语音信号。 2. 提高部分 (5)录制一段音乐信号并对其进行采样;画出采样后语音信号的时域波形和频谱图。 (6)利用MATLAB产生一个不同于以上频段的信号;画出信号频谱图。 (7)将上述两段信号叠加,并加入干扰噪声,尝试多次逐渐加大噪声功率,对加入噪声的信号进行频谱分析;画出加噪后信号的时域波形和频谱图。 (8)选用一种合适的窗函数设计数字滤波器,画出滤波后音乐信号时域波形和频谱,对滤波前后的信号进行对比,回放音乐信号。 二、实验原理 1.设计原理分析 本设计主要是对语音信号的时频进行分析,并对语音信号加噪后设计滤波器对其进行滤波处理,对语音信号加噪声前后的频谱进行比较分析,对合成语音信号滤波前后进行频谱的分析比较。 首先用PC机WINDOWS下的录音机录制一段语音信号,并保存入MATLAB软件的根目录下,再运行MATLAB仿真软件把录制好的语音信号用audioread函数加载入MATLAB仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。 对该段合成的语音信号,分别用矩形窗、三角形窗、Hanning窗、Hamming窗及Blackman窗几种函数在MATLAB中设计滤波器对其进行滤波处理,滤波后用命令可以绘制出其频谱图,回放语音信号。对原始语音信号、合成的语音信号和经过滤波器处理的语音信号进行频谱的比较分析。 2.语音信号的时域频域分析 在Matlab软件平台下可以利用函数audioread对语音信号进行采样,得到了声音数据变量y,同时把y的采样频率Fs=44100Hz放进了MATALB的工作空间。

基于MATLAB的FIR滤波器语音信号去噪设计

基于MATLAB的FIR滤波器语音信号去噪设计

****************** 实践教学 ****************** 兰州理工大学 计算机与通信学院 《信号处理》课程设计题目:基于MATLAB的FIR滤波器语音信号去噪

摘要 随着信息技术的不断发展,现代信号处理正向着数字化发展,研究语音信号的滤波设计也成了现代信息处理的基本内容。本次课程设计主要内容是基于MATLAB的FIR滤波器语音信号去噪。主要运用麦克风采集一段语音信号,对其进行了时域分析和频谱分析,分析语音信号的特性,并对语音信号加入了随机噪声,采用凯塞(Kaiser)窗函数法设计了一个FIR 低通滤波器,然后对加噪的语音信号进行滤波处理。最后对滤波前后的语音信号的时域和频域特性进行对比。 关键词:MATLAB;语音信号;FIR滤波器;凯塞(Kaiser)窗

目录 第一章语音信号采样和滤波器设计的基本原理1 1.1语音信号采样的基本原理 (1) 1.1.1 采样定理 (1) 1.1.2 采样频率 (1) 1.2数字滤波器的基本理论和设计的基本原理2 1.2.1 数字滤波器的类型 (2) 1.2.2 窗口设计法 (3) 第二章语音信号去噪的总体设计 (6) 2.1 语音信号去噪的设计流程图 (6) 2.2 语音信号去噪的设计流程的介绍 (6) 第三章语音信号去噪的仿真实现及结果分析 8 3.1 语音信号的采集 (8) 3.2 加噪语音信号的频谱分析 (9) 3.3 语音信号的滤波去噪 (10) 3.4 语音信号去噪的结果分析 (12) 总结 (13) 参考文献 (14) 附录 (15) 致谢 (20)

MATLAB对语音信号加随机噪声及去噪程序

%对语言信号做原始的时域波形分析和频谱分析[y,fs,bits]=wavread('C:\Documentsand?Settings\Administrator\桌面\cuocuo.wav'); %??sound(y,fs)??????%回放语音信号 n=length(y)??%选取变换的点数? y_p=fft(y,n);??????%对n点进行傅里叶变换到频域 f=fs*(0:n/2-1)/n;???%对应点的频率 figure(1) subplot(2,1,1); plot(y);????????????????????%语音信号的时域波形图 title('原始语音信号采样后时域波形'); xlabel('时间轴') ylabel('幅值A') subplot(2,1,2); plot(f,abs(y_p(1:n/2)));?????%语音信号的频谱图 title('原始语音信号采样后频谱图'); xlabel('频率Hz'); ylabel('频率幅值'); %对音频信号产生噪声 ??L=length(y)????????%计算音频信号的长度 ??noise=0.1*randn(L,2);??%产生等长度的随机噪声信号(这里的噪声的大小取决于随机函数的幅度倍数) ??y_z=y+noise;????????%将两个信号叠加成一个新的信号——加噪声处理??? ??%sound(y_z,fs) %对加噪后的语音信号进行分析 n=length(y);??%选取变换的点数? y_zp=fft(y_z,n);??????%对n点进行傅里叶变换到频域 f=fs*(0:n/2-1)/n;???%对应点的频率 figure(2) subplot(2,1,1); plot(y_z);????????????????????%加噪语音信号的时域波形图 title('加噪语音信号时域波形'); xlabel('时间轴') ylabel('幅值A') subplot(2,1,2); plot(f,abs(y_zp(1:n/2)));?????%加噪语音信号的频谱图 title('加噪语音信号频谱图'); xlabel('频率Hz'); ylabel('频率幅值');

语音信号滤波去噪——使用TUKEYWIN窗设计的FIR滤波器

语音信号滤波去噪——使用TUKEYWIN窗 设计的FIR滤波器 摘要本课程设计主要使用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。课程设计的的平台为MATLAB。采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用窗函数法设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理。根据滤波后的时域图和原始语音信号时域图的比较,以及滤波后信号的频谱图和原始音乐信号频谱图的比较,最后回放滤波后音乐信号,滤波后的音乐信号与原始音乐信号一样清晰,成功地实现了滤波,达到了设计的要求。 关键词课程设计;滤波去噪;FIR滤波器;TUKEYWIN窗;MATLAB 1 引言 本课程设计是采用TUKEYWIN窗设计的FIR滤波器对语音信号进行滤波去噪。通过课程设计了解FIR滤波器设计的原理和步骤,掌握用Matlab语言设计滤波器的方法,了解DSP对FIR滤波器的设计及编程方法。通过观察音乐信号滤波前后的时域波形的比较,加深对滤波器作用的理解。通过对比滤波前后波形图的比较和放滤波前后音乐信号的对比,可以看出滤波器对有用信号无失真放大具有重大意义。 1.1 课程设计目的 熟悉Matlab语言环境,掌握Matlab语言的编程规则,利用TUKEYWIN窗函数设计法来设计符合要求的FIR滤波器来实现语音信号的滤波去噪。并绘制滤波前后的时域波形和频谱图。根据图形分析判断滤波器设计的正确性。通过本次课程设计熟悉利用TUKEYWIN窗函数法设计FIR滤波器的过程。增强自己独立解决问题的能力,提高自己

的动手能力。加深对理论知识联系实际问题的理解。为以后的工作奠定坚实的基础。 1.2 课程设计要求 录制一段语音信号,绘制观察波形及频谱图。根据TUKEYWIN的性能指标合理设计FIR滤波器,对语音信号加入干扰,再用滤波器对干扰语音信号进行滤波去噪,比较滤波前后的频谱图并进行分析。再回放语音信号对比原语音信号。看滤波器是否对语音信号进行了滤波去噪。 1.3课程设计平台 MATLAB名字由MATrix和LABoratory两词的前3个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB[1]。 MATLAB软件包括五大通用功能:数值计算功能(Nemeric);符号运算功能(Symbolic);数据可视化功能(Graphic);数据图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点:一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数理统计和随机信号分析、电路与系统、系统动力学、信号和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统、以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能能基本满足信号与系统课程的需求。例如,解微分方程、傅里叶正反变换、拉普拉斯正反变换、z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲激响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析、零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入理解信号与系统的理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础[2]。 2 基本理论

语音信号的FIR滤波器处理课程设计

DSP课程设计报告语音信号的FIR滤波器处理 姓名:张伟槟 班级:12电信3 学号:201231190425 指导老师:徐梅宣 日期:2015.06.02~2014.06.19 华南农业大学电子工程学院

摘要 随着信息与数字技术的发展,数字信号处理已经成为当今极其重要而学科与技术领域之一。它在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。其中滤波是应用非常广泛的一个环节,数字滤波器的理论和相关设计也一直都是人们研究的重点之一。FIR滤波器的是非递归的,稳定性好,精度高;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特征。因此,它在高保真的信号处理,如数字音频、图像处理、数据传输和生物医学等领域得到广泛应用。 CSS集成开发环境使用CCS内置的软件仿真simulator对程序进行编译,调试和运行,主要用于检测目标程序运行的正确性和连贯性,并能通过仿真器与目标板连接,在目标板上实时观察效果。 在本次设计中,我们选择的课题是基于DSP的语言信号的FIR滤波处理。首先利用MATLAB进行了仿真,得到滤波前后的时域波形和频谱。然后通过调用MATLAB的分析工具FDATOOL,根据仿真结果导出了滤波器的相关参数,将原始信号数据和滤波器参数输入CCS进行DSP编程。最后在DSP中实现了FIR低通滤波,并通过CCS的频谱分析功能查看了最终DSP的滤波效果。 关键词:语音信号处理 FIR滤波 MATLAB CCS

目录 1.前言 (4) 2.设计需求 (4) 3.滤波器设计原理介绍 (4) 3.1数字滤波器设计原理 (4) 3.2FIR滤波器的基本结构 (5) 3.3 滤波器的特点 (5) 3.4窗函数的介绍 (6) 4.FIR滤波器的设计 (7) 4.1FIR滤波器设计 (7) 4.2窗函数设计的基本方法 (7) 4.3滤波器的1 z算法实现 (7) 5.FIR滤波器的MATLAB设计 (8) 6.FIR滤波器的DSP实现 (10) 6.1CCS设计与仿真 (10) 6.2CCS仿真结果 (13) 6.调试问题及解决办法 (16) 7.设计感想 (16) 参考文献 (17) 8.附录 (17)

语音信号滤波去噪——使用汉宁窗设计的FIR滤波器要点

语音信号滤波去噪——使用汉宁窗设计的 FIR滤波器 学生姓名:指导老师: 摘要本课程设计主要是对一段语音信号,加入噪声后,用汉宁窗设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理。在此次课程设计中,系统操作平台为Windows XP,程序设计的操作软件为MATLAB 7.0。此课程设计首先是用麦克风采集一段语音信号,加入噪声,然后采用汉宁窗函数法设计出FIR滤波器,再用设计出的滤波器对这段加噪后的语音信号进行滤波去噪,最后对前后时域和频域的波形图进行对比分析,从波形可以看出噪声被完全滤除,达到了语音不失真的效果,说明此次设计非常成功。 关键词程序设计;滤波去噪;FIR滤波器;汉宁窗;MATLAB 7.0 1 引言 本课程设计主要是对一段语音信号,进行加噪后,用某种函数法设计出的FIR滤波器对加入噪声后的语音信号进行滤波去噪处理,并且分析对比前后时域和频域波形的程序设计。 1.1 课程设计目的 在此次课程中主要的要求是用麦克风采集一段语音信号,绘制波形并观察其频谱,给定相应技术指标,用汉宁窗设计一个满足指标的FIR滤波器,对该语音信号进行滤波去噪处理,比较滤波前后的波形和频谱并进行分析,根据结果和学过的理论得出合理的结论。与不同信源相同滤波方法的同学比较各种信源的特点,与相同信源不同滤波方法的同学比较各种滤波方法性能的优劣。 通过此次课程设计,我们能够学会如何综合运用这些知识,并把这些知识运用于实践当中,使所学知识在综合运用能力上以及分析问题、解决问题能力上得到进一步的发展,

让自己对这些知识有更深的了解。通过课程设计培养严谨的科学态度,认真的工作作风和团队协作精神。 1.2课程设计的要求 (1)滤波器指标必须符合工程实际。 (2)设计完后应检查其频率响应曲线是否满足指标。 (3)处理结果和分析结论应该一致,而且应符合理论。 (4)独立完成课程设计并按要求编写课程设计报告书。 1.3 工作平台简介 课程设计的主要设计平台式MATLAB 7.0。如下图1-1所示:MATLAB 的名称源自Matrix Laboratory ,它是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到广泛应用。它不仅是一个在各类工程设计中便于使用的计算工具,而且也是一个在数学、数值分析和工程计算等课程教学中的优秀的教学工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。MATLAB可以在几乎所有的PC机和大型计算机上运行,适用于Windows、UNIX等各种系统平台[1]。 总的来说,该软件有三大特点。一是功能强大。具有数值计算和符号计算、计算结果和编程可视化、数学和文字统一处理、离线和在线计算等功能;二是界面友善、语言自然。MATLAB以复数处理作为计算单元,指令表达与标准教科书的数学表达式相近;三是开放性强。当学好MATLAB的同时,会更好的帮助自己去就解决一些难题,而且MATLAB拥有非常好的发展前途,对我们未来的帮助也是不可限量的。

语音信号的处理与滤波

广西工学院 数字信号处理课程设计设计题目:语音信号的处理与滤波 系别: 学号: 姓名: 班级: 指导教师: 完成日期:

目录 1. 摘要 (3) 2.MATLAB简介 (3) 3.设计目的 (4) 4.设计内容 (4) 5.设计原理 (4) 6.设计步骤 (5) 7.总结与分析 (10) 8.参考资料 (10)

摘要 本课题分析了数字信号处理课程的重要性及特点,可以帮助理解与掌握课程中的基本概念、基本原理、基本分析方法;并利用MATLAB对语音信号进行分析和处理,要求采集语音信号后,在MATLAB软件平台进行频谱分析。用设计的数字滤波器对语音信号进行了滤波 MATLAB简介 MATLAB 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应用有: ?数学和计算 ?算法开发 ?建模,模拟和原形化 ?数据分析,探索和可视化 ?科学与工程制图 ?应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花的时间则只是用一种标量非交互语言(例如C或Fortran)写一个程序的时间的一小部分。 . 名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLA B使用由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技术发展。 MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研究、开发和分析所选择的工具。 MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是,工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。

基于MATLAB的语音信号FIR数字滤波处理

目录 1 绪论 (2) 2课程设计的具体实现 (4) 2.1 语音信号的录制 (4) 2.2 FIR滤波器的设计方法 (4) 3语音信号的时频分析 (5) 3.1语音信号载入MATLAB (5) 3.2语音信号时域和频域分析 (6) 3.3设计FIR数字滤波器 (7) 3.3.1 窗函数hamming设计带通滤波器 (8) 3.3.2 窗函数hanning设计带通滤波器 (9) 3.3.3 窗函数Blackman设计带通滤波器 (10) 3.3.4 窗函数Boxcar设计带通滤波器 (11) 3.4滤波之后的时域和频域分析 (12) 3.4.1 窗函数hamming设计带通滤波器滤波 (13) 3.4.2 窗函数hanning设计带通滤波器滤波 (13) 3.4.3 窗函数Blackman设计带通滤波器滤波 (14) 3.4.4 窗函数Boxcar设计带通滤波器滤波 (15) 3.5回放语音信号 (16)

结论 (16) 参考文献 (18) 1 绪论 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器

音乐信号滤波去噪—用凯塞窗设计的FIR滤波器

音乐信号滤波去噪—用凯塞窗设计的FIR 滤波器 学生姓名:指导老师: 摘要本课程设计主要是通过使用凯塞窗设计一个FIR滤波器以对音乐信号进行滤波去噪处理。本设计首先通过麦克风采集一段音乐信号,依据对该信号的频谱分析,给定相关指标。以MATLAB软件为平台,采用凯塞窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。通过程序调试及完善,该设计基本满足设计要求。 关键词滤波去噪;FIR滤波器;凯塞窗函数;MATLAB

1 引言 数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。随着现代通信的数字化,数字滤波器变得更加重要。数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器[1]。设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。 1.1 课程设计目的 数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。数字信号处理是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。 在本次课程设计中,最主要的设计是设计FIR滤波器,FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器器特性的方法包括窗函数法、频率采样法、和等波纹最佳逼近法;第二类是最优设计法。 本次的课程设计主要采用的是第一类设计方法,是利用汉宁窗函数法设计FIR滤波器对一段语音进行滤波去噪,通过这一过程,对滤波前后波形进行对比分析得到结论。此课程设计比较简单,主要是将书本中的知识运用到现实中,并且根据自己对设计题目的理解,运用软件编写出程序实现这一设计,也是我们对数字信号处理的原理进行验证的一个过程。对此,也可以加深我们对所学知识的理解,培养我们的动手能力。 1.2课程设计的要求 (1)通过利用各种不同的开发工具实现模拟信号数字化、信道编解码、基带数字信号编解码、数字信号的调制解调和语音信号的滤波去噪等课题,掌握数字信号的分析方法和处理方法。

基于MATLAB的语音信号滤波处理

基于MATLAB的语音信号滤波处理 题目:基于MATLAB的语音信号滤波处理 课程:数字信号处理 学院:电气工程学院 班级: 学生: 指导教师: 二O一三年十二月

目录CONTENTS 摘要 一、引言 二、正文 1.设计要求 2.设计步骤 3.设计内容 4.简易GUI设计 三、结论 四、收获与心得 五、附录

一、引言 随着Matlab仿真技术的推广,我们可以在计算机上对声音信号进行处理,甚至是模拟。通过计算机作图,采样,我们可以更加直观的了解语音信号的性质,通过matlab编程,调用相关的函数,我们可以非常方便的对信号进行运算和处理。 二、正文 2.1 设计要求 在有噪音的环境中录制语音,并设计滤波器去除噪声。 2.2 设计步骤 1.分析原始信号,画出原始信号频谱图及时频图,确定滤波器类型及相关指标; 2.按照类型及指标要求设计出滤波器,画出滤波器幅度和相位响应,分析该滤波器是否符合要求; 3.用所设计的滤波器对原始信号进行滤波处理,画出滤波后信号的频谱图及时频图; 4.对滤波前的信号进行分析比对,评估所设计滤波器性能。 2.3 设计内容 1.原始信号分析

分析信号的谱图可知,噪音在1650HZ和3300HZ附近的能量较高,而人声的能量基本位于1000HZ以下。因此,可以设计低通滤波器对信号进行去噪处理。 2.IIR滤波器设计 用双线性变换法分别设计了巴特沃斯低通滤波器和椭圆低通滤波器和带阻滤波器: ①巴特沃斯滤波器 fp=800;fs=1300;rs=35;rp=0.5; 程序代码如下: fp=800;fs=1300;rs=35;rp=0.5;Fs=44100; wp=2*Fs*tan(2*pi*fp/(2*Fs));ws=2*Fs*tan(2*pi*fs/(2*Fs)); [n,wn]=buttord(wp,ws,rp,rs,'s'); [b,a]=butter(n,wn,'s'); [num,den]=bilinear(b,a,Fs); [h,w]=freqz(num,den,512,Fs);

基于数字滤波器的语音信号处理系统的设计

基于数字滤波器的语音信号处理系统的设计 前言:语音信号的数字滤波就是利用快速傅里叶变换fft对语音信号进行频谱分析,利用分析得到的指标设计数字滤波器,将不需要的部分通过设计好的数字滤波器滤除掉,以达到优化语音的目的。数字滤波器是一种对数字信号进行处理的系统,数字滤波器完成数字信号滤波处理功能,其输入是一组数字量,其输出是经过变换的另一组数字量。它通过一定的运算关系或电路形式来改变输入信号所包含的频率成分的相对比例或滤出某些频率成分,数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。 摘要:本文介绍了两种数字滤波器的基本设计原理及步骤1、利用双线性变换法以及脉冲响应不变法设计IIR数字滤波器2、用窗函数法实现FIR数字滤波器的设计。并且把理论与实践结合,通过一段语音,利用MATLAB软件分析语音信号频谱,确定指标设计滤波器,编写程序设计滤波器,对语音信号进行滤波处理,分析滤波后的时域和频域特征,回放语音信号分析其经过信号处理后的效果。 正文 1、总体设计 1.1 总体设计内容 1)利用脉冲响应不变法和双线性变换法设计IIR数字滤波器,实现数字低通、数字高通、数字带通、数字带阻。 2)利用窗函数实现FIR数字滤波器的设计 3)设计完整的语音信号处理系统,可实现语音信号的读入、语音信号的频域分析、滤波器选择、语音信号的时/频域滤波操作、语音信号的短时频域分析等功能。 1.2 课设流程图设计

2、模块设计 2.1 语音信号的采集 用windows工具中的录音机录一段(语音信号),将语音信号的文件命名为test.wav. 将语音文件保存后,在MATLAB软件平台下,首先调用wavread函数可采集到录制的音乐信号,并得到其采样率fs和比特数bits。具体调用如下:>> [y,fs,bits]=wavread('d:\test.wav')%读取语音信号。 运行后得出fs,bit。其中参数y是每个样本的值,fs是生成该波形文件时的采样率,bits 是波形文件每样的编码位数。 sound(y); 用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 2.2 语音信号的时域及频域分析 语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。 2.2.1语音信号的时域分析 语音信号的时域分析就是分析和提取语音信号的时域参数。进行语音分析时,最先接触到并且也是最直观的是它的时域波形。语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。 运用matlab软件,调用plot函数,在读取语音信号的基础上画出语音信号的时域波形图。理想状态下,语音信号的时域波形应该是关于时间轴对称的,但是实际情况下,由于存在着一些噪音,使得波形看上去不是那么完美。 2.2.2语音信号的频域分析 对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,调用格式如下: Xk=fft(xn,N) 参数xn为被变换的时域序列向量,N是DFT变换区间的长度,当N大于xn时,fft函数自动在xn后面补零,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,调用fft函数得到语音信号的快速傅里叶变换序列,再用plot函数画出信号的频谱图。 2.3 IIR数字滤波器的设计 IIR滤波器系统函数的极点可以再单位圆内的任何位置,实现IIR滤波器的阶次较低,所用的存储单元较少,效率高,又由于IIR数字滤波器能够保留一些模拟滤波器的优良特性,因 此应用很广。设计IIR数字滤波器的方法主要有基于脉冲响应不变法和双线性Z变换法设计,

语音信号去噪

语音信号去噪 摘要:在现代各种通信系统中,由于自然界中的各种各样的复杂噪声不免会掺杂在其中,数 字信号处理这门经典学科恰好能够解决这个问题,其中最通用的方法就是利用滤波器来滤除 这些杂波噪声,FIR数字滤波器就是滤波器设计的基本部分。本论文研究的主要内容就是基 于Matlab软件仿真设计一个数字滤波器,将掺杂在语音信号中的高频噪音消除,在此将分 析消除高频噪音前后语音信号的时域及频域特性,对比分析即可验证滤波前后特性差别。在 本课题中,将利用简单的窗函数法来设计FIR数字滤波器,通过Matlab仿真说明所设计滤 波器的正确性。通过这次毕业设计,将会进一步理解语音信号原理分析及滤波处理,为更好 的设计滤波器打好基础。 关键词:Matlab;窗函数法;FIR数字滤波器 目录 1 引言 (2) 1.1 课题研究现状 (2) 1.2 课题研究目的 (2) 1.3 课题研究内容 (2) 1.4 MATLAB软件设计平台简介 (3) 2 原始语音信号采集与处理 (3) 2.1 课题设计步骤及流程图 (3) 2.2 语音信号处理 (4) 2.2.1 语音信号的采集 (4) 2.2.2 语音信号的时域频谱分析 (5) 2.2.3 语音信号加噪与频谱分析 (7) 3 FIR数字滤波器的设计 (9) 3.1 数字滤波器基本概念 (9) 3.2 常用窗函数介绍 (10) 3.3 FIR数字滤波器概述 (10) 3.4 FIR滤波器的窗函数设计 (10) 3.5 滤波器的编程实现 (13) 3.6 用滤波器对加噪语音信号进行滤波 (14) 3.7 回放语音信号 (17) 4 结论 (18) 致谢 (19) 参考文献 (20)

相关主题
文本预览
相关文档 最新文档