基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

合集下载

本科毕业设计论文--matlab课程设计报告基于matlab有噪声语音信号处理

本科毕业设计论文--matlab课程设计报告基于matlab有噪声语音信号处理

Matlab课程设计报告题目:基于MATLAB有噪声语音信号处理系(院):计算机与信息工程学院专业:通信工程班级:10623102指导教师:学年学期:2011 ~ 2012 学年第2 学期简介:我们通信工程专业在实践中经常碰到需要对已接收信号进行处理的情况,而滤波器设计在数字信号处理中占有极其重要的地位。

本课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪语音信号进行时域、频域分析和滤波。

通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。

在设计实现的过程中,我们使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。

1 绪论:数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。

数字滤波器, 是数字信号处理中及其重要的一部分。

本课题采用IIR 滤波器对加噪声音信号进行处理。

IIR滤波器采用递归型结构,即结构上带有反馈环路。

IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。

同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。

2.原始语音信号采集与处理2.1语音信号的采集由于MATLAB只识别格式为.wav的声音文件,我们利用PC机上的声卡和WINDOWS操作系统进行数字信号的采集。

启动录音机进行录音,以文件名“Orisound”保存入原程序所属的文件夹中。

可以看到,文件存储器的后缀默认为.wav ,这是WINDOWS操作系统规定的声音文件存的标准。

基于Matlab的语音识别系统的设计本科毕业设计

基于Matlab的语音识别系统的设计本科毕业设计

摘要语音识别主要是让机器听懂人说的话,即在各种情况下,准确地识别出语音的内容,从而根据其信息执行人的各种意图。

语音识别技术既是国际竞争的一项重要技术,也是每一个国家经济发展不可缺少的重要技术支撑。

本文基于语音信号产生的数学模型,从时域、频域出发对语音信号进行分析,论述了语音识别的基本理论。

在此基础上讨论了语音识别的五种算法:动态时间伸缩算法(Dynamic Time Warping,DTW)、基于规则的人工智能方法、人工神经网络(Artificial Neural Network,ANN)方法、隐马尔可夫(Hidden Markov Model,HMM)方法、HMM和ANN的混合模型。

重点是从理论上研究隐马尔可夫(HMM)模型算法,对经典的HMM模型算法进行改进。

语音识别算法有多种实现方案,本文采取的方法是利用Matlab强大的数学运算能力,实现孤立语音信号的识别。

Matlab 是一款功能强大的数学软件,它附带大量的信号处理工具箱为信号分析研究,特别是文中主要探讨的声波分析研究带来极大便利。

本文应用隐马尔科夫模型(HMM) 为识别算法,采用MFCC(MEL频率倒谱系数)为主要语音特征参数,建立了一个汉语数字语音识别系统,其中包括语音信号的预处理、特征参数的提取、识别模板的训练、识别匹配算法;同时,提出利用Matlab图形用户界面开发环境设计语音识别系统界面,设计简单,使用方便,系统界面友好。

经过统计,识别效果明显达到了预期目标。

关键词:语音识别算法;HMM模型;Matlab;GUIABSTRACTSpeech Recognition is designed to allow machines to understand what people say,and accurately identify the contents of voice to execute the intent of people.Speech recognition technology is not only an important internationally competed technology,but also an indispensable foundational technology for the national economic development.Based on the mathematical model from the speech signal,this paper analyze audio signal from the time domain,frequency domain proceeding,and discussed the basic theory of speech recognition technology.Five algorithm are discussed:Dynamic Time Warping(DTW)、Rule-based Artificial Intelligence,Artificial Neural Network(ANN),Hidden Markov Model(HMM),HMM combined with ANN.The focus is put in the theoretical studies of Hidden Markov(HMM) model algorithm,and the classical HMM algorithm is improved.Speech recognition algorithm is realized in various programs,this article taking the method is to use Matlab powerful mathematical operation ability to realize the recognition of speech signal isolation. Matlab is a powerful mathematic software with a mass of toolboxes dealing with signal processing. It gives a terrific shortcut to the research of signal processing,especially the wave analysis. We can characterize the sound with key parameters such as intensity, frequency etc. In this paper, hidden Markov model (HMM) recognition algorithm using MFCC (MELfrequency cepstral coefficients) as the main voice characteristic parameters, the establishment of a Chinese digital speech recognition system, including the preprocessing of the speech signal,the extraction of characteristic parameters the training of the recognition template,identifying matching algorithm;the same time,the use of Matlab graphical user interface development environment designed speech recognition system interface,is designed to be simple,easy to use,friendly interface. Besides,to have a simple exploration of the voice recognition is another target.After statistics,recognition result obviously is made out as the expected goal.Key words:Speech recognition algorithm;HMM model;Matlab;GUI目录一、前言 (1)1.1语音识别的发展历史 (1)1.2语音识别研究现状 (1)1.3语音识别系统的分类 (2)1.4语音识别系统的基本构成 (3)1.5语音识别技术难点 (3)1.6语音识别发展前景 (4)二、语音信号分析 (4)2.1语音学知识 (4)2.1.1音素和音节 (5)2.1.2汉语的声调 (5)2.1.3语音信号产生模型 (6)2.2语音信号数字化和预处理 (7)2.2.1数字化 (7)2.2.2预加重处理 (7)2.2.3防混叠滤波 (8)2.2.4加窗处理 (8)2.3语音信号的时域分析 (9)2.3.1短时能量分析 (9)2.3.2短时平均过零率 (11)2.3.3短时自相关函数和短时平均幅度差函数 (12)2.3.4语音端点检测 (13)2.4语音信号的频域分析 (14)2.4.1滤波器组法 (14)2.4.2傅立叶频谱分析 (14)2.5特征参数提取 (15)2.5.1 LPCC倒谱系数 (15)2.5.2 Mel频率倒谱系数 (16)三、语音识别主要算法 (17)3.1动态时间伸缩算法 (17)3.2基于规则的人工智能方法 (18)3.3人工神经网络方法 (19)3.4隐马尔可夫方法 (20)3.5 HMM和ANN的混合模型 (21)四、隐含马尔可夫模型算法 (23)4.1 HMM的基本理论和数学描述 (23)4.2 HMM的三个基本问题及解决算法 (24)4.3 HMM算法的改进 (31)4.4 HMM的结构和类型 (33)4.5 HMM算法实现的问题 (34)五、基于Matlab环境下的语音识别算法实现 (35)5.1识别系统平台介绍 (35)5.2在Matlab中HMM算法的实现 (36)5.2.1端点检测 (36)5.2.2特征参数提取 (36)5.2.3训练和识别 (37)5.3实验结论分析 (38)六、结束语 (39)6.1回顾 (39)6.2展望 (39)七、致谢 (40)参考文献 (40)一、前言1.1语音识别的发展历史作为智能计算机研究的主导方向和人机语音通信的关键技术,语音识别技术一直受到各国科学界的广泛关注。

基于MATLAB的个人语音信号处理

基于MATLAB的个人语音信号处理

