当前位置:文档之家› 基于matlab的文字识别算法 课程设计

基于matlab的文字识别算法 课程设计

基于matlab的文字识别算法 课程设计
基于matlab的文字识别算法 课程设计

摘要

本课程设计主要运用MATLAB的仿真平台设计进行文字识别算法的设计与仿真。也就是用于实现文字识别算法的过程。从图像中提取文字属于信息智能化处理的前沿课题,是当前人工智能与模式识别领域中的研究热点。由于文字具有高级语义特征,对图片内容的理解、索引、检索具有重要作用,因此,研究图片文字提取具有重要的实际意义。又由于静态图像文字提取是动态图像文字提取的基础,故着重介绍了静态图像文字提取技术。随着计算机科学的飞速发展,以图像为主的多媒体信息迅速成为重要的信息传递媒介,在图像中,文字信息(如新闻标题等字幕)包含了丰富的高层语义信息,提取出这些文字,对于图像高层语义的理解、索引和检索非常有帮助。

关键字:文字识别算法;静态图像文字提取;检索

目录

1 课程设计目的 (3)

2 课程设计要求 (4)

3 相关知识 (5)

4 课程设计分析 (8)

5 系统实现 (9)

6 系统测试与分析 (17)

6.1文字识别算法仿真结果 (17)

6.2基于字符及单词的识别 (19)

6.2.1 基于字符的识别 (19)

6.2.2 基于单词的识别 (20)

6.3现存算法的问题 (21)

6.3.1 大多文字识别方法依赖于人工定义的特征 (21)

6.3.2 脱离上下文的字符识别易造成显著的歧义 (21)

6.3.3 简单的单词整体识别有着较大的局限性 (22)

6.3.4 训练样本制作繁琐 (22)

7 参考文献 (23)

图像文字提取又分为动态图像文字提取和静态图像文字提取两种,其中,静态图像文字提取是动态图像文字提取的基础,其应用范围更为广泛,对它的研究具有基础性,所以本文主要讨论静态图像的文字提取技术。静态图像中的文字可分成两大类:一种是图像中场景本身包含的文字,称为场景文字;另一种是图像后期制作中加入的文字,称为人工文字,如右图所示。场景文字由于其出现的位置、小、颜色和形态的随机性,一般难于检测和提取;而人工文字则字体较规范、大小有一定的限度且易辨认,颜色为单色,相对与前者更易被检测和提取,又因其对图像内容起到说明总结的作用,故适合用来做图像的索引和检索关键字。对图像中场景文字的研究难度大,目前这方面的研究成果与文献也不是很丰富,本文主要讨论图像中人工文字提取技术。

静态图像中文字的特点

静态图像中文字(本文特指人工文字,下同)具有以下主要特征:

(1)文字位于前端,且不会被遮挡;

(2)文字一般是单色的;

(3)文字大小在一幅图片中固定,并且宽度和高度大体相同,从满足人眼视觉感受的角度来说,图像中文字的尺寸既不会过大也不会过小;

(4)文字的分布比较集中,排列一般为水平方向或垂直方向;

(6)多行文字之间,以及单行内各个字之间存在不同于文字区域的空隙。在静态图片文字的检测与提取过程中,一般情况下都是依据上述特征进行处理的。

数字图象处理

静态图像文字提取一般分为以下步骤:文字区域检测与定位、文字分割与文字提取、文字后处理。其流程如图所示。

图1 静态文字处理流程图

在高速发展的计算机软硬件技术的支撑下,多媒体技术的发展非常迅速,计算机技术从传统的办公和计算逐渐向人工智能和数字娱乐发展。在人工智能技术中,对环境信息的拾取处理和响应显得尤为重要,其中文本信息占环境信息很大一部分,为了使人工智能系统更为完善,则需要系统能够像人眼一样对周围环境信息进行理解,尤其是环境信息中的文本信息。

实验表明,人类日常生活中,50%以上的信息量来源于眼睛捕捉的周围环境的图像,人眼可以快速捕捉到图像中感兴趣的信息,而对于计算机来说,一幅图像仅仅是杂乱的数据,如何让计算机想人眼一样快速读取图像中的信息并进行分类及检索等相应处理,一直是多年来计算机视觉和模式识别研究者们探索的问题,如果能很好解决这些问题,能给工业生产及国防科技带来巨大的改进。文字是信息存储和传递的重要载体,在很多由摄像设备拍摄的图片中,都存在或多或少的文字,比如路牌、店名、车站牌、商品简介等,识别图片中的文字对计算机理解图像的整体内容有非常重大的作用。如何将图片中的文字信息抽象出来形成具有完整语义的信息,再将其表达出来用于信息传递,从而辅助人类的生产和生活是研究计算机视觉的学者们多年来一直致力于解决的问题。研究如何对自然场景图片中的字符进行识别,提取出有用信息,在获取图片文本信息的各个领域都有极大的商业价值。

场景文字识别在日常生活也有着重要的地位,例如车牌的识别,盲人对周边环境信息的获取、图书馆管理的数字化和髙效化,以及网络中对指定的内容的图像和视频的检索等。

自然场景文本识别,就是将提取出来的自然场景图片中的进行识别,提取出信息用于进一步的处理。在对场景文字识别的研究中,获取自然场景图片时候,由于背景物体、光线、阴影、拍摄角度引起的图片背景千变万化,摄像器材的精度、拍摄人员的技术等软硬件的不同为拍摄同样的自然场景图片也带来了相当大的差别,被拍摄的图片中包含的文字大小、颜色、书写风格的各不相同等因素都为自然场景文字识别的实现增加的相当的难度。需要对自然场景图片中的识别首先需要对图片中的文本进行定位,然后再对己经精确定位的图片进行识别。文本定位技术作为整个自然场景文本信息获取系统中的基础技术,已经得到较好发展,相同地,文本识别技术在近年来也得到了比较好的发展,但是由于文本的复杂性和随机性,较文本定位技术来说,文本识别技术发展较为缓慢。

