学士学位论文数字滤波在语音信号的应用张净丹.docx

上传人:b****4 文档编号:1458816 上传时间:2022-10-22 格式:DOCX 页数:9 大小:124.47KB
下载 相关 举报
学士学位论文数字滤波在语音信号的应用张净丹.docx_第1页
第1页 / 共9页
学士学位论文数字滤波在语音信号的应用张净丹.docx_第2页
第2页 / 共9页
学士学位论文数字滤波在语音信号的应用张净丹.docx_第3页
第3页 / 共9页
学士学位论文数字滤波在语音信号的应用张净丹.docx_第4页
第4页 / 共9页
学士学位论文数字滤波在语音信号的应用张净丹.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

学士学位论文数字滤波在语音信号的应用张净丹.docx

《学士学位论文数字滤波在语音信号的应用张净丹.docx》由会员分享,可在线阅读,更多相关《学士学位论文数字滤波在语音信号的应用张净丹.docx(9页珍藏版)》请在冰豆网上搜索。

学士学位论文数字滤波在语音信号的应用张净丹.docx

学士学位论文数字滤波在语音信号的应用张净丹

数字滤波器在语音

信号的应用

姓名:

学号:

******

专业:

电气工程及自动化

授课教师:

00000

 

2022年4月27日

摘要

语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。

通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。

同时,语言也是人与机器之间进行通信的重要工具,它是一种理想的人机通信方式,因而可为信息处理系统建立良好的人机交互环境,进一步推动计算机和其他智能机器的应用,提高社会的信息化程度。

20世纪60年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。

随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:

进入70年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC),并已成为语音信号处理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80年代初一种新的基于聚类分析的高效数据压缩技术—矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是80年代语音信号处理技术的重大发展,目前HMM已构成了现代语音识别研究的重要基石。

近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。

关键词:

语音信号;滤波;处理;分析;MATLAB

1.引言

1.1报告来源

语音信号处理包括语音通信、语音合成、语音识别和说话人识别等方面。

只有通过语音信号的数字处理,语音信号的好坏、语音识别率的高低,都取决于语音信号处理的好坏。

因此,语音信号处理是一项非常有意义的研究课程。

1.2报告的意义

语音,作为一种典型的非平稳随机信号,是人来交流最自然、最有效、最方便的手段,在人类文明和社会进步中起着重要的作用。

现在随着时代的发展,人类已开始进入了信息化时代,用现代手段研究语音信号,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。

随着电子通信业的出现和计算机技术的发展,人们开始可以从数字信号处理的角度来了解语音。

随着计算机技术和信息技术的发展,语音已经成为人机交互的必要手段,而语言信号的采集和处理是人机交互的前提和基础。

在MATLAB环境中,可以通过数据分析和处理功能十分强大的工程实用软件,它的信号处理与分析工具箱为语音分析提供了十分丰富的功能函数,可利用这些功能函数快捷而方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。

1.3滤波器的设计原理

设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。

数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。

IIR滤波器的特征是,具有无限持续时间冲激响应。

这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。

FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。

1.4初步实现的目标

用MATLAB实现语音的播放、加噪及使用滤波器去噪等功能,同时画出时域、频域波形图及语谱图。

后期目标实现滤波器的模拟化,制作guide界面。

 

 

2.模拟过程

录制或加载一段5S左右的声音文件到MATLAB中,并进行初步播放;加载一定的干扰信号(如白噪声)并再次播放;设计FIR滤波器对干扰信号进行滤波;

对滤波前后的波形进行比较,并回放各个部分的语音信号。

此过程包括语音信号的滤波处理、语音信号的时频域分析、滤波器的设计、滤波后的语音信号的效果分析。

2.1.1傅里叶变换及FFT算法

在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征。

尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对信号进行处理。

因此至DFT被发现以来,在很长的一段时间内都不能被应用到实际的工程项目中,直到一种快速的离散傅立叶计算方法——FFT,被发现,离散是傅立叶变换才在实际的工程中得到广泛应用。

采样器的作用是把连续信号变为脉冲或数字序列。

图中示出了一个连续信号f(t)经采样器采样后变为离散信号的过程

图2连续信号f(t)经采样器采样后变为离散信号

图中f(t)为被采样的连续信号,S(t)为周期性窄脉冲信号,fs(t)为采样后的离散信号,它用下式来表征:

fs(t)=f(t)s(t)

采样信号的频率特性为:

如果|F*(jω)|中各个波形不重复搭接,相互间有一定的距离(频率)即若

即采样定理可叙述如下:

如果采样周期满足下列条件,即:

式中ωmax为连续信号f(t)的最高次谐波的角频率。

则采样信号f*(t)就可以无失真地再恢复为原连续信号f(t)。

需要指出的是,采样定理只是在理论上给出了信号准确复现的条件。

我们可以利用windows自带的录音机录制语音文件,进行数字信号的采集。

(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或调用系统声音。

然后在MATLAB软件平台下,利用函数audioread对语音信号进行采样,记住采样频率和采样点数。

通过audioread函数的使用进一步理解采样频率、采样位数等概念。

2.1.2方法

本报告介绍了基于Matlab的对语音信号采集、处理及滤波器的设计,并使之实现的过程。

理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。

综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。

Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,信号处理是Matlab重要应用的领域之一。

本文是用Matlab对含噪的的语音信号同时在时域和频域进行滤波处理和分析。

整个设计思路的设计原理示意图如图所示:

 

2.1.3语音信号的读取

在matlab软件平台下,利用audioread函数对语音信号进行采样,记住采样频率和采样点数。

通过使用audioread函数,理解采样频率、采样位数等概念。

audioread函数调用格式

y=audioread(file),读取file所规定的音乐文件,返回采样值放在向量y中。

[y,fs,nbits]=audioread(file),采样值放在向量y中,fs表示采样频率(hz),nbits表示采样位数。

y=audioread(file,N),读取前N点的采样值放在向量y中。

y=audioread(file,[N1,N2]),读取从N1到N2点的采样值放在向量y中。

对语音信号“China.wav”进行采样其程序如下:

[y,fs,nbits]=audioread('China.wav')

可知该语音信号的采样频率fs=8000Hz,数据位nbits=16Bit。

2.1.4语音信号的频谱分析

首先画出语音信号的时域波形,然后对语音信号进行频谱分析。

在Matlab中可以利用函数fft对信号行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。

其程序如下:

[y,fs,nbits]=audioread('China.wav');%把语音信号进行加载入Matlab仿真软件平台中

sound(y,fs,nbits);%回放语音信号

p=audioplayer(x1,44100);play(p)%常用语音播放

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

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

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

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

当然我们也可以利用系统自带的声音进行模拟实验,调用系统声音程序如下:

MATLAB也自带了很多声音:

%鸟声%火车

loadtrainloadchirp

sound(y,Fs)sound(y,Fs)

2.1.5程序结构图

2.2实验结果

说明:

本实验声音取自于系统,程序设计如下:

%鸟声

loadchirp

sound(x1,Fs)

%加入噪声后声音播放

loadchirp

t=0:

1/13129:

(size(y)-1)/13129;

Au=0.03;

d=[Au*cos(2*pi*10000*t)]';

x2=y+d;p=audioplayer(x2,13129);

play(p)

%模拟滤波器

wp=0.25*pi;

ws=0.3*pi;

Rp=1;

Rs=15;

Fs=13129;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2);%将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数

[Z,P,K]=buttap(N);%创建模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bz,az]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换

[H,W]=freqz(bz,az);%绘制频率响应曲线

figure

(1)

plot(W*Fs/(2*pi),abs(H))

grid

xlabel('频率/Hz')

ylabel('频率响应幅度')

title('FIR滤波器')

 

仿真图如下:

 

图一滤波器设计

 

 

图二时域波形对比

图三频域波形对比

语音验证程序:

fs=13129;

%x1=audioread('C:

\Users\Administrator\Desktop\33.wma');%自己的声音

%鸟声

loadchirp

sound(y,Fs)

t=0:

1/13129:

(size(y)-1)/13129;

Au=0.03;

d=[Au*cos(2*pi*10000*t)]';

x2=y+d;

wp=0.25*pi;

ws=0.3*pi;

Rp=1;

Rs=15;

Fs=13129;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2);%将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数

[Z,P,K]=buttap(N);%创建模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bz,az]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换

[H,W]=freqz(bz,az);%绘制频率响应曲线

figure

(1)

plot(W*Fs/(2*pi),abs(H))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1