目录一、实验目的 (1)二、实验原理 (1)三、.主要实验仪器及材料 (1)四.掌握要点 (1)五、实验内容 (1)六、语音信号的采集 (1)七、语音信号的频谱分析 (3)八、FIR滤波器的分析与设计 (4)1、窗函数法设计FIR滤波器 (4)2、程序设计及流程图 (5)3、输出结果仿真 (6)4、程序设计及流程图(FIR高通滤波器) (6)5、输出结果仿真 (7)九、声音信号的滤波 (7)十、对信号进行滤波的流程 (8)十一、对信号进行滤波的仿真 (8)1、滤波前后的时域对比 (9)2、滤波前后的频域对比 (10)十二、总结及心得体会 (10)附录:(声音信号的滤波部分程序) (11)参考文献 (14)一、实验目的综合运用数字信号处理课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并进行计算机仿真,从而复习巩固了课堂所学的理论知识,提高了对所学知识的综合应用能力。

二、实验原理参考《数字信号处理》教材。

三、.主要实验仪器及材料微型计算机、Matlab6.5 教学版、TC 编程环境。

四.掌握要点初步掌握实现了对数字信号的处理。

五、实验内容(1)录制一段个人自己的语音信号,并对录制的信号进行采样,对采样后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,得出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,得出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。

六、语音信号的采集首先利用Windows下的录音机,录制一段自己的话音,时间在1 s内,存为文件:music.wav。

然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记下采样频率和采样点数为:PCM 44.100 kHz, 16 位。

通过wavread函数的使用,我们能很快理解采样频率、采样位数等概念。

利用函数wavread对语音信号的采集的程序如下:close all;i=1;[x,fs,bits]=wavread('music.wav'); %x:语音数据;fs:采样频率;bits:采样点数sound(x,fs,bits); %话音回放N=length(x);n=0:N-1;figure(i);subplot(2,1,1);plot(n,x); %画出原始语音信号的波形xlabel('n');ylabel('x(n)');title('原始语音信号');subplot(2,1,2);[H,f]=freqz(x,1,512,fs);plot(f,20*log10(abs(H))); %画出原始语音信号的频谱xlabel('n');ylabel('x(n)');title('原始语音信号的频谱');文件名ywavread运行结果:fs = 22.050 kHzbits =16图1 原始语音信号及其频谱七、语音信号的频谱分析先画出语音信号的时域波形,然后对语音号进行快速傅里叶变换,得到信号的频谱特性。

基于MATLAB的有噪声语音信号处理毕设

基于MATLAB的有噪声语音信号处理毕设

大学本科毕业设计论文基于MATLAB的有噪声语音信号处理摘要滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR 滤波器是滤波器设计的重要组成部分。

Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。

利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。

课题基于MATLAB 有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。

通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现。

在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制。

通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。

关键词ﻩ数字滤波器;MATLAB;窗函数法;巴特沃斯; 切比雪夫; 双线性变换AbstractﻫFilterdesignin digital signal processingplaysan extre melyimportant role, FIR digital filters and IIR filter is an importan tpart of filter design.Matlab is powerful,easy to learn,programming efficiency,which was welcomed bythemajority ofsc ientists. Matlab alsohas a particular signalanalysis toolbox,it need nothave strongprogrammingskills can be easily signal analysis, processing and design. Using MATLAB Signal Processing Toolbox can quickly andefficiently design avarietyof digitalfilters. MATLAB basedon the noise issuespeech signal processing design and implementation of digital signalprocessing integrated use of the theoretical knowledge ofthe speechsignal plus noise, time domain, frequencydomainanalysis andfiltering. Thecorrespondingresults obtainedthroughtheoreticalderivation, and then use MATLAB as a programming toolfor computer implementation.Implemented inthe design process,usingthewindow function methodtodesign FIR digital filters with Butterworth, Chebyshev andbilinear Reform IIR digital filter design and use ofMATLAB as asupplementary tool to complete thecalculation and graphic design Drawing. Throughthesimulation of thedesigned filter and the frequency analysis shows thatusingMatlabSignal Processing Toolbox can quickly and easily design digital filters FIR andIIR,the processis simple and convenient, the results of the performance indicators to meetthe specifiedrequirements.ﻫKeywords: digital filter; MATLAB;Chebyshev;Butterworth;Window function method; bilinear transformation目录1.绪论.............................................. 错误!未定义书签。

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。

语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。

本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

关键词:Matlab,语音信号,傅里叶变换,滤波器1课程设计的目的和意义本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。

通过完成本课题的设计,拟主要达到以下几个目的:1.1.了解Matlab软件的特点和使用方法。

1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法;1.3.掌握数字滤波器的设计方法及应用。

1.4.了解语音信号的特性及分析方法。

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

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

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

具体任务是:2.1.采集语音信号。

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

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

2.4.对噪声滤除前后的语音进行时频域分析。

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

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

基于MATLAB的语音信号处理系统设计(程序+仿真图)--毕业设计

语音信号处理系统设计摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。

语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。

本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

关键词:Matlab,语音信号,傅里叶变换,滤波器1课程设计的目的和意义本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。

通过完成本课题的设计,拟主要达到以下几个目的:1.1.了解Matlab软件的特点和使用方法。

1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法;1.3.掌握数字滤波器的设计方法及应用。

1.4.了解语音信号的特性及分析方法。

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

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

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

具体任务是:2.1.采集语音信号。

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

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

2.4.对噪声滤除前后的语音进行时频域分析。

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

基于MATLAB的语音信号处理研究毕业论文

基于MATLAB的语音信号处理研究毕业论文

基于MATLAB的语音信号处理研究毕业论文摘要小波分析理论是一种新兴的信号处理理论,它在时间上和频率上都有很好的局部性,这使得小波分析非常适合于时-频分析,借助时-频局部分析特性,小波分析理论已经成为信号去噪中的一种重要的工具。

利用小波方法去噪,是小波分析应用于实际的重要方面。

小波去噪的关键是如何选择阈值和如何利用阈值来处理小波系数,通过对小波阈值化去噪的原理介绍,运用MATLAB 中的小波工具箱,对一个含噪声信号进行阈值去噪,实例验证理论的实际效果,证实了理论的可靠性。

本文总结了去噪的背景和国内外现状,概括了小波阀值去噪的理论知识,分析了本文算法原理,选取去噪函数和含噪语音信号,通过MATLAB仿真进行了软阀值去噪实验、硬阀值实验和软硬阀值折衷实验,计算SNR值和RMSE值来评价去噪效果,进一步通过实验分析,得出该方法较FFT变换有很大的优势。

