对录制语音信号的采样和滤波处理
简述语音信号处理的关键技术

简述语音信号处理的关键技术语音信号处理是一门研究如何对语音信号进行分析、合成、增强、压缩等处理的学科。
在语音通信、语音识别、语音合成等领域都有广泛的应用。
本文将以简述语音信号处理的关键技术为标题,介绍语音信号处理的几个关键技术。
一、语音信号的数字化语音信号是一种连续的模拟信号,为了进行数字化处理,首先需要对其进行采样和量化。
采样是指在一定时间间隔内对语音信号进行测量,将其离散化;量化是指将采样得到的连续幅值值域离散化为一组有限的幅值级别。
通过采样和量化,将语音信号转换为离散的数字信号,为后续的数字信号处理提供了基础。
二、语音信号的预处理语音信号中可能存在噪声、回声等干扰,需要对其进行预处理。
常用的预处理方法有滤波和语音增强。
滤波是通过滤波器对语音信号进行去噪处理,常用的滤波器有陷波滤波器、带通滤波器等。
语音增强是通过增强语音信号中的有用信息,提高语音信号的质量。
常用的语音增强方法有谱减法、波束形成等。
三、语音信号的特征提取语音信号中包含了大量的特征信息,如频率、能量等。
为了方便后续的分析和处理,需要对语音信号进行特征提取。
常用的特征提取方法有短时能量、过零率、倒谱系数等。
这些特征可以用来描述语音信号的时域和频域特性,为语音识别等任务提供基础。
四、语音信号的压缩与编码语音信号具有较高的数据量,为了减少存储和传输的开销,需要对语音信号进行压缩与编码。
语音信号压缩是指通过一系列的算法和技术,将语音信号的冗余信息去除或减少,从而减小信号的数据量。
常用的语音信号压缩算法有线性预测编码(LPC)、矢量量化、自适应差分编码等。
五、语音信号的识别与合成语音识别是指将语音信号转换为对应的文字或命令,是语音信号处理的一个重要应用。
语音识别技术可以分为基于模型的方法和基于统计的方法。
基于模型的方法是指通过建立声学模型和语言模型,利用模型的匹配程度来进行识别。
基于统计的方法是指通过统计分析语音信号和文本之间的关系,利用统计模型进行识别。
数字信号处理课程设计-语音信号的处理与滤波-精品

工学院数字信号处理课程设计说明书设计题目语音信号的处理与滤波系别计算机工程系专业班级通信061学生姓名学号指导教师日期日摘要:本文主要利用MATLAB工具采用双线性法和窗函数法设计IIR滤波器和FIR数字滤波器,并通过所设计的滤波器进行语音信号滤波分析,初步学会信号处理的过程和分析问题的能力。
关键词:MA TLAB 滤波器设计一.引言随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。
数字信号处理在通信语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。
二.MATLAB工具简介1.MA TLAB是矩阵实验室(Matrix Laboratory)之意,现已发展成为适合多学科,多种工作平台的功能强大的大型软件,已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;2.MA TLAB的语言特点(1)。
语言简洁紧凑,使用方便灵活,库函数极其丰富。
MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。
由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。
(2)运算符丰富。
由于MA TLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MA TLAB的运算符将使程序变得极为简短。
(3)MA TLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
(4)程序限制不严格,程序设计自由度大。
例如,在MA TLAB里,用户无需对矩阵预定义就可使用。
(5)程序的可移植性很好,基本上不做修改就可在各种型号的计算机和操作系统上运行。
(6)MA TLAB的图形功能强大。
在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。
语音信号的滤波处理及时频域分析

语音信号的滤波处理及时频域分析一、问题提出用录音工具录制一段声音,然后用MATLAB对于此语音信号进行分析和处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
二、问题分析A:理论原理(1) 采样频率采样频率也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。
通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。
采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。
(2) 采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。
(3) 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。
(4) 时域信号的FFT分析信号的频谱分析就是计算信号的傅立叶变换。
连续信号与系统的傅立叶分析显然不便于用计算机进行计算,使其应用受到限制。
而FFT是一种时域和频域均离散化的变换,适合数值运算,成为用计算机分析离散信号和系统的有力工具。
对连续信号和系统,可以通过时域采样,应用DFT进行近似谱分析。
(5) 数字信号的滤波器原理和方法(6) 离散傅立叶变换B:信号读取分析及其处理(1)采样把用录音工具录的声音转化为wav格式的文件,然后保存到MATLAB的文件夹下的work文件夹中。
在MATLAB软件平台下,利用wavread函数对语音信号进行采样,下面是原是信号波形及频谱图:(2) 构造受干扰信号并对其进行FFT频谱分析(3)用窗函数法设计IIR带通滤波器(4)用窗函数法设计FIR低通滤波器(5)信号处理用设计好的数字滤波器对含噪声的语音信号进行滤波,在MATLAB中FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波,在一个窗口同时画出滤波前后的波形及频谱如下图。
基于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 重要应用的领域之一。
MAAB声音信的采集与滤波处理