3 相关知识

1. 在Matlab中调用i1=imread(‘8.jpg’),可得到原始图像,如图所示:

图2 文字识别算法调制器模型

2. 调用i2=rgb2gray(i1),则得到了灰度图像,如图所示:

图3 灰度图像

调用a=size(i1);b=size(i2);可得到:a=3,b=2 即三维图像变成了二维灰度图像

3. 调用i3=(i2》=thresh);其中thresh为门限,介于图4所示之间

图4 thresh门限值

图5 取得二值

得到二值图像,如图所示:

图6 二值图像

4. 把二值图像放大观察,可看到离散的黑点对其采用腐蚀膨胀处理,得到处理后的图像,如图所示

图7 腐蚀膨胀处理后的二值图像

可见,腐蚀膨胀处理后的图像质量有了很大的改观。横向、纵向分别的腐蚀膨胀运算比横向、纵向同时的腐蚀膨胀运算好上很多。

5、对腐蚀膨胀后的图像进行Y方向上的区域选定,限定区域后的图像如图所示:扫描方法:中间往两边扫。

6、对腐蚀膨胀后的图像进行X方向上的区域选定,限定区域后的图像如图11所示:扫描方法:两边往中间扫,纵向扫描后的图像与原图像的对照。

7. 调用i8=(iiXY~=1),使背景为黑色(0),字符为白色(1),便于后期处理。8. 调用自定义函数(字符获取函数)i9=getchar(i8)。

9、调用自定义的字符获取函数对图像进行字符切割,并把切割的字符装入一维阵列。

10.调用以下代码,可将阵列word中的字符显示出来。

for j=1:cnum %cnum为统计的字符个数

subplot(5,8,j),imshow(word{j}),title(int2str(j)); %显示字符

end

11. 调用以下代码,将字符规格化,便于识别:

for j=1:cnum word{j}=imresize(word{j},[40 40]); %字符规格化成40×40

end

12. 调用以下代码创建字符集:

code=char(‘由于作者水平有限书中难免存在缺点和疏漏之处恳请读批评指正,。’);

将创建的字符集保存在一个文件夹里面,以供匹配时候调用。

13. 字符匹配采用模板匹配算法:将现有字符逐个与模板字符相减,认为相减误差最小的现有字符与该模板字符匹配。

图8 字符匹配

也就是说,字符A与模板字符T1更相似,我们可以认为字符集中的字符T2就是字符A。经模板匹配。

14、调用以下代码,将字符放入newtxt.txt文本:

new=[‘newtxt’,‘.txt’];

c=fopen(new,‘a+’);

fprintf(c,‘%s\n’,Code(1:cnum));

fclose(c);

4 课程设计分析

1、算法具有局限性。对于左右结构的字符(如:川)容易造成误识别,“川”字将会被识别成三部分。当图片中文字有一定倾斜角度时,这将造成识别困难。

2、模板匹配效率低。对于处理大小为m&TImes;m的字符,假设有n个模板字符,则识别一个字符至少需要m&TImes;m×n×2次运算,由于汉字有近万个,这将使得运算量十分巨大!此次字符识别一共花了2.838秒。

3、伸缩范围比较小。对于受污染的图片,转换成二值图像将使字符与污染源混合在一起。对于具体的图片,需反复选择合适的thresh进行二值化处理,甚至在处理之前必须进行各种滤波。

5 系统实现

文字识别算法仿真代码如下:

function [Stroke]= StrDetect01(LeftD,Y1,Y2,ST,PT)

% ST为结构阈值,为了指定高度和宽度结构变化的不同

SL=0;

SR=0;

SV=0;

Count=0;

%PT=5; % 突变的阈值

Str='T'; % T表示结构未定,Str用于保存当前的基本结构

Stroke='T'; % 用于保存基本结构

Range=Y2-Y1+1; % 字符的宽度或者高度

for j=Y1:Y2

Count=Count+1;