关键词:小波变换,滤波,去噪AbstractThe wavelet analysis theory is a new signal processing theory. It has a very good topicality in time and frequency, which makes thewavelet analysis very suitable for the time - frequency analysis. With the time - frequency’s local analysis characteristics, the wavelet analysis theory has become an important tool in the signal de-noising. Using wavelet methods in de-noising, is an important aspect in the applicationof wavelet analysis. The key of wavelet de-noising is how to choose a threshold and how to use thresholds to deal with wavelet coefficients. It confirms the reliability of the theory through the wavelet threshold de-noising principle, the use of the wavelet toolbox in MATLAB, carrying on threshold de-noising for a signal with noise and actual results of the example confirmation theory This paper summarizes the background and abroad of the denoising status, outlines the denoising theory of wavelet threshold, choose the denoising function and the noisy speechsignal,values the principle of the proposed algorithm through MATLAB simulation,through SNRand RMSE to evaluate the denoising effect, compared the advantages with FFT transform.Key Word: Wavelet change , Filtering , Denoising目录摘要 2Abstract II目录 III第一章绪论 11.1课题背景及意义 11.2 去噪的发展历史 11.3 国内外现状和发展趋势 21.4 本文主要研究内容与结构 2 1.5 本章小结 3第二章算法原理 42.1小波去噪基础 42.2 小波去噪原理 42.3 小波去噪步骤 52.4阈值的选取与量化 62.4.1 软阈值和硬阈值 6 2.4.2 阈值的几种形式 6 2.4.3 阀值的选取 72.5去噪效果评价标准 72.6本章小结 8第三章小波去噪的MATLAB实现 9 3.1 小波去噪函数集合 9 3.2 小波去噪函数的选取 9 3.3 含噪语音信号选择 10 3.4 小波去噪验证仿真 10 3.4.1 软阀值去噪和硬阀值去噪 10 3.4.2 软硬阈值折衷去噪 11 第四章小波去噪的MATLAB 仿真对比试验 164.1 傅里叶变换 164.2 实验结果对比 164.3本章小结 17第五章结论与展望 185.1 结论 185.2 展望 18参考文献 19致谢 20第一章绪论1.1课题背景及意义人们在语音通信过程中将不可避免地受到来自周围环境的干扰,例如传输媒介引入的噪声,通信设备内部的电噪声等。

基于MATLAB的语音信号滤波处理毕业设计(论文)

基于MATLAB的语音信号滤波处理毕业设计(论文)

学号14112220266毕业设计(论文)题目: 基于MATLAB的语音信号滤波处理作者夏杰届别2015届院别信息与通信工程学院专业电子信息工程指导教师罗朝明职称副教授完成时间2015年5月17日摘要随着计算机和信息科学的飞速发展,信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应应用。

本论文研究了滤波器的设计,并通过设计好的滤波器语来分析语音信号。

在计算机中录入一段语音信号,通过MATLAB对语音信号进行时频变换和分析;再通过MATLAB构造一定频率的噪音信号,再将两个信号进行合成;然后设计不同类型的数字滤波器对其噪音进行滤波处理。

关键词:MATLAB;语音信号;滤波器;仿真;AbstractWith the rapid development of computers and information science, signal processing is becoming an independent discipline, and playing an important part in information science. It has been widely applied in speech processing, radar, image processing, communication, bio-medical engineering and many other fields.This paper has studied the filter design, and it analyses the voice signal through the designed filter. After recording a voice signal in the computer, then doing the time-frequency transformation and analyses for the voice signal through MATLAB. We construct a fixed-frequency signal, and synthesis the two signals, and it deals with filter processing on the speech signal with noise, and analyses the signals in the time domain and frequency domain.Keyword: Matlab;V oice signal;Filter;Simulation;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 语音信号滤波处理的简介 (1)1.2 数字滤波器的概念 (1)1.3 MATLAB软件的介绍 (2)1.4 论文各章节的安排 (3)第二章语音信号的频谱分析 (5)2.1 快速傅里叶算法的原理 (5)2.2语音信号的采集及频谱分析 (10)2.3语音信号的加噪处理及频谱分析 (12)第三章数字滤波器的设计 (15)3.1数字滤波器的设计原理 (15)3.2 用窗函数法设计FIR数字滤波器 (17)3.3 用双线性法设计IIR数字滤波器 (21)第四章语音信号的滤波 (24)4.1 语音信号的滤波测试 (24)4.2加噪语音信号的滤波处理 (27)第五章总结和展望 (29)5.1 课题总结 (29)5.2课题展望 (29)参考文献 (30)致谢 (31)第一章绪论1.1语音信号滤波处理的简介语音信号的基本组成单位是“音素”。

基于MATLAB的语音信号分析与处理系统的设计

基于MATLAB的语音信号分析与处理系统的设计

数字信号处理大作业基于MATLAB的语音信号分析与处理系统的设计班级:物联网1401学号:姓名:zk目录一、设计目的 (2)二、设计内容及要求 (2)2.1设计内容 (2)2.2设计要求 (3)三、详细设计过程 (3)3.1语音信号的采集 (3)3.2 原始语音信号的时域频域分析 (3)3.3原始语音信号加噪 (5)3.4设计滤波器 (6)3.5 MATLAB语音信号处理界面设计 (8)3.6 利用C语言得出声音带宽 (11)四、调试结果 (11)五、结论 (12)参考文献 (13)一、设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB和C语言作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。

二、设计内容及要求2.1设计内容①录制一段自己的语音信号(我是物联网1401班的张坤),并对录制的信号进行采样。

②画出采样后语音信号的时域波形和频谱图。

③给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应。

④利用设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,回放语音信号。

⑤用 MATLAB 设计一信号处理系统界面。

⑥利用C语言对录制语音信号进行FFT变换(取其中的1024进行),计算出自己声带的带宽。

2.2设计要求①学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。

②掌握在 Windows 环境下语音信号采集的方法。

③掌握数字信号处理的基本概念、基本理论和基本方法。

④掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法。

⑤学会用 MATLAB 对信号进行分析和处理。

⑥学会用C语言进行FFT程序的编写和算法效果的仿真。

三、详细设计过程3.1语音信号的采集利用PC 机上的声卡和Windows 操作系统实现语音信号的的采集。

基于某MATLAB的语音信号处理课程设计

基于某MATLAB的语音信号处理课程设计

课程设计报告课程设计题目:基于matlab的语音信号处理学号:201420130228学生姓名: 刘进辉专业:通信工程班级:1421301指导教师:吴有用老师2016年12 月28 日目录一.摘要 (1)二.设计内容 (1)三.设计步骤 (2)四.实验结果 (4)五.实验结果分析 (5)六. 实验心得 (6)七. 参考文献 (7)八.实验代码 (7)一.摘要MATLAB软件在通信领域中占据着至关重要的作用,通信原理这本书与其更是息息相关,基于MATLAB的语音信号处理,无疑是对通信原理和MATLAB结合使用的能力的综合训练,也是对所学通信知识的有力检验。

在本次设计中,采用了windows下的录音机进行录音,并且通过goldwire软件进行了语音文件格式转换,便于文件在MATLAB中顺利运行,然后利用matlab软件对语音信号按照设计要求进行相应的频谱分析及滤波,最后通过回放比较语音信号的差异。

二.设计内容录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;根据给定的低通滤波器,对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号。

三.设计步骤(1)语音信号的采集利用Windows 下的录音机,录制一段自己的话音,时间在1 s 内。

然后在Matlab 软件平台下,利用函数wavread 对语音信号进行采样,记住采样频率和采样点数。

通过wavread 函数的使用,使学生理解采样频率、采样位数等概念。

(2)语音信号的频谱分析画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,加深学生对频谱特性的理解。

(3)给定某IIR 数字低通滤波器如下:110.330.33()10.33z H z z --+=-即滤波器的分子系数b=[0.33,0.33],分母系数a=[1,-0.33]。

(4)用滤波器对信号进行滤波用给定的低通滤波器对采集的信号进行滤波,在Matlab 中, IIR 滤波器利用函数filter 对信号进行滤波。

基于matlab语音信号合成与处理课程设计

基于matlab语音信号合成与处理课程设计

摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息的手段,所以对其研究就显得尤为重要。

Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以讲声音文件变成离散的数据文件,然后用其强大的矩阵运算能力处理数据。