Matlab 实验报告(题目二)(题目二)声音信号的采集与滤波处理(采用IIR滤波器或FIR滤波器)参考资料:信号的采集、数字信号处理及滤波实例要求:(1)采集声音信号或打开已录好的声音文件,并显示其信号图与频域图。
(2)根据信号的特点,选用合适的滤波器,给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带最大衰减Rp=1 dB; 阻带最小衰减Rs=15 dB,对信号进行滤波。
在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte,cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应,滤波器设计完后,用filter函数用这些数字滤波器对含噪语音信号分别进行滤波处理。
(3)还原音乐信号,并画出其时域图与频域图,并与原始信号比较,且回放音乐信号。
(1)打开一个自己录制的音乐文件进行实验,这是实验程序:fs=22050; %语音信号采样频率为22050x1=wavread('e:\威尼斯的泪.wav'); %读取语音信号的数据,赋给变量x1sound(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');ylabel('fuzhi');实验效果(2)实验程序clear;fs=22050;x1=wavread('e:\威尼斯的泪.wav');f=fs*(0:511)/1024;t=0:1/22050:(length(x1)-1)/22050; %将所加噪声信号的点数调整到与原始信号相同%Au=1d=[0.5*cos(2*pi*1000*t)]'; %噪声为1kHz的余弦信号x2=x1+d;%sound(x1,8000);%pause(50);sound(x2,22050); %播放加噪声后的语音信号y2=fft(x2,1024);figure(1)plot(t,x2)title('加噪后的信号');xlabel('time n');ylabel('fuzhi n');figure(2)subplot(2,1,1);plot(f,abs(x1(1:512)));title('原始语音信号频谱');xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(x2(1:512)));title('加噪后的信号频谱');xlabel('Hz');ylabel('fuzhi');实验效果(3)实验程序fs=22050; x1=wavread('e:\威尼斯的泪.wav');t=0:1/22050:(length(x1)-1)/22050;Au=0.5; d=[Au*cos(2*pi*8000*t)]';x2=x1+d;wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=15;Fs=22050;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); %创建butterworth模拟滤波器[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))gridxlabel('频率/Hz')ylabel('频率响应幅度')title('Butterworth')f1=filter(bz,az,x2);figure(2)subplot(2,1,1)plot(t,x2) %画出滤波前的时域图title('滤波前的时域波形');subplot(2,1,2)plot(t,f1); %画出滤波后的时域图title('滤波后的时域波形');sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512))); %画出滤波前的频谱图title('滤波前的频谱')xlabel('Hz');ylabel('fuzhi');subplot(2,1,2)F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');实验结果:。
语音信号的采集及预处理

实验语音信号的采集及预处理一、实验目的在理论学习的基础上,进一步地理解和掌握语音信号预处理及短时加窗的意义及基于matlab的实现方法。
二、实验原理及内容1.语音信号的录音、读入、放音等:练习matlab中几个音频处理函数,利用函数wavread对语音信号进行采样,记住采样频率和采样点数,给出以下语音的波形图(),wavread 的用法参见mablab帮助文件。
利用wavplay或soundview放音。
也可以利用wavrecord自己录制一段语音,并进行以上操作(需要话筒)。
实验程序:I=wavread('');Fs=256;soundview(I,Fs);实验结果:2.语音信号的分帧:对语音信号进行分帧,可以利用voicebox工具箱中的函数enframe。
voicebox工具箱是基于GNU协议的自由软件,其中包含了很多语音信号相关的函数。
实验程序:I=wavread('');y=enframe(I,256,128);whos y I实验结果:Name Size Bytes Class AttributesI 9000x1 72000 doubley 69x256 141312 double3 . 语音信号的加窗:本步要求利用window函数设计窗口长度为256(N=256)的矩形窗(rectwin)、汉明窗(hamming)及汉宁窗(hann)),利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。
观察信号加矩形窗及汉明窗后的波形,利用subplot与reshape 函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。
取出其中一帧,利用subplot与reshape函数将一帧语音的波形、加矩形窗波形及加汉明窗波形画在一张图上比较将得出结论。
(1)利用wvtool函数观察其时域波形图及频谱特性,比较得出结论。
实验程序:N = 256;w = window(@rectwin,N);w1 = window(@hamming,N);w2 = window(@hann,N);wvtool(w,w1,w2)实验结果:(2)观察信号加矩形窗及汉明窗后的波形,利用subplot与reshape函数将分帧后波形、加矩形窗波形及加汉明窗波形画在一张图上比较。
音频处理技术方案

