数字信号处理期末实验-语音信号分析与处理-(2)
- 格式:doc
- 大小:2.88 MB
- 文档页数:19
语音信号处理实验报告实验二一、实验目的本次语音信号处理实验的目的是深入了解语音信号的特性,掌握语音信号处理的基本方法和技术,并通过实际操作和数据分析来验证和巩固所学的理论知识。
具体而言,本次实验旨在:1、熟悉语音信号的采集和预处理过程,包括录音设备的使用、音频格式的转换以及噪声去除等操作。
2、掌握语音信号的时域和频域分析方法,能够使用相关工具和算法计算语音信号的短时能量、短时过零率、频谱等特征参数。
3、研究语音信号的编码和解码技术,了解不同编码算法对语音质量和数据压缩率的影响。
4、通过实验,培养我们的动手能力、问题解决能力和团队协作精神,提高我们对语音信号处理领域的兴趣和探索欲望。
二、实验原理(一)语音信号的采集和预处理语音信号的采集通常使用麦克风等设备将声音转换为电信号,然后通过模数转换器(ADC)将模拟信号转换为数字信号。
在采集过程中,可能会引入噪声和干扰,因此需要进行预处理,如滤波、降噪等操作,以提高信号的质量。
(二)语音信号的时域分析时域分析是对语音信号在时间轴上的特征进行分析。
常用的时域参数包括短时能量、短时过零率等。
短时能量反映了语音信号在短时间内的能量分布情况,短时过零率则表示信号在单位时间内穿过零电平的次数,可用于区分清音和浊音。
(三)语音信号的频域分析频域分析是将语音信号从时域转换到频域进行分析。
通过快速傅里叶变换(FFT)可以得到语音信号的频谱,从而了解信号的频率成分和分布情况。
(四)语音信号的编码和解码语音编码的目的是在保证一定语音质量的前提下,尽可能降低编码比特率,以减少存储空间和传输带宽的需求。
常见的编码算法有脉冲编码调制(PCM)、自适应差分脉冲编码调制(ADPCM)等。
三、实验设备和软件1、计算机一台2、音频采集设备(如麦克风)3、音频处理软件(如 Audacity、Matlab 等)四、实验步骤(一)语音信号的采集使用麦克风和音频采集软件录制一段语音,保存为常见的音频格式(如 WAV)。
实验二语音信号的频域特性一、实验目的(1)结合汉语语音信号的各类音素和复元音的特点分析其频域性质;(2)熟悉语音信号的各类音素和复元音的频域参数;(3)熟悉声音编辑软件PRAAT的简单使用和操作。
二、实验记录与思考题1. 观察语音信号的频域特点,总结其规律。
浊音段:其谱线结构是与浊音信号中的周期信号密切相关。
具有与基音及其谐波对应的谱线。
频谱包络中有几个凸起点,与声道的谐振频率相对应。
这些凸起点为共振峰。
清音段:清音的频谱无明显的规律,比较平坦。
2.总结清音/b/p/m/f/d/t/n/l/g/k/h/j/q/x/z/c/s/zh/ch/sh/r/共21个的语谱图的规律,给出辅音的能量集中区;语谱图中的花纹有横杠、乱纹和竖直条。
横杠是与时间轴平行的几条深黑色带纹,它们是共振峰。
从横杠对应的频率和宽度可以确定相应的共振峰频率和带宽。
在一个语音段的语谱图中,有没有横杠出现是判断它是否是浊音的重要标志。
竖直条是语谱图中出现于时间轴垂直的一条窄黑条。
每个竖直条相当于一个基音,条纹的起点相当于声门脉冲的起点,条纹之间的距离表示基音周期,条纹越密表示基音频率越高。
b,p……清音的语谱图为乱纹。
辅音的能量集中区为:高频区3. 总结浊音/a/o/e/i/u/ü/ao/ai/ei/ou/ie /an/en/in/ang/eng/ong/ing/共18个的语谱图的规律,提取这18个浊音的基频、前三个共振峰频率4./r/、/m/、/n/、/l/ 从这几个音素的的基频、共振峰频率5.分析宽带语谱图和窄带语谱图的不同之处,请解释原因;语谱图中的花纹有横杠、乱纹和竖直条等。
横杠是与时间轴平行的几条深黑色带纹,它们是共振峰。
从横杠对应的频率和宽度可以确定相应的共振峰频率和带宽。
在一个语音段的语谱图中,有没有横杠出现是判断它是否是浊音的重要标志。
竖直条(又叫冲直条)是语谱图中出现与时间轴垂直的一条窄黑条。
每个竖直条相当于一个基音,条纹的起点相当于声门脉冲的起点,条纹之间的距离表示基音周期。
基于MA TLAB的语音信号分析与处理的实验报告数字信号课程设计,屌丝们有福了一.实验目的数字信号课程设计,屌丝们有福了综合计运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。
并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。
二.实验的基本要求数字信号课程设计,屌丝们有福了1.进一步学习和巩固MATLAB的使用,掌握MATLAB的程序设计方法。
2.掌握在windows环境下语音信号采集的方法。
3.掌握数字信号处理的基本概念、基本理论、原理和基本方法。
4.掌握MATLAB设计FIR和IIR数字滤波器的方法。
5.学会用MATLAB对信号进行分析和处理。
三.实验内容录制一段自己的语音信号,(语音信号声音可以理解成由振幅和相位随时间缓慢变化的正弦波构成。
人的听觉对声音的感觉特征主要包含在振幅信息中,相位信息一般不起作用。
在研究声音的性质时,往往把时域信息(波形图)变换得到它的频域信息(频谱),通过研究频谱和与频谱相关联的特征获得声音的特性。
)并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或者双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号发生的变化;回放语音信号。
数字信号课程设计,屌丝们有福了四.实验的实现(1).语音信号的采集采用windows下的录音机或者手机、其他的软件,录制一段自己的话音,时间控制在一分钟左右;然后在MATLAB软件平台下,利用函数wavread对自己的话音进行采样,记住采样的频率和采样的点数。
实验二 语音信号的时域分析一、 实验目的在理论学习的基础上,进一步理解和掌握语音信号短时能量、短时过零了分析的意义及基于matlab 的实现方法。
二、 实验原理语音是一时变的、非平稳的随机过程,但由于一段时间内(10-30ms)人的声带和声道形状的相对稳定性,可认为其特征是不变的,因而语音的短时谱具有相对稳定性。
在语音分析中可以利用短时谱的这种平稳性,将语音信号分帧。
10~30ms 相对平稳,分析帧长一般为20ms 。
语音信号的分帧是通过可移动的有限长度窗口进行加权的方法来实现的。
几种典型的窗函数有:矩形窗、汉明窗、哈宁窗、布莱克曼窗。
语音信号的能量分析是基于语音信号能量随时间有相当大的变化,特别是清音段的能量一般比浊音段的小得多。
定义短时平均能量[][]∑∑+-=∞-∞=-=-=nN n m m n m n w m x m n w m x E 122)()()()(下图说明了短时能量序列的计算方法,其中窗口采用的是直角窗。
过零就是信号通过零值。
对于连续语音信号,可以考察其时域波形通过时间轴的情况。
而对于离散时间信号,如果相邻的取样值改变符号则称为过零。
由此可以计算过零数,过零数就是样本改变符号的次数。
单位时间内的过零数称为平均过零数。
语音信号x (n )的短时平均过零数定义为()[]()[]()()[]()[]()n w n x n x m n w m x m x Z m n *--=---=∑∞-∞=1sgn sgn 1sgn sgn式中,[]∙sgn 是符号函数,即()[]()()()()⎩⎨⎧<-≥=0101sgn n x n x n x短时平均过零数可应用于语音信号分析中。
发浊音时,尽管声道有若干个共振峰,但由于声门波引起了谱的高频跌落,所以其语音能量约集中干3kHz 以下。
而发清音时.多数能量出现在较高频率上。
既然高频率意味着高的平均过零数,低频率意味着低的平均过零数,那么可以认为浊音时具有较低的平均过零数,而清音时具有较高的平均过零数。
图1 任务一程序流程图1、音频信号采集道,只取第一个声道进行处理,接着使用sound函数以fs频率进行音频回放。
2、音频信号频域分析以采样间隔T划分时域并绘制出signal信号的时域波形;调用fft函数,对signal 进行快速傅里叶变换,用abs函数取傅里叶变换后结果的幅值进行幅频分析,绘制出频谱图。
在绘制频谱图时由于考虑到快速傅里叶变换的对称性,只取序列的前半部分进行观察分析。
3、音频信号分解为了实现音频信号的分解及合成,先对原信号的频谱图进行观察分析,发现原信号的主要能量集中在三个主要频率上,于是考虑用这三频率的正弦信号合成原信号。
为了求得这三个频率,先调用findpeaks函数找到频谱图上的各个局部极大值peak及其对应的位置locs,然后用sort对峰值点进行排序,找到最大的三个值,接着用find 函数找到这三个最大值在locs中的位置,也就知道了对应的频率。
这里有一个问题就是最小的峰值频率并不是在sort排序后的第三位而是在第四位,需要有一个调整;确定了主要谱线后,使用text函数进行峰值标注;4、音频信号合成接着将这三个谱线还原回时域正弦信号,幅度的比例等于对应频率上的幅度比例然后然后叠加,得到合成后的信号,绘制出时域波形,与原信号波形进行比较,接着对两个正弦信号进行fft,绘制出他们的频谱,然后对合成的信号进行fft,做出频谱图和原信号的频谱图进行比较.5、音频信号回放用sound函数进行原信号和合成信号的回放,比较差异。
实验内容二:任意音频信号的时域和频域分析及数字滤波器设计通过对任务具体内容的分析,可以建立出任务二程序框图如下,之后将对编程思想及思路进行介绍:图2任务二程序流程图1、音频信号采样自己录音频并另存为”ding.wav”后,先用audioread函数读取音频信号得到采样序列signal及对应采样频率fs,由于获取的音频信号是双声道,只取第一个声道进行处理。
2、时域采样使用audioread函数得到的采样序列signal及采样频率fs为过采样状态,此时我们对signal再进行等间隔采样,达到减少采样点数和降低采样频率的效果,进而实现合理采样状态signal2、fs2和欠采样状态signal1、fs1;使用sound函数分别对这两种采样状态进行回放。
一、设计目的1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解;2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力;3.培养自我学习的能力和对相关课程的兴趣;二、设计过程1、语音信号的采集采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样位数可以理解为声卡处理声音的解析度。
这个数值越大,解析度就越高,录制和回放的声音就越真实采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。
利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。
接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。
[x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。
2 、语音信号的频谱分析(1)首先画出语音信号的时域波形;程序段:x=x1(60001:1:120000); %截取原始信号60000个采样点plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A');(2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性;y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2)subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|');ylabel('幅度谱');subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱');(3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解;d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声3、设计数字滤波器(1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。
数字信号处理综合报告--数字音频信号的分析与处理级联系统的系统函数为宁可瑞滤波器(Linkwitz-Riley ),由两个巴特沃斯滤波器级联而成。
N 阶巴特沃夫滤波器等效宁可瑞滤波器的设计为了使设计的IIR 滤波器方便在DSP 上实现,常将滤波器转换为二阶节级联的形式。
设计好分频器后,为验证分频后的信号是否正121212l 212()()()()()()()()()B=conv(B ,B )A=conv(A ,A )B z B z B z H z H z Hz A z A z A z ===⇒⎧⇒⎨⎩确,可用白噪声信号作为输入信号,然后对分频后的信号进行频谱分析。
三、仪器设备1.硬件:计算机一台,耳机。
2.软件:MATLAB R2010b四、实验步骤任意选择两种类型的IIR数字滤波器,设计一个二分频的数字分频器,已知系统的采样率为48000Hz。
(1)分频点为2000Hz;(2)要求给出类似图8.3的幅频特性图,分频器的幅频响应平坦,在分频点处最多不能超过3dB的偏差;(3)滤波器必须是二阶节形式;(4)给出相位特性图;(5)用频谱分析的方法验证设计好的分频器;(6)对选用的两种类型的滤波器效果进行对比。
滤波器设计的基本步骤:根据分频点要求初始化参数(截止调用MATLAB函数设计滤波器评估滤波器性能五、数据记录我选择要设计的合成滤波器为ButterWorth IIR滤波器和Linkwitz-Riley IIR 滤波器。
1.设计程序设计程序如下:(以4阶巴特沃斯滤波器、宁可瑞滤波器设计的分频器程序为例(分频器阶数为8阶))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%设计分频器clear;clc;fs = 48000;%采样频率为48000Hzfc = 2000;%分频点为2000Hzwc = 2 * fc / fs;N = 4; %滤波器阶数,分频器阶数为2*N[BL,AL] = butter(N,wc); %计算巴特沃思低通滤波器系统函数B,A系数[BH,AH] = butter(N,wc,'high'); %计算巴特沃思高通滤波器系统函数B,A系数[magHH,w]=freqz(BH,AH);%计算巴特沃思高通滤波器幅频特性magHH=20*log10(abs(magHH));f=w*fs/(2*pi);%把数字频率w转换为模拟频率f[BL1,AL1] = butter(N/2,wc);[BH1,AH1] = butter(N/2,wc,'high');BL1=conv(BL1,BL1); %计算宁可瑞低通滤波器系统函数B,A系数AL1 = conv(AL1,AL1);BH1=conv(BH1,BH1);%计算宁可瑞高通滤波器系统函数B,A系数AH1 = conv(AH1,AH1);[magHH1,w1]=freqz(BH1,AH1);%计算宁可瑞高通滤波器幅频特性magHH1=20*log10(abs(magHH1));f1=w1*fs/(2*pi);semilogx(f,magHH,'-.r',f1,magHH1,'b');hold on;[magHL,w]=freqz(BL,AL);%计算巴特沃思低通滤波器幅频特性magHL=20*log10(abs(magHL));f=w*fs/(2*pi);[magHL1,w1]=freqz(BL1,AL1);%计算宁可瑞低通滤波器幅频特性magHL1=20*log10(abs(magHL1));f1=w1*fs/(2*pi);semilogx(f,magHL,'-.r',f1,magHL1,'b');hold on;B=conv(BL,AH)+conv(BH,AL); %计算巴特沃思滤波器并联系统的系统函数A=conv(AL,AH);[magH,w]=freqz(B,A); %计算巴特沃思滤波器并联系统幅频特性magH=20*log10(abs(magH));f=w*fs/(2*pi);B1=conv(BL1,AH1)+conv(BH1,AL1); %计算宁可瑞滤波器并联系统的系统函数A1=conv(AL1,AH1);[magH1,w1]=freqz(B1,A1); %计算宁可瑞滤波器并联系统幅频特性magH1=20*log10(abs(magH1));f1=w1*fs/(2*pi);semilogx(f,magH,'-.r',f1,magH1,'b');legend('巴特沃斯滤波器','宁可瑞滤波器');title('IIR分频器的幅度特性');axis([100 20000 -40 10]);hold ongrid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %分析巴特沃斯滤波器及其设计的分频器的幅频特性、零极点分布%巴特沃斯低通subplot(2,2,1);zplane(BL,AL);title('巴特沃斯低通滤波器的零极点分布')[HL,wL]=freqz(BL,AL);subplot(2,2,2);plot(wL/pi,abs(HL));title('巴特沃斯低通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wL/pi,angle(HL));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('巴特沃斯低通滤波器的相频特性')%巴特沃斯高通subplot(2,2,1);zplane(BH,AH);title('巴特沃斯高通滤波器的零极点分布')[HH,wH]=freqz(BH,AH);subplot(2,2,2);plot(wH/pi,abs(HH));title('巴特沃斯高通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wH/pi,angle(HH));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('巴特沃斯高通滤波器的相频特性')%设计的分频器subplot(2,2,1);zplane(B,A);title('分频器的零极点分布')[H,w]=freqz(B,A);subplot(2,2,2);plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('分频器的幅度特性')subplot(2,2,4);plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('分频器的相频特性') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %分析宁可瑞滤波器及其设计的分频器的幅频特性、零极点分布%宁可瑞低通subplot(2,2,1);zplane(BL1,AL1);title('宁可瑞低通滤波器的零极点分布')[HL1,wL1]=freqz(BL1,AL1);subplot(2,2,2);plot(wL1/pi,abs(HL1));title('宁可瑞低通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wL1/pi,angle(HL));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('宁可瑞低通滤波器的相频特性')%宁可瑞高通subplot(2,2,1);zplane(BH1,AH1);title('宁可瑞高通滤波器的零极点分布')[HH1,wH1]=freqz(BH1,AH1);subplot(2,2,2);plot(wH1/pi,abs(HH1));title('宁可瑞高通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wH1/pi,angle(HH1));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('宁可瑞高通滤波器的相频特性')%设计的分频器subplot(2,2,1);zplane(B1,A1);title('分频器的零极点分布')[H1,w1]=freqz(B1,A1);subplot(2,2,2);plot(w1/pi,abs(H1));xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('分频器的幅度特性')subplot(2,2,4);plot(w1/pi,angle(H));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('分频器的相频特性') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %滤波效果验证%巴特沃斯设计的分频器滤波效果[hB,g]=tf2sos(B,A) %调用函数tf2sos,将巴特沃斯滤波器设计的分频器转换成二阶节形式[xB,fs,bits]=wavread('E:\white.wav');X=fft(xB,1024);for i=1:size(hB)xB=filter(hB(i,1:3),hB(i,4:6),xB);%二阶节级联形式对白噪声进行滤波处理endwavwrite(xB,fs,bits,'e:\巴特沃斯设计的分频器滤波后信号.wav')%将滤波后的噪声保存YB=fft(xB,1024);k=0:1023;N=1024;wk=2*k/N;subplot(211);plot(wk,abs(X));xlabel('\omega/\pi'); title('原始白噪声信号频谱')subplot(212);plot(wk,abs(YB));xlabel('\omega/\pi');title('巴特沃斯设计的分频器滤波后信号频谱') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [hL,gL=tf2sos(B1,A1) %调用函数tf2sos,将宁可瑞滤波器设计的分频器转换成二阶节形式[xL,fs,bits]=wavread('E:\white.wav');X=fft(xL,1024);for i=1:size(hL)xL=filter(hL(i,1:3),hL(i,4:6),xL); %二阶节级联形式对白噪声进行滤波处理endwavwrite(xL,fs,bits,'e:\宁可瑞设计的分频器滤波后信号.wav')%将滤波后的噪声保存YL=fft(xL,1024);k=0:1023;N=1024;wk=2*k/N;subplot(211);plot(wk,abs(X));xlabel('\omega/\pi'); title('原始白噪声信号频谱')subplot(212);plot(wk,abs(YL));xlabel('\omega/\pi');title('宁可瑞设计的分频器滤波后信号频谱') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2.图形记录[figure1]两种滤波器设计的分频器的幅度特性曲线:101010-40-35-30-25-20-15-10-50510IIR 分频器的幅度特性巴特沃斯滤波器宁可瑞滤波器[figure2]巴特沃思低通滤波器的零极点分布和幅频特性:-1-0.500.514Real PartI m a g i n a r y P a r t巴特沃斯低通滤波器的零极点分布0.5100.511.5巴特沃斯低通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)巴特沃斯低通滤波器的相频特性[figure3]巴特沃思高通滤波器的零极点分布和幅频特性:-1-0.500.514Real PartI m a g i n a r y P a r t巴特沃斯高通滤波器的零极点分布0.5100.511.5巴特沃斯高通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)巴特沃斯高通滤波器的相频特性[figure4]巴特沃思滤波器设计的分频器的零极点分布和幅频特性:-112222Real PartI m a g i n a r y P a r t分频器的零极点分布00.5111.21.41.61.8ω/π|H (e j ω)|分频器的幅度特性0.51-4-2024ω/πφ(ω)分频器的相频特性[figure5]宁可瑞低通滤波器的零极点分布和幅频特性:-1-0.500.51422Real Part I m a g i n a r y P a r t宁可瑞低通滤波器的零极点分布00.5100.51宁可瑞低通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)宁可瑞低通滤波器的相频特性[figure6]宁可瑞高通滤波器的零极点分布和幅频特性:-1-0.500.51422Real PartI m a g i n a r y P a r t宁可瑞高通滤波器的零极点分布00.5100.51宁可瑞高通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)宁可瑞高通滤波器的相频特性[figure7]宁可瑞滤波器设计的分频器的零极点分布和幅频特性:-1133Real PartI m a g i n a r y P a r t分频器的零极点分布00.511111ω/π|H (e j ω)|分频器的幅度特性0.51-4-2024ω/πφ(ω)分频器的相频特性[figure8]巴特沃思滤波器设计的分频器的滤波效果的频谱分析:00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π原始白噪声信号频谱00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π巴特沃斯设计的分频器滤波后信号频谱[figure9]宁可瑞滤波器设计的分频器的滤波效果的频谱分析:00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π原始白噪声信号频谱00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π宁可瑞设计的分频器滤波后信号频谱[figure10]将白噪声音频文件通过分频器处理后保存为wav 文件:3.数据记录[hB,g]=tf2sos(B,A) %将巴特沃斯滤波器设计的分频器转换成二阶节形式得到数据:1.0000-2.3646 1.4480 1.0000-1.55900.61401.0000-1.55910.6141 1.0000-1.55910.6141h g = 0.70971.0000-1.63300.6906 1.0000-1.75770.81981.0000-1.75780.8198 1.0000-1.75780.8198B ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦[hL,gL]=tf2sos(B1,A1) %将宁可瑞滤波器设计的分频器转换成二阶节形式 得到数据:1.0000-2.3646 1.4480 1.0000-1.63060.68861.0000-1.63290.6905 1.0000-1.63330.69050.69061.0000-1.63290.6906 1.0000-1.63270.69071.0000-1.63310.6907 1.0000-1.63540.6926hL gL ⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎣⎦六、实验结果讨论1.对巴特沃思滤波器设计的分频器及滤波效果进行讨论根据调用tf2sos 函数得到的数据可以得出二阶节级联形式的分频器的系统函数:1212121212121212(1 2.3646 1.448z )(1 1.55910.6141z )(1-1.6330+0.6906z )(1-1.7578+0.8198z )(z)0.7097(1-1.5590+0.6140z )(1-1.5591+0.6141z )(1-1.7577+0.8198z )(1-1.7578+0.8198z )z z z z H z z z z -----------------+-+=从[figure1]分频器的幅度特性曲线可以看出巴特沃思滤波器设计的分频器整体较为平整,高低通并联而成的分频器系统在分频点2000hz 的地方有3dB 左右的偏差。
通信与信息工程学院信息处理综合实验报告班级:电子信息工程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仿真软件的工作环境中,输入命令对语音信号进行时域,频谱变换。
数字信号处理实验内容音频信号分析与处理数字信号处理实验内容——音频信号采集、分析及处理一、实验目的1.以音频信号为例,熟悉模拟信号数字处理过程,进一步理解数字信号处理概念。
2.掌握运用Matlab实现对音频信号的时频分析方法;3.初步掌握数字音频信号合成的方法。
4.掌握运用Matlab设计IIR和FIR滤波系统的方法;5.掌握运用Matlab实现对加噪的音频信号进行去噪滤波的方法。
锻炼学生运用所学知识独立分析问题解决问题的能力,培养学生创新能力。
二、实验性质综合分析、设计性实验三、实验任务实验内容一:windows系统中的“ding”音频信号的采集、分析、合成1.音频信号的采集编写Matlab程序,采集windows系统中的“ding”声,得到*.wav音频文件,而后实现音频信号回放。
2.音频信号的频谱分析运用Matlab软件实现对音频信号的时域分析和频域分析,并打印相应的图形,完成在实验报告中。
注意:此音频信号的频谱包含两条主要谱线,在进行频谱分析时,注意频谱的完整性,利用MATLAB实现对两条主要谱线的定位并计算谱线所对应的模拟频率。
3.音频信号的分解和合成运用Matlab软件实现音频信号的分解与合成,将音频信号的频谱中两部分频谱成分进行分解,分别绘制出分解后的两个信号的频谱图;然后将分解后的两个信号再合成为一个新的信号,将合成后的新信号的时域、频域图与原来的信号时域、频域图相比较,绘制出对比效果图。
4.音频信号的回放运用Matlab软件实现音频信号的回放,将合成后的新信号和原音频信号分别进行回放,对比两个信号的声音效果。
5.音频信号分段傅里叶分析(选作)分析对一般音频.wav信号进行一次性傅里叶分析时存在的主要问题,利用分段傅里叶变换对该音频信号重新分析并合成。
对比一次傅里叶分析结果并进行总结。
实验内容二:任意音频信号的时域和频域分析及数字滤波器设计1.音频信号的采集音频信号的采集可以通过Windows自带的录音机也可以用专用的录制软件录制一段音频信号(尽量保证无噪音、干扰小),也可以直接复制一段音频信号(时间为1s),但必须保证音频信号保存为.wav 的文件。
语音信号处理实验班级:学号:姓名:2015年10月语音信号处理实验实验学时数:8实验学分:0.5实验项目数:41、目的与基本要求实验为研究型(设计型)实验,共安排4个,为了真正达到研究设计型实验的目的,采用开放实验的办法,将自主学习和研究设计型实验结合起来,统一安排。
自主学习内容由学生自主学习参考教材的内容,并采用多种渠道,如查阅最新语音信号处理方面的科技文献、资料,作出学习报告。
目的是培养学生的自学能力和科技文献的检索和查阅能力,同时可以有助于学生了解和掌握语音信号处理领域的最新技术进展和应用情况,将理论知识和实际应用结合起来,促进学生学习的积极性和主动性。
通过开放实验,目的使学生进一步理解数字语音信息处理的基本方法,提高学生自主分析、发现及解决问题的能力,锻炼学生论文写作能力,为实际的应用打下扎实的基础。
2、研究设计型实验的内容1)研究设计型实验1:基于MATLAB的语音信号时域特征分析要求:按所学相关语音处理的知识,通过网上学习、资料查阅,自己设计程序,给出某一语音信号的短时过零率、短时能量、短时自相关特征的分析结果,并借助时域分析方法检测所分析语音信号的基音周期。
2)研究设计型实验2:基于MATLAB分析语音信号频域特征要求:按所学相关语音处理的得知识,通过网上学习、资料查阅,自己设计程序,给出某一语音信号的短时谱、倒谱、语谱图的分析结果,并借助频域分析方法检测所分析语音信号的基音周期或共振峰。
3)研究设计型实验3:基于MATLAB进行语音信号的LPC分析要求:按所学相关语音处理的知识,通过网上学习、资料查阅,自己设计程序,给出某一语音信号的LPC分析结果,包括LPC谱、LPCC谱的分析结果,并借助LPC分析方法检测所分析语音信号的基音周期和共振峰。
4)研究设计型实验4:基于VQ的特定人孤立词语音识别研究要求:按所学相关语音处理的知识,通过网上学习、资料查阅,借助MATLAB工具,自己设计基于VQ的码本训练程序和识别程序(尽量选用所学HMM或DTW方法设计识别程序),能识别特定人的语音,分析所设计系统的特性。
一、设计目的1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解;2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力;3.培养自我学习的能力和对相关课程的兴趣;二、设计过程1、语音信号的采集采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样位数可以理解为声卡处理声音的解析度。
这个数值越大,解析度就越高,录制和回放的声音就越真实采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。
利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。
接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。
[x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。
2 、语音信号的频谱分析(1)首先画出语音信号的时域波形;程序段:x=x1(60001:1:120000); %截取原始信号60000个采样点plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A');(2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性;y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2)subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|');ylabel('幅度谱');subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱');(3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解;d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声3、设计数字滤波器(1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。
实验二语音信号分析与处理2010第一篇:实验二语音信号分析与处理2010实验一语音信号分析与处理学号姓名注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。
2)请在授课教师规定的时间内完成;3)完成作业后,请以word格式保存,文件名为:学号+姓名4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。
1.实验目的(1)学会MATLAB的使用,掌握MATLAB的程序设计方法(2)掌握在windows环境下语音信号采集的方法(3)掌握MATLAB设计FIR和IIR滤波器的方法及应用(4)学会用MATLAB对语音信号的分析与处理方法2.实验内容录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR滤波器和窗函数法设计出FIR滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。
3.实验步骤1)语音信号的采集与回放利用windous下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav格式保存,如wql.wav),时间控制再2秒之内,利用MATLAB提供的函数wavread对语音信号进行采样,提供sound函数对语音信号进行回放。
[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率nbits表示采样位数。
Wavread的更多用法请使用help命令自行查询。
2)语音信号的频谱分析利用fft函数对信号进行频谱分析3)受白噪声干扰的语音信号的产生与频谱分析①白噪声的产生:N1=sqrt(方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因)然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号N2;带通滤波器的冲激响应为:hB(n)=ωc2πsinc(ωc2π(n-α))-ωc1πsinc(ωc1π(n-α))其中ωc1为通带滤波器的下截止频率,ωc2为通带滤波器的上截止频率。
语音信号处理实验报告专业班级电子信息1203学生姓名钟英爽指导教师覃爱娜完成日期2015年4月28日电子信息工程系信息科学与工程学院实验一语音波形文件的分析和读取一、实验学时:2 学时二、实验的任务、性质与目的:本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。
通过实验(1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等;(2)掌握语音信号的录入方式和*.WAV音波文件的存储结构;(3)使学生初步掌握语音信号处理的一般实验方法。
三、实验原理和步骤:WAV 文件格式简介WAV 文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。
每个WAV 文件的头四个字节就是“RIFF”。
WAV 文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV 文件标识段和声音数据格式说明段两部分。
常见的WAV 声音文件有两种,分别对应于单声道(11.025KHz 采样率、8Bit 的采样值)和双声道(44.1KHz 采样率、16Bit 的采样值)。
采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。
对于单声道声音文件,采样数据为8 位的短整数(short int 00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16 位的整数(int),高八位和低八位分别代表左右两个声道。
WAV 文件数据块包含以脉冲编码调制(PCM)格式表示的样本。
在单声道WAV 文件中,道0 代表左声道,声道1 代表右声道;在多声道WAV 文件中,样本是交替出现的。
WAV 文件的格式表1 wav文件格式说明表(1)选取WINDOWS 下MEDIA 中的任一WAV 文件,采用播放器进行播放,观察其播放波形,定性描述其特征;(2)录入并存储本人姓名语音文件(姓名.wav),根据WAV 文件的储格式,利用MATLAB 或C 语言,分析并读取文件头和数据信息;(3)将文件的通道数、采样频率、样本位数和第一个数据读取并示出来。
语音信号处理实验报告实验一1 用Matlab读取一段话音(自己录制一段,最好其中含有汉语四种声调变化,该段话音作为本课实验原始材料),绘制原始语音波形图。
2. 用Matlab计算这段语音的短时平均过零率、短时平均能量和短时平均幅度,并将多个波形同步显示绘图。
3.观察各波形在不同音情况下的参数特点,并归纳总结其中的规律。
clc clc;[x,fs]=wavread('benpao.wav');figureplot(x);axis([0 length(x) min(x) max(x)]);title('原始语音波形')xlabel('时间')f=enframe(x,300,100);[m,n]=size(f);for i=1:menergy(i)=sum(f(i,1:n).^2);mn(i)=sum(abs(f(i,1:n)));endfigureplot(energy);axis([0 length(energy) min(energy) max(energy)]);title('短时能量')figureplot(mn);axis([0 length(mn) min(mn) max(mn)]);title('短时幅度')lingd=zeros(m);for x=1:mfor y=1:n-1temp=f(x,y)*f(x,y+1) ;if temp<= 0lingd(x)=lingd(x)+1;endend%temp1=num(x,1)/300;%count(x)=temp1;endfigureplot(lingd);%axis([0 length(lingd) min(lingd) max(lingd)]);title('短时过零率')子函数:function f=enframe(x,win,inc)%定义函数。
实验报告一、 实验目的、要求(1)掌握语音信号采集的方法(2)掌握一种语音信号基音周期提取方法(3)掌握短时过零率计算方法(4)了解Matlab 的编程方法二、 实验原理基本概念:(a )短时过零率:短时内, 信号跨越横轴的情况, 对于连续信号, 观察语音时域波形通过横轴的情况;对于离散信号, 相邻的采样值具有不同的代数符号, 也就是样点改变符号的次数。
对于语音信号, 是宽带非平稳信号, 应考察其短时平均过零率。
其中sgn[.]为符号函数⎪⎩⎪⎨⎧<=>=0 x(n)-1sgn(x(n))0 x(n)1sgn(x(n))短时平均过零的作用1.区分清/浊音:浊音平均过零率低, 集中在低频端;清音平均过零率高, 集中在高频端。
2.从背景噪声中找出是否有语音, 以及语音的起点。
(b )基音周期基音是发浊音时声带震动所引起的周期性, 而基音周期是指声带震动频率的倒数。
基音周期是语音信号的重要的参数之一, 它描述语音激励源的一个重要特征, 基音周期信息在多个领域有着广泛的应用, 如语音识别、说话人识别、语音分析与综合以及低码率语音编码, 发音系统疾病诊断、听觉残障者的语音指导等。
因为汉语是一种有调语言, 基音的变化模式称为声调, 它携带着非常重要的具有辨意作用的信息, 有区别意义的功能, 所以, 基音的提取和估计对汉语更是一个十分重要的问题。
由于人的声道的易变性及其声道持征的因人而异, 而基音周期的范围又很宽, 而同—个人在不同情态下发音的基音周期也不同, 加之基音周期还受到单词∑--=-=10)]1(sgn[)](sgn[21N m n n n m x m x Z发音音调的影响, 因而基音周期的精确检测实际上是一件比较困难的事情。
基音提取的主要困难反映在: ①声门激励信号并不是一个完全周期的序列, 在语音的头、尾部并不具有声带振动那样的周期性, 有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。
语音信号处理实验报告 The Standardization Office was revised on the afternoon of December 13, 2020语音信号处理实验报告——语音信号分析实验一.实验目的及原理语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理,并且语音合成的音质好坏和语音识别率的高低,都取决于对语音信号分析的准确性和精确性。
贯穿语音分析全过程的是“短时分析技术”。
因为从整体来看,语音信号的特性及表征其本质特征的参数均是随时间变化的,所以它是一个非平稳态过程,但是在一个短时间范围内(一般认为在10~30ms的时间内),其特性基本保持不变,即相对稳定,可将其看做一个准稳态过程,即语音信号具有短时平稳性。
所以要将语音信号分帧来分析其特征参数,帧长一般取为10ms~30ms。
二.实验过程男声及女声(蓝色为时域信号,红色为每一帧的能量,绿色为每一帧的过零率)某一帧的自相关函数3.频域分析①一帧信号的倒谱分析和FFT及LPC分析②男声和女声的倒谱分析对应的倒谱系数:,,……对应的LPC预测系数:1,,,,,……原语音波形一帧语音波形一帧语音的倒谱③浊音和清音的倒谱分析④浊音和清音的FFT分析和LPC分析(红色为FFT图像,绿色为LPC图像)三.实验结果分析1.时域分析实验中采用的是汉明窗,窗的长度对能否由短时能量反应语音信号的变化起着决定性影响。
这里窗长合适,En能够反应语音信号幅度变化。
同时,从图像可以看出,En可以作为区分浊音和清音的特征参数。
短时过零率表示一帧语音中语音信号波形穿过横轴(零电平)的次数。
从图中可以看出,短时能量和过零率可以近似为互补的情况,短时能量大的地方过零率小,短时能量小的地方过零率较大。
从浊音和清音的时域分析可以看出,清音过零率高,浊音过零率低。
从男声女声的时域信号对比图中可以看出,女音信号在高频率分布得更多,女声信号在高频段的能量分布更多,并且女声有较高的过零率,这是因为语音信号中的高频段有较高的过零率。
通信工程学院12级1班 罗恒 2012101032实验二 基于MATLAB 的语音信号频域特征分析一、 实验要求要求根据已有语音信号,自己设计程序,给出其倒谱、语谱图的分析结果,并根据频域分析方法检测所分析语音信号的基音周期或共振峰。
二、 实验目的信号的傅立叶表示在信号的分析与处理中起着重要的作用。
因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。
另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。
由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。
输出频谱是声道系统频率响应与激励源频谱的乘积。
声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。
由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。
三、 实验设备1.PC 机;2.MATLAB 软件环境;四、 实验内容1.上机前用Matlab 语言完成程序编写工作。
2.程序应具有加窗(分帧)、绘制曲线等功能。
3.上机实验时先调试程序,通过后进行信号处理。
4.对录入的语音数据进行处理,并显示运行结果。
5.依次给出其倒谱、语谱图的分析结果。
6. 根据频域分析方法检测所分析语音信号的基音周期或共振峰。
五、 实验原理及方法1、短时傅立叶变换由于语音信号是短时平稳的随机信号,某一语音信号帧的短时傅立叶变换的定义为:其中w(n-m)是实窗口函数序列,n 表示某一语音信号帧。
令n-m=k',则得到()()()jw jwm n m X e x m w n m e ∞-=-∞=-∑于是可以得到假定则可以得到同样,不同的窗口函数,将得到不同的傅立叶变换式的结果。
由上式可见,短时傅立叶变换有两个变量:n 和ω,所以它既是时序n 的离散函数,又是角频率ω的连续函数。
数字信号处理期末实验-语音信号分析与处理-(2)语音信号分析与处理摘要用MATLAB对语音信号进行分析与处理,采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。
数字滤波器是数字信号处理的基础,用来对信号进行过滤、检测和参数估计等处理。
IIR数字滤波器最大的优点是给定一组指标时,它的阶数要比相同组的FIR滤波器的低的多。
信号处理中和频谱分析最为密切的理论基础是傅立叶变换(FT)。
离散傅立叶变换(DFT)和数字滤波是数字信号处理的最基本内容。
关键词:MATLAB;语音信号;加入噪声;滤波器;滤波设计目的与要求(1)待处理的语音信号是一个在20Hz~20kHz频段的低频信号。
(2)要求MATLAB对语音信号进行分析和处理,采集语音信号后,在MATLAB平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器进行滤除噪声,恢复原信号。
设计步骤(1)选择一个语音信号或者自己录制一段语音文件作为分析对象;(2)对语音信号进行采样,并对语音信号进行FFT频谱分析,画出信号的时域波形图和频谱图;(3)利用MATLAB自带的随机函数产生噪声加入到语音信号中,对语音信号进行回放,对其进行FFT频谱分析;(4)设计合适滤波器,对带有噪声的语音信号进行滤波,画出滤波前后的时域波形图和频谱图,比较加噪前后的语音信号,分析发生的变化;(5)对语音信号进行回放,感觉声音变化。
设计原理及内容理论依据(1)采样频率:采样频率(也称采样速度或者采样率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。
采样频率只能用于周期性采样的采样器,对于非周期采样的采样器没有规则限制。
通俗的讲,采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。
采样频率越高,即采样的间隔时间越短,则在单位之间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。
(2)采样位数:即采样值或取样值,用来衡量声音波动变化的参数。
(3)采样定理:在进行模拟/数字信号的的转换过程中,当采样频率f s.max大于信号中,最高频率f max的2倍时,即:f s.max>=2f max,则采样之后的数字信号完整的保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样频率又称乃奎斯特定理。
(4)时域信号的FFT分析:信号的频谱分析就是计算信号的傅立叶变换。
连续信号与系统的傅立叶分析显然不便于直接用计算机进行计算,使其应用受到限制。
而FFT是一种时域和频域均离散化的变换,适合数值计算,成为用计算机分其中W N= ,N为DFT变换空间长度。
信号采集从网上下载一段wav格式的文件,把文件“000.wav”保存在MATLAB文件夹下的work文件夹中,以.wav格式保存,这是windows操作系统规定的声音文件保存的标准。
[x1,fs]=audioread('000.wav');%把语音信号进行加载入MATLAB仿真软件平台中,采样值放在向量x1中,fs表示采样频率(Hz)x=x1(1:5000,1);%对双声道信号取单声道并取其5000点X=fft(x,4096);%对信号做4096点FFT变换调用参数x为被变换的时域序列向量,变换区间长度为4096,当x小于4096时,fft函数自动在x后面补零。
函数返回x的4096点DFT变换结果X。
当x大于4096时,fft函数计算x前面4096个元素构成的长序列的4096点DFT,忽略x后面的元素。
进行图形分区,首先画出语音信号的时域波形,然后对其进行频谱分析。
在MATLAB中利用fft对信号进行快速傅立叶变换,得到信号的频谱特性。
magX=abs(X);%把傅里叶变换后的复数值取模subplot(2,1,1);%图形分区plot(x);title('原始信号波形');%绘制波形f=(0:2047)*fs/2/2048;%单位转换subplot(2,1,2);plot(f,magX(1:2048));title('原始信号频谱');其程序如下:[x1,fs]=audioread('000.wav'); %读取语音信号x=x1(1:5000,1);%对双声道信号取单声道并取其5000点X=fft(x,4096);%对信号做4096点FFT变换magX=abs(X);%把傅里叶变换后的复数值取模subplot(2,1,1);%图形分区plot(x);title('原始信号波形');%绘制波形f=(0:2047)*fs/2/2048;%单位转换subplot(2,1,2);plot(f,magX(1:2048));title('原始信号频谱');sound(x1,fs)程序结果如下图:加噪语音信号并对其FFT频谱分析其程序如下:[x,fs]=audioread('000.wav');n=length(x);x_p=fft(x,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(x);title('原始语音信号采样后的时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(x_p(1:n/2)));title('原始语音信号采样后的频谱图');xlabel('频率Hz');ylabel('频率幅值');L=length(x);noise=(cos(6000/fs*pi*n)+cos(10000/fs*pi*n)+cos(15000/fs*pi*n))*0.5; x_z=x+noise';sound(x_z,fs)n=length(x);x_zp=fft(x_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(x_z);title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(x_zp(1:n/2)));title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');sound(x_z,fs)程序结果如下图:加入噪声后得到的信号和原始的语音信号有明显的不同。
数字滤波器设计设计数字滤波器的任务就是寻找一个因果稳定的线性时不变系统,并使系统函数H(z)具有指定的频率特性。
本实验采用MATLAB工具箱函数buttord设计数字低通IIR滤波器。
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);figure(1)%subplot(3,1,1)plot(w,abs(h));xlabel('频率/Hz');ylabel('幅值');title('巴特沃斯低通滤波器幅度特性');axis([0,5000,0,1.2]); grid on;figure(2)%subplot(3,1,2)plot(w,20*log10(abs(h)));xlabel('频率/Hz');ylabel('幅值db');title('巴特沃斯低通滤波器幅度特性db');axis([0,5000,-90,10]); grid on;figure(3)plot(w,180/pi*unwrap(angle(h)));xlabel('频率/Hz');ylabel('相位');title('巴特沃斯低通滤波器相位特性');axis([0,5000,-1000,10]) ;grid on; [s1,Fs]=audioread('000.wav');x1=s1(:,1);sound(x1,Fs);N1=length(x1);Y1=fft(x1,N1);f1=Fs*(0:N1-1)/N1; t1=(0:N1-1)/Fs; figure(4)plot(f1,abs(Y1))xlabel('频率/Hz');ylabel('幅度');title('原始信号频谱');grid on;axis([0 6000 0 400])y=filter(num,den,x1);sound(y,Fs);N2=length(y);Y2=fft(y,N2);f2=Fs*(0:N2-1)/N2;t2=(0:N2-1)/Fs;figure(5)plot(f2,abs(Y2))xlabel('频率/Hz');ylabel('幅度');title('过滤后信号的频谱'); grid on;axis([0 6000 0 100])程序结果如下图:信号处理巴特沃斯滤波器利用函数filter进行滤波。
用设计的滤波器对含噪声的语音信号进行滤波。
其程序如下:[x,fs]=audioread('000.wav');x1=x(:,1); %获取单列语音信号并对其做FFT变换N1=length(x1);fx1=fft(x1);w1=2/N1*[0:N1/2-1];n=0:N1-1;y=0.05*(cos(2*pi*n*3000/fs)+cos(2*pi*n*5000/fs)+cos(2*pi*n*80 00/fs)); %设计三余弦混合噪声信号N2=length(y); %对三余弦混合噪声信号做FFT变换fy=fft(y);w2=2/N2*(0:N2/2-1)*fs/2;hdx=x1+y'; %产生加噪后的语音信号并对其做FFT变换M=length(hdx);fhdx=fft(hdx); w3=2/M*(0:M/2-1);figure %画出单列信号语音信号的频谱图、三余弦混合噪声信号的离散信号图 %及其频谱图和加噪后语音信号的频谱图subplot(2,2,1);plot(w1,abs(fx1(1:N1/2)));subplot(2,2,2);stem((0:127),y(1:128));abs(fy(1:N2/2));subplot(2,2,3);plot(w3,abs(fhdx(1:M/2)));sound(hdx,fs); % 语音信号有电流声,而且噪声比较明显。