这为本次课程设计提供了强大并良好的环境。

本设计要求自己通过手机清唱一段歌曲,并用windows自带的录音机录制下来,保存格式为.wav格式,而且要求对所录的语音进行频率均衡和加入混响效果。

从网上下载相应的歌曲伴奏,经过截取、加噪、消噪后,与混响后的清唱语音进行合成,制作成一首歌曲。

采用语音合成可帮助学生加强理解,MATLAB里面有很多应用示波器滤波,利用这些滤波器可以很容易地实现语音信号的消噪过程,利用MATLAB的声音处理函数设计一组语音合成实验,配合Windows操作系统支持的语音媒体播放器可以很方便地将经过数字处理后的语音效果直观地体现出来,对于学生深刻理解数字信号处理中抽象数学运算的现实物理意义很有帮助。

关键字:信号处理语音合成加噪混响一、设计目的与任务录制各自的一段清唱歌曲语音信号,并对其进行频谱分析;然后在时域用数字信号处理的方法将信号加入延时与混响。

然后从网上下载一段该歌曲的伴奏,对伴奏进行截取、格式转换、加噪和去噪后,与伴唱歌曲进行合成,制作成一首歌曲,在分析其频谱,并与原始伴唱语音信号频谱进行比较。

通过数字信号处理的课程设计,巩固和运用数字信号处理课程中的理论知识和实践技能,掌握最基本的运用Matlab软件处理信号的理论和方法,培养发现问题,分析问题和解决问题的能力。

二、设计的基本要求1.录制的语音清晰,分析语音信号的特点;2.探讨语音分析、加噪、去噪、混响以及合成的基本方法;3.写出各个步骤的Matlab的程序代码;4.分析录制的语音信号的时域波形与频谱;分析加噪、去噪与合成前后的语音信号波形与频谱;5.熟悉加强滤波器的设计原理和滤波的过程;三、设计思路图-1语音合成的方案设计方框图整体设计思路:将录制的语音信号进行频谱分析,并进行频率均衡和加入混响效果。

基于matlab语音信号处理毕业设计

基于matlab语音信号处理毕业设计
语音学和数字信号处理的交叉结合便形成了语音信号处理。语音信号处理是建立在语音学和数字信号处理基础之上的,对语音信号模型进行分析、存储、传输、识别和合成等方面的一门综合性学科。
2.2
2.2.1
若滤波器的输入、输出都是离散时间信号,那么该滤波器的单位冲激响应h(n)也必然是离散的,这种滤波器称为数字滤波器(DF)。数字滤波器实质上是一种运算过程——用来描述离散系统输入与输出关系的差分方程的计算或卷积计算。数字滤波器的实质是用一有限精度算法实现的离散时间线性时不变系统,以完成对信号进行滤波处理的过程。它是数字信号处理的一个重要分支,具有稳定性好、精度高、灵活性强、体积小、质量轻等诸多优点。
Key words:speech signal;Frequency characteristics;Temporal haracteristics;Filter
基于MATLAB 的语音信号处理
1 引 言
1.1
语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。
2 基 本 原 理
2.1
语言是人类创造的,是人类区别于其他地球生命的本质特征之一。人类用语言交流的过程可以看成是一个复杂的通信过程,为了获取便于分析和处理的语音信源,必须将在空气中传播的声波转变为包含语音信息并且记载着声波物理性质的模拟(或数字)电信号,即语音信号,因此语音信号就成为语音的表现形式或载体。
2.2.2
数字滤波器根据不同的分类标准可以将滤波器分成不同的类别。
(1)根据单位冲激响应h(n)的时间特性分类
无限冲激响应(IIR)数字滤波器

基于matlab的语音信号处理与仿真设计毕业论文[管理资料]

基于matlab的语音信号处理与仿真设计毕业论文[管理资料]

兰州商学院本科生毕业论文(设计)论文(设计)题目:基于Matlab的语音信号处理与仿真学院、系:信息工程学院计算机科学与技术系专业 (方向):电子信息工程年级、班:学生姓名:指导教师:声明本人郑重声明:所呈交的毕业论文(设计)是本人在导师的指导下取得的成果。

对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

因本毕业论文(设计)引起的法律结果完全由本人承担。

本毕业论文(设计)成果归兰州商学院所有。

特此声明毕业论文(设计)作者签名:年月日基于Matlab的语音信号处理与仿真摘要语音信号处理是研究数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。

,各种函数调用等对语音信号进行采集、提取、变频、变幅,傅里叶变换、滤波等简单处理。

程序界面简练,操作简便,具有一定的实际应用意义。

[关键词] 语音信号Matlab 信号处理GUIABSTRACTVoice signal processing is to study the use of digital signal processing technology and knowledge of the voice processing of the emerging discipline is the fastest growing areas of information science one of the core technology. In this article, using comprehensive use GUI interface design, various function calls to simple processing of the voice signals such as collection, extraction, adjustment of frequency and amplitude, Fourier transform and filtering. The program interface is concise, simple and has some significance in practice.[Key Words] Voice Signal, Matlab, Signal Processing, GUI目录一、引言 (1)(一)课题的背景及意义 (1)(二)国内外的研究现状 (2)(三)本文主要内容 (2)二、语音信号处理基本知识和仿真环境 (3)(一)语音信号处理理论依据 (3)1、采样定理 (3)2、采样频率 (3)3、采样位数和采样频率 (4)(二)语音信号的分析及处理 (4)1、语音的录入与打开 (4)2、时域信号的FFT分析 (5)3、倒谱的概念 (5)4、数字滤波器设计原理 (6)(三)仿真环境 (7)三、语音信号处理的总体方案 (10)(一)本文基本要求 (10)(二)语音信号的处理 (10)1、语音信号的采集 (10)2、语音信号的处理 (10)3、语音信号的效果显示 (11)4、语音信号处理方框图 (11)四、语音信号处理实例 (12)(一)信号的采集 (12)(二)语音信号的提取 (13)(二)语音信号的调整 (14)1、语音信号的频率调整 (15)2、语音信号的振幅调整 (16)(三)语音信号的傅里叶变换 (18)(四)语音信号的滤波 (20)1、语音信号的低通滤波 (20)2、语音信号的高通滤波 (22)3、语音信号的带通滤波 (24)4、语音信号的带阻滤波 (25)五、图形用户界面制作 (26)六、结论 (28)参考文献 (30)致谢 (31)基于Matlab的语音信号处理与仿真一、引言(一)课题的背景及意义语音是人类获取信息的重要来源和利用信息的重要手段。

基于matlab的语音通信过程仿真报告

基于matlab的语音通信过程仿真报告

基于matlab的语音通信过程仿真报告一、整体流程设计1.样本音频信号的频谱分析2.对音频信号的滤波3.对音频信号进行PCM编码4.对编码后的信号进行汉明编码5.对编码后的信号进行qpsk调制6.发送信号进入AWGN信道7.对接收到的信号进行qpsk解调8.信道译码-汉明纠错和译码9.对音频信号进行pcm译码并播放二、主要模块说明1.pcm编解码---pcmcoder()&pcmdecoder()pcm为脉冲调制,选取的压缩特性为A律,采用十三折线编码算法,如下图所示。