音频处理技术方案概述音频处理是指对音频信号进行处理和优化的过程。
在今天数字音频技术的发展下,音频处理技术应用广泛,如音频剪辑、音频增强、音频去噪等。
本文将介绍音频处理的基本原理和常见的音频处理技术方案。
音频处理的基本原理音频处理的基本原理是根据音频信号的特点,利用数字信号处理技术对音频信号进行分析、处理和重构。
主要包括以下几个步骤:1.采样:将模拟音频信号转换为数字音频信号。
采用固定的采样频率和采样位数,将连续的模拟信号离散化为离散的数字信号。
2.滤波:对音频信号进行滤波处理,以去除不需要的频率成分或噪声。
3.增强:通过调整音频信号的增益和均衡,增强音频的清晰度和音质。
4.去噪:对音频信号进行降噪处理,以提高音频的质量和可听度。
5.变声:对音频信号进行音调、声色等方面的变换,以实现特定的声音效果。
常见的音频处理技术方案1. 音频剪辑音频剪辑是一种常见的音频处理技术,用于去除音频中的不需要部分或者将多段音频拼接成一段音频。
常见的音频剪辑操作包括:•裁剪:根据需要的音频长度,裁剪掉不需要的部分。
•拼接:将多段音频按照时间顺序拼接成一段音频。
•重采样:调整音频的采样率,改变音频的播放速度。
2. 音频增强音频增强是一种提高音频质量和音量的处理技术。
常见的音频增强技术包括:•均衡器:调整音频的频谱平衡,增强特定频率段的音量。
•压缩:对音频动态范围进行压缩,使音频更加平衡和清晰。
•限幅:限制音频的最大幅度,避免音频失真。
3. 音频去噪音频去噪是一种降低音频中噪声干扰的处理技术。
常见的音频去噪技术包括:•频域滤波:通过分析音频的频域特性,滤除频谱中的噪声成分。
•时域滤波:通过分析音频的时域特性,滤除时间上的噪声成分。
•混响消除:通过建模和去除音频中的混响成分,减少噪声干扰。
4. 变声变声是一种改变音频声音特性的处理技术,常用于音频编辑、语音合成等应用。
常见的变声技术包括:•音调变换:改变音频的音调,使其变为男声或女声等特定声音。
语音信号的滤波处理-精品

语音信号的滤波处理胡勇200921011003一、概述语音信号的滤波处理是数字信号处理领域目前发展最为迅速的信息科学研究领域的核心技术之一,通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
简单的语音信号滤波处理的基本流程如下框图:二、语音信号预处理(一)信号采样利用麦克风录制一段语音1,在MATLAB中,利用函数wavread.m将其转化为数字向量,并使用函数sound.m进行处理前声音回放,以便比对。
(二)频率确定人的语音信号频率一般集中在200 Hz到4.5 kHz之间,通过将信号从时域到频域的变换,以确定语音信号频率实际范围,来决定滤波器的设计类型。
若噪声为加性的,采用简单的频谱分析即可确定语音信号频率范围;但若噪声为乘性的或卷积性的,则需利用倒谱进行分析,此时采用同态滤波器(homomorphic filtering),即广义线性滤波器的基本思路来去噪。
如Figure 1频谱图所示,该语音信号中人的语音频率主要集中在0—700Hz 之间,而相对的大于700Hz的几个凸起则为噪声;在倒谱图中,除开始和结束1语音文件可从/u/ish?uid=1713628781处获得,信号采样频率为11025Hz,采样大小8Bit,单声道.有一定的卷积性噪声影响外,其他时间可以确定为加性噪声的影响。
三、滤波器设计数字滤波器(Digital Filter)根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分为四种,即低通(LP, Low Pass)、高通(HP, High Pass)、带通(BP, Band Pass)和带阻(BS ,Band Stop)滤波器。
一般而言,大多数噪声都存在于高频部分。
本文拟采用Butterworth滤波器,Chebyshev I型滤波器,窗函数,Chebyshev 一致逼近法等设计的滤波器进行除噪处理。
(一) Butterworth滤波器信号频率集中在0—700Hz之间,于是将低通滤波器技术要求,定为通带截止频率为700Hz,阻带下限截止频率为1000Hz,通带衰减为0.25dB,阻带衰减为50dB。
语音信号处理与滤波

语音信号处理与滤波班级: xxxxxx学号: xxxxx 姓名: xxx 指导老师: xxx 成绩:二○一五年五月二十七目录一、设计要求 (1)二、设计步骤 (1)2.1 理论依据 (1)2.2 信号采集 (1)2.3 构造受干扰信号并对其进行FFT频谱分析 (1)2.4 数字滤波器设计 (1)2.5 信号处理 (2)三、课程设计实现 (2)3.1 语音信号的采集 (2)3.2 语音信号的FFT频谱分析 (2)3.3 构造受干扰信号并对其进行FFT频谱分析 (4)3.4 设计数字滤波器 (6)3.5 用滤波器对加噪语音信号进行滤波 (7)3.6 比较滤波前后语音信号的波形及频谱 (7)四、心得体会 (9)五、参考文献............................. 错误!未定义书签。
六、源程序代码 (11)一、设计要求本次课程设计要求利用MATLAB对语音信号进行数字信号处理和分析,要求采集语音信号后,在MA TLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
二、设计步骤2.1 理论依据根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的概念,采样定理;时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较),阐明设计原理。
2.2 信号采集采集语音信号,并对其进行FFT频谱分析,画出信号时域波形图和频谱图。
2.3 构造受干扰信号并对其进行FFT频谱分析对所采集的语音信号加入干扰噪声,对语音信号进行回放,感觉加噪前后声音的变化,分析原因,得出结论。
并对其进行FFT频谱分析,比较加噪前后语音信号的波形及频谱,对所得结果进行分析,阐明原因,得出结论。
2.4 数字滤波器设计根据待处理信号特点,设计合适数字滤波器,绘制所设计滤波器的幅频和相频特性。
2.5 信号处理用所设计的滤波器对含噪语音信号进行滤波。
语音信号的滤波处理

