温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023
唐山
学院
MATLAB
合成
信号
语音
数字滤波器
设计
课程设计说明书
目 录
1引言 1
2设计总体方案 2
2.1设计要求 2
2.2设计总体方案 2
2.3设计内容 2
2.4设计原理 2
3语音信号的具体实现 4
3.1 语音信号的采集 4
3.2语音信号的时域分析 4
3.3 语音信号加噪与频谱分析 5
3.4 设计FIR和IIR数字滤波器 6
3.5 用滤波器对加噪语音信号进行滤波 10
3.6 比拟滤波前后语音信号的波形及频谱 10
4合成信号的具体实现 14
4.1合成信号的产生原理 14
4.2调试分析 14
4.2.1混合信号分析 14
4.2.2三种滤波器设计 14
5 MATLAB GUI的简介 17
5.1 MATLAB软件介绍 17
5.2 MATLAB常用函数简介 18
5.3设计系统界面 18
5.3.1 系统界面设计工具—GUI概述 18
5.3.2 界面设计及使用说明 18
6心得体会 21
参考文献 22
附录 23
1引言
随着信息时代、数字世界的到来,数字信号处理已成为一门极其重要的学科和技术领域。数字信号处理是将信号以数字方式表示并处理的理论和技术,处理的内容包括对数字信号的滤波、变换、频谱分析、检测、估计、压缩、识别等一系列的加工处理。由于大规模集成电路以及数字计算机的飞速开展,加之从60年代末以来数字信号处理理论和技术的成熟和完善,用数字方法来处理信号,即数字信号处理,已逐渐取代模拟信号处理。
数字信号处理技术的应用领域非常广泛,主要包括语音信号处理,图像处理,语音 〔VoIP〕,移动通信,数字通信网络,数码相机,汽车电子,医疗,军事等领域。其中语音信号处理是数字信号处理中一个很重要的领域。语音信号是基于时间轴上的数字信号,这里我们主要讨论对语音信号进行频域上的分析。在信号分析中,频域往往包含了更多的信息。数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以到达提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成局部。利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均到达指定要求。
数字滤波器是一种对数字信号进行处理的系统,数字滤波器完成数字信号滤波处理功能,其输入是一组数字量,其输出是经过变换的另一组数字量。它通过一定的运算关系或电路形式来改变输入信号所包含的频率成分的相比照例或滤出某些频率成分,数字滤波器具有稳定性高、精度高、灵活性大等优点。随着数字技术的开展,用数字技术实现滤波器的功能越来越受到人们的注意和广泛的应用。
2设计总体方案
2.1设计要求
1.设计低通、带通、高通数字滤波器;
2.可以对合成信号〔含低频、中频、高频分量〕、语音信号进行滤波;
3.通过GUI界面进行控制。
2.2设计总体方案
掌握用双线性变换法设计IIR数字滤波器及用窗函数法设计FIR数字滤波器的具体设计方法和原理,观察设计的数字滤波器的幅频特性,了解双线性变换法和窗函数法设计数字滤波器时的特点。
2.3设计内容
选择一个语音信号作为分析的对象,或录制一段各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声参加到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计FIR和IIR数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波后信号的时域和频域特征,回放语音信号;最后,设计一个信号处理系统界面。在所设计的系统界面上可以选择滤波器的类型。
2.4设计原理
数字滤波器是指输入、输出均为数字信号,通过数值运算处理改变输入信号所含频率成分的相比照例,或者滤除某些频率成分的数字器件或程序。
利用模拟滤波器来设计IIR数字滤波器是最常见的方法,其设计过程是按照技术要求设计模拟滤波器,得到其系统函数Ha(s),然后经过一定的变换,得到满足要求的数字滤波器的H(z)。这种设计方法的优点是模拟滤波器的设计理论很成熟,有很多现成的公式、表格、图形和曲线可以直接使用,从而使IIR数字滤波器的设计变得很简单。
常用的IIR滤波器设计方法主要有以下几种:
1. 以模拟滤波器函数为根底的变换法:即先设计一满足指定条件的模拟滤波器H(s),再将该模拟滤波器转化为数字滤波器H(z)。
2. 直接设计法:在z平面内,根据零、极点对系统特性的影响,调整零极点位置得H(z)。
3. 最优化设计法〔计算机辅助设计〕:在某种最小化误差准那么下,建立差分方程系数Ak、Bk对理想特性的逼近方程,使用迭代方法解方程组得到最正确逼近系统。由于此方法计算量大,需要借助于计算机进行设计。
在此主要介绍由模拟滤波器转换为数字滤波器的设计方法。
IIR滤波器的最大缺点是不容易实现线性相位,而在语音、图像、数据通信等系统普遍要求数字滤波器具有线性相位特性,FIR滤波器正是因为具有线性相位特性而获得广泛的应用。另外,H(z)永远稳定,这也是FIR滤波器的另一个突出优点。
它的通频带在f1~f2之间。它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。
不同类型〔高通、低通和带通〕滤波器对应的Wp和Ws值遵循以下规那么:
a.高通滤波器:Wp和Ws为一元矢量且Wp>Ws;
b.低通滤波器:Wp和Ws为一元矢量且Wp<Ws;
c.带通滤波器:Wp和Ws为二元矢量且Wp<Ws,如Wp=[0.2,0.7],Ws=[0.1,0.8];
3语音信号的具体实现
3.1 语音信号的采集
利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理〞,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“speech〞保存入g :\ MATLAB \ work 中。可以看到,文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。
3.2语音信号的时域分析
利用MATLAB中的“wavread〞命令来读入〔采集〕语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。下面介绍Wavread 函数几种调用格式。
1.y=wavread〔file〕
功能说明:读取file所规定的wav文件,返回采样值放在向量y中。
2.[y,fs,nbits]=wavread(file)
功能说明:采样值放在向量y中,fs表示采样频率〔hz〕,nbits表示采样位数。
3.y=wavread〔file,N〕
功能说明:读取钱N点的采样值放在向量y中。
4.y=wavread〔file,[N1,N2]〕
功能说明:读取从N1到N2点的采样值放在向量y中。
对语音信号OriSound.wav进行采样。其程序如下:
[y,fs,nbits]=wavered (‘I:\1.wav’); %把语音信号加载入Matlab 仿真软件平台中
然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:
Xk=fft(y,N)
参数y为被变换的时域序列向量,N是DFT变换区间长度,当N大于y的长度时,fft函数自动在y后面补零。,当N小于y的长度时,fft函数计算y的前N个元素,忽略其后面的元素。
在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下:
ound(y,fs,nbits); %回放语音信号
N= length (y) ; %求出语音信号的长度
Y=fft([y,fs,nbits]=wavread (' I:\1.wav ');
s y,N); %傅里叶变换
Axes(handles.axes1);
plot(y);title('原始信号波形');
plot(abs(Y));
title('原始信号频谱');
程序结果如以下列图3.1:
图3.1 原始信号波形及频谱
3.3 语音信号加噪与频谱分析
MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数 。我们可以直接应用两个函数:一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN那么用于在某一信号中参加高斯白噪声。也可直接用randn函数产生高斯分布序列。
在本次课程设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声参加到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种根本调用格式:Randn(n)和Randn〔m,n〕,前者产生n×n服从标准高斯分布的随机数矩阵,后者产生m×n的随机数矩阵。在这里,我们选用Randn〔m,n〕函数。语音信号添加噪声及其频谱分析的主要程序如下:
[y,fs,nbits]=wavread ('E:\ppp.wav');
sound(y,fs,nbits); %回放语音信号
N= length (y) ; %求出语音信号的长度
Y=fft(y,N); %傅里叶变换
subplot(2,1,1);
plot(y);title('原始信号波形');
subplot(2,1,2);
plot(abs(Y));
title('原始信号频谱');
程序结果如以下列图3.2所示:
图3.2 语音信号频谱分析
3.4 设计FIR和IIR数字滤波器
IIR滤波器和FIR滤波器的设计方法完全不同。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H〔s〕,然后将H〔s〕按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。
对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,
(1)过双线性变换将其转换筹划那个所需的数字滤波器。具体设计步骤如下:
1.确定所需类型数字滤波器的技术指标。
2.将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/T tan(0.5ω)
3. 将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。
4.设计模拟低通滤波器。
5.通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。
6.采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。
脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采