if (abs(LeftD(j))

if (LeftD(j)<0)

SL=SL+1;

else if (LeftD(j)>0)

SR=SR+1;

else

SV=SV+1;

end

end

else % 检测到突变的决策

if ((Count>=fix(Range/4)+1)) % 设定字符轮廓可能发生的突变范围

if ((SL>=3)&&(SR>=3))

Str='C';

else if ((SV>=2*(SL+SR))&&((max(SL,SR)<3)||(min(SL,SR)<2)))

Str='V';

else if ((SL>SR)&&((SL>=0.5*SV)&&((SR<=1)||(SL>(SR+SV)))))

Str='L';

else if

((SR>SL)&&((SR>=0.5*SV)&&((SL<=1)||(SL>(SR+SV)))))

Str='R';

else if (max(SL,SR)>=3)&&(min(SL,SR)>=2)

Str='C';

end

end

end

end

end

Stroke=[Stroke Str];

end

if ((j>=2+Y1)&&((j<=Y2-2)))

Stroke=[Stroke 'P'];

end

SL=0;

SR=0;

SV=0;

Count=0;

Str='T';

end

end

%========= 提取结构===============%

if (Count>=fix(Range/4)+1) % 发生突变后,剩余部分可能无法形成字符结构if ((SL>=ST)&&(SR>=ST))

Str='C';

else if ((SV>=2*(SL+SR))&&((max(SL,SR)<3)||(min(SL,SR)<2)))

Str='V';

else if ((SL>SR)&&((SL>=0.5*SV)&&((SR<=2)||(SL>=(SR+SV)))))

Str='L';

else if ((SR>SL)&&((SR>=0.5*SV)&&((SL<=2)||(SL>=(SR+SV)))))

Str='R';

else if (max(SL,SR)>=3)&&(min(SL,SR)>=2)

Str='C';

end

end

end

end

end

Stroke=[Stroke Str];

function [Numeral]=Recognition(StrokeTop,StrokeLeft,StrokeRight,StrokeBottom,Comp) % 采用四边的轮廓结构特征和笔划统计(仅针对0 和8)识别残缺数字

% Comp 是用于识别0和8 的底部补充信息

StrT='T';

StrL='T';

StrR='T';

StrB='T';

RStr='T'; % 用于保存识别出的数字

[temp XT]=size(StrokeTop);

[temp XL]=size(StrokeLeft);

[temp XR]=size(StrokeRight);

%[temp XB]=size(StrokeBottom);

for Ti=2:XT

if (StrokeTop(Ti)=='C')

if ((XL==2)&&(XR==2))

if

((Comp>=3)||((StrokeBottom(2)~='C')&&(StrokeLeft(2)=='C')&&(StrokeRight(2)=='C')))

RStr='8';

else

RStr='0';

end

else if

((StrokeLeft(XL)=='L')&&(StrokeLeft(XL-1)=='P')&&(StrokeLeft(2)~='C'))

RStr='2';

else if ((StrokeLeft(2)=='C')&&(XL>=3)&&(StrokeLeft(3)=='P'))

RStr='9';

else if (XL>2)

for Li=2:XL

if (StrokeLeft(Li)=='P')

RStr='3';

end

end

else if (XL==2)

for Ri=2:XR-1

if (StrokeRight(Ri)=='P')

RStr='6';

end

end

end

end

end

end

end

else if (StrokeTop(Ti)=='V') % Top

if ((XR==2)&&(StrokeRight(2)=='C')) % 数字3 右端只有一个结构

RStr='3';

else if

((XR==2)&&((StrokeLeft(2)=='P')||(StrokeLeft(3)=='P')||(StrokeLeft(XL)=='V')))

RStr='7';

else if (XR>2)

for Ri=2:XR

if (StrokeRight(Ri)=='P')

RStr='5';

end

end

end

end

I0=imread('8.jpg');% 必须为二值图像

I=im2bw(I0,0.4);

[y0 x0]=size(I);

Range=sum((~I)');

Hy=0;

for j=1:y0

if (Range(j)>=1)

Hy=Hy+1;

end

end

RangeX=sum((~I));

Wx=0;

for i=1:x0

if (RangeX(i)>=1)

Wx=Wx+1;

end

end

Amp=24/Hy; % 将文字图像归一化到24像素点的高度。I=imresize(I,Amp);

[y x]=size(I);

%I=bwmorph(~I,'skel',Inf);

%I=~I;

tic

%====== 基本结构=======%

% 第一类:竖(V);左斜(L);右斜(R);突变(P)

% 第二类:左半圆弧(C);右半圆弧(Q)

% 的三类:结构待定(T);

%=====================================% Left=zeros(1,y); % 左端轮廓检测

for j=1:y

i=1;

while ((i<=x)&&(I(j,i)==1))

i=i+1;

end

if (i<=x)

Left(j)=i;

end

end

for j=1:y-1

LeftD(j)=Left(j+1)-Left(j);

end

%========== 结构特征提取=============%

j=1;

while ((Left(j)<1)&&(j

j=j+1;

end

Y1=j;

j=y;

while ((Left(j)<1)&&(j>1))

j=j-1;

end

Y2=j-1; % 去掉急剧变化的两端

%============== 右边==================% Right=zeros(1,y); % 左端轮廓检测

for j=1:y

i=x;

while ((i>=1)&&(I(j,i)==1))

end

if (i>=1)

Right(j)=i;

end

end

for j=1:y-1

RightD(j)=Right(j+1)-Right(j);

end

%=====================================% Top=zeros(1,x); % 顶端轮廓检测

for i=1:x

j=1;

while ((j<=y)&&(I(j,i)==1))

j=j+1;

end

if (j<=y)

Top(i)=j;

end

end

for i=1:x-1

TopD(i)=Top(i+1)-Top(i);

end

%==============================%

i=1;

while ((Top(i)<1)&&(i

i=i+1;

end

X1=i;

i=x;

while ((Top(i)<1)&&(i>1))

end

X2=i-1; % 去掉急剧变化的两端

%===================================% Bottom=zeros(1,x); % 底部轮廓检测

for i=1:x

j=y;

while ((j>=1)&&(I(j,i)==1))

j=j-1;

end

if (j>=1)

Bottom(i)=j;

end

end

for i=1:x-1

BottomD(i)=Bottom(i+1)-Bottom(i);

end

%========== 数字1 的宽度特征=========% Width=zeros(1,y);

for j=1:y

Width(j)=Right(j)-Left(j);

end

W=m

6 系统测试与分析

6.1 文字识别算法仿真结果

识别原图如图9(a)所示,仿真结果如图9(b)所示。

图9(a)识别原图

图9(b)仿真结果

6.2 基于字符及单词的识别

6.2.1 基于字符的识别

Strokelets: A Learned Multi-scale Representation for Scene Text Recognition(CVPR 2014)通过聚类图像块来学习中层笔画特征,然后使用霍夫(HOG)投票算法检测字符。在笔画特征和HOG特征的基础上,使用随机森林分类器来进行字符分类。

End-to-end scene text recognition(2011)借鉴计算机视觉通用的目标检测方法,提出了一个新的文本识别系统。他们利用字符置信度以及字符之间的空间约束关系,给出最可能的检测和识别结果。但是该算法只能用于水平方向排列的文本的检测识别。

End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)和PhotoOCR: Reading Text in Uncontrolled Conditions(2013)等人通过无监督的二分类技术或有监督的分类器,将单词图像分割为潜在的字符区域。

End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)使用一种复杂的,包含分割、矫正以及字符识别的CNN网络,结合使用固定词典的隐马尔科夫模型(HMM),生成最终的识别结果。

PhotoOCR系统使用基于HOG特征的神经网络分类器,对分割得到的候选结果进行打分,使用结合N元语言模型(N-gram)的Beam搜索算法,得到候选字符集合。最后,再进

一步使用语言模型和形状模型对候选字符组合进行重新排序。

Deep Features for Text Spotting(2014)结合了文本一非文本分类器、字符分类器、二元语言模型分类器,对整张图进行稠密的基于滑动窗口的扫描。最后结合固定词典,对图片中的单词进行分析。

基于字符的识别技术依赖于使用字符分类器对图像进行逐字符识别,最终将识别得到的字符进行集成,得到图像中的整个单词。

6.2.2 基于单词的识别

Scene Text Recognition using Higher Order Language Priors以及Large-Lexicon Attribute-Consistent Text Recognition in Natural Images的工作依旧依赖于显式的字符分类器,但是通过构建一个图结构来推导整个单词。这会遇到和基于字符识别方法类似的困难。

Whole is Greater than Sum of Parts: Recognizing Scene Text Words(2013)使用整张文字图片来识别单词:他们使用基于梯度的特征图与预先制作好的单词图像进行对比,利用动态k近邻来判断当前图片所包含的单词。该方法依赖于一个固定词典以及预先生成的单词图片。

Label embedding for text recognition(2013)使用集成的Fisher向量以及结构化的支持向量机框架来建立图片和整个单词编码的关系。

Word Spotting and Recognition with Embedded Attributes(2014)进一步探索了单词编码的概念,他们为图片和单词字符串创建了一个编码空间。这其实是Supervised mid-level features for word image representation(2014)方法的扩展:显式利用字符级别的训练数据来学习中间特征。

Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks(2013)等人使用深度CNN对整张图片进行编码,并使用多个位置敏感的字符级分类器来进行文字识别。他们在街景门牌号识别任务中取得了极大的成功。他们还将该模型应用到长达8位的验证码识别任务上,并使用了合成的训练数据对模型进行训练。该方法在goggle街景门牌号识别任务中获得了96%以上的识别率。同时还在对goggle验证码识别任务中获得了99%以上的识别率。

Synthetic Data and Artificial Neural Networks for Natural Scene Text Recognition(2014)和Reading Text in the Wild with Convolutional Neural Networks(2014)对上述模型做了细微变动:取消了预测字符长度的分类器,并引入了结束符表示文字结尾。他们随后证明了,使用合成的训练数据训练出的模型,能够成功应用到现实世界的识别问题中。将单词编码为向量是一种可行的词典单词识别方法,但是在无约束情况下,字符之间可以任意组合。当

matlab课程设计题目

课题一: 连续时间信号和系统时域分析及MATLAB实现 课题要求: 深入研究连续时间信号和系统时域分析的理论知识。利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。 1、单位阶跃信号, 2、单位冲激信号, 3、正弦信号, 4、实指数信号, 5、虚指数信号, 6、复指数信号。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘, 4、微分, 5、积分 三、用MATLAB实现信号的时域变换(参数变化,分析波形变化) 1、反转, 2、使移(超时,延时), 3、展缩, 4、倒相, 5、综合变化 四、用MATLAB实现信号简单的时域分解 1、信号的交直流分解, 2、信号的奇偶分解 五、用MATLAB实现连续时间系统的卷积积分的仿真波形 给出几个典型例子,对每个例子,要求画出对应波形。 六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。 给出几个典型例子,四种调用格式。 七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题二: 离散时间信号和系统时域分析及MATLAB实现。 课题要求: 深入研究离散时间信号和系统时域分析的理论知识。利用MATLAB强大的图

形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。 课题内容: 一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性) 1、单位序列, 2、单位阶跃序列, 3、正弦序列, 4、离散时间实指数序列, 5、离散时间虚指数序列, 6、离散时间复指数序列。 二、用MATLAB实现信号的时域运算 1、相加, 2、相乘, 3、数乘。 三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化) 1、反转, 2、时移(超时,延时), 3、展缩, 4、倒相。 四、用MATLAB实现离散时间系统卷积和仿真波形 给出几个典型例子,对每个例子要求画出e(k),h(k),e(i),h(i),h(-i),Rzs(k)波形。 五、用MATLAB实现离散时间系统的单位响应,阶跃响应的仿真波形 给出几个典型例子,四中调用格式。 六、用MATLAB实现离散时间系统对实指数序列信号的零状态响应的仿真波形 给出几个典型例子,要求可以改变激励的参数,分析波形的变化。 课题三: 连续时间信号傅里叶级数分析及MATLAB实现。 课题要求: 深入研究连续时间信号傅里叶级数分析的理论知识,利用MATLAB强大的图形处理功能,符号运算功能以及数值计算功能,实现连续时间周期信号频域分析的仿真波形。 课题内容: 一、用MATLAB实现周期信号的傅里叶级数分解与综合 以周期矩形波信号为例,绘出包含不同谐波次数的合成波形,观察合成波形与原矩形 波形之间的关系及吉布斯现象。

MATLAB课程设计报告 基于MATLAB GUI 的滤波器设计软件

MATLAB课程设计报告 基于MATLAB GUI的“滤波器设计软件”设计

摘要 面对庞杂繁多的原始信号, 如何提取所需信号、抑制不需要的信号这就需要使用滤波器。滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。数字滤波器因其精度高、可靠性好、灵活性大等优点, 在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。根据其冲击响应函数的时域特性可将数字滤波器分为IIR(有限长冲击响应)和FIR(无限长冲击响应)。作为强大的计算软件, MATLAB 提供了编写图形用户界面的功能。所谓图形用户界面, 简称为GUI, 是由各种图形对象, 如图形窗口菜单按钮、文本框等构建的用户界面。 MATALB 可以创建图形用户界面GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 关键词:MATLAB GUI IIR滤波器FIR滤波器

目录 1设计任务 (1) 2 MATLAB GUI的简介 (2) 3 滤波器设计原理 (3) 3.1滤波器概述 (3) 3.2 IIR数字滤波器 (4) 3.2.1 IIR数字滤波器设计原理 (4) 3.2.2 IIR滤波器设计思想 (5) 3.2.3 IIR滤波器设计编程实现 (6) 3.3 FIR数字滤波器 (8) 3.3.1 FIR数字滤波器设计原理 (8) 3.3.2 FIR滤波器设计思想 (9) 4 基于Matlab GUI的数字滤波器设计思路及实现 (12) 4. 1 GUI界面设计概述 (12) 4.2 “滤波器设计软件”设计所实现任务 (14) 4.3 基于Matlab GUI的数字滤波器设计实现 (16) 4.3.1 “滤波器设计软件”GUI界面设计 (16) 4.3.2 “滤波器设计软件”回调函数编写 (17) 4.3.3AutoChoose.m程序的编写 (22) 4.4 运行和结果显示 (28) 5 设计总结和心得 (33) 5.1 设计总结 (33) 5.2 设计心得 (34) Abstract (35) 参考文献 (36) 附录

语音识别Matlab可视化编程(部分)

附录1:录音函数:audiorecorder.m % 运行平台:Windows 8.1 64bit MATLAB R2014a % 录音2秒钟 clear all;clc;close all; fs = 16000; %2é?ù?μ?ê recorder = audiorecorder; disp('Start speaking.') recordblocking(recorder, 2); disp('End of Recording.'); % 回放录音数据 play(recorder); % 获取录音数据 xx = getaudiodata(recorder,'int16'); %绘制录音数据波形 plot(xx); A6:“录音”按键回调函数 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) fs = 16000; recorder = audiorecorder; disp('Start speaking.') recordblocking(recorder, 2); disp('End of Recording.'); % 回放录音数据 % play(recorder); % 获取录音数据 k = getaudiodata(recorder,'int16'); plot(handles.axes1,k); load mfcc.mat; [StartPoint,EndPoint]=vad(k,fs); cc=mfcc(k); cc=cc(StartPoint-2:EndPoint-2,:); test.StartPoint=StartPoint; test.EndPoint=EndPoint;

MATLAB课设报告

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 1.Matlab6.5以上版本软件; 2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应 用”、线性代数及相关书籍等; 3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 2.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析, 针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: ①初步了解Matlab、熟悉Matlab界面、进行简单操作; ②MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; ③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形 标注、简单颜色设定等; ④使用文本编辑器编辑m文件,函数调用; ⑤能进行简单的信号处理Matlab编程; ⑥按要求参加课程设计实验演示和答辩等。 3.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: ①目录; ②与设计题目相关的理论分析、归纳和总结; ③与设计内容相关的原理分析、建模、推导、可行性分析; ④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; ⑤课程设计的心得体会(至少500字); ⑥参考文献(不少于5篇); ⑦其它必要内容等。 时间安排:1.5周(分散进行) 参考文献: [1](美)穆尔,高会生,刘童娜,李聪聪.MA TLAB实用教程(第二版) . 电子工业出版社,2010. [2]王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. [3]陈杰. MA TLAB宝典(第3版) . 电子工业出版社,2011. [4]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

Matlab课程设计报告

自控系统仿真软件课程设计报告 MATLAB 设计题目:牛顿摆球 姓名: 学号: 院系: 班级:1203 指导教师: 2014年12月20日

一.课程设计目的 1、熟悉课程设计的基本流程; 2、掌握MATLAB语法结构及调试方法; 3、熟悉MATLAB函数调用,熟练二维画图; 4、掌握MATLAB语言在控制方面的运用; 5、学会用MATLAB进行基本仿真; 6、掌握MATLAB编程技巧,提高编程水平。 二.系统分析 1.题目的描述: (1)牛顿摆球原理描述 五个质量相同的球体由吊绳固定,彼此紧密排列。当摆动最右侧的球并在回摆时碰撞紧密排列的另外四个球,最左边的球将被弹出,并仅有最左边的球被弹出。当然此过程也是可逆的,当摆动最左侧的球撞击其它球时,最右侧的球会被弹出。当最右侧的两个球同时摆动并撞击其他球时,最左侧的两个球会被弹出。同理相反方向同样可行,并适用于更多的球。 为了更接近现实,在这里我将考虑重力及空气阻力的影响,摆球将不会永无止境的运动下去,由于外界因素的影响,摆球运动一段时间后将回归静止状态。(2)通过MATLAB动画程序制作软件,实现下述过程 当运行程序时,把最右边的小球拉到一定的高度放下,让其碰撞其余四个小球,仅让最左边的小球被弹出,当最左边小球回摆碰撞其它球时,最右边小球又被弹出,如此循环。由于是非理想条件下,摆球的摆动幅度会随摆动次数的增加越来越小,直到静止。 时间停顿两秒,把右边两小球一起拉到一定高度放下,让其碰撞其余三个球,同样仅让左边两球被弹出,当球回摆再次碰撞时,最右边两球又被同时弹出,如此循环,因为外界因素的影响,最终五个球都会静止下来。 (3)整个实验看似简单,但要在MATLAB上完成这样一个动画过程,还是需要下点功夫,克服困难的。经过自己的努力,终于实现了整个过程,这也是一种不小的收获。 2.设计要求: (1)能够实现有阻尼摆动,即摆幅随摆动次数增加越来越小,直到静止。(2)能够让摆球弧线摆动。 三.系统设计 1.系统设计过程 (1)通过函数axis建立坐标系 (2)在坐标系范围内通过函数line画各个支架 (3)通过函数title添加标题“动量守恒实验”、函数text添加标注“牛顿摆球” (4)通过函数line画出五个球,并设定其初始位置,颜色,大小,线条的擦拭方式

基于语音识别的智能小车设计-毕设论文

基于语音识别的智能小车 摘要 随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。 语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。本设计采用的识别类型是特定人孤立词语音识别。 本系统分上位机和下位机两大方面。上位机利用PC上MATLAB强大的数学计算能力,进行语音输入、端点监测、特征参数提取、匹配、串口控制等工作,根据识别到的不同语音通过PC串口向下位机发送不同的指令。下位机是单片机控制的一个小车,单片机收到上位机传来的指令后,根据不同的指令控制小车完成不同的动作。 该设计对语音识别的现有算法进行了验证和实现,并对端点检测和匹配算法进行了些许改进。本设计达到了预期目标,实现了所期望的功能效果。 关键词:MATLAB,语音识别,端点检测,LPC,单片机,电机控制

SMART CAR GASED SPEECH RECOGNITION ABSTRACT With the development of computer technology,pattern recognition,signal processing technology and acoustic technology etc, the speech recognition system that can meet the various needs of people is more possible to achieve.The past three decades, the voice recognition in the field of computer, information processing, communications and electronic systems, automatic control has increasingly wide range of applications. Speech recognition by the speaker's speech can be divided into isolated word (Isolated Word) identification, conjunctions (Connected Word) and continuous speech recognition (Continuous Speech) identification. Identifying the type of object from the point of view, the voice recognition can be divided into a specific person (Speaker Dependent) speech recognition and non-specific (Speaker Independent) speech recognition. This design uses the identification type is a specific person isolated word speech recognition. This design is of a good implementation of speech recognition in the control field, it does the work that would otherwise require manual operation by the voice of people easily.This system includes two major aspects:the host system and the slave system. The host system use the MATLAB on the computer which has powerful mathematical computing ability to do the work of voice input, endpoint monitoring, feature extraction, matching, identification and serial control,then it send different commands through the PC serial port to slave system according different recognised voice. The slave system is a car controlled by a single-chip micro-controller.It controls the car do different actions according different instructions received.

matlab课程设计拟定题目

第一类:单位转换 1.长度单位换算的设计与实现 2.面积单位换算的设计与实现 3.体积单位换算的设计与实现 4.容积单位换算的设计与实现 5.质量单位换算的设计与实现 6.时间单位换算的设计与实现 7.温度单位换算的设计与实现 7.压强单位换算的设计与实现 8.角度单位换算的设计与实现 8.功率单位换算的设计与实现 第二类:曲线绘制 1.直线的自动绘制和相关计算 2.椭圆的自动绘制和相关计算 3.双曲线的自动绘制和相关计算 4.抛物线的自动绘制和相关计算 5.心脏线的自动绘制和相关计算 6.渐开线的自动绘制和相关计算 7.滚圆线的自动绘制和相关计算 8.三叶玫瑰线的自动绘制和相关计算9.四叶玫瑰线的自动绘制和相关计 10.阿基米德螺线的自动绘制和相关计算第三类:曲面绘制 1.球面的自动绘制和相关计算 2.椭球面的自动绘制和相关计算 3.单叶双曲面的自动绘制和相关计算 4.双叶双曲面的自动绘制和相关计算 5.抛物面的自动绘制和相关计算 6.双曲抛物面的自动绘制和相关计算 7.双曲柱面的自动绘制和相关计算 8.椭圆柱面的自动绘制和相关计算 9.抛物柱面的自动绘制和相关计算 10.圆锥面的自动绘制和相关计算 第四类:线性回归 1.男士身高体重相关计算经验公式 2.女士身高体重相关计算经验公式 3.男士胖瘦等级的确定 4.女士胖瘦等级的确定 5.男士身高脚长相关计算经验公式 6.女士身高脚长相关计算经验公式 7.父子身高相关性研究 8.母子身高相关性研究 9.父女身高相关性研究 10.母女身高相关性研究 第五类:学习成绩 1.期末总评自动计算的设计与实现 2.成绩等级自动评定的设计与实现 3.成绩分段自动统计的设计与实现 4.成绩分布折线自动绘制的设计与实现 5.成绩自动统计分析的设计与实现 6.试卷分布自动分析的设计与实现 7.试卷难度自动分析的设计与实现 8.考试成绩名次自动生成的设计与实现

MATLAB程序设计课程设计

Matlab课程设计 题目: 二、利用混合空间法增强锐化图像仿真 将原始图像增强,最终增强为如下类似图像 。 可参考如下过程

源程序: clc clear all %读取图像 J=imread('E:\工作台\MATLAB\2016课程设计\仿真2附件 \Fig0343(a)(skeleton_orig).tif'); %拉普拉斯变换得到M1 [m,n]=size(J); I=im2double(J); h1=[0,-1,0;-1,4,-1;0,-1,0]; M1=imfilter(I,h1); %与原图相加得到M2,锐化原图 M2=M1+I; %sobel算子运算结果得到M3,保留边缘去除噪声 h2=[1,0,-1;2,0,-2;1,0,-1]; h3=[-1,-2,-1;0,0,0;1,2,1]; Sx=imfilter(I,h2); Sy=imfilter(I,h3); for i=1:m for j=1:n M3(i,j)=sqrt((Sx(i,j))^2+(Sy(i,j))^2); end end %作3*3模板的均值平滑 M4=zeros(m,n); for x=2:m-1 for y=2:n-1 for a=-1:1 for b=-1:1 M4(x,y)=(M4(x,y)+M3(x+a,y+b))/9; end end end end for c=1:m for d=1:n M4(c,1)=M3(c,1); M4(1,d)=M3(1,d); end end %作幂次变换,提升亮度2倍,提升对比度 for e=1:m for f=1:n

M5(e,f)=M2(e,f)*M4(e,f); end end M6=I+M5; for g=1:m for h=1:n M7(g,h)=2*(M6(g,h))^1.15; end end subplot(241);imshow(I); subplot(242);imshow(M1); subplot(243);imshow(M2); subplot(244);imshow(M3); subplot(245);imshow(M4); subplot(246);imshow(M5); subplot(247);imshow(M6); subplot(248);imshow(M7); 分析: 1.读取图像 2.利用 Laplacian 变换得到M1,在与原图相处理得到锐化的图像 3.用 Sobel 算子运算,保留边缘去除噪声 4.用3*3的模板均值平滑化图像 5.用幂律定理,提高图像亮度,提高对比度

matlab课程设计题目全

Matalab课后作业 学院:电气信息工程及其自动化 班级: 学号: 姓名: 完成日期: 2012年12月23日

1、 matlab 软件主要功能是什么?电气工程及其自动化专业本科生主要用到哪 些工具箱,各有什么功能? 答:(1)主要功能:工业研究与开发; 数学教学,特别是线性代数;数值分析和科学计算方面的教学与研究;电子学、控制理论和物理学等工程和科学学科方面的教学与研究; 经济学、化学和生物学等计算问题的所有其他领域中的教学与研究;符号计算功能;优化工具;数据分析和可视化功能;“活”笔记本功能;工具箱;非线性动态系统建模和仿真功能。 (2)常用工具箱: (a ) MATLAB 主工具箱:扩充matlab 的数值计算、符号运算功能、图形建模仿真功能、文字处理功能以及与硬件实时交互功能。 (b )符号数学工具箱:符号表达式、符号矩阵的创建;符号可变精度求解;因式分解、展开和简化;符号代数方程求解;符号微积分;符号微分方程。 (c ) SIMULINK 仿真工具箱: Simulink 是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink 提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。 (d )信号处理工具箱:数字和模拟滤波器设计、应用及仿真;谱分析和估计;FFT 、DCT 等 变换;参数化模型。 (e )控制系统工具箱:连续系统设计和离散系统设计;状态空间和传递函数以及模型转换;时域响应(脉冲响应、阶跃响应、斜坡响应);频域响应(Bode 图、Nyquist 图);根轨迹、极点配置。 2、设y=23e t 4-sin(43t+3 ),要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。 程序如下: clc clear x=0:0.01:1.5; y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3); y1=diff(y); subplot(2,1,1) plot(x,y) subplot(2,1,2) plot(x(1:150),y1) 曲线如下图所示:

MATLAB仿真课程设计

电气工程工具软件课程设计-MATLAB 学号:3100501044 班级:电气1002 姓名:王辉军 指导老师:乔薇 2014年1月16日

课程设计任务:构建一个含有PID控制器的系统,观察 K(比例系数)、 p K(积分系数)、d K(微分系数)不同值时系统的变化。 i (Continuous模块库中的Zero-Pole模块)输入为阶跃函数 一.建立含有pid子系统的系统模型 (1)选用器件搭建电路 图1-1 图1-2 (2)构建PID控制器 图1-3

(3)上述结构图封装成PID控制器 ①创建子系统。选中上述结构图后再选择模型窗口菜单“Edit/Creat Subsystem” ②封装。选中上述子系统模块,再选择模型窗口菜单“Edit/Mask Subsystem” ③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。本次试验主要需进行以下几项设置:Icon(图标)项:“Drawing commands”编辑框中输入“disp(‘PID’)”,如下 左图示:Parameters(参数)项:创建Kp,Ki,Kd三个参数,如下右图示 图1-4 图1-5

(4)搭建单一回路系统结构框图如下图 图1-6 所需模块及设置:Sources模块库中Step模块;Sinks模块库中的Scope 模块;Commonly UsedBlocks模块库中的Mux模块;Continuous模块库中的Zero-Pole模块。Step模块和Zero-Pole模块设置如下: 图1-7 图1-8