语音信号的滤波处理胡勇200921011003一、概述语音信号的滤波处理是数字信号处理领域目前发展最为迅速的信息科学研究领域的核心技术之一,通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
简单的语音信号滤波处理的基本流程如下框图:二、语音信号预处理(一)信号采样利用麦克风录制一段语音1,在MATLAB中,利用函数wavread.m将其转化为数字向量,并使用函数sound.m进行处理前声音回放,以便比对。
(二)频率确定人的语音信号频率一般集中在200 Hz到4.5 kHz之间,通过将信号从时域到频域的变换,以确定语音信号频率实际范围,来决定滤波器的设计类型。
若噪声为加性的,采用简单的频谱分析即可确定语音信号频率范围;但若噪声为乘性的或卷积性的,则需利用倒谱进行分析,此时采用同态滤波器(homomorphic filtering),即广义线性滤波器的基本思路来去噪。
如Figure 1频谱图所示,该语音信号中人的语音频率主要集中在0—700Hz 之间,而相对的大于700Hz的几个凸起则为噪声;在倒谱图中,除开始和结束1语音文件可从/u/ish?uid=1713628781处获得,信号采样频率为11025Hz,采样大小8Bit,单声道.有一定的卷积性噪声影响外,其他时间可以确定为加性噪声的影响。
三、滤波器设计数字滤波器(Digital Filter)根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分为四种,即低通(LP, Low Pass)、高通(HP, High Pass)、带通(BP, Band Pass)和带阻(BS ,Band Stop)滤波器。
一般而言,大多数噪声都存在于高频部分。
本文拟采用Butterworth滤波器,Chebyshev I型滤波器,窗函数,Chebyshev 一致逼近法等设计的滤波器进行除噪处理。
(一) Butterworth滤波器信号频率集中在0—700Hz之间,于是将低通滤波器技术要求,定为通带截止频率为700Hz,阻带下限截止频率为1000Hz,通带衰减为0.25dB,阻带衰减为50dB。
利用matlab处理语音信号及滤波

数字信号处理课程设计摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
这为我们的本次设计提供了强大并良好的环境!本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。
再在Matlab中分别设计不同形式的FIR数字滤波器。
之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。
对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。
最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。
目录1.设计内容 (4)2.设计原理 (4)2.1语音信号的时域分析 (4)2.2语音信号的频域分析 (5)3.设计过程 (5)3.1实验程序源代码 (6)3.1.1原语音信号时域、频域图 (6)3.1.2低通滤波器的设计 (6)3.1.3高通滤波器的设计 (7)3.1.4带通滤波器的设计 (8)3.1.5语音信号的回放 (9)3.2调试结果描述 (10)3.3所遇问题及结果分析 (15)3.3.1所遇主要问题 (16)3.3.2结果分析 (16)4.体会与收获 (17)5.参考文献 (17)1.设计内容:1.首先录制好一段自己的语音。
2.用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。
3.用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。
4.用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。
2.设计原理:语音信号时一种非平稳的时变信号,它带着各种信息。
最新语音信号处理实验报告实验二

最新语音信号处理实验报告实验二实验目的:本实验旨在通过实际操作加深对语音信号处理理论的理解,并掌握语音信号的基本处理技术。
通过实验,学习语音信号的采集、分析、滤波、特征提取等关键技术,并探索语音信号处理在实际应用中的潜力。
实验内容:1. 语音信号采集:使用语音采集设备录制一段时长约为10秒的语音样本,确保录音环境安静,语音清晰。
2. 语音信号预处理:对采集到的语音信号进行预处理,包括去噪、归一化等操作,以提高后续处理的准确性。
3. 语音信号分析:利用傅里叶变换等方法分析语音信号的频谱特性,观察并记录基频、谐波等特征。
4. 语音信号滤波:设计并实现一个带通滤波器,用于提取语音信号中的特定频率成分,去除噪声和非目标频率成分。
5. 特征提取:从处理后的语音信号中提取关键特征,如梅尔频率倒谱系数(MFCC)等,为后续的语音识别或分类任务做准备。
6. 实验总结:根据实验结果,撰写实验报告,总结语音信号处理的关键技术和实验中遇到的问题及其解决方案。
实验设备与工具:- 计算机一台,安装有语音信号处理相关软件(如Audacity、MATLAB 等)。
- 麦克风:用于采集语音信号。
- 耳机:用于监听和校正采集到的语音信号。
实验步骤:1. 打开语音采集软件,调整麦克风输入设置,确保录音质量。
2. 录制语音样本,注意控制语速和音量,避免过大或过小。
3. 使用语音分析软件打开录制的语音文件,进行频谱分析,记录观察结果。
4. 设计带通滤波器,设置合适的截止频率,对语音信号进行滤波处理。
5. 应用特征提取算法,获取语音信号的特征向量。
6. 分析滤波和特征提取后的结果,评估处理效果。
实验结果与讨论:- 描述语音信号在预处理、滤波和特征提取后的变化情况。
- 分析实验中遇到的问题,如噪声去除不彻底、频率成分丢失等,并提出可能的改进措施。
- 探讨实验结果对语音识别、语音合成等领域的潜在应用价值。
结论:通过本次实验,我们成功实现了语音信号的基本处理流程,包括采集、预处理、分析、滤波和特征提取。
Matlab对语音信号进行频谱分析及滤波