从图中可以看到,先把X轴的0~1分为8个不均匀段,其分法是:将0—1之间一分为二,其中点为l,2,取1/2~1之间作为第八段;剩余的0—1/2再一分为二,中点为1/4,取1/4—1/2之间作为第七段,再把剩余的0—1/4一分为二,中点为1/8,取1/8~1/4之间作为第六段,依此分下去,直至剩余的最小一段为0~1/128作为第一段。

而Y轴的0~1均匀地分为八段,它们与x轴的八段一一对应。

从第一段到第八段分别为,0~1/8,1/8—2/8,⋯,7/8~l。

这样,便可以作出由八段直线构成的一条折线。

再加上第三象限的八段折线,共l6段,由于正向一、二两段和负向一、二两段的斜率相同,这四段实际上为一条直线,因此,正、负双向的折线总共由l3条直线段构成,故称其为13折线。

2.汉明编解码---hanmingcoder()&hanmingdecoder()汉明码是一种线性分组码。

线性分组码是指将信息序列划分为长度为k的序列段,在每一段后面附加r位的监督码,且监督码和信息码之间构成线性关系,即它们之间可由线性方程组来联系。

这样构成的抗干扰码称为线性分组码。

设码长为n,信息位长度为k,监督位长度为r=n-k。

如果需要纠正一位出错,因为长度为n的序列上每一位都可能出错,一共有n种情况,另外还有不出错的情况,所以我们必须用长度为r的监督码表示出n+1种情况。

基于MATLAB对语音信号进行分析和处理

基于MATLAB对语音信号进行分析和处理

基于MATLAB对语音信号进行分析和处理一、设计目的1.学会MATLAB的使用,掌握MA TLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MA TLAB对信号进行分析和处理。

二、设计过程1、语音信号采集与分析运用windows下的录音机,录制一段自己的话音,时间为两秒。

然后在MATLAB 软件平台下,利用函数wavread对语音信号进行采样,再运用plot函数画出语音信号的时域波形,最后在语音信号频谱分析时运用fft对信号进行快速傅里叶变换,得到频谱特性图形。

人为设计一个固定频率5500Hz的噪声干扰信号。

噪声信号通常为随机序列,在本设计中用正弦序列代替,干扰信号构建命令函数为d=[Au*sin(2*pi*5500*t)]',给出的干扰信号为一个正弦信号,针对上面的语音信号 ,采集了其中一段。

再对噪音信号进行频谱变换得到其频谱图。

2、滤波器设计和运用滤波器进行滤波1 )窗函数和等波纹逼近法设计FIR滤波器及滤波首先根据阻带最小衰减选定窗口类型,然后调用fir1函数设计线性相位FIR数字滤波器,再用freqz函数画出其频谱图形,最后运用fftfilt函数对信号进行滤波。

而等波纹逼近法中则运用remez和remezord直接设计FIR滤波器,然后运用fftfilt函数对信号进行滤波。

2 )双线性变换法社设计IIR数字滤波器及滤波首先将数字滤波器的技术指标运用预畸校正法转换成模拟滤波器的设计指标:Ωph=2/T*tan(wp/2),然后用butter、cheby1设计各种模拟滤波器,再用bilinear函数进行模拟滤波器和数字滤波器之间的转换,最后用filter函数对语音信号进行滤波,并运用函数sound播放滤波后语音。

三、结果及分析1、用MATLAB对原始语音信号进行分析,画出它的时域波形和频谱时域波形和频谱:图1 原始语音信号图2 语音信号频率响应图图3 原始语音信号FFT与信号频谱2、给原始的语音信号加上一个高频余弦噪声,频率为5500hz。

基于MATLAB语音信号处理(语音信号处理的综合仿真)

基于MATLAB语音信号处理(语音信号处理的综合仿真)

---------------------------------------------------------------范文最新推荐------------------------------------------------------ 基于MATLAB语音信号处理(语音信号处理的综合仿真)摘要:针对目前在嘈杂的环境中手机接听电话时人声不清楚的缺点,本文介绍了一个基于MATLAB的算法来对语音信号进行处理。

该算法通过计算机录音系统来实现对语音信号的采集,并且利用MATLAB的计算和信号处理能力进行频谱分析和设计滤波器,最终通过仿真得到滤波前后的波形,从而达到保留语音信号中的大部分人声并且滤除掉嘈杂噪声的目的。

仿真实验表明,采用低通滤波器保留人声的效果显著,失真较少。

本算法具有操作简单,运行速度快等优点。

关键词:语音信号;MATLAB;滤波;低通;噪声Speech Signal Processing Based on MATLAB1 / 17Abstract: At present, in view of the shortcomings of that the voice is not clear when people answering the phone in a noisy environment, this paper introduces a algorithm for speech signal processing based on MATLAB. The algorithm realizes the acquisition of the speech signal through a computer recording system. And the software can realize the capabilities of frequency spectrum analysis and filter design by the use of calculation and signal processing capabilities of MATLAB. Finally it can get the waveform before and after filtering through the simulation. So that we can retain most of the voices in the speech signal and at the same time remove noisy noise through filter. Simulation results show that the low pass filter has a remarkable effect of keeping voices and the distortion is little. This algorithm has the advantages of simple to operate and fast.Key Words: Speech signal; MATLAB; Filtering; Low pass; Noise目录---------------------------------------------------------------范文最新推荐------------------------------------------------------ 摘要1引言11.研究意义及研究现状21.1研究意义21.2研究现状22. 语音信号处理的总体方案2.1 研究的主要内容本课题主要介绍的是的语音信号的简单处理,目的就是为以后在手机上的移植打下理论基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

语音信号处理系统设计摘要:语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。

语音信号处理的目的是得到某些参数以便高效传输或存储,或者是用于某种应用,如人工合成出语音、辨识出讲话者、识别出讲话内容、进行语音增强等。

本文简要介绍了语音信号采集与分析以及语音信号的特征、采集与分析方法,并在采集语音信号后,在MATLAB 软件平台上进行频谱分析,并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

利用MATLAB来读入(采集)语音信号,将它赋值给某一向量,再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤波,然后我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。

关键词:Matlab,语音信号,傅里叶变换,滤波器1课程设计的目的和意义本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。

通过完成本课题的设计,拟主要达到以下几个目的:1.1.了解Matlab软件的特点和使用方法。

1.2.掌握利用Matlab分析信号和系统的时域、频域特性的方法;1.3.掌握数字滤波器的设计方法及应用。

1.4.了解语音信号的特性及分析方法。

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

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

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

具体任务是:2.1.采集语音信号。

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

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

2.4.对噪声滤除前后的语音进行时频域分析。

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

2.6.对语音信号部分时域参数进行提取。

2.7.设计图形用户界面(包含以上功能)。

3 设计方案论证3.1语音信号的采集使用电脑的声卡设备采集一段语音信号,并将其保存在电脑中。

3.2语音信号的处理语音信号的处理主要包括信号的提取播放、信号的重采样、信号加入噪声、信号的傅里叶变换和滤波等,以及GUI图形用户界面设计。

Ⅰ.语音信号的时域分析语音信号是一种非平稳的时变信号,它携带着各种信息。

在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。

语音信号分析的目的就在与方便有效的提取并表示语音信号所携带的信息。

