信号与线性系统课程设计报告河北工业大学.docx

上传人:b****6 文档编号:12306290 上传时间:2023-06-05 格式:DOCX 页数:16 大小:264.26KB
下载 相关 举报
信号与线性系统课程设计报告河北工业大学.docx_第1页
第1页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第2页
第2页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第3页
第3页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第4页
第4页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第5页
第5页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第6页
第6页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第7页
第7页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第8页
第8页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第9页
第9页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第10页
第10页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第11页
第11页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第12页
第12页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第13页
第13页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第14页
第14页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第15页
第15页 / 共16页
信号与线性系统课程设计报告河北工业大学.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信号与线性系统课程设计报告河北工业大学.docx

《信号与线性系统课程设计报告河北工业大学.docx》由会员分享,可在线阅读,更多相关《信号与线性系统课程设计报告河北工业大学.docx(16页珍藏版)》请在冰点文库上搜索。

信号与线性系统课程设计报告河北工业大学.docx

信号与线性系统课程设计报告河北工业大学

信号与线性系统课程设计报告

课题五数字信号语音信号分析系统设计

 

班级:

通信C113班

姓名:

仲秋剑

学号:

115620

成绩:

指导教师:

王霞

日期:

2014/1/9

 

题目:

数字语音信号分析系统设计

摘要:

数字信号处理是将信号以数字方式表示并处理的理论和技术。

数字信号处理与模拟信号处理是信号处理的子集。

数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。

因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。

而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。

  

数字信号处理的核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。

而使数字信号处理从理论走向实用的是快速傅立叶变换(FFT),FFT的出现大大减少了DFT的运算量,使实时的数字信号处理成为可能、极大促进了该学科的发展。

 

MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

 

关键词:

语音信号,MATLAB,滤波,GUI,时域参数,fft

1课程设计的目的、意义

本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。

通过完成本课题的设计,拟主要达到以下几个目的:

 

(1)了解MATLAB软件的特点和使用方法。

 

(2)掌握利用MATLAB分析信号和系统的时域、频域特性的方法; 

(3)掌握数字滤波器的设计方法及应用。

 

(4)了解语音信号的特性及分析方法。

 

(5)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。

2设计任务及技术指标

设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。

采用MATLAB设计语言信号分析相关程序,并且利用GUI设计图形用户界面。

具体任务是:

 

(1)采集语音信号。

 

(2)对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。

(3)针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。

 

(4)对噪声滤除前后的语音进行时频域分析。

 

(5)对语音信号进行重采样,回放并与原始信号进行比较。

 

(6)对语音信号部分时域参数进行提取。

 

(7)设计图形用户界面(实现以上功能)。

3设计方案论证

3.1设计理论依据

3.1.1采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:

fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍;采样定理又称奈奎斯特定理。

1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式:

理想低通信道的最高大码元传输速率=2W*log2N(其中W是理想低通信道的带宽,N是电平强度)

3.1.2采样频率

采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样频率与声音频率之间有一定的关系,根据奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。

这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

3.1.3采样位数与采样频率

采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

采样频率是指录音设备在一秒钟内对声音信号的采样次数,采样频率越高声音的还原就越真实越自然。

采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。

无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。

每增加一个采样位数相当于力度范围增加了6dB。

采样位数越多则捕捉到的信号越精确。

对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。

显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确。

3.2语音信号的分析及处理方法

3.2.1语音的录入与打开

在MATLAB中,[y,fs,nbits]=wavread(‘filename’);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。

sound(y,fs,bits);用于对声音的回放。

向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。

3.2.2时域信号的FFT分析

FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

函数FFT用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。

如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。

函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x为矩阵,按相同方法对x进行处理。

3.2.3滤波器设计

1.模拟滤波器设计原理

(1)模拟巴特沃思滤波器原理

巴特沃斯滤波器具有单调下降的幅频特性:

在小于截止频率

的范围内,具有最平幅度的响应,而在

后,幅频响应迅速下降。

巴特沃思低通滤波器幅度平方函数为:

式中N为滤波器阶数,

为3dB截止角频率。

将幅度平方函数写成s的函数:

该幅度平方函数有2N个等间隔分布在半径为

的圆上的极点

为了形成稳定的滤波器,取左半平面的N个极点构成

,即:

为使设计统一,将频率归一化,得到归一化极点

,相应的归一化系统函数为:

多项式形式为:

(2)模拟切比雪夫滤波器原理

切比雪夫滤波器的幅频特性具有等波纹特性,有两种形式,在通带内等波纹、阻带单调的是I型滤波器,在通带内单调、在阻带内等波纹的是II滤波器。

以I型滤波器为例。

切比雪夫滤波器的幅度平方函数为:

ε为小于1的正数,表示通带内幅度波动的程度。

Ωp称为通带截止频率。

令λ=Ω/Ωp,称为对Ωp的归一化频率。

CN(x)为N阶切比雪夫多项式。

幅度平方函数的极点是分布在bΩp为长半轴,aΩp为短半轴的椭圆上的点。

同样取s平面左半平面的极点构成

进行归一化,得到:

其中

2.模拟滤波器数字化原理

将模拟滤波器转化为数字滤波器在工程上常用的有脉冲响应不变法和双线性变换法。

脉冲响应不变法时一种时域上的转换方法,它是数字滤波器的单位取样响应在抽样点上等于模拟滤波器的单位冲激响应,即:

设模拟滤波器只有单阶极点,其系统函数为:

进行拉氏反变换得到

,对

进行等间隔抽样,得到

,对

进行Z变换,得到数字滤波器系统函数:

这种方法s和z的关系是:

该方法的优点是频率坐标变换时线性的切数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域特性逼近好;缺点是会产生频谱混叠现象,适合低通、带通滤波器的设计,不适合高通、带阻滤波器的设计。

双线性变换法为了克服频谱混叠现象,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到

之间,再用

转换到Z平面上。

这种方法s和z的关系是:

该方法克服了频谱混叠现象,但带来了频率坐标变换的非线性:

,由模拟滤波器系统函数转换为数字滤波器系统函数公式为:

3.数字高通、带通、带阻滤波器的设计

这些滤波器可以借助于模拟滤波器的频率变换设计一个所需类型的模拟滤波器,再通过双线性变换法将其转换成所需类型的数字滤波器。

首先确定所需类型数字滤波器的技术指标;然后将数字滤波器技术指标按照公式

转换成所需类型滤波器的模拟域技术指标;将所需类型滤波器的模拟域技术指标转换成低通滤波器技术指标;设计归一化模拟低通滤波器;去归一化得到模拟低通滤波器的系统函数;将模拟低通滤波器转换为所需类型的模拟滤波器;最后通过双线性变换法转换成所需类型的数字滤波器。

3.2.4IIR滤波器与FIR滤波器的性能比较

FIR:

FiniteImpulseresponse,有限冲击响应

IIR:

InfiniteImpulseresponse,无限冲击响应

从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得高的选择性,所用的存贮单元少,所以经济而效率高。

但是这个高效率是以相位的非线性为代价的。

选择性越好,则相位非线性越严重。

相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对于同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高5-10倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则IIR滤波器就必须加全通网络进行相位较正,同样要大增加滤波器的节数和复杂性。

整体来看,IIR滤波器达到同样效果阶数少,延迟小,但是有稳定性问题,非线性相位;FIR滤波器没有稳定性问题,线性相位,但阶数多,延迟大。

4设计内容

4.1matlabGUI操作界面设计

4.2语音信号分析

4.2.2原始语音信号分析

[filenamepathname]=uigetfile('*.wav');

str=[pathnamefilename];

[y,fs,nbit]=wavread(str);

axes(handles.axes2);

axes(handles.axes6);

plot(y);

title('原始信号fft频域图')

Y=fft(y);

axes(handles.axes4);

plot(abs(Y));

title('原始信号时域图')

结果如图:

4.2.3对原始信号播放

%---Executesonbuttonpressinpushbutton2.

functionpushbutton2_Callback(hObject,eventdata,handles)

%hObjecthandletopushbutton2(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

globaly

sound(y,16000)

4.2.4对原始信号加入干扰噪声并分析

%---Executesonbuttonpressinpushbutton3.

functionpushbutton3_Callback(hObject,eventdata,handles)

%hObjecthandletopushbutton3(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

globaly

globaly2

n=0:

length(y)-1;

y2=y'+0.01*cos(0.9*pi*n);

axes(handles.axes2);

plot(y2);

title('加入噪声')

Y2=fft(y2);

axes(handles.axes4);

plot(abs(Y2));

title('加入噪声时域图');

sound(y2,16000);

结果如图:

4.2.5滤波器设计及其特性分析

1.巴特沃斯滤波器

wp=q1*pi*2;

ws=m1*2*pi;

Rp=3,As=25;

Fs=16000;

Nn=128.0;

[N,wn]=buttord(wp,ws,Rp,As,'s');

[z,p,k]=buttap(N);

[Bap,Aap]=zp2tf(z,p,k);

[b,a]=lp2lp(Bap,Aap,wn);

[bz,az]=impinvar(b,a,Fs);

y1=filter(bz,az,y2);

axes(handles.axes2);

plot(y1);

title('信号滤波后fft频谱图')

Y1=fft(y1,);

axes(handles.axes4);

plot(abs(Y1));

title('信号滤波后时域图')

[h,f]=freqz(bz,az,Nn,Fs);

axes(handles.axes5);

plot(f,20*log10(abs(h)));

title('幅频特性图')

sound(y1,16000)

结果图像

2.切比雪夫滤波器设计

wp=2*pi*q1,ws=2*pi*m1,Rp=2,As=59;

[N1,Wp1]=cheb1ord(wp,ws,Rp,As,'s');

[B1,A1]=cheby1(N1,Rp,Wp1,'s');

Fs=18000;

Nn=128;

[bz,az]=impinvar(B1,A1,Fs);

p1=filter(bz,az,y2);

axes(handles.axes2);

plot(p1);

title('信号滤波后fft频谱图')

P1=fft(p1,12800);

axes(handles.axes4);

plot(1:

12800,abs(P1));

title('信号滤波后fft时域图')

[h,f]=freqz(bz,az,Nn,Fs);

axes(handles.axes5);

plot(f,20*log10(abs(h)));

title('幅频特性图')

sound(p1,16000)

结果图像

 

5实验结果与分析

 

6总结

 

7课程设计的收获、体会、意见、意义

 

参考文献:

[1]高西全.数字信号处理(第三版).西安电子科技大学出版社,2008.8

[3]吴大正.信号与线性系统分析(第四版).高等教育出版社,2005.8

[4]陈垚光.精通MATLABGUI设计(第二版).电子工业出版社,2011.1

[5]陈后金.信号分析与处理实验.高等教育出版社,2006.8

[6]赵力.语音信号处理.机械工业出版社,2009.7

[7]刘泉,阙大顺.数字信号处理原理与实现.电子工业出版社,2005

[8]张磊,毕靖,郭莲英.MATLAB实用教程.人民邮电出版社,2008

[9]张威.MATLAB基础与编程入门.西安电子科技大学出版社,2006

[10]周利清,苏菲.数字信号处理基础.北京邮电大学出版社,2005

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2