实验报告(题目)信号处理算法课程设计专业电子信息科学与技术班级电子09-1班学生陈年兴学号 09 指导教师刘利民完成时间 2012 年 6 月 14 日信号处理算法课程设计一、设计内容设计一:Matlab对语音信号进行频谱分析及滤波1、语音信号的采集录制了一段声音,在C盘保存为WAV格式(也可以利用已有的音乐)。
然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。
2、语音信号的频谱分析首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab 中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。
3、设计数字滤波器和画出其频谱响应设计一个数字滤波器:F c =1000 Hz,Fb=1200 Hz,Ap= 1dB,As=15dB,利用Matlab中的函数freqz画出了该滤波器的频率响应。
4、对滤波前后的信号进行对比,分析信号的变化,并回放语音信号。
一、处理程序如下所示:[y, Fs, nbits] =wavread('E:\yinpin\luyin.wav'); %读取语音信号的数据sound(y,Fs); %播放语音信号y1=fft(y,1024); %对信号做1024点FFT变换f=Fs*(0:511)/1024;figure(1);plot(y) %做原始语音信号的时域图形title('原始语音信号');xlabel('时间t');ylabel('幅度n');figure(2);subplot(2,1,1);plot(f,abs(y(1:512)));title('原始语音信号频谱'); xlabel('频率');ylabel('幅度');subplot(2,1,2);plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图title('原始语音信号FFT频谱'); xlabel('频率');ylabel('幅度');figure(3);freqz(y); %绘制原始语音信号的频率响应图title('频率响应图');二、设计一个数字滤波器:F c =1000 Hz,F b =1200 Hz,Ap= 1dB ,As=15dB 。
什么是计算机语音处理请解释几种常见的语音处理算法

什么是计算机语音处理请解释几种常见的语音处理算法计算机语音处理是指运用计算机科学和语音学的原理和技术,对语音信号进行分析、合成、识别以及转换的过程。
它涵盖了语音的数字化、特征提取、声音处理、辨识与合成等多个方面。
下面将介绍几种常见的语音处理算法。
一、数字化和预处理算法数字化是将模拟语音信号转换为数字形式的过程。
预处理则是在数字化之后对语音信号进行一系列的处理,以去除噪声、增强信号质量等。
常见的数字化算法包括采样和量化,预处理算法包括降噪和语音增强。
1. 采样:采样是指将连续的模拟语音信号转换为离散的数字信号。
通过对模拟信号进行等间隔的采样,可以在一段时间内记录下多个采样点,从而表示整个语音信号。
2. 量化:量化是指将离散的采样点映射为离散的数值,以表示语音信号的幅度。
通过量化算法,可以将连续的语音信号转换为离散的数字形式,方便计算机进行处理。
3. 降噪:降噪算法被广泛应用于语音处理领域,旨在去除语音信号中的噪声成分。
常见的降噪算法包括时域滤波和频域滤波等。
时域滤波主要通过滑动平均、中值滤波等方式对语音信号进行平滑处理,从而减少噪声的干扰。
频域滤波则是将语音信号转换到频域后,通过滤波器去除不需要的频率成分。
4. 语音增强:语音增强算法旨在提高语音信号的质量和清晰度,使其更易于识别和理解。
常见的语音增强算法包括谱减法、短时自适应滤波和频率倒谱等。
二、声学特征提取算法声学特征提取是指从语音信号中提取出反映语音特征的参数,以便用于语音识别、分类等任务。
常见的声学特征包括音频特征、声谱图、倒谱系数等。
1. 音频特征:音频特征是对语音信号在时域上的特征描述。
常见的音频特征包括短时能量、过零率、短时平均能量和短时自相关系数等。
2. 声谱图:声谱图是将语音信号转换到频域后得到的二维图像。
它可以直观地展示语音信号在各个频率上的强度分布情况,常用于语音分析和可视化等领域。
3. 倒谱系数:倒谱系数是语音信号在频域上的一个参数表示,通常用于声学模型的特征输入。
MATLAB处理语音信号