语音信号分析可以分为时域和变换域等处理方法,其中时域分析是最简单的方法。

Ⅱ.语音信号的频域分析信号的傅立叶表示在信号的分析与处理中起着重要的作用。

因为对于线性系统来说,可以很方便地确定其对正弦或复指数和的响应,所以傅立叶分析方法能完善地解决许多信号分析和处理问题。

另外,傅立叶表示使信号的某些特性变得更明显,因此,它能更深入地说明信号的各项红物理现象。

由于语音信号是随着时间变化的,通常认为,语音是一个受准周期脉冲或随机噪声源激励的线性系统的输出。

输出频谱是声道系统频率响应与激励源频谱的乘积。

声道系统的频率响应及激励源都是随时间变化的,因此一般标准的傅立叶表示虽然适用于周期及平稳随机信号的表示,但不能直接用于语音信号。

由于语音信号可以认为在短时间内,近似不变,因而可以采用短时分析法。

Ⅲ.模拟滤波器原理(1)模拟巴特沃思滤波器原理巴特沃斯滤波器具有单调下降的幅频特性:在小于截止频率c Ω的范围内,具有最平幅度的响应,而在c Ω>Ω后,幅频响应迅速下降。

巴特沃思低通滤波器幅度平方函数为:221()1()a N cH j Ω=Ω+Ω (2-1) 式中N 为滤波器阶数,c Ω为3dB 截止角频率。

将幅度平方函数写成s 的函数:21()()1()a a NcH s H s s j -=+Ω (2-2) 该幅度平方函数有2N 个等间隔分布在半径为c Ω的圆上的极点121()22 k j Nk c s eπ++=Ω,0,1,...21k N =- 为了形成稳定的滤波器,取左半平面的N 个极点构成()a H s ,即:1()()N N a ckk H s s s -==Ω-∏ (2-3)为使设计统一,将频率归一化,得到归一化极点121()22k j Nk p e π++=,相应的归一化系统函数为:1()1()N a kk H p p p -==-∏ (2-4)多项式形式为: 01()1(...)N a H p b b p p =+++ (2-5)(2)模拟切比雪夫滤波器原理切比雪夫滤波器的幅频特性具有等波纹特性,有两种形式,在通带内等波纹、阻带单调的是I 型滤波器,在通带内单调、在阻带内等波纹的是II 滤波器。

以I 型滤波器为例。

切比雪夫滤波器的幅度平方函数为:22221()()1()aN pA H j C εΩ=Ω=Ω+Ω (2-6)ε为小于1的正数,表示通带内幅度波动的程度。

Ωp 称为通带截止频率。

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

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

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

同样取s 平面左半平面的极点构成()a H s :11()2()NN N a pi i H s s s ε-==Ω⋅⋅-∏ (2-7)进行归一化,得到:11()12()NN a i i H p p p ε-==⋅⋅-∏ (2-8)其中(21)(21)sin[]cos[]22k k p ch jch i N Nππξξ--=-⋅+⋅ ,11()Arsh N ξε=(3)模拟滤波器数字化原理将模拟滤波器转化为数字滤波器在工程上常用的有脉冲响应不变法和双线性变换法。

脉冲响应不变法时一种时域上的转换方法,它是数字滤波器的单位取样响应在抽样点上等于模拟滤波器的单位冲激响应,即:()()h n h nT a = (2-9)设模拟滤波器只有单阶极点,其系统函数为:1()Nia i iA H s s s ==-∑(2-10)对()a H s 进行拉氏反变换得到()a h t ,对()a h t 进行等间隔抽样,得到()()h n h nT a =,对()h n 进行Z 变换,得到数字滤波器系统函数:11()1i Nis T i A H z e z -==-∑(2-11) 这种方法s 和z 的关系是:sT z e =。

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

双线性变换法为了克服频谱混叠现象,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到/T π±之间,再用sT z e =转换到Z 平面上。

这种方法s 和z 的关系是:11(2/)(1/1)s T z z --=-+。

该方法克服了频谱混叠现象,但带来了频率坐标变换的非线性:(2/)tan(/2)T ωΩ=,由模拟滤波器系统函数转换为数字滤波器系统函数公式为:11211()()|a z z T z H z H s ---=+= (2-12)3.3语音信号的效果显示图形用户界面(Graphical User Interface ,GUI )是由窗口、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。

用户通过一定的方法(如鼠标、键盘)选择激活这些图形对象,实现计算、绘图等。

创建图形用户界面须具有三类基本元素:(1)组件:图形化控件(如按钮、编辑框、列表框等)、静态元素(如文本字符串)、菜单和坐标系。

(2)图形窗口:GUI 的每一个组件都须安排在图形窗口中。

(3)回应:如用户用鼠标单击或用键盘输入信息后,程序要有相应的动作。

3.4短时能量及短时平均幅度短时能量函数和短时平均幅度函数是基于语音信号幅度的变化。

清音段幅度小,其能量集中于高频段;浊音段幅度较大,其能量集中于低频段。

短时能量函数对信号电平值过于敏感。

由于需要计算信号样值的平方和,在实际应用中(如定点设备)很容易溢出,所以可以用平均幅度函数来代替短时能量函数。

