基于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的语音识别系统的设计本科毕业设计
摘要语音识别主要是让机器听懂人说的话,即在各种情况下,准确地识别出语音的内容,从而根据其信息执行人的各种意图。
语音识别技术既是国际竞争的一项重要技术,也是每一个国家经济发展不可缺少的重要技术支撑。
本文基于语音信号产生的数学模型,从时域、频域出发对语音信号进行分析,论述了语音识别的基本理论。
在此基础上讨论了语音识别的五种算法:动态时间伸缩算法(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的个人语音信号处理
目录一、实验目的 (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语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是Matlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
最后,本文对语音信号处理的进一步发展方向提出了自己的看法。
关键字:Matlab;语音信号;傅里叶变换;信号处理;The Design of Analysis and Processing Voice SignalAbstractSpeech signal processing is to study the use of digital signal processing technology and knowledge of the voice signal voice processingof the emerging discipline is the fastest growing areas of information science one of the core technology. Transmission of information through the voice of humanity's most important, most effective, most popular and most convenient form of exchange of information..Matlab language is a data analysis and processing functions are very powerful computer application software, sound files which can be transformed into discrete data files, then use its powerful ability to process the data matrix operations, such as digital filtering, Fourier transform, when domain and frequency domain analysis, sound playback and a variety of map rendering, and so on. Its signal processing and analysis toolkit for voice signal analysis provides a very rich feature function, use of these functions can be quick and convenient features complete voice signal processing and analysis and visualization of signals, makes computer interaction more convenient . Matlab Signal Processing is one of the important areas of application.The design of voice-processing software for most of the content are numerous, easy to maneuver and so on, using MATLAB7.0 comprehensive use GUI interface design, various function calls to voice signals such as frequency, amplitude, Fourier transform and filtering, the program interface concise, simple, has some significance in practice.Finally, the speech signal processing further development putforward their own views.Keywords: Matlab, Voice Signal,Fourier transform,Signal Processing目录1 绪论 (1)1.1课题背景及意义 (1)1.2国内外研究现状 ..................................................... 1 1. 3本课题的研究内容和方法 .. (2)1.3.1 研究内容 .....................................................21.3.2 运行环境 (2)1.3.3 开发环境 .....................................................22 语音信号处理的总体方案 (3)2.1 系统基本概述 ......................................................3 2.2 系统基本要求 ....................................................... 3 2.3 系统框架及实现 ..................................................... 3 2.4系统初步流程图 .. (4)3 语音信号处理基本知识 (5)3.1语音的录入与打开 ...................................................5 3.2采样位数和采样频率 ................................................. 6 3.3时域信号的FFT 分析 ................................................. 6 3.4数字滤波器设计原理 ................................................. 6 3.5倒谱的概念 (7)4 语音信号处理实例分析 (7)4.1图形用户界面设计 ...................................................7 4.2信号的采集 ......................................................... 8 4.3语音信号的处理设计 (8)4.3.1 语音信号的提取 ...............................................84.3.2 语音信号的调整 (10)4.3.2.1 语音信号的频率调整 (10)4.3.2.2语音信号的振幅调整 (11)4.3.3 语音信号的傅里叶变换 (12)4.3.4 语音信号的滤波 .............................................134.3.4.1 语音信号的低通滤波 (13)?4.3.4.2 语音信号的高通滤波 .......................................154.3.4.3 语音信号的带通滤波 .......................................154.3.4.4 语音信号的带阻滤波 .......................................164.4 语音信号的输出 (17)5 总结 (18)参考文献 (19)致谢 (19)1 绪论语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。
基于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的语音信号分析与处理系统的设计班级:物联网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课程设计---基于MATLAB的语音信号处理武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书课程设计任务书学生姓名:陈欢专业班级: 通信0902班指导教师:徐文君工作单位: 信息工程学院题目: 基于MATLAB的语音信号处理设计任务与要求:1、Matlab的基本运算(1) 极限的计算、微分的计算、积分的计算、级数的计算、求解代数方程、求解常微分方程;(2) 矩阵的最大值、最小值、均值、方差、转置、逆、行列式、特征值的计算、矩阵的相乘、右除、左除、幂运算;2、基于MATLAB的语音信号处理(1)完成语音信号的采集,利用windows自带的录音机或其他软件,录制一段午语音,时间在1s以内,并对信号进行采样,画出采样信号的时域和频域波、(2)要求用窗函数法和双线性变换法设计三种数字滤波器(3)用设计好滤波器的对语音信号进行滤波处理,画出处理后的时域和频域波形。
(4)对滤波前后的语音信号频谱进行对比,并对设计结果进行分析。
参考文献:1、易克初,田斌,付强.语音信号处理.北京:国防工业出版社,2000年2、贾永红.数字图像处理.武汉大学出版社,2003年9月时间安排:第16周安排任务,分组。
第17周设计仿真,撰写报告。
第18周完成设计,提交报告,答辩。
指导教师签名: 2011 年月日系主任(或责任教师)签名: 2011 年月日1武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书目录摘要 ..................................................................... .. (1)ABSTRACT ........................................................... ................................................... 2 1 课程设计的基本原理 ..................................................................... ...................... 3 1.1 设计要求 ..................................................................... .. (3)1.1.1 采用MATLAB基本运算如下 (3)1.1.2 基于MATLAB的语音信号处理 (3)1.2.Matlab的基本运算 ..................................................................... .. (4)1.2.1极限的计算 ..................................................................... . (4)1.2.2微分的计算 ..................................................................... . (4)1.2.3积分的计算 ..................................................................... . (5)1.2.4 级数的计算 ..................................................................... (5)1.2.5 求解代数方程 ..................................................................... (5)1.2.6 求解常微分方程 ..................................................................... .. (6)1.2.7 矩阵的基本运算 ..................................................................... .. (6)1.2.8 多项式的基本运算 ..................................................................... ....... 6 1.3 语音信号的录入与打开 ..................................................................... ......... 8 1.4 时域信号的FFT分析 ..................................................................... ............ 8 1.5 数字滤波器设计原理 ..................................................................... . (8)1.5.1 用窗函数法设计FIR滤波器 (9)1.5.2 用双线性变换法设计IIR数字滤波器 (9)2 语音信号分析和处理过程 ..................................................................... ..............10 2.1 语音信号的采集 ..................................................................... ...................10 2.2 窗函数法设计 ..................................................................... .. (11)2.2.1窗函数法低通滤波器 ..................................................................... (11)2.2.2 窗函数法高通滤波器 ..................................................................... ..142.2.3 窗函数法带通滤波器 ..................................................................... ..15 2.3双极性变换法设计 ..................................................................... . (16)2.3.1 双极性变换法设计低通滤波器 (18)2.3.2 双极性变换法设计高通滤波器 (20)2.3.3 双极性变换法设计带通滤波器 (24)2.4 结果分析 ..................................................................... ...............................26 3 总结 ..................................................................... ................................................27 参考文献 ..................................................................... .. (28)2武汉理工大学《基于MATLAB的语音信号处理》课程设计说明书摘要MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。
基于matlab的语音信号滤波处理——数字信号处理课程设计
数字信号处理课程设计题目:基于matlab的语音信号滤波处理摘要:语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴学科,是目前发展最为迅速的学科之一,通过语音传递信息是人类最重要,最有效,最常用和最方便的交换信息手段,所以对其的研究更显得尤为重要。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换成离散的数据文件,然后用起强大的矩阵运算能力处理数据。
这为我们的本次设计提供了强大并良好的环境!本设计要求自己录制一段自己的语音后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图。
再在Matlab中分别设计不同形式的FIR数字滤波器。
之后对采集的语音信号经过不同的滤波器(低通、高通、带通)后,观察不同的波形,并进行时域和频谱的分析。
对比处理前后的时域图和频谱图,分析各种滤波器对于语音信号的影响。
最后分别收听进行滤波后的语音信号效果,做到了解在怎么样的情况下该用怎么样的滤波器。
目录1.设计内容 (4)2.设计原理 (4)2.1语音信号的时域分析 (4)2.2语音信号的频域分析 (5)3.设计过程 (5)3.1实验程序源代码 (6)3.1.1原语音信号时域、频域图 (6)3.1.2低通滤波器的设计 (6)3.1.3高通滤波器的设计 (7)3.1.4带通滤波器的设计 (8)3.1.5语音信号的回放 (9)3.2调试结果描述 (10)3.3所遇问题及结果分析 (15)3.3.1所遇主要问题 (16)3.3.2结果分析 (16)4.体会与收获 (17)5.参考文献 (17)1.设计内容:1.首先录制好一段自己的语音。
2.用Matlab分别设计好3种类型的滤波器(指标自己确定):低通型、高通型、带通型。
3.用Matlab将语音信号进行采样,并分别将其通过所设计的3种滤波器。
4.用Matlab自带的语音返回函数收听滤波后的语音信号,分析并比较其与原语音信号的差异。
基于MATLAB的语音信号分析与处理系统的设计
数字信号处理大作业基于MATLAB的语音信号分析与处理系统的设计班级:物联网1401学号:姓名:zk目录一、设计目的 (3)二、设计内容及要求 (3)2.1设计内容 (3)2.2设计要求 (3)三、详细设计过程 (4)3.1语音信号的采集 (4)3.2 原始语音信号的时域频域分析 (4)3.3原始语音信号加噪 (5)3.4设计滤波器 (6)3.5 MATLAB语音信号处理界面设计 (8)3.6 利用C语言得出声音带宽 (11)四、调试结果 (12)五、结论 (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的语音信号处理学号: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的语音通信过程仿真报告一、整体流程设计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设计仿真实验彭杰12350049 12自动化一、目的通过利用matlab设计仿真实验,理解如下知识点:信号的采样及混迭信号的频谱分析信号的幅度调制解调的方法理想滤波器的时频域特性数字滤波器的设计二、内容①录制一段个人自己的语音信号。
②采用合适的频率,对录制的信号进行采样,画出采样后语音信号的时域波形和频谱图。
③给原始语音信号加噪声,画出加噪声后的语音信号和频谱图。
④设计一个频域的理想带通信道。
⑤对这个语音信号进行幅度调制,画出调制后的语音信号和频谱图。
⑥利用理想带通信道对信号进行传输。
⑦对接受到的信号进行解调,画出解调后的语音信号和频谱图。
⑧设计性能良好的滤波器对信号进行滤波。
⑨对语音进行回放,并与滤波后的语音信号进行对比。
三、实验设计与仿真结果程序汇总如下:1、原始语音信号的采集、读取与采样利用MATLAB中的“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中。
首先用手机录制一段音频信号(手机音频格式一般为.mp3)。
然后用软件将音频信号转换为matlab接受的格式.wav。
本人录制的语音信号wav文件命名为:“nihao.wav“,内容为普通话”你好你好你好你好“,时长3s。
程序如下:2、原始语音信号的时域和频谱分析时域和频谱分析的程序如下:原始语音信号的时域和频谱波形如下:3、原始信号加噪用matlab的randn随机函数产生噪声。
基于matlab的语音信号处理
数字信号处理设计报告题目:基于Matlab的语音信号处理系别信息工程学院专业班级通信工程1342学生姓名范泉指导教师吉李满提交日期 2016年6月 10日摘要数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。
因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。
而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。
数字信号处理的算法需要利用计算机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。
数字信号处理技术及设备具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等突出优点,这些都是模拟信号处理技术与设备所无法比拟的。
本设计的具体内容是基于MATLAB的语音信号处理,核心算法是离散傅立叶变换(DFT),是DFT使信号在数字域和频域都实现了离散化,从而可以用通用计算机处理离散信号。
然后添加噪声信号,选用合适的滤波器对噪声信号进行滤除,使数字信号处理从理论走向实用。
MATLAB功能强大,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
用MATLAB来解算问题要比用其他语言简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
关键词:数字信号处理器;离散傅立叶变换;MATLAB目录第一章绪论 (1)1.1课题研究的目的 (1)1.2课题研究的意义和现状 (1)1.2.1课题研究的意义 (1)1.2.2课题研究的现状 (1)第二章课题研究方案的确定 (3)2.1概要设计 (3)2.1.1主要工作 (3)2.1.2研究步骤 (3)2.2方案选择 (3)2.2.1运行的环境 (3)2.2.2总体方案 (4)第三章课题研究内容 (5)3.1 Matlab简单介绍 (5)3.2语音信号的采样理论依据 (5)3.2.1采样频率 (5)3.2.2采样位数 (5)3.2.3采样定理 (6)3.3语音信号的采集 (6)3.4设计数字滤波器 (6)3.4.1数字滤波器设计的基本思路 (6)3.4.2 IIR数字滤波器概述 (6)3.4.3 FIR数字滤波器概述 (7)3.4.4 FIR数字滤波器和IIR数字滤波器比较 (7)3.4.5低通高通及带通滤波器 (7)3.5程序流程图 (8)第四章软件仿真调试结果分析 (9)4.1语音信号的时频分析 (9)4.2语音信号加噪与频谱分析 (10)4.3滤波器的设计 (12)4.3.1设计FIR滤波器 (12)4.3.2设计IIR滤波器 (12)4.3.3双线性变换法和窗函数法 (12)4.4验证所设计的滤波器 (13)4.5滤波 (15)第五章 GUI界面 (17)5.1 GUI界面概述 (17)5.2创建GUI界面 (17)第六章总结与展望 (20)参考文献 (21)附录I设计FIR和IIR数字滤波器 (1)附录II比较滤波前后语音信号的波形及频谱 (7)附录III 源程序代码 (16)第一章绪论1.1课题研究的目的1.学会MATLAB的使用,掌握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 研究的主要内容本课题主要介绍的是的语音信号的简单处理,目的就是为以后在手机上的移植打下理论基础。
基于MATLAB的语音信号分析与处理的课程设计实验报告
目录绪论 (1)正文:一、设计目的及要求 (2)二、设计过程 (2)三、调试分析 (5)四、结果分析与体会 (10)五、参考文献 (11)六、谢辞 (11)绪论数字信号处理(digital signal processing,DSP)是从20世纪60年代以来,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。
它的重要性日益在各个领域的应用中表现出来。
简言之,数字信号处理是把信号用数字或符号表示的序列,通过计算机或通用(专用)信号处理设备,用数字的数值计算方法处理(例如滤波、变换、压缩、增强、估计、识别等),以达到提取有用信息便于应用的目的。
数字信号处理的应用包括滤波与变换、通信、语音、语言、图像、图形、消费电子、仪器、工业控制与自动化、医疗、军事等。
其发展方向也是多方面的,包括数字汇聚、远程会议系统、融合网络、数字图书馆、图像与文本合一的信息检索业务、多媒体通信、个人信息终端等。
在本次设计中,就以设计一个数字滤波器系统为目的。
滤波器按频率划分有低通、高通、带通、带阻全通等类型。
一个数字滤波器可以用一个系统函数来表示,若要得到该系统函数,就要得到以z^(-1)升幂排列的传输函数的分子和分母多项式的系数,即向量num、den,而这两个参数由[num den]=butter(N,Wn)、[N,Wn]=buttord(wp,ws,rp,rs)这一函数得出,这是巴特沃思滤波器的设计过程。
由于频率响应的周期性,频率变量以数字频率ω来表示,ω=2π*f/fc,f为模拟域频率,fc为抽样频率,所以数字滤波器设计中必须给出抽样频率。
在这次设计中采用了巴特沃思和切比雪夫两种滤波器,这两种滤波器又分别采用了高通、低通、带通、带阻四种频率特性实现,从横向上和纵向上都可以进行对比,表现出各种滤波器的不同特性。
一、设计目的及要求1.课程设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.。