MATLAB处理语⾳信号⼀、实验项⽬名称语⾳信号的处理⼆、实验⽬的综合运⽤数字信号处理课程的理论知识进⾏频谱分析以及滤波器设计,通过理论推导得出相应结论,并进⾏计算机仿真,从⽽复习巩固了课堂所学的理论知识,提⾼了对所学知识的综合应⽤能⼒。
三、实验内容1. 语⾳信号的采集2. 语⾳信号的频谱分析3. 设计数字滤波器和画出频率响应4. ⽤滤波器对信号进⾏滤波5. ⽐较滤波前后语⾳信号的波形及频谱6. 回放语⾳信号四、实验具体⽅案1.语⾳信号采集录制⼀段语⾳信号并保存为⽂件,长度控制在1秒,并对录制的信号进⾏采样;录制时使⽤Windows⾃带的录⾳机。
采样是将⼀个信号(即时间或空间上的连续函数)转换成⼀个数值序列(即时间或空间上的离散函数)。
采样定理指出,如果信号是带限的,并且采样频率⾼于信号带宽的两倍,那么,原来的连续信号可以从采样样本中完全重建出来。
如果信号带宽不到采样频率的⼀半(即奈奎斯特频率),那么此时这些离散的采样点能够完全表⽰原信号。
⾼于或处于奈奎斯特频率的频率分量会导致混叠现象。
⼤多数应⽤都要求避免混叠,混叠问题的严重程度与这些混叠频率分量的相对强度有关。
⽤Windows⾃带录⾳机录⼊⼀段⾳乐,2秒钟,⽤audioread读取⾳频内容,这⾥不使⽤waveread是因为他要求⾳频⽂件格式为.wav ,并且我进⾏了尝试但没有成功,画出⾳频信号的时域波形图[y1,fs]=audioread('F:\MATLAB\ren.m4a');figure(1);plot( y1 );title('Ô原语⾳信号时域波形图');xlabel('单位');ylabel('幅度');2.语⾳信号频谱分析⾸先画出语⾳信号的时域波形,然后对语⾳信号进⾏频谱分析。
在matlab中利⽤fft对信号进⾏快速傅⾥叶变换,得到信号的频谱特性。
Matlab的信号处理⼯具箱中的函数FFT可⽤于对序列的快速傅⾥叶变换分析,其调⽤格式是y=fft(x,N),其中,x是序列,y是序列的FFT变换结果,N为整数,代表做N点的FFT,若x为向量且长度⼩于N,则函数将x补零⾄长度N;若向量x长度⼤于N,则截断x使之长度为N。
MATLAB声音信号的采集与滤波处理

Matlab 实验报告(题目二)(题目二)声音信号的采集与滤波处理(采用IIR滤波器或FIR滤波器)参考资料:信号的采集、数字信号处理及滤波实例要求:(1)采集声音信号或打开已录好的声音文件,并显示其信号图与频域图。
(2)根据信号的特点,选用合适的滤波器,给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:通带截止频率wp=0.25*pi, 阻通带截止频率ws=0.3*pi; 通带最大衰减Rp=1 dB; 阻带最小衰减Rs=15 dB,对信号进行滤波。
在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte,cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应,滤波器设计完后,用filter函数用这些数字滤波器对含噪语音信号分别进行滤波处理。
(3)还原音乐信号,并画出其时域图与频域图,并与原始信号比较,且回放音乐信号。
(1)打开一个自己录制的音乐文件进行实验,这是实验程序:fs=22050; %语音信号采样频率为22050x1=wavread('e:\威尼斯的泪.wav'); %读取语音信号的数据,赋给变量x1sound(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');ylabel('fuzhi');实验效果(2)实验程序clear;fs=22050;x1=wavread('e:\威尼斯的泪.wav');f=fs*(0:511)/1024;t=0:1/22050:(length(x1)-1)/22050; %将所加噪声信号的点数调整到与原始信号相同%Au=1d=[0.5*cos(2*pi*1000*t)]'; %噪声为1kHz的余弦信号x2=x1+d;%sound(x1,8000);%pause(50);sound(x2,22050); %播放加噪声后的语音信号y2=fft(x2,1024);figure(1)plot(t,x2)title('加噪后的信号');xlabel('time n');ylabel('fuzhi n');figure(2)subplot(2,1,1);plot(f,abs(x1(1:512)));title('原始语音信号频谱'); xlabel('Hz');ylabel('fuzhi');subplot(2,1,2);plot(f,abs(x2(1:512))); title('加噪后的信号频谱'); xlabel('Hz');ylabel('fuzhi');实验效果(3)实验程序fs=22050; x1=wavread('e:\威尼斯的泪.wav');t=0:1/22050:(length(x1)-1)/22050;Au=0.5; d=[Au*cos(2*pi*8000*t)]';x2=x1+d;wp=0.25*pi;ws=0.3*pi;Rp=1;Rs=15;Fs=22050;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); %创建butterworth模拟滤波器[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))gridxlabel('频率/Hz')ylabel('频率响应幅度')title('Butterworth')f1=filter(bz,az,x2);figure(2)subplot(2,1,1)plot(t,x2) %画出滤波前的时域图title('滤波前的时域波形');subplot(2,1,2)plot(t,f1); %画出滤波后的时域图title('滤波后的时域波形');sound(f1,22050); %播放滤波后的信号F0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x2,1024);subplot(2,1,1);plot(f,abs(y2(1:512))); %画出滤波前的频谱图title('滤波前的频谱')xlabel('Hz');ylabel('fuzhi');subplot(2,1,2)F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');实验结果:。
音频采集与数字滤波实验总结