短时能量函数定义:∑-==12)(N m n n m x E (6-1)短时平均幅度函数定义:∑-==1|)(|N m n n m x M (6-2)(2)作用(a) 区分清/浊音:En 、Mn 大,对应浊音; En 、Mn 小,对应清音。

(b) 在信噪比高的情况下,能进行有声/无声判决:无声时,背景噪声的En 、Mn 小;有声时,En 、Mn 显著增大。

判决时可设置一个门限。

3.5短时平均过零率(1)过零率定义:信号跨越横轴的情况。

对于连续信号,观察语音时域波形通过横轴的情况;对于离散信号,相邻的采样值具有不同的代数符号,也就是样点改变符号的次数。

(2)短时平均过零率对于语音信号,是宽带非平稳信号,考察其短时平均过零率。

∑-=--=1)]1(sgn[)](sgn[21N m n n n m x m x Z (6-3)其中sgn[.]为符号函数,⎩⎨⎧<=≥=0)(1))(sgn(0)(1))(sgn(n x n x n x n x (6-4) (3)作用(a) 区分清/浊音:浊音平均过零率低,集中在低频端;清音平均过零率高,集中在高频端。

(b) 从背景噪声中找出是否有语音,以及语音的起点。

3.6短时自相关函数相关函数用于确定两个信号在时域内的相似性。

常用的物理量为自相关函数和互相关函数。

当两个信号的互相关函数大时,则说明一个信号可能是另一个信号的时间滞后或提前;当互相关函数为0时,则两个信号完全不同。

自相关函数用于研究信号本身,如波形的同步性和周期性。

(1)自相关函数定义K k k m x m x k R kN m n n n ≤<+=∑--=0)()()(10(5-5)(2)自相关函数特点(a) 当时域信号为周期信号时,自相关函数也是周期性函数,两者具有同样的周期。

(b) Rn(k)为偶函数, Rn(k)=Rn(-k)(c) Rn(0)最大, Rn(0)≥ |Rn(k)|, Rn(0)=En,对于确定信号, Rn(0)是信号能量;对于随机信号或周期信号, Rn(0)是平均功率。

(3)作用(a) 区分清/浊音。

浊音语音的自相关函数具有一定的周期性。

清音语音的自相关函数不具有周期性,类似噪声。

(b) 估计浊音语音信号的周期,即估计基音周期。

3.7系统初步流程图下图列出了整个语音信号处理系统的工作流程:4 设计内容4.1语音信号的打开程序:[x,fs,nbits]=wavread('mei.wav'); %打开语音信号sound(x,fs,nbits); %播放语音信号N=length(x); %长度n=0:N-1;w=2*n*pi/N;y1=fft(x); %对原始信号做FFT变换subplot(2,1,1);plot(n,x) %做原始语音信号的时域波形图title('原始语音信号时域图');xlabel('时间t'); ylabel('幅值');subplot(2,1,2); %做原始语音信号的频谱图 plot(w/pi,abs(y1)); title('原始语音信号频谱') xlabel('频率Hz'); ylabel('幅度'); 程序结果:时间t幅值频率Hz幅度-----------------------------------------------------------------------------------------------------------------------------------------4.2 信号重采样 程序:[x,fs,nbits]=wavread('mei.wav'); %打开语音信号 x1=resample(x,1,2); %进行8KHZ 重采样 sound(x1,fs/2,nbits); %读重采样后的信号x2=resample(x,1,4); %进行4KHZ重采样sound(x2,fs/4,nbits); %读重采样后的信号n1=0:N/2-1;n2=0:N/4-1;w1=4*n1*pi/N;w2=8*n2*pi/N;y1=fft(x1); %对重采样信号做FFT变换y2=fft(x2);figure(1)subplot(2,1,1);plot(n1,x1) %做8khz重采样语音信号的时域波形图title('8KHZ重采样语音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2); %做8KHZ重采样语音信号的频谱图plot(w1/pi,abs(y1));title('8KHZ重采样语音信号频谱')xlabel('频率Hz');ylabel('幅度');figure(2)subplot(2,1,1);plot(n2,x2) %做4KHZ 重采样语音信号的时域波形图 title('4KHZ 重采样语音信号时域图'); xlabel('时间t'); ylabel('幅值');subplot(2,1,2); %做4KHZ 重采样语音信号的频谱图 plot(w2/pi,abs(y2));title('4KHZ 重采样语音信号频谱') xlabel('频率Hz'); ylabel('幅度');程序结果:8KHZ 重采样语音信号时域图时间t幅值8KHZ 重采样语音信号频谱频率Hz幅度时间t幅值频率Hz幅度-----------------------------------------------------------------------------------------------------------------------------------------4.3加噪音 程序:x=wavread('mei.wav')'; %打开语音信号 N=length(x); %长度 n=0:N-1; w=2*n*pi/N;z=0.02*cos(10*n); %噪音 sound(z,fs,nbits); %读噪音 y=x+z; %加噪音sound(y,fs,nbits); %读加噪音后的信号 y1=fft(z); %对噪音做FFT 变换 y2=fft(y); %对加噪信号做FFT 变换 figure(1)subplot(2,1,1); %做噪音信号的时域波形图plot(n,z);axis([0,50,-0.02,0.02]);title('噪音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2); %做噪音信号的频谱图plot(w/pi,abs(y1));title('噪音信号频谱')xlabel('频率Hz');ylabel('幅度');figure(2)subplot(2,1,1); %做加噪音信号的时域波形图plot(n,y);axis([0,50,-0.02,0.02]);title('加噪音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2); %做加噪音信号的频谱图plot(w/pi,abs(y2));title('加噪音信号频谱')xlabel('频率Hz'); ylabel('幅度');程序结果:时间t 幅值频率Hz幅度时间t 幅值频率Hz幅度-----------------------------------------------------------------------------------------------------------------------------------------4.4滤波器function [db,mag,pha,w]=freqz_m(b,a);[H,w]=freqz(b,a,1000,'whole'); %在0-2*pi 之间选取N 个点计算频率响应H=(H(1:501))'; %频率响应 w=(w(1:501))'; %频率 mag=abs(H); %响应幅度 db=20*log10((mag+eps)/max(mag)); %增益 pha=angle(H);-----------------------------------------------------------------------------------------------------------------------------------------function [b,a]=afd_butt(Wp,Ws,Rp,As)N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Wp/Ws))); %滤波器阶数N 为整数fprintf('\n Butterworth Filter Order=%2.0f\n',N)OmegaC=Wp/((10^(Rp/10)-1)^(1/(2*N))) %求对应于N 的3db 截止频率[b,a]=u_buttap(N,OmegaC);-----------------------------------------------------------------------------------------------------------------------------------------function [b,a]=imp_invr(c,d,T)[R,p,k]=residue(c,d); %部分分式展开p=exp(p*T); %从模拟到数字极点对应关系sT e z ,部分分式系数相同[b,a]=residuez(R,p,k); %将部分分式的形式变换成多项式之比的形式b=real(b'); %求出数字滤波器系数 a=real(a');----------------------------------------------------------------------------------------------------------------------------------------- 程序:wp=0.6*pi;ws=0.75*pi;Rp=1;As=30;T=1; %定义滤波器参数OmegaP=wp/T;OmegaS=ws/T;[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);[b,a]=imp_invr(cs,ds,T);[db,mag,pha,w]=freqz_m(b,a);figure(1)subplot(2,1,1);plot(w/pi,mag); %作出滤波器的图形title('digital filter Magnitude Response')axis([0,1,0,1.1])subplot(2,1,2);plot(w/pi,db);title('digital filter Magnitude in DB')axis([0,1,-40,5]);x=wavread('mei.wav')'; %打开语音信号N=length(x); %长度n=0:N-1;w=2*n*pi/N;z=0.02*cos(10*n); %噪音y=x+z;y1=filter(b,a,y); %用滤波器滤波y2=fft(y1); %对滤波后信号做FFT变换sound(y1); %读滤波后信号figure(2)subplot(2,1,1);plot(n,y1) %做滤波后信号的时域波形图title('滤波后信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2); %做滤波后信号的频谱图plot(w/pi,abs(y2));title('滤波后信号频谱')xlabel('频率Hz');ylabel('幅度');时间t 幅值频率Hz幅度-----------------------------------------------------------------------------------------------------------------------------------------4.5 GUI 的函数 1 开语音global x;global fs; global nbits; global w;global N; H={'*.wav'};[x,fs,nbits]=wavread('mei.wav'); y=fft(x);N=length(x); n=0:N-1; w=2*n*pi/N; subplot(2,1,1);plot(n,x) title('原始语音信号时域图'); xlabel('时间t');ylabel('幅值');subplot(2,1,2);plot(w/pi,abs(y));title('原始语音信号频谱')xlabel('频率Hz');ylabel('幅度');点开语音键结果:----------------------------------------------------------------------------------------------------------------------------------------- 2 读语音global fs; global x;sound(x,fs);-----------------------------------------------------------------------------------------------------------------------------------------3 重采样global x;global fs;global nbits;N=length(x);x1=resample(x,1,2);sound(x1,fs/2,nbits);x2=resample(x,1,4);sound(x2,fs/4,nbits);n1=0:N/2-1;n2=0:N/4-1;w1=4*n1*pi/N;w2=8*n2*pi/N;y11=fft(x1);y12=fft(x2);subplot(2,2,1);plot(n1,x1) %8kh重采样语音信号时域图title('8KH重采样语音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,2,2); %8KH重采样语音信号频域图plot(w1/pi,abs(y11));title('8KH重采样语音信号频域图')xlabel('频率Hz');ylabel('幅度');subplot(2,2,3);plot(n2,x2) %4KH重采样语音信号时域图title('4KH重采样语音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,2,4); %4KH重采样语音信号频域图plot(w2/pi,abs(y12));title('4KH重采样语音信号频域图')xlabel('频率Hz');ylabel('幅度');点重采样键结果:fs=8000HZ和fs=4000HZ----------------------------------------------------------------------------------------------------------------------------------------- 4 噪音键global w;global N;global fs;global nbits;global z;n=0:N-1;z=0.02*cos(10*n);sound(z,fs,nbits);y2=fft(z);subplot(2,1,1);plot(n,z);axis([0,50,-0.02,0.02]);title('噪音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2);plot(w/pi,abs(y2));title('噪音信号频谱')xlabel('频率Hz');ylabel('幅度');点噪音键结果:----------------------------------------------------------------------------------------------------------------------------------------- 5 加噪音global x;global fs; global nbits; global w;global N;global z;global y; y1=wavread('mei.wav')';n=0:N-1;y=y1+z;sound(y2,fs,nbits);y3=fft(y2);subplot(2,1,1);plot(n,y);axis([0,50,-0.02,0.02]);title('加噪音信号时域图');xlabel('时间t');ylabel('幅值');subplot(2,1,2);plot(w/pi,abs(y3));title('加噪音信号频谱')xlabel('频率Hz');ylabel('幅度');点加噪音键结果:----------------------------------------------------------------------------------------------------------------------------------------- 6 滤波器global a;global b;A=str2double(get(handles.edit1,'String'));B=str2double(get(handles.edit2,'String'));C=str2double(get(handles.edit3,'String'));D=str2double(get(handles.edit4,'String'));wp=A*pi;ws=B*pi;Rp=C;As=D;T=1;OmegaP=wp/T;OmegaS=ws/T;[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As);[b,a]=imp_invr(cs,ds,T);[db,mag,pha,w]=freqz_m(b,a);subplot(2,1,1);plot(w/pi,mag);title('digital filter Magnitude Response')axis([0,1,0,1.1])subplot(2,1,2);plot(w/pi,db);title('digital filter Magnitude in DB')axis([0,1,-40,5]);点滤波器键结果:----------------------------------------------------------------------------------------------------------------------------------------- 7 滤波global a;global fs;global b;global y;global w;global nbits;global fs;global N;n=0:N-1;y1=filter(b,a,y);y2=fft(y1);sound(y1,fs,nbits); subplot(2,1,1);plot(n,y1)title('滤波后信号时域图'); xlabel('时间t');ylabel('幅值');subplot(2,1,2);plot(w/pi,abs(y2));title('滤波后信号频谱') xlabel('频率Hz');ylabel('幅度');点滤波键结果:----------------------------------------------------------------------------------------------------------------------------------------- 8 输入框的回调函数input = str2num(get(hObject,'String'));if (isempty(input))set(hObject,'String','0')endguidata(hObject, handles);4.6选作部分分帧M文件function f=enframe(x,len,inc)fh=fix(((size(x,1)-len)/inc)+1);f=zeros(fh,len);i=1;n=1;while i<=fhj=1;while j<=lenf(i,j)=x(n);j=j+1;n=n+1;endn=n-len+inc;i=i+1;end----------------------------------------------------------------------------------------------------------------------------------------- 过零率zcrofunction f=zcro(x)f=zeros(size(x,1),1);for i=1:size(x,1)z=x(i,:);for j=1:(length(z)-1);if z(j)*z(j+1)<0;f(i)=f(i)+1;endendend----------------------------------------------------------------------------------------------------------------------------------------- 1、短时平均能量[z,fs,nbits]=wavread('mei.wav');y=enframe(z,400,200);y1=y.^2;energy=sum(y1,2);subplot(2,1,1)plot(z);title('原始信号');xlabel('样点数');ylabel('幅度');subplot(2,1,2)plot(energy);xlabel('帧数');ylabel('短时能量E');样点数幅度帧数短时能量E-----------------------------------------------------------------------------------------------------------------------------------------2、短时平均幅度[z,fs,nbits]=wavread('mei.wav');y=enframe(z,400,200);y1=y.^2;energy=sum(y1,2);figure(1)subplot(2,1,1)plot(z);title('原始信号');xlabel('样点数');ylabel('幅度');subplot(2,1,2)plot(energy);xlabel('帧数'); ylabel('短时能量E');样点数幅度帧数短时平均幅度M-----------------------------------------------------------------------------------------------------------------------------------------3、过零函数[z,fs]=wavread('mei.wav'); y=enframe(z,220,110);zcr=zcro(y); %求过零率 subplot(2,1,1) plot(z);title('原始信号');xlabel('样点数');ylabel('幅度'); subplot(2,1,2) plot(zcr);title('原始信号的过零率');样点数幅度帧数过零次数-----------------------------------------------------------------------------------------------------------------------------------------4、短时自相关[x,fs]=wavread('mei.wav'); s1=enframe(x,100,100); s=s1(4800:5000); e=xcorr(s); N=length(e) n=0:N-1; subplot(3,1,1) plot(n,e);title('短时自相关函数');subplot(3,1,2)s1=enframe(x,400,400);s=s1(5800:6000);e=xcorr(s);N=length(e)n=0:N-1;plot(n,e);title('短时自相关函数');xlabel('帧数');ylabel('短时自相关'); subplot(3,1,3)s1=enframe(x,800,800);s=s1(6800:7000);e=xcorr(s);N=length(e)n=0:N-1;plot(n,e);title('短时自相关函数');xlabel('帧数');ylabel('短时自相关');帧数短时自相关帧数短时自相关帧数短时自相关5 实验结果与分析6 总结参考文献[1] 高西全.数字信号处理(第三版).西安电子科技大学出版社,2008.8[2] 王一世,数字信号处理,北京理工大学出版社.[3] 吴大正. 信号与线性系统分析(第四版). 高等教育出版社,2005.8[4] 陈垚光. 精通MATLAB GUI设计(第二版)电子工业出版社, 2011.1[5] 陈后金. 信号分析与处理实验. 高等教育出版社,2006.8[6] 赵力. 语音信号处理. 机械工业出版社,2009.7[7] 李勇、徐震,MATLAB辅助现代工程数字信号处理,西安电子科技大学出版社.[8] 陈怀琛,数字信号处理教程——Matlab释义与实现 ,电子工业出版社.[9] 韩纪庆、张磊,语音信号处理,清华大学出版社.[10] 胡航,语音信号处理,哈尔滨工业大学出版社.[11] 苏金明、张莲花、刘波,MATLAB工具箱应用,电子工业出版社.[12] 王京辉,语音信号处理技术研究,论文,山东大学.[13] 于俊凤,语音信号的识别和转换研究,学位论文,成都理工大学.[14] Gersho A,Gr R M.Vector quantization and signal Compression Boston,Kluwer Academic Publishers.[15] Q.Zhang,A.Benveniste,WaveletNetworks,IEEETrans,NeuralNetworks.。

相关文档
最新文档