数字信号处理课程设计语音信号_第1页
数字信号处理课程设计语音信号_第2页
数字信号处理课程设计语音信号_第3页
数字信号处理课程设计语音信号_第4页
数字信号处理课程设计语音信号_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖 南 工 业 大 学 学 生 课 程 设 计 报 告课程名称 数字信号处理 课程设计名称 数字滤波的设计以及语音信号的处理 系部 交通工程学院 年级 15 班级 电科1504 学生姓名 邹智宇 学号指导老师 舒小华 实验时间 2017年12月6-8日 目录Part1、课程设计目的及意义-1Part2、课程设计题目描述要求及理论基础-1Part3、课程设计报告内容-53.1 设计方案的选定与原理-53.2 用窗函数法设计FIR滤波器-6FIR带通语音滤波器-8IIR低通语音滤波器-11IIR高通语音滤波器-13FIR高通语音滤波器-15FIR低通语音滤波器-15数字语

2、音处理软件界面-17分析-17心得体会-17Part1、课程设计目的及意义(1)学会MATLAB的使用,掌握MATLAB的程序设计方法;(2)掌握在Windows环境下语音信号采集的方法;(3)掌握数字信号处理的基本概念、基本理论和基本方法;(4)掌握MATLAB设计FIR滤波器;(5)学会用MATLAB对信号进行分析和处理。Part2、课程设计题目描述要求及理论基础2.1题目要求(1)语音信号的采集;要求利用windows下的录音机(开始程序附件娱乐录音机,文件属性立即转换8.000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。然后在MATLAB软件平台下,利用函

3、数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)语音信号的频谱分析;要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,

4、在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。(3)数字滤波器的设计;带通滤波器性能指标fb11 200 Hz,fb23 000 Hz,fc11 000 Hz,fc23 200 Hz,As100 dB,Ap1 dB。在MATLAB中,可以利用函数fir1设计FIR滤波器(4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析;2.2 数字滤波器的简介及发展数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用

5、数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF)。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供

6、了更多的选择。数字滤波器具有以下显著优点:精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。1灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。并且数字滤波器多采用大规模集成电路,

7、如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多。并行处理数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来

8、实现并行处理。在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅度和相位响应。在通带中,通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。FIR滤波器传递函数的极点是固定在原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。2从结构上看,FIR滤

9、波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。2.3 FIR数字滤波器的特点 在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。 在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精

10、确的线性相位。稳定和线性相位特性是FIR滤波器的突出优点。另外,它还有以下特点:设计方式是线性的;硬件容易实现;滤波器过渡过程具有有限区间;相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。2.4 FIR滤波器具有的优点可在幅度特性随意设计的同时,保证精确、严格的线性相位;由于FIR滤波器的单位脉冲h(n)是有限长序列,因此FIR滤波器没有不稳定的问题;由于FIR滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;FIR滤波器可以采用FFT算法实现,从而提高了运算效率。2.5 MATLAB软件简介20世纪70年代,美国新墨西哥大

11、学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等

12、语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量

13、、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。(1)MATLAB常用基本数学函数 :abs(x):纯量的绝对值或向量的长度 、angle(z):复数z的相角(Phase angle)、 sqrt(x):开平方、 real(z):复数z的实部、imag(z):复数z的虚部、conj(z):复数z的共轭复数、round(x):四舍五入至最近整数、fix(x):无论正负,舍去小数至最近整数、floor(x):地板函数,即舍去正小数至最近整数、ceil(x):天花板函数,即加入正小数至最近整

14、数、rat(x):将实数x化为多项分数展开 、rats(x):将实数x化为分数表示 、sign(x):符号函数 (Signum function)。当x0时,sign(x)=1。rem(x,y):求x除以y的馀数gcd(x,y):整数x和y的最大公因数、lcm(x,y):整数x和y的最小公倍数、exp(x) :自然指数pow2(x):2的指数、log(x):以e为底的对数,即自然对数或、log2(x):以2为底的对数、log10(x):以10为底的对数sin(x):正弦函数、cos(x):余弦函数、tan(x):正切函数 。3(2)MATLAB作图语句:一维数组即一个行向量或列向量的作图用“p

