语音信号的数字滤波处理文档格式.docx
- 文档编号:17812773
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:42
- 大小:701.69KB
语音信号的数字滤波处理文档格式.docx
《语音信号的数字滤波处理文档格式.docx》由会员分享,可在线阅读,更多相关《语音信号的数字滤波处理文档格式.docx(42页珍藏版)》请在冰豆网上搜索。
在本次数字信号处理实习过程中,需要我们用自己设计的数字滤波器分别对被不同噪声污染的信号进行滤波。
数字滤波器可分为IIR和FIR两大类。
而且数字滤波是数字信号处理的重要容,对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;
对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。
根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。
数字滤波器可分为IIR和FIR两大类。
而且数字滤波是数字信号处理的重要内容,对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;
Digitalfiltercanbedividedintotwocategories:
IIRandFIR.Andthedigitalfilterisanimportantpartofdigitalsignalprocessing,forthedesignofIIRdigitalfilter,weneedthehelpofanalogprototypefilter,andthentheanalogfiltertransformationdigitalfilterandthedesignmethodispulseresponsemethod,two-waytransformationmethodandfullfunctiondesignmethod;
forthedesignofFIRdigitalfiltercanaccordingtothegiventhefrequencycharacteristicsofthedirectdesign,thedesignmethodisthewindowfunctionmethod.AccordingtothecharacteristicsofIIRfilterandFIRfilter,inthebadenvironmentoftheMATLABrespectivelywithbilineartransformdesignmethodofIIRandusingwindowfunctiondesignFIRdigitalfilterandontheacquisitionofthespeechsignalanalysis,finallygivestheIIRandFIRfilteringofthespeech.
1.1设计目的
此次课程设计的目的是为了让我们综合运用数字信号处理和MATLAB去设计语音信号去噪的数字滤波器,使学生加强自身通过实践发现问题,探讨问题从而解决问题的能力。
不但能够使学生对这门课程有更加深入的了解与运用而且能够让学生学会自主设计的具体步骤和方法,提高自我创新的能力,提高实际应用水平。
1.2设计容
(1)设计卷积运算的演示程序
可输入任意两个序列x1(n)、x2(n),指定x1(n)为自己的学号,x1(n)={2,0,1,15,7,0,5,0,2,1,2}例如x2(n)={1,2.43,6.17,12.93,22.17,32.25,40.88,45.87,45.87,40.88,132.25,22.17,12.93,6.17,2.43,1.0000}。
分别动态演示两个序列进行线性卷积x1(n)﹡x2(n)和圆周卷积x1(n)⊙x2
(n)的过程;
要求分别动态演示翻转、移位、乘积、求和的过程;
圆周卷积默认使用两个序列中的最大长度,但卷积前可以指定卷积长度N用以进行混叠分析;
改变圆周卷积长度N,根据实验结果分析2类卷积的关系。
在计算机操作系统下选一段声音文件(XP系统在“C:
\WINDOWS\Media”),读取文件取10ms的声音数据产生时域序列x1(n),序列容自定义。
利用x2(n)={1,2.43,6.17,12.93,22.17,32.25,40.88,45.87,45.87,40.88,32.25,22.17,12.93,6.17,2.43,1}。
利用FFT实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比(验证时采用matlab子函数)。
(2)编写程序演示采样定理(时域采样、频谱周期延拓),同时演示采样频率小于2fc时,产生的混叠效应
对下面连续信号进行采样:
,A为幅度因子,a为衰减因子,
为模拟角频率,其中n为学号(例如,王墨同学n=23),要求输入采样频率fs(根据程序处理需要指定围)后,在时域演示信号波形、采样脉冲与采样后信号;
在频域演示不同采样频率下对应信号的频谱。
1.3设计题目
①利用Windows下的录音机或其他软件,进行语音信号的采集(*.wav);
②语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图;
③产生噪声信号并加到语音信号中,得到被污染的语音信号,并回放语音信号;
④污染信号的频谱分析,画出被污染的语音信号时域波形和频谱;
⑤根据有关的频谱特性,采用间接法设计IIR数字滤波器,并画出相应滤波器的幅频、相频图(设计3个IIR滤波器)
a.模拟滤波器类型:
巴特沃思滤波器(低通、带通、高通)
b.总体要求:
Matlab原程序+仿真波形+技术指标
⑥根据有关的频谱特性,采用直接法设计FIR数字滤波器,并画出相应滤波器的幅频、相频图(设计3个FIR滤波器)
a.滤波器类型:
hamming窗(低通、带通、高通)
Matlab原程序+仿真波形+技术指标+窗函数
用自己设计的这些滤波器分别对被不同噪声污染的信号进行滤波
⑦用自己设计的这些滤波器分别对被不同噪声污染的信号进行滤波;
⑧分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;
⑨回放语音信号。
二设计指标要求
1.掌握数字信号处理的基本概念,基本理论和基本方法。
2.熟悉离散信号和系统的时域特性。
3.掌握序列快速傅里叶变换方法。
4.学会MATLAB的使用,掌握MATLAB的程序设计方法。
5.掌握利用MATLAB对语音信号进行频谱分析。
6.掌握滤波器的网络结构。
三预习题
3.1线性卷积
x1(n)={2,0,1,2,5,7,0,5,0,2,2,5},x2(n)={2,4,5,6,2,7,4,8,9,6,4,8,3,5,7,8},其线性卷积动态演示Matlab程序如下:
clf;
n1=1:
40;
n2=1:
x1=[zeros(1,12),2,0,1,2,5,7,0,5,0,2,2,5,zeros(1,16)];
x2=[zeros(1,12),2,4,5,6,2,7,4,8,9,6,4,8,3,5,7,8,zeros(1,12)];
x11=zeros(size(x1));
subplot(3,1,1)
stem(n1,x1)
subplot(3,1,2)
stem(n2,x2)
pause
(2);
fori=1:
24
x11(i)=x1(25-i);
end
fori=25:
40
x11(i)=0;
stem(n1,x11);
pause
(2)
x3=zeros(size(x11));
28
x11=[zeros(1,1),x11(1:
(40-1))];
x3(i)=sum(x11.*x2);
stem(n1,x11)
subplot(3,1,3)
x4=[zeros(1,12),x3(1:
i),zeros(1,28-i)];
stem(n1,x4)
运行结果:
图3.1线性卷积
3.2FFT快速卷积
x2(n)={1,2.43,6.17,12.93,22.17,32.25,40.88,45.87,45.87,40.88,32.25,22.17,12.93,6.17,2.43,1.0000},其FFT快速卷积Matlab程序如下:
x1=wavread('
c:
\Windows\Media\ding.wav'
10);
x1=x1'
;
x1=x1(1,:
);
x2=[12.436.1712.9322.1732.2540.8845.8745.8740.8832.2522.1712.936.172.431];
subplot(7,1,1);
stem(x1);
ylabel('
x1(n)'
title('
subplot(7,1,2);
stem(x2);
x2(n)'
y=conv(x1,x2);
subplot(7,1,3);
stem(y);
y'
x1(n)与x2(n)的卷积'
N1=length(x1);
N2=length(x2);
N=N1+N2-1;
X1=fft(x1,N);
X2=fft(x2,N);
subplot(7,1,4);
stem(X1);
X1'
x1(n)的N点DFT'
subplot(7,1,5);
stem(X2);
X2'
x2(n)的N点DFT'
Y1=X1.*X2;
subplot(7,1,6);
stem(Y1);
Y1'
X1与X2相乘的结果'
Y2=ifft(Y1);
subplot(7,1,7);
stem(Y2);
Y2'
Y1的IDFT结果'
图3.2FFT快速卷积
3.3圆周卷积
x1(n)={2,0,1,2,5,7,0,5,0,2,2,5},x2(n)={2,4,5,6,2,7,4,8,9,6,4,8,3,5,7,8},其圆周卷积Matlab程序如下:
x=[zeros(1,12),2,0,1,2,5,7,0,5,0,2,2,5,zeros(1,16)];
y=[zeros(1,12),2,4,5,6,2,7,4,8,9,6,4,8,3,5,7,8,zeros(1,12)];
subplot(4,1,1)
stem(x);
subplot(4,1,2)
N1=length(x);
N2=length(y);
N=N1;
ifN2>
N1
N=N2;
M=input('
请输入圆周卷积长度\n'
ifM>
=N
N=M;
ifN==N1
x=x;
else
x=[x,zeros(1,N-N1)];
X=zeros(N,N);
x1=zeros(1,N);
forn=1:
N
ifn==1
x1(n)=x(n);
else
x1(n)=x(N-n+2);
end
X(1,1:
N)=x1;
fori=2:
pause(0.3)
forn=1:
X(i,n)=X(i-1,N);
X(i,n)=X(i-1,n-1);
subplot(4,1,3);
stem(X(i,1:
N));
ifN2<
y=[y,zeros(1,N-N2)];
Y=y'
W=X*Y;
W=W'
n=1:
N;
subplot(4,1,4);
stem(n,W);
当圆周卷积长度为40,50时,结果如图3.3、3.4:
图3.3圆周卷积(N=40)
图3.4圆周卷积(N=50)
3.4采样定理演示
连续信号:
为模拟角频率,其中n为25,其采样Matlab程序如下:
fs=input('
请输入采样频率:
'
n=input('
请输入两位学号:
t=0:
1/fs:
1;
t1=0:
0.0005:
A=n;
a=sqrt
(2)*n*pi;
w=a;
x=A*exp(-a*t).*sin(w*t);
x1=A*exp(-a*t1).*sin(w*t1);
subplot(5,1,1)
plot(x1);
xlabel('
时间(s)'
幅度'
xn=ones(1,length(t));
subplot(512)
stem(xn);
yn=xn.*x;
subplot(5,1,3)
stem(yn);
y=fft(yn,fs);
f=fs*(0:
fs/2)/fs;
subplot(5,1,4)
plot(f,y(1:
fs/2+1));
频率(HZ)'
yn=ifft(y);
subplot(5,1,5)
plot(yn);
当fs=80时运行结果如图3.5:
图3.5采样定理演示(fs=80)
当fs=40时运行结果如图3.6:
图3.6采样定理演示(fs=40)
四课程设计原理
4.1巴特沃斯低通滤波器
(1)特性:
巴特沃斯滤波器的特点是通频带的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。
在振幅的对数对角频率的波特图上,从某一边界角频率开始,振幅随着角频率的增加而逐步减少,趋向负无穷大。
一阶巴特沃斯滤波器的衰减率为每倍频6分贝,每十倍频20分贝。
二阶巴特沃斯滤波器的衰减率为每倍频12分贝、三阶巴特沃斯滤波器的衰减率为每倍频18分贝、如此类推。
巴特沃斯滤波器的振幅对角频率
单调下降,并且也是唯一的无论阶数,振幅对角频率曲线都保持同样的形状的滤波器。
只不过滤波器阶数越高,在阻频带振幅衰减速度越快。
其他滤波器高阶的振幅对角频率图和低级数的振幅对角频率有不同的形状。
(2)传递函数:
巴特沃斯低通滤波器可用如下振幅的平方对频率的公式表示:
其中,
=滤波器的阶数
=截止频率=振幅下降为-3分贝时的频率
=通频带边缘频率
在通频带边缘的数值
4.2用窗函数法设计FIR滤波器
根据过渡带宽与阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。
根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:
在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;
从w=0到w=2π采样N点,采用离散傅里叶反变换(IDFT)即可求出。
用窗函数wd(n)将hd(n)截断,并进行加权处理,得到
如果要求线性相位特性,则h(n)还必须满足:
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波特性正确选择其中一类。
例如,要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。
验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。
五设计方案与步骤
5.1设计方案
1.要求利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000Hz,8位,单声道)录制一段自己的话音,或者采用Windows自带的声音文件(默认为22050Hz),时间控制在几秒左右。
然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,要求理解采样频率、采样位数等概念。
wavread函数调用格式:
y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。
[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。
y=wavread(file,N),读取前N点的采样值放在向量y中。
y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。
2.语音信号的频谱分析
要求首先画出语音信号的时域波形;
然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;
从而加深对频谱特性的理解。
3.设计数字滤波器和画出频率响应
根据语音信号的特点给出有关滤波器的性能指标,例如:
1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz,As=100dB,Ap=1dB;
2)高通滤波器性能指标,fc=2800Hz,fp=3000Hz,As=100dB,Ap=1dB;
3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。
4.回放语音信号
在Matlab中,函数sound可以对声音进行回放。
其调用格式:
sound(x,fs,bits);
可以感觉滤波前后的声音有变化。
5.方案设计流程图如图3.5.1所示。
(图为巴特沃斯滤波器,blackman窗滤波器与巴特沃斯类似)
图5.1方案设计流程图
5.2设计步骤
(1)语音信号的采集
Matlab程序如下:
运行结果如图5.2
[x,FS,bits]=wavread('
C:
\WINDOWS\Media\ir_inter.wav'
x=x(:
1);
figure
(1);
subplot(2,1,1);
plot(x);
sound(x,FS,bits);
语音信号时域波形图'
)
y=fft(x,3260);
f=(FS/1630)*[1:
1630];
subplot(2,1,2);
plot(f(1:
1630),abs(y(1:
1630)));
语音信号频谱图'
运行结果如图5.2所示:
图5.2语音信号
(2)对语音信号加噪
Matlab程序如下:
length(x)-1;
zs=0.002*cos(2*pi*10000*t/22050);
zs0=0.002*cos(2*pi*10000*t/22050000);
figure
(2);
subplot(2,1,1)
plot(zs0)
噪声信号波形'
zs1=fft(zs,1200);
sound(zs,FS,bits);
subplot(2,1,2)
600),abs(zs1(1:
600)));
title
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语音 信号 数字 滤波 处理