基于MATLAB的语音信号采集和双线性变换法滤波器设计
基于Matlab的对语音信号采集处理及滤波器的设计
目录摘要 (2)1 课程设计实现 (3)1.1整体设计思路 (3)1.2整体实现过程 (3)1.2.1 信号的采样 (3)1.2.2 语音信号的读取 (5)1.2.3 语音信号的频谱分析 (6)1.2.4 噪声信号的构建 (7)1.2.5 加入噪声的语音信号的频谱 (8)2 数字滤波器的设计 (9)2.1滤波器的设计原理 (9)2.2滤波器的性能指标 (10)2.3IIR数字滤波器设计 (10)2.4FIR数字滤波器设计 (12)2.5滤波器对信号滤波 (13)2.6语音信号回放 (17)3 心得体会 (17)4 主要参考资料.............................................................. 错误!未定义书签。
附录.................................................................................... 错误!未定义书签。
摘要MATLAB 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是MATLAB 重要应用的领域之一。
本课程设计介绍了基于Matlab的对语音信号采集、处理及滤波器的设计,并使之实现的过程。
理解与掌握课程中的基本概念、基本原理、基本分析方法,用Matlab进行数字语音信号处理,并阐述了课程设计的具体方法、步骤和内容。
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
关键词: MATLAB 工具信号语音采集滤波器1 课程设计实现1.1整体设计思路Matlab 语言是一种数据分析和处理功能十分强大的计算机应用软件 ,它可以将声音文件变换为离散的数据文件 , 然后利用其强大的矩阵运算能力处理数据 ,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等 , 信号处理是 Matlab 重要应用的领域之一。
基于Matlab的语音滤波处理
数字信号处理课程设计基于matlab的语音信号处理摘要利用所学习的数字信号处理知识,设计了一个有趣的音效处理系统,首先设计了几种不同的滤波器对声音进行滤波处理,分析了时域和频域的变化,比较了经过滤波处理后的声音与原来的声音有何变化。
同时设计实现了语音的倒放,变速播放,回响,音调转换等处理效果,其中音调转换部分使用了重新采样改变基频,再进行时长规整的算法。
基于MATLAB的语音信号处理语音信号的采集录制或者截取一段音乐,时间在1分钟左右,存为.wav的文件。
然后利用wavread对语音信号进行采样。
我们一共选择了3段语音,其中d.wav 真心英雄(周华健)(男声)man.wav我的歌声里(自己录制)(男声)girl.wav看的最远的地方(韶涵)(女声)语音信号的频谱分析使用matlab画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,画出频谱图,分析频率成分。
这里我们分析的是d.wav,通过分析知道频率分布在0—10KHz,主要分布在低频。
数字滤波器设计这里我们设计了4种滤波器对语音进行处理,分别为椭圆低通滤波,椭圆高通滤波,等波纹逼近法FIR带通滤波器,双线性变换法切比雪夫数字高通滤波器,绘制出相应的幅度、相位谱图,滤波后的波形、频谱图。
各滤波器的设计如下:椭圆低通滤波器:fb=1 200 Hz,fc=1 400 Hz,As=100 dB,Ap=1 dB椭圆高通滤波器:fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB等波纹逼近法设计FIR带通滤波器fb1=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3000Hz,As=100dB,Ap=1dB双线性变换法切比雪夫数字高通滤波器fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB滤波处理后,我们用函数sound()可以对声音进行回放,调用格式:sound(x,fs,bits);感觉滤波前后的声音。
基于MATLAB的语音信号采集和双线性变换法滤波器设计
第一章语音信号的采集第一节语音信号采集的介绍MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等.在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号:1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。
操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。
2.调用wavrecord功能函数采集语音信号。
wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。
函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。
fs:样本采集频率,为8000Hz、11025Hz、22050Hz 和44100Hz之一,默认值为8000Hz; nbits:每个样本的位数,8位或16位,默认值为8位; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。
基于MATLAB的语音信号滤波处理毕业设计(论文)
学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。
本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。
在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。
关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。
基于MATLAB的语音信号分析及滤波
基于MATLAB的语音信号分析及滤波MATLAB是一种强大的数值计算和数据分析工具,也可以用于语音信号的分析和滤波。
本文将介绍基于MATLAB的语音信号分析和滤波方法。
首先,我们需要将语音信号导入MATLAB中进行分析。
语音信号可以以.wav格式的文件保存,可以使用`audioread`函数将.wav文件导入MATLAB中。
例如:```matlab[x, fs] = audioread('speech.wav');```其中,`x`是导入的语音信号,`fs`是采样率。
接下来,我们可以通过绘制波形图和频谱图来对语音信号进行分析。
波形图可以用`plot`函数绘制,频谱图可以用`spectrogram`函数绘制。
```matlabsubplot(2, 1, 1);plot(x);title('Waveform');xlabel('Sample');ylabel('Amplitude');subplot(2, 1, 2);spectrogram(x, hann(256), 128, 512, fs, 'yaxis');title('Spectrogram');```绘制的波形图显示了语音信号的振幅随时间的变化,而频谱图显示了语音信号在不同频率上的能量分布。
在分析完语音信号的基本特征后,我们可以应用滤波器对语音信号进行滤波。
常用的语音信号滤波器包括低通滤波器、高通滤波器和带通滤波器。
可以使用MATLAB中的`filter`函数来应用这些滤波器。
例如,下面的代码展示了如何使用低通滤波器对语音信号进行滤波:```matlabfc = 4000; % 截止频率为4000 Hz[b, a] = butter(6, fc/(fs/2), 'low'); % 6阶Butterworth低通滤波器filtered_x = filter(b, a, x);figure;subplot(2, 1, 1);plot(x);title('Original Signal');xlabel('Sample');ylabel('Amplitude');subplot(2, 1, 2);plot(filtered_x);title('Filtered Signal');xlabel('Sample');ylabel('Amplitude');```通过调整截止频率和滤波器阶数,可以实现不同的滤波效果。
基于MATLAB的语音信号滤波处理讲解
学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。
本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。
在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。
关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。
MATLAB语音滤波实验
《数字信号处理》实验报告实验目的1、学会MATLAB的使用,掌握其程序设计方法,学会对信号进行分析和处理;2、掌握语音信号的采集、存储和时频分析;3、要求掌握IIR数字滤波器的设计原理、设计方法和设计步骤;4、学习用窗函数法设计FIR数字滤波器的原理及其设计步骤;5、了解学习GUI图形用户界面,进行实验程序的演示。
二.实验内容1、录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;2、给定滤波器的性能指标,采用窗函数法和双线性变换法设计滤波器,并画出滤波器的频率响应;3、用设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;4、换一个性别相异的人录制同样一段语音内容,分析两段内容相同的语音信号频谱之间的特点;5、录制一段同样长时间的背景噪声叠加到语音信号中,分析叠加前后信号频谱的变化,设计一个合适的滤波器,能够把该噪声滤除。
三.实验原理分析实验的几个要求可以看出,实验主要考察的是数字滤波器的设计及语音信号的滤波,涉及到男声和女声的分析。
从本质上说,本实验涉及的信号是人的语言,众所周知,人声的频率范围是20Hz到20000Hz,进一步的分析知声音范围大约在65-950 Hz,所以设计的是低通滤波器。
1.语音信号的采集熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数,在MATLAB 环境中,有关声音的函数有:a:y=wavrecord(N,fs,Dtype);利用系统音频输入设备录音,以fs为采样频率,默认值为11025,即以11025HZ进行采样。
Dtype为采样数据的存储格式,用字符串指定,可以是:‘double’、‘single’、‘int16’、‘int8’其中只有int8是采用8位精度进行采样,其它三种都是16位采样结果转换为指定的MATLAB数据;b:wavplay(y,fs);利用系统音频输出设备播放,以fs为播放频率,播放语音信号y;c:wavwrite((y,fs,wavfile);创建音频文件;d:y=wavread(file);读取音频文件;关于声音的函数还有sound();soundsc();等。
基于MATLAB的双线性变换法滤波器
题目基于MATLAB的IIR数字滤波器内容摘要数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语言、雷达等领域都有着十分广泛的应用。
尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就、鉴于此,数字滤波器的设计就显得尤为重要。
根据IIR滤波器的特点,在MATLAB坏境下用双线性变换法设计IIR数字滤波器。
利用MATLAB设计滤波器,可以随时对比设计要求和滤波器特性调整参数,直观简便,极大的减轻了工作量,有利于滤波器设计的最优化。
关键词双线性变换法;数字滤波器;MATLAB ;IIR一、 MATLAB 软件简介MATLAB是英文Matrix Laboratory(矩阵实验室)的缩写。
它是由美国Mathworks公司推出的用于数值计算和图形处理的数学计算环境。
在MATLAB环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。
它优秀的数值计算能力和卓越的数据可视化能力使其很快在同类软件中脱颖而出。
MATLAB系统最初是由Cleve Moler 用FORTRAN语言设计的,现在的MATLAB程序是Mathworks公司用C语言开发的。
它的第一版(DOS版本1.0)发行于1984年;经过20年的不断改进,MATLAB 已经成为国际上最流行的科学与工程计算的软件工具,最流行的计算机高级编程语言了,有人称它为“第四代”计算机语言,它在国内外高校和研究部门正扮演着重要的角色。
MATLAB语言的功能也越来越强大,不断适应新的要求提出新的解决方法。
可以预见,在科学运算、自动控制与科学绘图领域MATLAB语言将长期保持其独一无二的地位。
MATLAB语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同其他语言的特点。
1.语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB 程序书写形式自由,利用其丰富的库函数避开了繁杂的子程序编程任务,压缩了一切不必要的编纂工作。
基于MATLAB的语音信号分析和滤波处理
基于MATLAB的语音信号分析和滤波处理黄文填, 李金平北京联合大学信息学院,北京100101摘要:介绍了IIR和FIR数字滤波器的原理,在MATLAB中用原型低通滤波器和窗函数法分别实现了IIR和FIR数字滤波器的设计,通过对这两种滤波器进行仿真分析,在语音信号的滤波处理上找到了一种最佳的滤波方案,分析了滤波后语音信号的回放效果,说明了对于语音信号的滤波处理,选用IIR较为合适。
关键词:数字滤波器;MATLAB;语音信号;分析;滤波处理;方案文献标识码: A 中图分类号:TN312; TN912; TN7131 引言随着信息技术的发展,信号处理正朝着数字化、软件化方向发展。
数字信号处理的主要研究对象是语音信号和图像信号,语音信号的研究可以从时域和频域两个方面来进行[1]。
在语音信号处理方面,人们经常是从频域上进行的,并且普遍采用数字滤波器对语音信号进行滤波处理。
数字滤波器主要有无限长脉冲响应(IIR)滤波器和有限长脉冲响应(FIR)滤波器两大类,其设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和切比雪夫逼近法等等[2],但如何在语音的滤波处理上找到一种最佳的滤波方案确是一个重要的问题。
随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅方便于数字滤波器的设计,而且还可以使设计达到最优化。
本文介绍了IIR及FIR数字滤波器的原理,在MATLAB中实现了用双线性变换法设计的IIR及窗函数设计的FIR滤波器的设计,通过对语音信号进行仿真分析,在语音的滤波处理上找到一种最佳的滤波方案。
2 数字滤波器数字滤波器根据单位脉冲响应函数的时域特性,可分为IIR滤波器和FIR滤波器两大类。
IIR滤波器的特征是,具有无限长的单位脉冲响应,系统函数在z平面上存在极点,结构上存在输出到输入的反馈,即结构上是递归型的数字滤波器。
换句话说,它的输出不但取决于过去和现在的输入,还取决于过去的输出,其系统函数为:H(z)= Y (z)X (z)=∑i=0Mb i z-i1+∑i=1Na i z-i(式1)而FIR滤波器的特征是,具有有限长的单位脉冲响应,结构上没有反馈支路,H(z)永远稳定,其系统函数为:作者简介: 黄文填(1985-),男,在读硕士研究生,主要研究领域为嵌入式系统与SoC技术;李金平(1953-),男,教授,H (z )= i =0N -1h (n )z -n (式2)设计数字滤波器的任务就是求滤波器的系数,或者寻求一个因果、物理上可实现的系统函数H (z ),使其频率响应H (z )满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带和阻带内允许的衰减指标[3]。
题目MATLAB课程设计—基于Matlab和双线性变换的滤波器
题目: 课程设计—基于和双线性变换的滤波器设计初始条件:仿真软件数字信号处理与图像处理基础知识双线性变换法的原理和算法巴特沃斯高通滤波器的性能指标要求完成的主要任务:利用仿真软件系统结合双线性变换法设计一个数字巴特沃斯高通、低通和带通滤波器。
说明:自己确定滤波器的不同参数得到不同的结果,最后自己分析原因。
课程设计题目由指导教师提供,每人隶属一组完成任务,每组完成的内容不能雷同(按学号分组)时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测与参数估计等处理,在通信、图像、语音、雷达等许多领域都有着十分广泛的应用。
尤其在图像处理、数据压缩等方面取得了令人瞩目的进展和成就。
鉴于此,数字滤波器的设计就显得尤为重要。
此报告重点介绍了用双线性不变法设计数字滤波器的基本流程,比较了各种设计方法的优缺点,总结了模拟滤波器的性能特征。
最后以双线性不变法设计了一个高通巴特沃斯数字滤波器,介绍了设计步骤,然后在环境下进行了仿真与调试,实现了设计目标。
关键字:数字滤波器巴特沃斯双线性变法, . , , . , ., ' , ' . , , , .:数字滤波器数字滤波器的基本概念数字滤波器是数字信号处理的重要基础,是对信号都是过滤检测与参数估计等处理过程中,它是使用最为广泛的一种线性系统。
数字滤波器处理的对象是经由采样期间将模拟信号转换而得到的数字信号。
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统。
数字滤波器的输入是一组数字量。
它本身既可以是用数字硬件装配而成的一台用于完成给定运算的专用数字计算机,也可以是将所需的运算编写的程序通过计算机来执行。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
随着数字技术的发展,用数字技术实现滤波器的功能愈来愈受到人们的重视,并得到了广泛的应用。
数字滤波器的数学运算通常有两种实现方式。
基于matlab语音信号的采集和双线性变换法滤波器设计(精)
郑州轻工业学院课程设计说明书题目:基于MATLAB 的语音信号采集和双线性变换法滤波器设计姓名:院(系):专业班级:学号:指导教师:成绩:时间:年日至郑州轻工业学院课程设计任务书题目基于MATLAB 的语音信号采集和双线性变换法滤波器设计专业、班级电子信息工程09级 1班学号 540901030107姓名邓震宇主要内容、基本要求、主要参考资料等:主要内容:要求学生在MATLAB 中采集语音信号,并对所采集的语音信号进行时域和频谱分析。
给定滤波器的性能指标,采用双线性变换法设计滤波器滤除高频成分的信号,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。
基本要求:1、学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。
2、在MATLAB 下采集 Windows自带的“Windows XP 关机.wav ”语音信号。
3、掌握数字信号处理的基本概念、基本理论和基本方法。
4、利用MATLAB 环境采用双线性变换法设计数字滤波器滤出高频成分。
5、学会用 MATLAB 对信号进行分析和处理。
主要参考资料:1、陈怀琛.MATLAB 及在电子信息课程中的应用[M].北京:电子工业出版社.2008,12、张文. 基于MATLAB 的语音信号的滤波与实现[J].山西电子技术.2008,23、徐靖涛. 基于MATLAB 的语音信号分析与处理[J].重庆科技学院学报2008,1完成期限:2012.6.18—2012.6.22指导教师签名:课程负责人签名:2012年6月15日目录1语音信号的分析. ...................................................................................... 1 1.1语音信号分析技术................................................................................ 1 1.2语音信号的时域分析. (2)1.3语音信号的频域分析. (3)2语音信号的采集. ...................................................................................... 3 3数字滤波器的设计.................................................................................. 4 4综合仿真分析. ........................................................................................... 5 5心得体会 ..................................................................................................... 7 6附录 (8)基于MATLAB 的语音信号采集和双线性变换法滤波器设计1语音信号的分析1.1语音信号分析技术语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理[8]。
基于MATLAB的语音信号数字滤波器的的设计和实现论文
基于MATLAB的语音信号数字滤波器的设计和实现引言随着信息时代和数字世界的到来,信号处理正向着数字化、软件化方向发展,数字信号处理已经成为当今一门极其重要的学科和技术,并且在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
数字滤波器是数字信号处理的重要基础,在对信号的滤波、检测及参数的估计等信号应用中,数字滤波器是使用最为广泛的一种线性系统。
在数字信号处理中,数字滤波器占有极其重要的地位,它具有精度高、可靠性好、灵活性大等特点。
现代数字滤波器可以用软件或硬件两种方式来实现。
软件方式实现的优点是可以通过滤波器参数的改变去调整滤波器的性能。
人耳可闻的音频带宽为20Hz—20KHz,而语音信号的带宽是不较窄的。
试验证明,语音信号只要有500Hz—3KHz的带宽就能够保持语音的清晰度。
我们只需要设计带宽为500Hz—3KHz的语音信号滤波器用于语音信号通路中,抑制了不需要的可闻音频信号,如低频噪声(交流感应噪声,电唱机唱盘噪声等),高频噪声(磁带噪声,无线电接收机中的啸叫声等)。
或者只抑制低频和高频噪声其中的一种。
从而改善语音信号的信噪比,提高语音清晰度。
第1章绪论1.1 研究现状在近代电信设备和各类控制系统中,滤波器应用极为广泛;在所有的电子部件中,使用最多,技术最为复杂的要算滤波器了。
滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。
1917年美国和德国科学家分别发明了LC滤波器,次年导致了美国第一个多路复用系统的出现。
20世纪50年代无源滤波器日趋成熟。
自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力,其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向。
导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展,到70年代后期,上述几种滤波器的单片集成已被研制出来并得到应用。
基于matlab的语音信号滤波器设计实现
数字信号处理课程设计基于MATLAB的语音信号数字滤波器的设计和实现一.方案论述1.1 方案总述此次“基于MATLAB的语音信号滤波器的设计与实现”课程设计要求要求自行采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
1.2 声音信号的录制和处理利用WINDOWS自带的媒体录音工具录制长度适中的一段声音。
保存文件时,利用计算机上的A/D转换,把声音信号由模拟信号转换成离散量化的数字信号(放音时,再通过A/D转换器转换成模拟声音信号)。
然后在MATLAB中,调入此声音文件,再利用函数Wavread对已录制的语音信号进行采样,然后对语音信号进行频谱分析。
噪音信号的生成,需要自行在在MATLAB中人为设计一个干扰信号,运用MATLAB 软件对语音信号和干扰信号进行合成。
1.3 滤波器的设计滤波器的设计是本次设计的重点,也是难点所在。
数字滤波器分为FIR滤波器和IIR滤波器。
采用软件设计来实现,主要方法有脉冲响应不变法,双线性变换法,窗函数法。
本设计是用双线性变换法设计一个低通滤波器。
通过对语音信号的数据分析,对滤波器的参数性能设定,可以成功滤除干扰信号,从而利用软件仿真完成硬件滤波器的功能。
设计时要考虑滤波器的类型,阶数,截止频率,衰减幅度等。
二.方案实现2.1 语音信号采集在本论文中,需要一个相对无噪声的语音信号来进行与固定频率的噪声信号的合成,并对合成后信号通过语音滤波器进行滤波处理。
由于绝对无噪声的语音信号是不存在的,所以现在使用PC机在相对安静无噪声的环境下录取一段语音信号来作为相对无噪声的语音信号。
在一台装有MATLAB的多媒体PC机上,利用PC 机上的声卡和WINDOWS 操作系统中的录音软件就可以进行语音信号的采集(即录音)。
在 PC机上加一个语言输入设备(麦克风),接着在WINDOWS的桌面上依次点击:【开始】、【所有程序】、【附件】、【录音机】,启动录音机,然后单击录音键,录制一段长度适中的语音信号。
基于Matlab的语音信号滤波器的设计与实现
0 -2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5 x 10
4
仿真结果输出及结论
• 滤波后的输出波形明显在对应时间幅度比原语音加噪声信号的要小,
而且滤波的效果也与滤波器的选择有关,可以看出滤波器的性能差 异以及参数的调节会对滤波器产生一定的影响,并且通过回放可以 发现滤波前后的声音有变化.低通滤波后,已很接近原来的声音,人耳 几乎辨别不出 。从频谱图中我们还可以看出声音的能量信号主要集 中在低频部分,说明高频语音信号被滤出,滤波器达到既定要求。
0 0.5 1 1.5 2 2.5 x 10
4
4 2 0
10 5 0
0
0.5
1 Hz
1.5
2
2.5 x 10
4
FIR带 通 滤 波 器 的 频 率 响 应
FIR低 通 滤 波 器 的 频 率 响 应 100
100
Magnitude (dB)
Magnitude (dB)
0
0
-100
-100
-200
-200
计滤波器对其进行滤波处理,对话音信号加噪声前后的频谱进行比 较分析,对合成语音信号滤波前后进行频谱的分析比较。
设计仿真过程
• 设计流程框图 • 滤波器的技术指标 • 设计源程序
流 程 框 图
原始信号时域波形图 1
1 加噪前的信号
0.5
0.5
fuzhi n
0 x 10
4
0 -0.5 -1
0 -0.5
-200
-2
0 x 10
4
2
4
6
8
10
基于Matlab的语音信号滤波处理
摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应用。
语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
本文简要介绍了语音信号采集和分析以及语音信号的特征与分析方法,并在采集语音信号后,在Matlab软件平台上进行频谱分析,并对所采集的语音信号加入噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
利用Matlab来读入语音信号,将它赋给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对他进行滤波,然后可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。
关键词:Matlab 语音信号FFT变换滤波器通信13-3班崔红梅目录摘要............................................................................................................................................ Ι1 绪论.. (1)1.1 选题背景及意义 (1)1.2 设计内容 (1)1.3 设计流程图 (2)1.4 Matlab简介 (2)1.4.1 Matlab的主要功能 (3)1.4.2 Matlab的优势 (3)1.4.3 Matlab语言的特点 (3)2 语音信号分析 (4)2.1 语音信号的采样理论 (4)2.1.1 采样频率 (4)2.1.2 采样位数 (4)2.2 语音信号的采集 (5)2.3 语音信号的时域分析 (5)2.3.1 短时能量 (6)2.4 语音信号的频域分析 (7)2.4.1 快速傅里叶算法 (7)2.4.2 FFT的Matlab实现 (7)2.4.3 语音信号的频谱 (7)2.5 语音信号的加噪处理及频谱分析 (8)3 滤波器的设计 (9)3.1 滤波器的设计原理 (9)3.2.1 FIR数字滤波器 (9)3.2.2 IIR数字滤波器 (10)3.3 理想低通、高通的线性相位数字滤波器的表达方式 (11)3.4 用窗函数设计FIR滤波器 (12)3.4.1 窗函数 (13)3.4.2 窗函数设计法的性能分析 (13)3.5 用双线性变换法设计IIR滤波器 (14)4 语音信号的滤波 (16)4.1 语音信号滤波的目的 (17)4.2 语音信号的滤波测试 (17)4.3 加噪语音信号的滤波处理 (18)5 心得体会 (19)参考文献 (20)附录 (21)基于Matlab的语音信号滤波处理1 绪论语音信号的采集与分析技术的应用和发展与语音学、声音测量学、电子测量技术以及数字信号处理等多门学科紧密联系,同时也是一门涉及面很广的交叉学科。
基于MATLAB的语音信号滤波器设计
信息与电子工程学院课程设计报告课程名称系统设计与仿真班级电子信息工程141姓名学号指导教师葛丁飞语音信号滤波器设计摘要:理论阶段学习的滤波器设计多数是基于参数已知的情况下进行的。
基于窗函数的FIR滤波器较为基础,能对噪声频率与信号频率相差较大的信号起到良好的滤波效果。
分析通过FIR滤波器后的信号的频率特性,测试滤波效果。
维纳滤波器较适合于对噪声频率未知的信号滤波,比较分析两种滤波器对实际语音信号的滤波效果。
与FIR滤波器相较而言,维纳滤波器贴近实际语音处理。
关键词:FIR滤波器设计;语音信号去噪;MA TLAB程序;维纳滤波器。
1 引言1.1课程设计的目的录制一段带噪声的音频,设计一种FIR低通滤波器,消除音频信号中的噪声,并用MATLAB平台对滤波器性能进行分析,观察实际滤波效果。
1.2课程设计的要求(1)滤波器指标必须符合工程实际。
(2)设计完后应检查其频率响应曲线是否满足指标。
(3)处理结果和分析结论应该一致,而且应符合理论。
(4)独立完成课程设计并按要求编写课程设计报告书。
1.3设计平台MATLABMATLAB是一种商业化的数字运算工具,能够有效地进行复杂的数学运算,包括Maple、Mathematica和MathCad等部分[1]。
尽管它的每个部分在数学计算方面各有优势,但是没有哪个单独部分是最佳的,各自都存在优势和不足。
每个部分都能实现基本的数学运算,但在实现符号运算或完成更全面数学运算过程的方法上存在差异,矩阵运算就是第一个典型的例子,MA TLAB在矩阵计算方面具有优势,而Maple在符号计算方面功能强大。
MATLAB程序可以简单地视为利用计算机实现烦琐计算的计算器,但事实上它可以实现更为复杂的科学计算。
如果在办公桌上有一台计算机,那么,人们更喜欢使用MA TLAB而不是计算器,即便是平衡收支情况之类的最简单计算也是如此。
在工程领域,MA TLAB程序正逐步取代传统的计算机语言,成为工程师和科学家的标准运算工具,但这并不意味这人们不需要学习掌握C++和FORTRAN之类的高级语言。
基于MATLAB语音信号滤波器的设计与实现
1、设计原理设计数字滤波器的任务就是寻求一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。
2、设计内容:以Matlab实现语音信号的低通滤波器设计为例:(1)语音信号的采集利用Windows下的录音机,录制一段自己的话音,时间在1s内。
然后在Matlab 软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,我们很快理解了采样频率、采样位数等概念。
这里我直接采用了一段现成的.wav格式的语音信号。
(2)语音信号的频谱分析首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。
程序如下:clc;clear;close all;fs=32768; %语音信号采样频率为32768,即2^15x1=wavread('qq.wav'); %读取语音信号的数据,赋给变量x1sound(x1,32768); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;figure(1);plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n');ylabel('fuzhi n'); figure(2);freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3);subplot(2,1,1);plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱');subplot(2,1,2);plot(f,abs(y1(1:512)));title('原始语音信号频谱')xlabel('Hz');ylabel('fuzhi');波形如下:注意:原始语言信号FFT频谱和原始语言信号频谱的区别是:前者是频率为1递增的频谱,而后者是以f=fs*(0:511)/1024递增;另外,后者是在“不小于原始信号的频率(采样定理)”上完全展开的频谱。
基于MATLAB的音频信号分析和滤波器设计
基于MATLAB的音频信号分析和滤波器设计一.引言分析和处理音频信号,首先要对声音信号进行采集。
Matlab的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可以直接控制声卡进行数据采集。
Windows自带的录音机程序也可驱动声卡采集语音信号,并保存为wav格式文件,供matlab相关函数直接读取,写入或播放。
本文以wav格式音频信号作为分析处理的输入数据,用matlab处理音频信号的流程是:先将wav格式音频信号经wavread函数转换成matlab列数组变量,再用matlab强大的运算能力进行数据分析和处理(包括时域分析,频域分析,数字滤波等)。
滤波是信号处理中一种基本但十分重要的技术,利用滤波,可以从复杂信号中提取需要的信号,抑制不需要的信号。
所谓滤波器,就是对已知激励,可以在时域或频域产生规定响应的网络。
要使滤波器能够提取有用信号,要求滤波器对信号噪声有不同的增益,对用用信号尽量无失真放大,而对噪声尽量衰减。
数字滤波器的理论和设计方法相当成熟,设计时可选用典型的窗函数,如矩形窗,三角窗,汉宁窗,海明窗,布莱克曼窗,凯塞窗等,他们有严格的设计公式和现成的曲线和图表可供参考。
二.实验步骤1.录制一段声音文件,保存为wav文件。
2.将wav文件导入matlab中,分析其频谱。
3. 将原信号加入噪声,分析其频谱。
4. 设计一个带通滤波器。
5. 将带噪声的信号通过该滤波器,再分析其频谱,并对比频谱的变化。
三. 实验经过1. 获取音频信号用Absolute Audio Recorder 软件录制一段音频,保存为wav 格式。
2. 原始信号024681012x 104-1-0.8-0.6-0.4-0.20.20.40.60.81原信号050010001500200025003. 信号加噪024681012x 104-1.5-1-0.50.511.5024681012x 10402004006008001000120014004. 带通滤波器设计00.10.20.30.40.50.60.70.80.91-2000-10001000Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )00.10.20.30.40.50.60.70.80.91-200-150-100-50Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )滤波器频域图5. 滤波后的信号024681012x 104-1.5-1-0.50.511.5滤波后时域图02004006008001000120000.0020.0040.0060.0080.010.0120.014滤波后频谱图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章语音信号的采集第一节语音信号采集的介绍MATLAB是美国Math Works公司推出的一种面向工程和科学计算的交互式计算软件,在MATLAB环境中,可以通过多种编程方法驱动声卡实现对语音信号的采集和播放,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析.使用MATLAB语言编程可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等.在Matlab环境中,主要可以通过以下几种方法驱动声卡,采集语音信号:1.将声卡作为对象处理采集语音信号Matlab将声卡作为对象处理,其后的一切操作都不与硬件直接相关,而是通过对该对象的操作来作用于硬件设备(声卡)。
操作时首先要对声卡产生一个模拟输入对象(ai),给ai对象添加一个通道设置采样频率后,就可以启动设备对象,开始采集数据,采集完成后停止对象并删除对象。
2.调用wavrecord功能函数采集语音信号。
wavrecord功能函数只适用于windows95/98/N平台,它使用windows声音输入设备录制声音。
函数调用方式:wavrecord(N,fs,ch,nbits); N:采集的样本数据量; fs:样本采集频率,为8000Hz、11025Hz、22050Hz和44100Hz之一,默认值为11025Hz; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); nbits:每个样本的位数(或称解析度),‘double’、‘single’或‘int16’为16位,‘uint8’为8位; 3.运用audiorecorder对象采集语音信号audiorecorder(fs,nbits,ch)可以创设一个audiorecorder对象。
fs:样本采集频率,为8000Hz、11025Hz、22050Hz 和44100Hz之一,默认值为8000Hz; nbits:每个样本的位数,8位或16位,默认值为8位; ch:样本采集通道,1为单声道,2为双声道,默认值为1(单声道); audiorecorder对象创设后,就可以进行相应的录音、暂停、停止、播放以及数据读取等操作。
第二节语音信号的采集过程一般来说,人的听觉能感知的声音频率范围为20~20000Hz,在这一频率范围内可感知的声音强度为0~140dB,其中人耳比较敏感的区域在50~4000Hz。
因此,采集子系统的硬件参数可根据要分析的语音信号的频率和强度来确定。
笔者设计的语音采集子系统是通过Realtek Ac'97型声卡和MATLAB的数据采集工具箱实现的。
其中Realtek Ac'97型声卡的采样位数为16位,支持8~44.1 kHz的采样速率,可以满足语音采集的硬件要求。
MATLAB自带的数据采集工具箱(Data Acquisition Toolbox)是为简化和加快数据采集工作而专门设计的,提供了一整套专门用于数据采集的命令和函数,可用来直接控制与PC机兼容的数据采集设备的采集全过程。
数据采集硬件设备的内部特性对MATLAB的接口是完全透明的,通过调用MATLAB函数和命令可对其进行访问,并对其属性进行可视化监控,而且对于采集的数据既可以进行实时分析,也可在存储后再进行处理,这样既方便了对实验测量数据的分析、比较和可视化操作,又提高了语音信号采集的质量和灵活性。
配置好数据采集设备的参数后,使用start命令便可启动声卡开始语音信号的采集。
采集到的数据被暂时存放在PC机的内存里,理论上可采集的最大数据量是由PC机的内存容量决定的,这一点相对于一般的数据采集系统而言有较强的优势。
MATLAB还可以记录采集过程中出现错误,如出错的时间、错误产生的来源以及数据采集设备的状态等信息都会被记录下来作为以后工作的参考。
如图1所示,语音采集子系统是通过Realtek AC’97型声卡和Matlab 的数据采集工具箱实现的。
其中Realtek AC’97型声卡的采样位数为16位,支持8~44.1kHz的采样速率,可以满足语音采集的硬件要求[1]。
Matlab自带的数据采集工具箱里面,提供了专门用于语音采集的命令和函数。
数据采集的硬件设备的内部特性对Matlab的接口完全是透明的,通过调用Matlab提供的语音采集函数和命令可以对其进行访问。
而且,Matlab可以对其采集的数据进行实时的分析,也可在存储后再进行处理。
图1 语音信号采集框图第二章语音信号的MATLAB处理第一节语音信号的特点通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点:①在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。
利用这个特点,可以用一个防混迭的带通滤波器将此范围内的语音信号频率分量取出,然后按8kHz的采样率对语音信号进行采样,就可以得到离散的语音信号。
②在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。
在浊音段表现出周期信号的特征,在清音段表现出随机噪声的特征。
下面是一段语音信号的时域波形图(图2)和频域图(图3),由这两个图可以看出语音信号的两个特点。
Frequency(Hz)Time(s)x 104图2语音信号时域波形图图3语音信号频域波形图第三章语音信号的分析第一节语音信号分析技术语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理[8]。
而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分桥的准确性和精确性。
因此语音信号分析在语音信号处理应用中具有举足轻重的地位。
贯穿于语音分析全过程的是“短时分析技术”。
因为,语音信号从整体来看其特性及表征其本质特征的参数均是随时间而变化的,所以它是一个非乎稳态过程,不能用处理乎稳信号的数字信号处理技术对其进行分析处理。
但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在10~30ms的短时间内),其特性基本保持不变即相对稳定,因面可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。
所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”,将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为10~30ms。
这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列。
根据所分析出的参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。
本文将简要介绍时域分析、频域分析。
第二节语音信号的时域分析语音信号的时域分析就是分析和提取语音信号的时域参数。
进行语音分析时,最先接触到并且也是最直观的是它的时域波形。
语音信号本身就是时域信号,因而时域分析是最早使用,也是应用最广泛的一种分析方法,这种方法直接利用语音信号的时域波形。
时域分析通常用于最基本的参数分析及应用,如语音的分割、预处理、大分类等。
这种分析方法的特点是:①表示语音信号比较直观、物理意义明确。
②实现起来比较简单、运算且少。
③可以得到语音的一些重要的参数。
④只使用示波器等通用设备,使用较为简单等。
语音信号的时域参数有短时能量、短时过零率、短时白相关函数和短时平均幅度差函数等,这是语音信号的一组最基本的短时参数,在各种语音信号数字处理技术中都要应用[6]。
在计算这些参数时使用的一般是方窗或汉明窗。
对语音信号进行分析,发现发浊音时,尽管声道有若干个共振峰,但由于声门波引起谱的高频跌落,所以其话音能量约集中在3kHz以下。
而发清音时,多数能量出现在较高频率上。
高频就意味着高的平均过零率,低频意味着低的平均过零率,所以可以认为浊音时具有较低的过零率,而清音时具有较高的过零率。
当然,这种高低仅是相对而言,并没方精确的数值关系。
第三节语音信号的频域分析语音信号的频域分析就是分析语音信号的频域持征。
从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒频谱、频谱包络分析等,而常用的频域分析方法有带通滤波器组法、傅里叶变换法、线件预测法等几种。
本文介绍的是语音信号的傅里叶分析法。
因为语音波是一个非平稳过程,因此适用于周期、瞬变或平稳随机信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换对语音信号的频谱进行分析,相应的频谱称为“短时谱”。
根据时域和频域的分析,采集信号后的波形如图所示图4第四章语音信号的综合仿真分析第一节MATLAB波形图图5由图可以看出滤波后波形和频谱都有很大的变化语音信号虑除了高频部分。
第二节试验程序%做原始语音信号的时域图形fs=22050; %语音信号采样频率为22050 [fname,pname]=uigetfile('1.wav','Open Wave File');file=[pname,fname];[x1,fs,bits]=wavread(file); % 读入声音文件(*.wav)sound(x1,22050); %播放语音信号y1=fft(x1,1024); %对信号做1024点FFT变换f=fs*(0:511)/1024;figure(1)plot(x1) %做原始语音信号的时域图形title('原始语音信号');xlabel('time n');ylabel('fuzhi n');figure(2)freqz(x1) %绘制原始语音信号的频率响应图title('频率响应图')figure(3)subplot(2,1,1);plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱')subplot(2,1,2);plot(f,abs(y1(1:512)));title('原始语音信号频谱')xlabel('Hz');%语音信号通过低通滤波器clear;close all;[fname,pname]=uigetfile('1.wav','Open Wave File');file=[pname,fname];[y,fs,bits]=wavread(file); % 读入声音文件(*.wav)sound(y,fs,bits);Y=fft(y,4096);fb=3000;fc=3500;As=27;Ap=1;fs=22050;wc=2*fc/fs; wb=2*fb/fs;[N,Wc]=buttord(wc,wb,1,27,'s')[b,a]=butter(N,Wc,'s');[h,f]=freqz(a,b);plot(f*fs/(2*pi),abs(h));figure(1);freqz(b,a,512,fs);x=filter(b,a,y);X=fft(x,4096);figure(2);subplot(2,2,1);plot(y);title('滤波前信号波形');subplot(2,2,2);plot(Y);title('滤波前信号频谱');Subplot(2, 2 ,3);plot(x);title('滤波后信号波形'); Subplot(2, 2 ,4);plot(abs(X));title('滤波后信号频谱'); sound(x,fs,bits);第五章设计体会这次课程设计,给我留下了很深的印象。