15、lot”命令画。这时横轴表示数组中各数的序号。“plot”还可以用指定的自变量数组和对应的函数数组来作图。如果是二维数组,则横、纵轴分别表示第1个向量和第2个向量。函数subplot可以把一个图形窗分为几个区域,在每个区域中分别绘图。此外,还可以绘制三维图形(mesh)、直方图(hist)、等值线图(contour)等。(3)控制语句:MATLAB有和其他高级语言相类似的控制语句,如循环(for)、中止循环(break)、条件(if,while)等。(4)用于数字信号处理的工具箱Signal它包含数字信号处理常用的滤波器设计、傅里叶变换、z变换等。Part3、课程设计报告内容3.1 设计方案的

16、选定与原理目前FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。它是从时域出发,用一个窗函数截取理想的得到h(n),以有限长序列h(n)近似理想的;如果从频域出发,用理想的在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的,这就是频率取样法。4FIR数字滤波器系统的传递函数为: (1) 通过反z变换,数字滤波器的差分方程为: (2) 由此得到系统的差分方程: (3)如图所示:图1 k阶F

17、IR数字滤波器功能框图通常FIR的计算时间都较长。很多时候我们需要牺牲时间来获得想要得到的滤波器功能。3.2 用窗函数法设计FIR滤波器根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为w,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数

18、类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出: (4)在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从w=0到w=2采样N点,采用离散傅里叶反变换(IDFT)即可求出。5用窗函数wd(n)将hd(n)截断,并进行加权处理,得到: (5)如果要求线性相位特性, 则h(n)还必须满足: (6)根据上式中的正、 负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。 例如,

19、要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。 以下是几种常用的窗函数:(1) 矩形窗: (7)(2)Hanning窗: (8)(3)Hamming窗 (9)(4)Blackman窗: (10)(5)Kaiser窗: (11)3.3设计方案程序及图表FIR带通语音滤波器1.1程序代码clear;z1,fs,bits=wavread(G:DSP_DesignDSP1.wav)y1=z1(1:8192);Y1=fft(y1); %*%dt=0.1*sin(2*pi*4500*(1:size(z1)/fs); %*加入噪声*%z1=z1+dt;

20、 %*%fp1=1200;fp2=3000;fc1=1000;fc2=3200;As=40;Ap=1; %数字带通滤波器指标Fs=8000;wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;wp2=2*pi*fp2/Fs;wc2=2*pi*fc2/Fs;wdel=wp1-wc1;beta=0.1102*(As-8.7);N=ceil(As-8)/2.286/wdel);ws=(wp1+wc1)/2/pi,(wp2+wc2)/2/pi;wn=kaiser(N+1,beta);b=fir1(N,ws,wn);figure(1);freqz(b,1);x=fftfilt(b,z1);X

