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

摘要:MATLAB是十分强大的用于数据分析和处理的工程实用软件,利用其来进行语音信号的分析、处理和可视化十分便捷。文中介绍了在MATLAB环境中如何驱动声卡采集语音信号和语音信号采集后的文档处理方法,并介绍了FFT频谱分析原理及其显示、MATLAB中相关函数的功能、滤波器的设计和使用。在此基础上,对实际采集的一段含噪声语音信号进行了相关分析处理,包括对语音信号的录取和导入,信号时域和频域方面的分析,添加噪声前后的差异对比,滤波分析,语音特效处理。结果表明利用MATLAB处理语音信号十分简单、方便且易于实现。

关键词:语音信号; MATLAB; 数字滤波; 滤波器;

 

一、设计内容:

语音信号处理技术的发展体现在生活中的各个方面,其重要性和现实意义也早已超乎大众的想象,早期的BB机到 电话、大哥大到手机和智能机的这一系列发展表明语音信号 处理技术正迅速发展。目前,在语音信号处理方面已经取得 了非常大的进展,语音信号处理技术在计算机接口与人机交 互方面应用得最为广泛。语音信号处理技术涵盖得非常广泛,包括语音识别、说话人的识别和确定、语种的识别和确认、关键词的检测和确认、语音的合成和语音编码等。目前,最富前景和挑战性的就是语音识别的技术,该技术在现实生活中已经有了具体的实际应用,其在车载导航、视频监控、网络视 讯等人机交互领域有着非常广泛的应用。而其中高性能的 连续语音、大词汇量语音识别系统是当前语音识别技术的前沿代表;同时语音信号的准确性识别也是亟待解决的主要任务。本文选用语音处理技术作为研究项目,是一次非同寻常的尝试。另外,采用 MATLAB来进行一系列的研究处理。MATLAB是一个功能强大的计算软件,在 MATLAB中 可以非常方便、快捷地处理很多技术。此次在MATLAB中完成相关滤波器的设计,因为 MATLAB在参数调整上非常简便快捷,这在很大程度上减轻了研究者的工作量,对滤波器的优化也非常有利。下列是本次项目的任务:

1.熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数。

2.在MATLAB环境中,使用声音相关函数录制2秒左右自己的声音,抽样率是8000Hz/s,以及如何排除对这些无效点的采样。

3.分别取8000个和16000个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因,利用窗函数和双线性变换法设计。

4.针对电话信道(最高3500Hz),设计一个FIR或IIR滤波器进行滤波,把抽样率转变为7000Hz/s,并进行频谱分析,得到幅度和相位谱。

5.对声音进行背景噪声滤除,把处理后的所有数据储存为声音文件,与原始声音进行比较。

二、设计原理

1.语音信号的采集

为了将原始的模拟语音信号转变为数字信号,必须进行采样和量化,进而得到时间和幅度上均为离散的数字语音信号。又因为 MATLAB只能处理“.wav”结尾的音频信号,所以在录制声音的时候,格式不匹配就需要利用格式工厂软件进行格式转化。而且通过程序[x,fs,bits]=wavread(‘bishe.wav’)来读取语音信号时,MATLAB默认的fs=44100Hz,故调整频率为8000Hz。

2.语音信号的频谱分析

首先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性&

  • 112
    点赞
  • 962
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值