二.比较以下参数的结果:(把各个仿真波形图截图标注) 图2-1 如上图可更改Kp,Ki,Kd的值以实现以下要求: (1)Kp=8.5,Ki=5.3,Kd=3.4 图2-2 (2)Kp=6.7,Ki=2,Kd=2.5

MATLAB课程设计报告图像处理

一.课程设计相关知识综述...................................................................... 1.1 研究目的及意义 (3) 1.2 数字图像处理研究的内容........................................................... 1.3 MATLAB 软件的介绍.................................................................. 1.3.1 MATLAB 语言的特点......................................................... 1.3.2 MATLAB 图像文件格式.................................................... 1.3.3 MATLAB 图像处理工具箱简介........................................ 1.3.4 MATLAB 中的图像类型.................................................... 1.3.5 MATLAB 的主要应用........................................................ 1.4 函数介绍........................................................................................ 二.课程设计内容和要求........................................................................... 2.1 主要研究内容................................................................................ 2.2 具体要求....................................................................................... 2.3 预期达到的目标........................................................................... 三.设计过程............................................................................................... 3.1 设计方案及步骤............................................................................ 3.2 程序清单及注释........................................................................... 3.3 实验结果........................................................................................ 四.团队情况................................................................................................ 五.总结....................................................................................................... 六.参考文献............................................................................................... 一.课程设计相关知识综述. 1.1研究目的及意义