音频采集与数字滤波实验总结
音频采集与数字滤波是数字信号处理中的重要实验内容,我将从实验目的、实验步骤、实验结果及注意事项四个方面总结实验内容。
实验目的:
通过音频采集器采集外部声音信号,并对其进行数字滤波处理,实现信号去噪和滤波功能,以此来分析和学习数字信号处理中的知识。
实验步骤:
1. 连接音频采集器和计算机,并安装驱动程序;
2. 打开音频采集软件,进行声音采集;
3. 将采集到的声音信号输入到数字滤波器中;
4. 配置数字滤波器参数,包括滤波类型、通带频率、阻带频率等;
5. 进行数字滤波处理,并输出处理后的信号;
6. 对比原始信号和处理后的信号,并进行分析。
实验结果:
通过实验,我们可以看到数字滤波器对信号进行了去噪和滤波处理,处理后的信号明显比原始信号更加清晰。
同时,我们也可以根据实验结果对数字信号处理有更深入的认识和理解。
注意事项:
1. 实验时应选择合适的输入信号源,避免噪声或失真等问题;
2. 在进行数字滤波处理前,需要仔细选择合适的滤波器参数,以避免滤波器失效或滤波效果不理想的情况出现;
3. 实验过程中,采集设备需要保持稳定,避免一些不必要的干扰。
总之,音频采集与数字滤波实验是数字信号处理中非常经典和重要的实验内容之一,通过实验可以深入理解数字信号处理的基本理论和实践应用。
语音信号的采集-滤波-回放

语音信号的采集-滤波-回放数字滤波器是一种用来过滤时间离散信号的数字系统,它是通过对抽样数据进行数学处理来达到频域滤波的目的。
随着现代通信的数字化,数字滤波器变得更加重要。
数字滤波器的种类很多,但总的来说可以分成两大类,一类是经典滤波器,另一类可称为现代滤波器。
从滤波特性方面考虑,数字滤波器可分成数字高通、数字低通、数字带通和数字带阻等滤波器。
从实现方法上考虑,将滤波器分成两种,一种称为无限脉冲响应滤波器,简称IIR(Infinite Impulse Response)滤波器,另一种称为FIR(Finite Impulse Response)滤波器[1]。
设计FIR数字滤波器的方法有窗函数法、频率采样法和等波纹最佳逼近法等。
实验原理FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
有限长单位冲激响应(FIR)滤波器有以下特点:(1) 系统的单位冲激响应h(n)在有限个n值处不为零;(2) 系统函数H(z)在|z|>0处收敛,极点全部在z=0处(因果系统);(3) 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
FIR滤波器的系统函数用下式表示:。
H(n)就是FIR滤波器的单位脉冲响应。
FIR滤波器最重要的优点就是由于不存在系统极点,FIR滤波器是绝对稳定的系统。
相较于IIR滤波器,FIR滤波器有以下的优点:(1)可以很容易地设计线性相位的滤波器。
线性相位滤波器延时输入信号,却并不扭曲其相位。
(2)实现简单。
在大多数DSP处理器,只需要对一个指令积习循环就可以完成FIR计算。
(3)适合于多采样率转换,它包括抽取(降低采样率),插值(增加采样率)操作。
MatLab对语音信号进行频谱分析及滤波

数字信号处理综合实验报告综合实验名称:应用Matlab对语音信号进行频谱分析及滤波系:学生姓名:班级:通信学号:11成绩:指导教师:开课时间:2011-2012学年上学期一.综合实验题目应用MatLab对语音信号进行频谱分析及滤波二.主要内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;课程设计应完成的工作:1、语音信号的采集;2、语音信号的频谱分析;3、数字滤波器的设计;4、对语音信号进行滤波处理;5、对滤波前后的语音信号频谱进行对比分析;三.具体要求1、学生能够根据设计内容积极主动查找相关资料;2、滤波器的性能指标可以根据实际情况作调整;3、对设计结果进行独立思考和分析;4、设计完成后,要提交相关的文档;1)课程设计报告书(纸质和电子版各一份,具体格式参照学校课程设计管理规定),报告内容要涵盖设计题目、设计任务、详细的设计过程、原理说明、、频谱图的分析、调试总结、心得体会、参考文献(在报告中参考文献要做标注,不少于5篇)。
2)可运行的源程序代码(电子版)在基本要求的基础上,学生可以根据个人对该课程设计的理解,添加一些新的内容;四.进度安排五.成绩评定(1)平时成绩:无故旷课一次,平时成绩减半;无故旷课两次平时成绩为0分,无故旷课三次总成绩为0分。
迟到15分钟按旷课处理(2)设计成绩:按照实际的设计过程及最终的实现结果给出相应的成绩。
(3)设计报告成绩:按照提交报告的质量给出相应的成绩。
课程设计成绩=平时成绩(30%)+设计成绩(30%)+设计报告成绩(40%)应用MatLab对语音信号进行频谱分析及滤波第一章实验任务录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。
对录制语音信号的采样和滤波处理

