语音信号处理GUI工具箱设计
基于GUI的语音信号分析系统设计
基于GUI的语音信号分析系统设计一、课程设计目的1.了解和掌握语音信号短时傅里叶分析的意义,绘制语谱图的计算方法。
2.进一步理解和掌握基于语音信号语谱图的分析方法,对比分析窄带语谱图与宽带语谱图的区别,窗口形状对语音短时谱的影响。
3、理解语音信号的短时平稳性,并正确对语音信号进行分帧加窗。
4、了解语音信号的几种时域分析方法:短时过零率、短时能量及自相关分析,并写出正确的仿真程序。
5、进一步理解和掌握语音信号短时平均能量函数及短时平均过零数的计算方法和重要意义。
二、设计内容1、基本原理语音信号的频域分析就是分析信号的频域特征。
从广义上讲,语音信号的频域分析包括语音信号的频谱、功率谱、倒谱、频谱包络分析等,常用的分析方法有带通滤波器组法、傅里叶分析,线性预测分析等集中。
本实验主要应用傅里叶分析法来分析语音信号的频谱及功率谱。
但是由于语音信号是一个非平稳过程,因此适合于周期、瞬变或平稳信号的标准傅里叶变换不能用来直接表示语音信号,而应该用短时傅里叶变换(STFT )对语音信号进行频谱进行分析,相应的频谱称为“短时谱”;针对语音数据的频谱分析视图,叫语谱图。
语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。
1.1、语音信号的预处理(1)带通滤波器滤波(2)A/D变换。
包括采样、量化步骤,其中采样频率为8KHZ。
本实验读入的已经是数字语音信号。
(3)预加重。
原因:语音信号平均功率谱高频段大约在800HZ以上按6DB/倍频程跌落。
目的:提升高频部分,使信号的频谱变得平坦,以便于进行频谱分析和声道参数分析。
方法:用具有6DB/倍频程的数字滤波器实现,它一般是一阶的H (z) = 1-az-1,其中a的值接近于1。
1.2、加窗分帧技术由于语音信号具有短时平稳特性,所以对语音信号采用短时分析,信号流的处理采用分段或分帧来实现。
一般每帧的时间是10~30ms,分帧可以采用连续分段的方法,但一般采用交叠分段的方法,这是为了使帧与帧之间平滑过渡,保持其连续性。
基于MatlabGUI语音识别推箱子的设计
Design a gam e of speech recolabG UI
YI Yuan-hao
(
ofcomputerand CommunicationEngineering,Southwest JiaotongUniversity-E’mei Campus,Emeishan
推 箱 子 游 戏 是 目前 比较 流 行 的游 戏 之 一 ,很 多 操 作 系 统 或 者 流 行 软 件 都 会 带 这 种 游 戏 。 它 既 能 锻 炼 思 维 的严 密 性 , 又 有 很 多乐 趣 。本 设 计 将 用 MA ILAB在 实 现 一 个 简单 的 推 箱 子 游 戏 的基 础 上 语 音 识 别 控 制 推 箱 子 游戏 的 实 现 方 法 。本 文 旨在 研 究 其 基 本 编 程技 巧 ,其 中涉 及 软 中 断 、三 维 维 数 组 、键 盘 操 作 及 图 形 化 函 数 等 方 面 的 知 识 。通 过 本 文 ,开 发 者 能 基 本 掌 握 显 示 器 中 断 寄 存 器 的设 置 、三 维 维 数 组 、键 盘 上 键 值 的 获 取 、图形 方 式 下 光 标 的 显 示 和 定 位 ,以 及 部 分 图 形 函 数 的使 用 。
摘 要 :Matlab,是 国 际 上使 用 最 为 广 泛 的科 学 与 工 程 计 算 软 件 工 具 。其 具 有 强 大 、丰 富 的 内 置 函 数 和 工 具 箱 。在 简要 介
绍 推 箱 子 游 戏核 心 算 法 的 基 础 上 。给 出一 种 基 于 Ma吐ab GUI的 能进 行 实 时语 音 识 剐 的推 箱 子 游 戏设 计 与 实现 方 法 .
目的是 用更 多 的 方 式 实现 与 计 算 机 的 交 流 ,属 语 音 信 号 处 理 的 范畴 。主 要 解 决 的 问题 有 语 音 的 录 入 、滤 波 、特 征 值 提
毕业设计基于DSP的语音信号处理系统设计
毕业设计 [论文]题目:基于DSP的语音信号处理设计系别:电气与电子工程系专业:电子信息工程******学号:*****8151指导教师:***河南城建学院2010年5月23日摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
数字信号处理(Digita lSign alPro cessi ng,简称DSP)是利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、识别等处理,以得到符合人们需要的信号形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是M a tlab重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用G UI界面设计、各种函数调用等来实现语音信号的变频、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
关键字:Matlab,语音信号,傅里叶变换,信号处理AbstractSpeech signal proces singis to studythe use of digita l signal proces singtechno logyand knowle dge of the voicesignal voiceproces singof the emergi ng discip lineis the fastes t growin g areasof inform ation scienc e one of the core techno logy. Transm issio n of inform ation throug h the voiceof humani ty's most import ant, most effect ive, most popula r and most conven ientform of exchan ge of inform ation..Digita l signal proces sing(Digita lSign alPro cessi ng, DSP) is the use of comput er or specia l proces singequipm ent, to digita l form of signal acquis ition, transf ormat ion, filter ing, estima tion, enhanc ement, compre ssion, recogn ition proces sing,in orderto get the needsof the people of the signal form.Matlab langua ge is a data analys is and proces singfuncti ons are very powerf ul comput er applic ation softwa re, soundfileswhichcan be transf ormed into discre te data files, then use its powerf ul abilit y to proces s the data matrix operat ions, such as digita l filter ing, Fourie r transf orm, when domain and freque ncy domain analys is, soundplayba ck and a variet y of map render ing, and so on. Its signal proces singand analys is toolki t for voicesignal analys is provid es a very rich featur e functi on, use of thesefuncti ons can be quickand conven ientfeatur es comple te voicesignal proces singand analys is and visual izati on of signal s, makescomput er intera ction more conven ient. Matlab Signal Proces singis one of the import ant areasof applic ation.The design of voice-proces singsoftwa re for most of the conten t are numero us, easy to maneuv er and so on, usingMATLAB7.0 compre hensi ve use GUI interf ace design, variou s functi on callsto voicesignal s such as freque ncy, amplit ude, Fourie r transf orm and filter ing, the progra m interf ace concis e, simple, has some signif icanc e in practi ce.Keywor ds: Matlab, VoiceSignal,Fourie r transf orm,Signal Proces sin1 绪论1.1课题的背景与意义通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息的形式。
新工科背景下语音信号处理虚拟仿真实验平台设计
新工科背景下语音信号处理虚拟仿真实验平台设计作者:刘霞王秀芳李艳辉霍凤财梁红卫来源:《价值工程》2019年第29期摘要:针对“新工科”对学生的工程应用能力和综合素质提出更高要求的背景下,开发了基于Matlab GUI的语音信号处理虚拟仿真实验平台。
该平台可实时录制本人语音信号,并可根据男女声分别进行时域处理、频域处理,声音特殊效果的处理等,通过对比男女声的时频特征,及滤波处理和变声处理的前后变化,加深学生对语音信号处理的体验,提升工程意识和思维能力。
Abstract: In the context of "new engineering" putting forward higher requirements on students' engineering application ability and comprehensive quality, a virtual simulation experiment platform for speech signal processing based on Matlab GUI was developed. The platform can record the voice signal of the person in real time, and can perform time domain processing, frequency domain processing, sound special effect processing, etc. according to the male and female voices respectively, and deepen students' experience in speech signal processing and enhance engineering awareness and thinking ability by comparing the time-frequency characteristics of the male and female voices and the changes before and after filter processing and sound processing.关键词:MATLAB;语音信号处理;新工科;实验平台Key words: MATLAB;voice processing;new engineering;experiment platform中图分类号:TP75; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文献标识码:A; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文章编号:1006-4311(2019)29-0263-020; 引言新工科建设是基于国家战略发展的新需求、国际竞争的新形势提出的高等教育改革的新方向[1-2]。
毕业论文_基于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 绪论语音是语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。
语音信号处理虚拟实验平台设计
语音信号处理虚拟实验平台设计作者:阙大顺,王虹,杨杰来源:《教育教学论坛·上旬》2012年第01期摘要:针对语音信号分析与处理的特点,利用Matlab开发了通用语音信号处理虚拟实验平台,可完成语音信号的采集、预处理、语音分析和语音处理等功能及其结果显示。
阐述了系统总体设计思路,给出了多种语音分析和处理的功能实现举例。
整个系统界面友好,且具有易扩展的特点。
实践证明,该平台可使学生更好地理解和掌握课程的基本理论,有利于提高学生的分析问题能力和综合实践能力,培养学生创新意识。
关键词:语音处理;虚拟实验;Matlab;图形用户界面GUI中图分类号:TN911.72 文献标志码:A 文章编号:1674-9324(2012)01-0203-02一、引言语音信号处理是以语音语言学和数字信号处理等为基础的涉及面很广的交叉学科,是许多信息领域应用的核心技术之一。
目前高校中的语音信号处理课程主要从基础理论、算法实现及实际应用等几个方面来展开教学。
由于该课程的理论涵盖面广、数学公式推导较多,学生学习理论知识会显得枯燥难懂,且感觉理论和实际应用脱节。
针对这种情况,本文利用美国NI公司的图形化虚拟仪器开发平台Matlab/Simulink,完成了语音信号处理的虚拟实验仿真平台设计。
借助该平台,学生能较为完整的深化学习该门课程的基础理论,扎实掌握课程的知识网络结构,探索语音信号处理算法的实现方法,同时能将语音信号处理系统的各个部分内容有机地衔接起来,极大地方便了学生进行语音信号处理的学习,有利于学生对理论算法的理解,加强了动手能力,提高了学习的主动性,有助于学生创新综合能力的培养。
二、实验平台总体设计本实验平台采用图形化虚拟仪器开发平台Matlab/Simulink,它是一种图标代替文本行创建应用程序的图形化编程语言,Matlab采用基于流程图的图形化编程方式,它编程简单、易于理解、效率高,针对数据采集、仪器控制、信号分析和数据处理等任务,设计提供了丰富完善的功能图标,且能解决极其复杂的数值运算。
基于matlab GUI信号处理系统设计
目录目录 (I)摘要 (III)ABSTRACT (V)第1章前言 (1)1.1 课题开发背景和发展状况 (1)1.2 研究的意义 (2)1.3 本文研究的主要内容 (3)第2章基本信号分析与处理 (5)2.1 信号分析概述 (5)2.2 滤波 (5)2.2.1 滤波器概述 (5)2.2.2 FIR滤波器和IIR滤波器的比较 (6)2.3 窗函数 (7)2.3.1 窗函数的分类 (7)2.3.2 常用的窗函数的性质和特点 (7)2.4 时域分析 (9)2.4.1 信号的强度表述 (9)2.4.2 信号的相关分析 (10)2.5 频域分析 (13)2.5.1 幅值谱 (13)2.5.2 功率谱 (13)2.5.3 倒频谱 (14)2.6 信号频谱的主要性质 (15)2.6.1 时移特性 (15)2.6.2 频移特性 (15)2.6.3 Parseval定理 (16)2.7 信号处理中出现的现象 (16)2.7.1 频率混叠现象 (16)2.7.2 频谱泄漏现象 (17)2.7.3 栅栏效应 (18)2.8 系统幅频特性 (19)2.8.1 频率响应函数 (19)2.8.2 二阶系统的幅频特性 (20)2.9 信号调制 (20)2.9.1 幅值调制 (20)2.9.2 频率调制 (22)2.9.3 相位调制 (22)2.10 本章小结 (23)第3章基于MATLAB GUI信号处理实验室的设计及实现 (25)3.1 MATLAB GUI (25)3.2 系统总体设计 (28)3.3 系统首页的设计 (29)3.4 主界面的设计 (30)3.5 信号源选择模块的设计 (31)3.5.1 模拟信号信息设置模块的设计 (32)3.5.2 数据文件读取模块的设计 (32)3.6 文件操作模块的设计 (33)3.7 信号预处理的设计 (33)3.7.1 滤波器设计 (33)3.7.2 加窗处理的设计 (35)3.7.3 噪声处理的设计 (36)3.8 信号时域分析的设计 (37)3.8.1 信号参数测量的设计 (37)3.8.2 信号相关分析的设计 (38)3.9 信号频域分析的设计 (40)3.9.1 幅值谱分析的设计 (40)3.9.2 功率谱分析的设计 (41)3.9.3 倒频谱分析的设计 (41)3.10 信号频谱主要性质的设计 (42)3.10.1 信号时移特性的设计 (42)3.10.2 信号频移特性的设计 (43)3.10.3 Parseval定理的设计 (43)3.11 信号处理中出现的现象的设计 (44)3.11.1 频率混叠现象的设计 (44)3.11.2 频谱泄漏现象的设计 (45)3.11.3 栅栏效应的设计 (45)3.12 系统幅频特性的设计 (46)3.13 信号调制的设计 (47)3.13.1 幅值调制的设计 (47)3.13.2 频率调制的设计 (48)3.13.3 相位调制的设计 (49)3.14 mcc编辑介绍 (50)3.15 本章小结 (51)第4章结论 (53)第5章总结与体会 .............................................................................. 错误!未定义书签。
语音输入GUI界面
• 四、N=128 DFT波形
• 五、N=1024 DFT加噪后波形
源程序
本题中用到了7个按钮(Push Buttons) 2个坐标轴(Axes ) (1)语音录制回调函数 fs=8000; %抽样频率 channel=1; %1信道 t=3; %设定录音时间为三秒钟 fprintf('录音中...'); %显示当前正在录音之中 x=wavrecord(t*fs,fs,channel,‘double’); %调用录制自己 的声音(信号函数采样点数.采样频率.声道.数据采样储存 格式) fprintf('录音结束\n'); %显示录音结束 wavwrite(x,fs,‘D:\MATLAB2\work.wav'); %存储录音信号 的文件中
设计步骤
a、语音录制回调函数
b、语音播放回调函数
c、原信号时域波形及幅频波形回调函数 d、加噪后信号波形及幅频波形回调函数
e、 N=128 DFT幅频图回调函数 f、 N=1024 DFT幅频图回调函数 g、退出回调函数
设计流程图
运行结果演示
• 一、GUI界面图形
• 二、原信号波形
• 三、加噪后波形
[x,fs,nbits]=wavread(‘D:\Matlab2\work.wav’);%读录音信号文件 x=x(1:1024) %取前1024点作为处理使用数据 y1=fft(x); %对信号做FFT变换 axes(handles.axes2) %将坐标系axes2置为当前坐标系 plot(x) %做原始语音信号的幅频图形 set(handles.axes2,'XminorTick','on') %创建坐标系时,同时指定它的一些属性 grid on %打开网格 (4)加噪后信号波形及幅频波形回调函数 function bwave_Callback(hObject, eventdata, handles) [x,fs,nbits]=wavread('D:\Matlab2\work.wav'); %读取录音信号文件 y1=x(:,1); N=length (y1) ; %求语音信号长度 Y1=fft(y1,N); %作傅里叶变换 t=0:1:N-1; x1=3*cos(2*3.14*100*t); %噪声为100HZ的余弦信号 x2=x1'; y2=x2+y1; Y2=fft(y2); %作傅里叶变换
通信信号处理的GUI界面设计
本科毕业设计设计题目:通信信号处理的GUI界面设计学生姓名:姓名学号:200010101专业:电子信息工程指导教师:辛化梅学院:物理与电子科学学院2011 年05月19 日毕业论文(设计)内容介绍论文(设计)题目通信信号处理的GUI界面设计选题时间2010年11月完成时间2011年5月论文(设计)字数7833关键词Matlab;GUI设计;通信信号处理;软件无线电论文(设计)题目的来源、理论和实践意义:通常在开发一个实际的应用程序时会尽量做到界面友好,最常使用的方法就是使用图形用户界面GUI。
建立这样一个界面友好、占用资源少、高性能、便于移植、可配置的GUI 界面设计,能够使用户的学习和使用更为方便容易。
用户不需知道后台的应用程序究竟是怎样执行各种命令的,而只需了解可见界面组件的使用方法;用户也不需知道命令是怎样执行的,只要通过与界面交流就可以使指定的行为得到正确执行,对输入的通信信号进行一系列的处理。
利用Matlab设计通信信号处理的GUI界面,能够方便直观地对通信信号的调制和编码、解调和译码等信号处理过程进行仿真,而且能够利用GUI界面的控件改变输入通信信号形式以及信号处理过程中的各项参数,及时观察信号处理过程中的处理波形,对于研究利用软件无线电技术实现无线通信传输具有十分重要的参考意义。
论文(设计)的主要内容及创新点:本设计利用Matlab提供的工具箱Toolbox和用户图形界面向导GUIDE来设计通信信号处理系统的GUI界面,首先通过调用工具箱中提供的各种通信信号处理的函数对信号进行处理,然后通过GUI的组件编程实现各个模块的调用和链接,从而最终实现基于Matlab的通信信号处理的无线通信系统仿真设计。
不仅可以对输入的通信信号进行编码、调制,在接收端对信号解调、译码恢复源信号,而且还可以通过此模型作进一步的预测和分析。
建立界面友好、便于移植的GUI界面设计,能够使用户的学习和使用更为方便容易。
基于MATLABGUI的语音信号特征提取系统设计_王光艳
第39卷第4期河北工业大学学报2010年8月V ol.39No.4JOURNAL OF HEBEI UNIVERSITY OF TECHNOLOGY August2010文章编号:1007-2373(2010)04-0014-05基于The typical time-frequency characteristics of speech signal and the core algorithms are the key problems in spe-ech recognition,speech synthesis and speaker recognition system.According to the algorithm principles of linear pre-diction coding(LPC)theory and Mel frequency cepstrum coefficient(MFCC),a features extraction system platform for speech signal based on MATLAB GUI was implemented.On this platform,the speech signal in different audio formats can be loaded and played,and the waveform of the loaded speech signal can be displayed.Furthermore,the calculated results of LPC and MFCC can be displayed on the interface.At the same time,the data results can be saved in the corre-sponding files.The system supplied friendly human computer interaction and easy operation.The designed system will provide important and intuitive auxiliary effect on verifying the algorithms and data processing efficiency for the research fields related to speech signal processing.15王光艳,等:基于MATLAB GUI的语音信号特征提取系统设计第4期的重要参数之一,取得了较为精确的识别效果,详见文献[3-4].MATLAB是使用最为广泛的科学计算软件之一,具有强大、丰富的内置函数和工具箱[5].其版本升级到6.5以后,为用户提供了较为方便的设计、修改图形用户界面(GUI)的专用工作台,用户调用GUI设计工作台,就可以设计自己的图形用户界面.与VC等其他编程语言相比,MATLAB GUI设计同样采用了面向对象技术,特别是对于有大量数值运算和图形图像处理的程序,具有很大优势,界面设计时更加简洁、快捷与直观.语音信号特征提取系统界面在MATLAB7.6环境下,基于GUI技术设计实现,可完成语音信号的装载、播放和波形显示,及其典型语音处理技术和参数提取算法的实时显示和数据存储等基本功能.1语音信号典型特征和分析技术波形表示和参数表示是描述语音信号的两种典型方式.通过观察波形和试听,实现对语音信号的直观认识;通过提取相关的语音参数特征,实现对语音信号的深入分析,以及语音识别、说话人识别系统中的特征匹配.1.1LPC算法原理LPC技术的基本思想是:语音信号的每个取样值,可以用它过去的若干个取样值的加权来表示,各加权系数按照最小均方误差的原则来确定.设语音信号的现在估值为,前12=(1)其中:=.使误差在均方误差最小的条件下,也即预测残差能量2=1/1=111=1,2,3,进行递推,得到最终解为11=稳定的充要条件.基于LPC的语音识别、语音合成、语音编码和说话人识别的大量实践证明:线性预测参数是语音信号特征表示的良好参数[1].1.2MFCC算法原理MFCC是建立在人耳对声音频率的非线性感知基础上,将线性功率谱转化为Mel频率下的功率谱.Mel 频率尺度的值大体上对应于实际频率的对数分布关系,符合人耳的听觉特性.Mel频率与实际频率的具体关系可表示为16河北工业大学学报第39卷如下:①将原始的语音信号先经过预加重、分帧、加窗等预处理过程,得到每个语音帧的时域信号.预加重的目的是加强语音中的高频成分,公式为为预加重系数,值在0.9和1之间,本文取经过,=c o sΪMFCC参数的阶数,个三角滤波器的输出,维MFCC参数.根据文献[7]所研究的MFCC各阶分量对语音识别的平均贡献,最有用的语音信息包含在MFCC分量的 ̄之间,其它谱系数包含的有用信息较少.所以,在求出的各阶MFCC参数后,首先去除直流分量1=Ϊ³£Êý£¬Í¨³£È¡2,这时差分参数就称为当前帧的前两帧和后两帧的线性组合,由此可将多维参数(17第4期王光艳,等:基于MATLAB GUI的语音信号特征提取系统设计②绘出界面草图,从使用者的角度来审查;③启动GUIDE,按草图创建静态界面,并进行相应控件的属性设置;④编写并调试相应对象的回调函数,实现界面的动态功能;⑤运行界面,进行功能测试.在设计中,步骤之间往往交叉反复进行,设计和实现过程往往不是一步到位的.3仿真界面的设计与实现3.1界面功能的规划与设计要求界面能完成语音信号波形和典型参数特征的实时显示,其原理框架如图2所示.界面的主要功能模块包括:语音信号的装载、波形显示和回放模块;LPC参数计算和显示模块;MFCC参数的提取和显示模块.这些操作的结果分别通过屏幕、文件以及提示等进行显示或保存,提供统一的输入输出操作接口,不同算法计算结果可在不同目录下保存.界面上主要划分了两个功能显示区,每个功能区通过调用“Panel”控件来完成.第1个功能区主要用来完成语音信号的装载、回放和波形显示;第2个功能区完成LPC或MFCC参数的提取和显示,由于二者的参数提取和结果显示过程类似,故可共用一个工作区,采用按钮来完成具体功能切换.系统的后台语音资源库主要采用中文语言资源联盟统一开发,并由中科院自动化所承担录制的标准语料库,所有语音文件,包括字、词和句子,均为在实验室环境下录制的汉语普通话男声和女声发音,16kHz采样,16bit编码,双声道输出,存储为*.wav格式.关于语音文件的装载、时域波形显示和播放等功能是通过直接撰写控件的函数代码来实现的.LPC和MFCC参数的提取等功能模块的实现均是通过调用事先编好的自定义M文件来完成的,具体程序算法设计均按照论文理论叙述部分的算法公式和计算过程来实现的.为后续参数计算方便,本系统中将语音数据文件格式预设为8kHz采样、8bit编码、单声道输出,这与语音资源库的格式存在出入,所以,在编写“load file”按钮的回调函数时,补充语音信号格式转换程序,将所有读入的语音信号均转换为预设的标准格式.3.2仿真界面仿真界面实现了预期的功能要求,如图3所示为不同语音信号在不同输入参数和功能要求下的输出结果.图3a)和图3b)分别为汉语普通话女声发音“他去无锡市,我到黑龙江”的LPC参数和MFCC参数的计算和仿真结果;图3c)为汉语普通话女声发音“广播电台”第50帧信号的LPC计算结果;图3d)为汉语普通话女声发音“排除万难”的MFCC计算结果.从图中可以看出,“the Origian Speech Signal”面板部分主要用来完成语音信号的装载、播放、时域波形显示等功能.“spectral of the speech signal”面板部分主要完成语音信号的LPC参数或MFCC参数的计算结果显示.系统中的各项计算结果在显示的同时并以mat文件的形式存储于相应目录中,可以用于后续的计算和分析.从图3a)和图3c)中两段语音信号的LPC计算结果中可以看出,帧长为256,预测阶数为24,其输出图形中包含4个子图.第1个子图为所选语音帧的原始语音信号波形,主要用于波形显示和对比.第2个子图为Durbin 算法求得的线性预测系数,即为全极点系统.第4个子图输出为预测残差能量波形,主要用于系统的计算,无论是对于清音信号还是浊音信号,均有结论公式2,详见文献[1].第3个子图为反射系数1(Ò²ÊǸñÐÍËã·¨ÖеĻù±¾²ÎÊý£®±¾ÏµÍ³µÄ¼ÆËã½á¹û³ýÁË¿ÉÒÔÖ±½Ó¹¹Ôì³öÈ«¼«µãÉùµÀÄ£Ð͵Ĵ«Êä²ÎÊý18河北工业大学学报第39卷分计算结果,第2个子图为维数与幅值的关系.从图形显示结果上可以对比不同语音段和不同说话人的具体语音特征,其数据结果直接作为语音识别和说话人识别中的特征参数,完成模板库的训练和建立.a)"他去无锡市,我到黑龙江"的LPC参数b)"他去无锡市,我到黑龙江"的MFCC参数c)"广播电台"的LPC参数d)"排除万难"的MFCC 参数图3仿真界面及结果Fig.3Simulation interface and results4结束语论文简要阐述了语音信号的波形和频谱特征,较为详细地分析了语音信号的线性预测分析和Mel频标倒谱参数的基本原理和计算方法,基于MATLAB GUI技术,完成了语音信号典型参数提取系统的界面设计和算法程序的设计.通过系统界面,使用者可以直接装载和试听语音库中的语音资源文件;通过点击相应按钮,完成LPC参数和MFCC参数提取结果的波形显示和数据存储.系统实现了语音信号处理中的关键技术和重要的特征参数的计算和显示,可作为语音编码、语音合成、语音识别和说话人识别等语音处理领域的重要研究和对比验证环节.可通过参数输入改变或控制图形输出,具有良好的人机交互功能.仿真结果以明了生动的形式跃然于屏幕上,界面直观,操作方便.通过该界面可以非常方便地学习和分析语音信号的典型特征和基本规律,实现对理论知识的实时验证,同时为新算法的开发验证提供必要的前提.参考文献:[1]赵晓群.数字语音编码[M].北京:机械工业出版社,2007.[2]李萱.语音特征参数提取方法研究[D].西安:西安电子科技大学,2006.[3]于明,袁玉倩,董浩,等.一种基于MFCC和LPCC的文本相关说话人识别方法[J].计算机应用,2006,26(4):883-885.[4]王金明,张雄伟.话者识别系统中语音特征参数的研究与仿真[J].系统仿真学报,2003,15(9):1276-1278.[5]陈垚光等编著.精通MATLAB GUI设计[M].北京:电子工业出版社,2008.[6]谢秋云,肖铁军.语音MFCC特征提取的FPGA实现[J].计算机工程与设计,2008,29(21):5474-5475,5493.[7]甄斌,吴玺宏,刘志敏,等.语音识别和说话人识别中各倒谱分量的相对重要性[J].北京大学学报:自然科学版,2001,37(3):371-378.[责任编辑代俊秋]。
基于MATLAB的语音信号分析与处理的课程设计实验报告1
%估算巴特沃思滤波器的阶数 N 和 3dB 截
止频率 Wc。
[num,den]=butter(N,Wc);
%求传输函数的分子和分母多项式的系
数。
else
%选择 radiobutton2,则制做切比雪夫
Ⅰ型滤波器。
[N,Wc]=cheb1ord(wp,ws,rp,rs);
%估算切比雪夫Ⅰ型滤波器的阶数 N 和
在做课程设计之前觉得内容挺难的,但经过查阅图书馆的资料和同学们的努力 与帮助,最后还是以比较短的时间完成了这次课程设计。以前学 MATLAB 的时候, 最后的大作业也是用 GUI 设计了一个可视化界面,所以在本次设计中可视化界面的 设计也没有觉得很难。但是看到其他同学有用到 Edit Text 控件来作滤波器参数的 输入,感觉到自己的能力还是很有限,所以还需要加强学习。但最重要的还是感觉 到通过课程设计能够学以致用,并且运用以前学过的工具来更好的理解所学的内 容,收获还是挺大的。
二、设计过程
1、 打 开 GUI 窗 口 : File → New → GUI → Create New GUI → Blank GUI(Default) →OK
2、 控件设计:在控件布局设计区放置四个 Axes 控件、六个 Push Button 控件、 一个 Button Group 控件和两个 Radio Button 控件、四个 Static Text 控件。
2
wp=2*fp/fc;ws=2*fs/fc; if get(handles.radiobutton1,'value') [N,Wc]=buttord(wp,ws,rp,rs); [num,den]=butter(N,Wc,'high'); else [N,Wc]=cheb1ord(wp,ws,rp,rs); [num,den]=cheby1(N,rp,Wc,'high'); end x=filter(num,den,y); sound(x,fc,bits); X=fft(x); axes(handles.axes3);plot(x); axes(handles.axes4);plot(abs(X)); [h,f]=freqz(num,den,256,fc); axes(handles.axes5);plot(f,abs(h),'k');
基于matlab语音信号的处理的有关程序与GUI
[y,fs,bits]=wavread('E:\English of university\12.wav');%(该语音文件放在 E 盘下)sound(y,fs,bits);%使用该语句播放原始语音信号Y=fft(y,4096);figure(1)subplot(211),plot(y); title('原始信号波形');subplot(212),plot(abs(Y)); title('原始信号频谱');fp=1000;fc=1200;As=100;Ap=1;fs=44100;%滤波器参数wc=2*fc/fs;wp=2*fp/fs;%变换为数字域参数N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1;%滤波器阶数beta=0.1102*(As-8.7);%凯赛窗参数 betaWin=kaiser(N+1,beta);%生成窗函数b=fir1(N,wc,Win);%设计滤波器figure(2)freqz(b,1,512,fs);%画出频谱图x=fftfilt(b,y);%滤波X=fft(x,4096);%FFTsound(x,fs,bits);%回放语音信号figure(3)subplot(211),plot(x); title('凯赛窗设计的低通滤波器滤波后信号波形');subplot(212),plot(abs(X)); title('凯赛窗设计的低通滤波器滤波后信号频谱');fp1=1200; fp2=3000;fc1=1000;fc2=3200;As=100;Ap=1;fs=22050;%滤波器参数wc1=2*fc1/fs;wp1=2*fp1/fs;wc2=2*fc2/fs;wp2=2*fp2/fs;width=min((wp1-wc1),(wc2-wp2));%转换为数字域参数N=ceil((As-7.95)/(14.36*width/2))+1;%滤波器阶数beta=0.1102*(As-8.7);%凯赛窗参数 betaWin=kaiser(N+1,beta);%生成窗函数wc=[wc1 wc2];b=fir1(N,wc,Win);figure(4)freqz(b,1,512,fs);%画出滤波器频谱图(上图所示)x=fftfilt(b,y);%滤波X=fft(x,4096);%FFTsound(x,fs,bits);%回放语音信号figure(5)subplot(211),plot(x); title('凯赛窗设计的带通滤波器滤波后信号波形');subplot(212),plot(abs(X)); title('凯赛窗设计的带通滤波器滤波后信号频谱');fp=5000;fc=4800;As=100;Ap=1;fs=22050;%高通滤波器参数wc=2*fc/fs;wp=2*fp/fs;N=ceil((As-7.95)/(14.36*(wp-wc)/2))+1;%滤波器阶数beta=0.1102*(As-8.7);%凯赛窗参数 betaWin=kaiser(N+1,beta);%生成窗函数100b=fir1(N,wc,'high',Win);%设计高通滤波器-100200figure(6)freqz(b,1,512,fs);%-画出频谱图如右图所示x=fftfilt(b,y);%滤波X=fft(x,4096);%FFTsound(x,fs,bits);%回放语音信号figure(7)subplot(211),plot(x); title('凯赛窗设计的高通滤波器滤波后信号波形');subplot(212),plot(abs(X)); title('凯赛窗设计的高通滤波器滤波后信号频谱');fp=1000;fc=1200;As=100;Ap=1;ffs=44100;wc=2*fc/ffs;wp=2*fp/ffs;[n,wn]=ellipord(wp,wc,Ap,As);%求阶数 N 和通带截止频率[num,den]=ellip(n,Ap,As,wn);%设计椭圆滤波器figure(8)freqz(num,den,256,ffs);%画出频率响应x=filter(num,den,y);%滤波X=fft(x,4096);%FFTfigure(9)subplot(211),plot(x); title('双线性变换法设计的低通滤波器滤波后信号波形'); subplot(212),plot(abs(X)); title('双线性变换法设计的低通滤波器滤波后信号频谱'); fp=[3000,8000];fc=[1000,10000];Ap=1;As=100;ffs=44100wc=2*fc/ffs;wp=2*fp/ffs;[n,wn]=ellipord(wp,wc,Ap,As);[num,den]=ellip(n,Ap,As,wn);figure(10)freqz(num,den,256,ffs);x=filter(num,den,y);%滤波X=fft(x,4096);%FFTfigure(11)subplot(211),plot(x); title('双线性变换法设计的带通滤波器滤波后信号波形'); subplot(212),plot(abs(X)); title('双线性变换法设计的带通滤波器滤波后信号频谱'); fp=5000;fc=4800;As=100;Ap=1;ffs=44100;wc=2*fc/ffs;wp=2*fp/ffs;[n,wn]=ellipord(wp,wc,Ap,As);[num,den]=ellip(n,Ap,As,wn,'high');x=filter(num,den,y);X=fft(x,4096);figure(12)freqz(num,den,256,ffs);figure(13)subplot(211),plot(x); title('双线性变换法设计的高通通滤波器滤波后信号波形'); subplot(212),plot(abs(X)); title('双线性变换法设计的高通通滤波器滤波后信号频谱');请将以上部分加入到记事本内并改为m文件GUIGUI.fig此文件放到桌面与下面的GUI.m 文件一起用程序如下(如上所述改为GUI.m文件):function varargout = GUI(varargin)% GUI MATLAB code for GUI.fig% GUI, by itself, creates a new GUI or raises the existing% singleton*.%% H = GUI returns the handle to a new GUI or the handle to% the existing singleton*.%% GUI('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in GUI.M with the given input arguments.%% GUI('Property','Value',...) creates a new GUI or raises the% existing singleton*. Starting from the left, property value pairs are % applied to the GUI before GUI_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application % stop. All inputs are passed to GUI_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help GUI% Last Modified by GUIDE v2.5 02-Jan-2014 22:57:31% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @GUI_OpeningFcn, ...'gui_OutputFcn', @GUI_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before GUI is made visible.function GUI_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to GUI (see VARARGIN)% Choose default command line output for GUIhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes GUI wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = GUI_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double% --- Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)。
利用gui实现数字信号处理实验系统
整个系统主要是由三个界面组成,分别为实验 开 始界 面、实 验主 界 面、实 验 子 界 面 [2],而 实 验 子 界 面中又包含了实验内容和实验结果两个选项。这些 界面当中基本上都含有图形按钮、文字说明和图形 显示,因为这样的界面更加符合使用者的习惯,方便 使用者观察实验结果。 2 系统界面设计
界面设计主要涉及四个方面的内容:添加组件、 编辑菜单、设置属性和回调函数。在 GUI 界面上添 加各种组件后,在相应的组件上加回调函数就可以
收稿日期:2019-09-29 基金项目:大连海洋大学创新创业训练计划项目资助(项目编 号 201910158045) 第一作者简介:武昊莹(1997—),男,大连海洋大学信息工程 学院学生。 通讯作者:张妍(1977—),硕士,讲师,主要研究方向为电子线 路教学与实践。
总第 186 期 2019 年第12 期
工业设计
现代工业经济和信息化 Modern Industrial Economy and Informationization
Total of 186 No.12,2019
DOI:10.16525/ki.14-1362/n.2019.12.15
利用 GUI 实现数字信号处理实验系统
1-
1 3
z
-1
1+
5 9
1+
1 2
z-1+
2 9
z-1+
1 2
z-2 z-2
基于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 GUI“数字信号处理”实验平台设计
第43卷 第1期2021年2月电气电子教学学报JOURNALOFEEEVol.43 No.1Feb.2021收稿日期:2020 06 18;修回日期:2020 09 24基金项目:河北省研究生“数字信号处理”精品课程建设项目(项目编号:KCJSX2019056)作者简介:马月红(1979 ),女,博士,讲师,主要从事理论教学、无线电探测技术研究工作,E mail:sunmyh@163.com基于MatlabGUI“数字信号处理”实验平台设计马月红,孙晓云,刘素艳(石家庄铁道大学电气与电子工程学院,河北石家庄050001)摘要:为了方便学生更好地学习数字信号处理这门重要课程,提高实验动手能力,本文利用MATLABGUI开发设计了可视化的虚拟实验平台,实验平台系统实现了信号生成模块、信号抽样模块、傅里叶变换模块、卷积和以及FFT的实现与应用模块,可以让学生更加直观地看到原理展示,从而进一步帮助学生理解和体会抽象难懂的内容,以此提高学生们的学习兴趣。
关键词:数字信号处理;MatlabGUI;虚拟实验操作平台中图分类号:G642;TN911.6-4 文献标识码:A 文章编号:1008 0686(2021)01 0164 05DigitalSignalProcessingVirtualExperimentPlatformBasedonMatlabGUIMAYue hong,SUNXiao yun,LIUSu yan(SchoolofElectricalandElectronicEngineering,ShijiazhuangTiedaoUniversity,Shijiazhuang050001,China)Abstract:InordertofacilitatestudentstobetterlearntheimportantcourseofDigitalSignalProcessingandimprovetheirexperimentalability,thispaperdevelopsanddesignsavisualvirtualexperimentalplatform.Throughaseriesofsimulations,thesystemrealizestherealizationandapplicationmodulesofsignalgenerationmodule,signalsam plingmodule,FouriertransformmoduleandFFT,whichcanmakestudentsmoreintuitivetoseetheprincipledis play,Soastofurtherhelpstudentsunderstandandexperiencetheabstractanddifficultcontent,soastoimprovestudents'interestinlearning.Keywords:digitalsignalprocessing;MatlabGUI;virtualexperimentaloperatingplatform0 引言随着通信科技方面的发展,以数字信号处理为基础的问题随处都在[1]。
GUI的数字信号处理实验 课程设计
光电与通信工程学院课程设计报告书课设名称:基于GUI的数字信号处理实验软件包的设计与实现年级专业及班级: 10通信工程姓名:学号:指导老师:评定成绩:教师评语:指导老师签名:2013 年 6 月日目录摘要 (3)一、绪论 (4)1.1课题意义 (4)1.2相关背景 (4)1.3 设计内容与要求 (5)二、基本理论 (5)2.1 MATLAB在数字信号处理中的应用 (5)2.2 MATLAB的GUIDE工具箱概述 (6)2.3数字信号处理中常用的MATLAB函数简介 (6)三、系统GUI界面设计与实现 (9)3.1 概述 (9)3.2 GUI设计 (10)3.2.1创建GUI (10)3.2.2 写回调函数CallBack (12)3.3 登陆界面设计 (13)3.4、总界面设计 (14)3.5离散时间信号和离散时间系统的GUI界面的设计与实现 (15)3.5.1 离散时间信号设计 (15)3.5.2线性卷积设计 (17)3.5.3离散时间系统的设计 (17)3.5.4离散时间信号的傅里叶变换和系统频率响应 (18)3.5.5信号取样的设计 (19)3.5.6 Z变换的设计 (20)3.6离散傅里叶变换及其快速算法的GUI界面的设计与实现 (21)3.6.1 离散傅里叶级数设计 (21)3.6.2 离散傅里叶变换设计 (22)3.6.3 循环卷积的设计 (23)3.6.4 信号谱分析的设计 (24)3.7数字滤波器的GUI界面的设计与实现 (24)3.7.1 巴特沃斯滤波器设计 (25)3.7.2 切比雪夫滤波器设计 (25)3.7.3窗函数法设计FIR滤波器的设计与实现 (26)3.7.4频率取样法的设计与实现 (27)3.8双音多频信号检测及语音滤波实验的GUI界面的设计与实现 (27)3.8.1双音多频信号检测的设计与实现 (28)3.8.2语音滤波实验的设计与实现 (28)四、实验心得 (29)参考文献 (30)附录 (31)1、解决的问题 (31)2、部分实验程序 (35)摘要该课程设计利用Matlab的GUIDE (图形用户界面设计向导) 工具箱设计并实现了“数字信号”处理教学实验软件包的GUI (图形用户界面) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
这段语音信号的频域表达式为:
(5-4)
即语音信号的谱包络为
语谱图就是显示时变频谱幅度特征的图形表达式为
(5-5)
将语音信号短时谱程序写入到MATLAB中得到单色语谱图的波形如下:
图5-1语音信号单色语谱图
5.2.2自相关方法估计语音信号的声道参数:
由均方预测误差最小的得到正则方程
(5-6)
采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调、衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也就越精确,采样频率与声音频率之间有一定的关系,根据奈奎斯特理论,只有采样频率高于声音信号最高频率的2倍的时候,才能把数字信号表示的声音还原成为原来的声音,这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。
本次设计的基本原理是对语音的录音和放音进行数字化控制.其中,关键技术在于:为了增加语音存储时间,提高存储器的利用率,采用了非失真压缩算法对语音信号进行压缩后再存储,而在回放是再进行解压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回放的可靠质量.
通过设计一个GUI实验箱,并添加相应的控制控件,添加一个声音文件,通过MATLAB编程,使其通过各种按钮实现语音信号处理的各种功能,最后做成一个完整的语音信号处理实验箱。
5.2语音信号处理的相关函数
5.2.1语音信号的短时谱:
周期性声门波可表示为: (5-1)
其中, g[n]是声门波的单周期的波形,p[n]是间隔为P的周期采样序列。当u[n]通过线性非时变声道,且该声道的单位冲击响应为h[n]时,声道输出为:
(5-2)
为了观察一段语音,需要将声道输出乘以一个以时刻τ为中心的窗函数w[n,τ],即得到:
Sound(x,fs,bits);用于对声音的回放,向量y则就代表了一个信号也就是说可以像处理一个信号表达式一样处理这个声音信号。
第五章课程设计的软件实现
5.1部分函数语法格式
读wav文件:x=wavread(‘filename’)
数组a及b中元素相乘:a.*b
创建图形窗口命令:figure
绘图函数:plot(x)
当用户选择不同的模板时,在GUI设计模板界面的右边就会现实出与该模板对应的GUI图形。
4.2.2GUI设计窗口
在GUI设计模板中选中一个模板,然后单击OK按钮,就会现实GUI设计窗口,选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。
GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help六个菜单项,使用其中的命令可以完成图形用户界面的设计操作。
关键字:MATLAB软件语音信号处理实验设计
目录
摘要Ⅰ
第一章绪论1
1.1选题背景1
1.2课题任务1
1.3课题意义1
第二章理论基础及系统要求2
2.1引言2
2.2课程设计基本要
3.1设计理论依据3
第四章图形用户界面设计4
4.1图形用户界面概念4
4.2用户界面设计4
4.2.3GUI设计窗口的基本操作
(1)前面板的设计:在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。如下图所示。例如,创建一个Push Button对象,并设计该对象的属性值。
图4-1按钮属性编辑器
通过以上的按钮属性编辑器可以根据个人情况对按钮的名称、颜色、大小等方面的属性进行修改,使按钮在视觉上变的更加完美。
4.2用户界面设计
4.2.1GUI设计模板
在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。
MATLAB为GUI设计一共准备了四个模板,分别是Blank GUI、GUI with Uicontrols、GUI with Axes and Menu、Modal Question Dialog。
通过对各个按钮控件的修改,和对m文件程序的添加就完成对GUI窗口的设计,最后得到的图形化操作界面如下图所示:
图4-4图形化操作界面
4.2.4语音的录入与打开
在MATLAB中,[y,fs,bits]=wavread(‘Blip’,[N1 N2]);用于读取语音,采样值放在向y中,fs表示采样频率,bits表示采样位数。[N1 N2]表示读取从N1点到N2点的值。
(2)按钮功能的实现:在GUI设计窗口创建按钮后,通过右键单击按钮,选择view callbacks下的callback对相应的按钮进行编程,使按钮实现相应的功能,如下图所示对按钮的相应功能进行设置。
图4-2按钮功能编辑器
进入到按钮程序编辑窗口,通过编程即可实现按钮的相应功能,如下图:
图4-3按钮的编程实现界面
第三章设计方案论证
3.1设计理论依据
3.1.1采样定理:
在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5-10倍;采样定理又称乃奎斯特定理。
3.1.2采样频率:
虽然,目前广播电视系统尚未实现真正的数字化,相信在不久的将来,真正的数字电视机、数字收音机、数字收录机将进入家庭。所以,研究音频信号的数字化存储、处理和回放系统有着很重要的现实意义。
通过设计语音信号实验箱可以对语音信号实现各种形式的变换,因此学会对语音信号的处理,也可自行研究将此语音处理技术应用到现实生活中。
其中,
(5-7)
在最佳解时的误差为
(5-8)
在自相关法中式5-6,式5-8变为
(5-9)
(5-10)
由式5-9和式5-10可列出方程组式5-11
(5-11)
解方程组式5-9求出线性预测系数,通过误差式5-11可求出增益G
(5-12)
加窗后信号频谱图如下:
图5-2加窗后信号频谱图
通过以上的方法,改变参数分别求得4极点模型频率响应和6极点模型频率响应,六极点波形如下图所示:
1.2课题任务
本实验任务所提出的语音信号处理实验箱系统,其基本原理是对语音的录音和放音进行数字化控制.其中,关键技术在于:为了增加语音存储时间,提高存储器的利用率,采用了非失真压缩算法对语音信号进行压缩后再存储,而在回放是再进行解压缩;同时,对输入语音信号进行数字滤波以抑制杂音和干扰,从而确保了语音回放的可靠质量.
第四章图形用户界面设计
4.1图形用户界面概念
图形用户界面或图形用户接口是指采用图形方式显示的计算机操作环境用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用。
GUI是MATLAB提供的图形用户界面开发环境,提供了一系列用于创建图形用户界面的工具,从而简化界面布局和编程工作。
语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域行业涉及面很广的交叉学科。
第二章理论基础及系统要求
2.1引言
目前,随着数字化信号处理技术的不断提高,单片机,数字信号处理器以及语音处理大规模集成电路的进步,语音合成,语音识别,语音存储和回放技术的应用越来越广泛.本文提出的体积小巧,功耗低的数字化语音存储与回放系统将完全可以替代传统的语音录放系统.
第五章课程设计的软件实现8
5.1部分函数语法格8
5.2语音信号处理的相关函数8
5.3 GUI实验箱操作界面设计14
第六章心得体会15
附录
源代码13
参考文献1
第一章绪论
1.1选题背景
在我们的现实生活中从磁带、录像带到CD、VCD、DVD;从黑白电视机、彩色电视机、高清晰度电视机(HDTV)到具有数字信号处理功能的电视机;从留声机、录音机到语音信箱;现在正处在模拟信息到数字信息的变革之中,传统的磁带语音录放系统因其体积大,使用不便,在电子与信息处理的使用中受到许多限制。
2.2课程设计基本要求
(1)学会MATLAB的使用,掌握MATLAB的程序设计方法;
(2)掌握在windows环境下语音信号采集的方法;
(3)掌握数字信号处理的基本概念,基本理论和基本方法;
(4)掌握MATLAB设计的方法;
(5)学会用MATLAB对信号进行分析和处理。
2.3系统基本原理
语音采集原理是,人耳能听到的声音是一种频率范围为20Hz20kHz,而一般语音频率最高为3.4kHz.语音的采集是指语音声波信号经麦克风和高频放大器转换成有一定幅度的模拟量电信号,然后再转换成数字量的全过程.
吉林工程技术师范学院
DSP语音信号处理课程设计报告书
设计内容:语音信号处理GUI工具箱设计
专业:电子信息班级:0742
学生姓名:陈阳学号:29
指导教师:李悦刘银辉
信息工程学院
摘要
语音信号处理是研究数字信号要处理技术和语音信号进行处理的一门学科,是一门新型的学科,是在多们学科基础上发展起来的综合性技术,它设计到数字信号处理、模式识别、语言学、语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科。处理的目的是要得到一些语音参一以便高效地传输或储存;或者是通过处理的某种运算以达到某种用途的要求。语音信号处理又是一门新兴的边缘学科。如上所述,它是“语言语音学”与“数字信号处理”两个学科相结合的产物。
图5-3六极点波形图
最后通过以上方法用一个函数分别实现以上三个功能,三个波形显示在一个界面,通过观察图形,查看它们之间的分别。三者比较所得到的波形如下:
图5-4三者比较波形图
5.2.3基音周期检测:
数据为浊音语音信号speech1_10k(10000样点/秒)用25ms的汉明窗对语音信号speech1_10k进行加窗处理,并画出所得到的加窗信号的自相关函数,再用根据中心消波法及三电平中心消波法原理改进程序,最后对比中方法基音检测的效果并分析结果。