matlab语音识别系统(源代码)18676

(威海)《智能仪器》课程设计 题目: MATLAB实现语音识别功能班级: 学号: 姓名: 同组人员: 任课教师: 完成时间:2012/11/3

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 语者识别的概念 (2) 特征参数的提取 (3) 用矢量量化聚类法生成码本 (3) 的说话人识别 (4) 三、算法程序分析 函数关系 (4) 代码说明 (5) 函数mfcc (5) 函数disteu (5) 函数vqlbg (6) 函数test (6) 函数testDB (7) 函数train (8) 函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12)

一、设计任务及要求 用MATLAB实现简单的语音识别功能; 具体设计要求如下: 用MATLAB实现简单的数字1~9的语音识别功能。 二、语音识别的简单介绍 基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确性。

MATLAB课程设计

二阶弹簧—阻尼系统的PID 控制器设计及其参数整定 班级:电控(中荷),学号:200710234***,姓名:包艳 1 前 言 PID 控制器结构简单,其概念容易理解,算法易于实现,且具有一定的鲁棒 性,因此,在过程控制领域中仍被广泛使用,除非在特殊情况下证明它不能满足既定的性能要求。对于单输入单输出的系统,尤其是阶跃响应单调变化的低阶对象,已有大量的PID 整定方法及其比较研究。当对象的阶跃响应具有欠阻尼特性时,如果仍近似为惯性对象,被忽略的振荡特性有可能引起控制品质的恶化。现有的一些针对二阶欠阻尼对象的PID 整定方法,例如极点配置方法,幅值相位裕量方法等,尽管在各自的假设前提下取得了较好的控制效果,但并非适用于所有的二阶欠阻尼对象,其性能鲁棒性问题也有待讨论。 本文通过使用MATLAB 对二阶弹簧—阻尼系统的控制器(分别使用P 、PI 、PID 控制器)设计及其参数整定,定量分析比例系数、积分时间与微分时间对系统性能的影响。同时,掌握MATLAB 语言的基本知识进行控制系统仿真和辅助设计,学会运用SIMULINK 对系统进行仿真,掌握PID 控制器参数的设计。 2 研究的原理 积分(I )控制具有积分控制规律的控制称为积分控制,即I 控制,I 控制的传递函数为: s s K G i C = )(。其中, Ki 称为积分系数。控制器的输出信号为:

U(t)= ?t I t e K )( dt。或者说,积分控制器输出信号u(t) 的变化速率与输入信号e(t) 成正比,即: )( )( t e dt t du K I = 。 对于一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个系统是有稳态误差的或简称有差系统.为了消除稳态误差,在控制器必须引入”积分项”.积分项对误差取决于时间的积分,随着时间的增加,积分项会增大使稳态误差进一步减小,直到等于零. 通常,采用积分控制器的主要目的就是使用系统无稳态误差,由于积分引入了相位滞后,使系统稳定性变差,增加积分器控制对系统而言是加入了极点,对系统的响应而言是可消除稳态误差,但这对瞬时响应会造成不良影响,甚至造成不稳定,因此,积分控制一般不单独使用,通常结合比例控制器构成比例积分(PI)控制器.

基于MATLAB的特定人语音识别算法设计毕业设计

本科毕业设计 基于MATLAB的特定人语音识别算法设计

摘要 语言是人类交换信息最方便、最快捷的一种方式,在高度发达的信息社会中,用数字化的方法进行语音的传送、存储、识别、合成和增强等是整个数字化通信网中最重要、最基本的组成部分之一。而在随着科技技术的发展的今天,除了人与人之间的自然语言通信之外,人与机或机器与机器之间也开始使用语言。也就是因为如此,需要涉及到语音识别技术。为了解决机器能“听懂”人类的语言,在科技如此迅猛发展的今天,语音识别技术一直受到各国科学界的关注,其对计算机发展和社会生活的重要性也日益凸显出来。 在孤立字语音识别中,如语音密码锁,汽车控制等领域,都运用到了特定人语音识别技术,也就是DTW算法,相对于HMM算法,DTW算法具有简单操作。在相同环境下,两者识别效果相差不大,但是HMM算法要复杂得多,主要体现在HMM算法在训练阶段需要提供大量的语音数据,而DTW算法则不需要额外的计算。所以在特定人语音识别当中,DTW算法被广泛使用。 在本次设计中,将运用到MATLAB平台来对语音信号进行处理及识别。相对于C 语言而言,MATLAB平台更能给用户提供一个简单易懂的代码分析窗口。而且在个性化设计中,MATLAB可以为用户提供一个人性化界面--GUI。所以,此次设计,通过MATLAB 平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参数(MFCC),形成参考模块。然后再对一组相同的语音信号输入进行同样的操作作为测试模块,与参考模块进行DTW算法进行匹配,输出匹配后的识别结果。 关键词:MATLAB GUI 端点检测MFCC DTW

MATLAB课程设计任务书

课程设计任务书 学生姓名:专业班级:电信 指导教师:工作单位:信息工程学院 题目:MATLAB运算与应用设计2 初始条件: 1.MATLAB6.5以上版本软件; 2.课程设计辅导资料:“MATLAB语言基础及使用入门”、“MATLAB及在电子信息课程中的 应用”等; 3.先修课程:信号与系统、数字信号处理、MATLAB应用实践及信号处理类课程等。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说 明书撰写等具体要求) (1)选择一本《MATLAB教程》,学习该教程的全部内容,包括使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容; (2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。 (3)对实验结果进行分析和总结; (4)要求阅读相关参考文献不少于5篇; (5)根据课程设计有关规范,按时、独立完成课程设计说明书。 时间安排: (1) 布置课程设计任务,查阅资料,学习《MATLAB教程》十周; (2) 进行编程设计一周; (3) 完成课程设计报告书一周; 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1 MATLAB概述 (3) 1.1MATLAB简介 (4) 1.2MATLAB的功能 (4) 1.3MATLAB 的典型应用 (6) 2设计题目:MATLAB运算与应用设计套题二 (6) 3设计内容 (8) 3.1 题一 (8) 3.2 题二 (8) 3.3 题三 (9) 3.4 题四 (10) 3.5 题五 (15) 3.6 题六 (15) 3.7 题七 (15) 3.8 题八 (16) 3.9 题九 (17) 3.10题十 (18) 4 课程设计心得 (20) 5参考文献 (21) 6 本科生课程设计成绩评定表 (22)

MATLAB课程设计实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号:20120704 专业班级:光信息科学与技术 指导老师:miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

相关主题
文本预览
相关文档 最新文档