21、=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1);axis(0,Fs/2,0,40.0);title(滤波前信号频谱);subplot(2,2,2);plot(abs(X);axis(0,Fs/2,0,40);title(滤波后信号频谱);subplot(2,2,3);plot(z1);title(滤波前信号波形);subplot(2,2,4);plot(x);title(滤波后信号波形);sound(z1,fs,bits);pause(4);sound(x,fs,bits);窗函数法:相位响应有严格的线性,不存在稳定性问题, 设计简单。1.

22、2图形分析:图5 FIR 带通 图6 语音信号频谱通带范围为(0.30,0.75),最大衰减为0dB,阻带范围为(0.25,0.8),最小衰减为100dB,相位是线性的,基本满足滤波要求。语音信号经过带通滤波器后,低频分量基本被衰减。噪声信号与语音信号合成的程序:dt=0.1*sin(2*pi*4500*(1:size(x)/fs);x1=x+dt; 多带滤波器设计w1=2*f1/Fs; w2=2*f2/Fs;w3=2*f3/Fs; w4=2*f4/Fs;wc=w1 w2 w3 w4;N=41;bet=6;b=fir1(N,wc,dc-0,kaiser(N+1,bet);%第一个频带为阻带 d

23、c-1通带以上为FIR滤波器设计。以下为IIR低通滤波器设计:Fs=8000;fc=1000,ft=1200;As=100,Ap=1;wc1=2*pi*fc;wt1=2*pi*ft;wc2=2*Fs*tan(2*pi*fc/(2*Fs);wt2=2*Fs*tan(2*pi*ft/(2*Fs);%N,wn=buttord(wc1,wt1,Ap,As,s);%B,A=butter(N,wn,low,s);%Bz1,Az1=impinvar(B,A,1000);N,wn=buttord(wc2,wt2,Ap,As,s);B,A=butter(N,wn,low,s);Bz2,Az2=bilinear(

24、B,A,Fs);figure(1);freqz(Bz1,Az1); % freqz(Bz1,Az1,512,Fs);x=filter(Bz1,Az1,z1);X=fft(x,8192);figure(2);subplot(2,2,1);plot(abs(Y1);axis(0,1000,0,1.0);title(滤波前信号频谱);subplot(2,2,2);plot(abs(X);axis(0,2000,0,0.0003);title(滤波后信号频谱)subplot(2,2,3);plot(z1);title(滤波前信号波形);subplot(2,2,4);plot(x);title(滤波后信

25、号波形);sound(x,fs,bits);IIR低通语音滤波器2.1程序源代码clear;z1,fs,bits=wavread(G:DSP_DesignDSP1.wav);Z1=fft(z1); Fs=fs;fc=1000,ft=1200;As=40,Ap=1;%滤波器参数wc1=2*pi*fc;wt1=2*pi*ft;wc2=2*Fs*tan(2*pi*fc/(2*Fs);%双线性变换wt2=2*Fs*tan(2*pi*ft/(2*Fs);N,wn=buttord(wc2,wt2,Ap,As,s);%计算巴特沃斯阶数B,A=butter(N,wn,low,s);Bz2,Az2=biline

26、ar(B,A,Fs);figure(1);freqz(Bz2,Az2);x=filter(Bz2,Az2,z1);X=fft(x);figure(2);subplot(2,2,1);plot(abs(Z1);axis(0,Fs/2,0,50.0);title(滤波前信号频谱);subplot(2,2,2);plot(abs(X);axis(0,Fs/2,0,50);title(滤波后信号频谱);subplot(2,2,3);plot(x);title(滤波前信号波形);subplot(2,2,4);plot(x);title(滤波后信号波形);sound(z1,fs,bits);pause(4

27、);sound(x,fs,bits);1.2图形分析IIR低通语音滤波 IIR低通语音滤波频谱图IIR高通语音滤波器3.1程序源代码clear;z1,fs,bits=wavread(G:DSP_DesignDSP1.wav);y1=z1(1:8192);Y1=fft(y1);Fs=8000;fc=1500,ft=1300;As=40,Ap=1;wc=2*Fs*tan(2*pi*fc/(2*Fs);wt=2*Fs*tan(2*pi*ft/(2*Fs);N,wn=cheb1ord(wc,wt,Ap,As,s);B,A=cheby1(N,Ap,wn,high,s);Bz,Az=bilinear(B,

28、A,Fs);figure(1);freqz(Bz,Az);x=filter(Bz,Az,y1);X=fft(x);figure(2);subplot(2,2,1);plot(abs(Y1);axis(0,Fs/2,0,50.0);title(滤波前信号频谱);subplot(2,2,2);plot(abs(X);axis(0,Fs/2,0,50.0);title(滤波后信号频谱);subplot(2,2,3);plot(y1);title(滤波前信号波形);subplot(2,2,4);plot(x);title(滤波后信号波形);x=filter(Bz,Az,z1);sound(z1,fs,

29、bits);pause(4);sound(x,fs,bits); 3.2图形分析IIR高通语音滤波 IIR高通频谱图FIR高通语音滤波器4.1程序源代码clear;z1,fs,bits = wavread(G:DSP_DesignDSP1.wav);y1=z1(1:8192);Y1=fft(y1);fp1=500;fc1=100;As=40; Ap=1;Fs=8000;wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;wdel=wp1-wc1;N=ceil(6.2*pi)/wdel);%取比小数大的整数ws=(wp1+wc1)/2/pi;wn=hanning(N+1);b=fir

30、1(N,ws,high,wn); %阶数,截止频率 低通 窗口=返回值&figure(1); %画图freqz(b,1); %频谱幅度相位x=fftfilt(b,z1); %X=fft(x,8192);figure(2);subplot(2,2,1);Y1=abs(Y1); Ym=max(Y1); Y1=Y1/Ym; plot(Y1);axis(0,Fs/2,0,1.0);title(滤波器前信号频谱);subplot(2,2,2); X=abs(X); Xm=max(X); X=X/Xm; plot(X);axis(0,Fs/2,0,1.0);title(滤波后信号频谱);subplot(2,2,3);plot(z1);title(滤波器前信号频谱);subplot(2,2,4);plot(x);title(滤波后信号频谱);sound(z1,fs,bits);pause(4);sound(5*x,fs,bits);4.2图形分析FIR高通语音滤波 FIR高通滤波频谱图FIR低通语音滤波器5.1程序源代码clear;z1,fs,bits = wavread(G:DSP_DesignDSP1.wav);y1=z1(1:8192);Y1=fft(y1);fp1=1500;fc1=1000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论