数字信号处理期中作业学号:XXXXXXX姓名:XX.题目:对录制语音信号的采样和滤波处理. 时间:XX年XX月.一、课题准备1.安装所需的软件主要包括MATLAB,语音录制软件2.查阅相关MATLAB的资料,搜集并记录所需滤波器的算法的调用方法.(在这次课题中我采用的是巴特沃斯滤波器.)二、课题目的1.通过课余的自我的学习MATLAB的使用,加深对书本理论知识的理解,提升自身的实际应用能力;2.巩固所学的数字信号处理理论知识,让自己对信号的采集、处理、传输、显示和存储等有一个系统性的掌握和理解;3.培养自我学习的能力和对相关课程的兴趣;三、课题内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在根据自己给定滤波器的性能指标,采用双线性变换设计滤波器;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。
四、具体实现1.语音信号的采集利用WaveCN录音机,录制一段自己的话音,时间在10 s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,我们很快理解了采样频率、采样位数等概念。
2.语音信号的频谱分析首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。
3.语音的滤波利用巴特沃斯低通滤波器滤去带外的噪声。
4.语音处理前后的对比。
五、实验程序部分以及图形部分%画原始信号的时域波形图。
>> fs=22050;>> x1=wavread('test');>> sound(x1,22050);>> y1=fft(x1,1024);>> f=fs*(0:511)/1024;>> figure(1);>> plot(x1);>> title('原始语音信号');>> xlabel('time');>> ylabel('幅值 n');>> axis([4*10^4,10^5,-2,2]);图像如下:%画原语音信号的频谱图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数
字
信
号
处
理
期中作业学号:XXXXXXX
姓名:XX.
题目:对录制语音信号的采样和滤波处理. 时间:XX年XX月.
一、课题准备
1.安装所需的软件主要包括MATLAB,语音录制软件
2.查阅相关MATLAB的资料,搜集并记录所需滤波器的算法的调用方法.(在这次课题中我采用
的是巴特沃斯滤波器.)
二、课题目的
1.通过课余的自我的学习MATLAB的使用,加深对书本理论知识的理解,提升自身的实际应用能力;
2.巩固所学的数字信号处理理论知识,让自己对信号的采集、处理、传输、显示和存储等有一个系统性的掌握和理解;
3.培养自我学习的能力和对相关课程的兴趣;
三、课题内容
录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在根据自己给定滤波器的性能指标,采用双线性变换设计滤波器;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。
四、具体实现
1.语音信号的采集
利用WaveCN录音机,录制一段自己的话音,时间在10 s内。
然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,我们很快理解了采样频率、采样位数等概念。
2.语音信号的频谱分析
首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。
3.语音的滤波
利用巴特沃斯低通滤波器滤去带外的噪声。
4.语音处理前后的对比。
五、实验程序部分以及图形部分
%画原始信号的时域波形图。
>> fs=22050;
>> x1=wavread('test');
>> sound(x1,22050);
>> y1=fft(x1,1024);
>> f=fs*(0:511)/1024;
>> figure(1);
>> plot(x1);
>> title('原始语音信号');
>> xlabel('time');
>> ylabel('幅值 n');
>> axis([4*10^4,10^5,-2,2]);
图像如下:
%画原语音信号的频谱图。
>> figure(2);
>> subplot(2,1,1);
>> plot(abs(y1(1:512)));
>> title('原始信号FFT频谱');
>> subplot(2,1,2);
>> plot(f,abs(y1(1:512)));
>> title('原始信号频谱');
>> xlabel('Hz');
>> ylabel('幅值');
图像如下:
%画巴特沃斯图
>> fs=22050;x1=wavread('');
>> t=0:1/22050:(size(x1)-1)/22050;
>> wp=*pi;ws=*pi;Rp=1;Rs=15;
>> Fs=22050;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); %创建butterworth模拟滤波器
>> [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('Butterworth')
图像如下:
%画滤波前的时域波形
>> f1=filter(bz,az,x1);
>> figure(2);subplot(2,1,1);plot(t,x1); %画出滤波前的时域图
>> title('滤波前的时域波形');
%画滤波后的时域波形
>>subplot(2,1,2);plot(t,f1); %画出滤波后的时域图
>> title('滤波后的时域波形');
图像如下:
%画滤波前的频谱
>>F0=fft(f1,1024);f=fs*(0:511)/1024;
>> figure(3)
>> y2=fft(x1,1024);
>> subplot(2,1,1);plot(f,abs(y2(1:512))); %画出滤波前的频谱图
>> title('滤波前的频谱');xlabel('Hz');ylabel('幅值');
%画滤波后的频谱
>>subplot(2,1,2);F1=plot(f,abs(F0(1:512))); %画出滤波后的频谱图
>> title('滤波后的频谱');xlabel('Hz');ylabel('幅值');
图像如下:
六、本次课题的总结与体会
应用MATLAB进行语音信号的处理是与我们所学课程及专业紧密相连的,有着很强的实践性,正因为如此,在做这个课题的过程中我也遇到了一些困难,但通过我的努力克服了这些困难,达到了预期的效果。
刚开始,在进行WAV格式语音信号处理的时候,程序始终现实如下错误提示:
Error using ==> wavread
Error using ==> wavread
Data compression format (IMA ADPCM) is not supported.
我在查阅了很多资料,在网上也查阅相关信息,花费了大量时间也没找出结果,最后发现在WAV格式的语音文件有两种格式,即PCM格式和IMA ADPCM格式,而在MATLAB中用wavread函数进行语音处理时,并不能直接处理IMA ADPCM格式的语音信号,经过格式转换之后(选择PCM格式),我运行出了正确的结果。
实验过程中,我很清楚的感觉到初始语音信号和滤波输出后的语音信号在音色上有一定的差别,这说明了信号在处理、传输过程中有损耗。
另外,在设计滤波器的过程中我采用的是双线性变化法,因此,不管对于什么样的课题,其实也是有很多东西可以发掘的,这需要我们在平时多积累,多思考,只有这样,才能取得更大的进步,才能学有所用,学有所长。