《基于MATLAB的异步电动机仿真精品资料.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的异步电动机仿真精品资料.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目 录1 引言12 异步电动机动态数学模型22.1异步电动机动态数学模型的性质22.2三相异步电动机的多变量非线性数学模型22.2.1电压方程32.2.2磁链方程42.2.3转矩方程62.2.4电力拖动系统运动方程72.2.5三相异步电机的数学模型83 坐标变化和变换矩阵93.1三相-两相变换(3/2变换)93.2三相异步电动机在两相坐标系上的数学模型103.2.1三相异步电动机在两相坐标系上的状态方程113.2.2两相静止坐标系中按定子磁链定向的状态方程114 软件介绍及模型实现134.1 Matlab/Simulink简介134.2模型实现134.2.1 Simulink模型设计134.2
2、.2模型参数设置154.2.3仿真结果185 结论21参考文献22课程设计说明书1 引言1985年,由Depenbrock教授提出的直接转距控制理论将运动控制的发展向前推进了一大步。接着1987年把它又推广到弱磁调速范围。不同于矢量控制技术,它无需将交流电动机与直流电动机作比较、等效和转化,不需要模仿直流电动机的控制,也不需要为解耦而简化交流电动机的数学模型1。它只是在定子坐标系下分析交流电机的数学模型,强调对电机的转距进行直接控制,省掉了矢量旋转变换等复杂的变换与计算。直接转距控制从一诞生,就以新颖的控制思想,简洁明了的系统结构,优良的静、动态性能受到人们的普遍关注。系统建模与仿真一直是各领
3、域研究、分析和设计各种复杂系统的有力工具。建模可以超越理想的去模拟复杂的现实物理系统;而仿真则可以对照比较各种控制策略和方案,优化并确定系统参数。长期以来,仿真领域的研究重点是放在仿真模型建立这一环节上,即在系统模型建立以后,设计一种算法,以使系统模型为计算机所接受,然后再将其编制成计算机程序,并在计算机上运行。显然,为达到理想的目的,在这一过程中编制与修改仿真程序十分耗费时间和精力,这也大大阻碍了仿真技术的发展和应用。近年来逐渐被大家认识的Matlab语言则很好的解决了这个问题。2 异步电动机动态数学模型2.1异步电动机动态数学模型的性质直流电动机的磁通由励磁绕组产生,可以在电枢合上电源以前
4、建立起来而不参与系统的动态。过程(弱磁调速时除外)。因此,它的动态数学模型只有一个输入变量电枢电压和一个输入变量转速,在控制对象中含有机电时间常数和电枢回路电磁时间常数,如果电力电子变换装置也计入控制对象,则还有滞后的时间常数。在工程上能够允许的一些假定条件下,可以描述成单变量(单输入单输出)的三阶线性系统2,完全可以应用经典的线性控制理论和由它发展出来的工程设计方法进行分析与设计。但是,同样的理论和方法用来分析与设计交流调速系统时,就不那么方便了,因为交流电机的数学模型和直流电机模型相比有着本质上的区别。1)异步电机变压变频调速时需要进行电压(或电流)和频率的协调控制,有电压(电流)和频率两
5、种独立的输入变量。在输出变量中,除转速外,磁通也得算一个独立的输出变量。因为电机只有一个三相输入电源,磁通的建立和转速的变化是同时进行的,为了获得良好的动态性能,也希望对磁通施加某种控制,使它在动态过程中尽量保持恒定,才能产生较大的动态转矩。由于这些原因,异步电机是一个多变量(多输入多输出)系统,而电压(电流)、频率、磁通、转速之间又互相都有影响,所以是强耦合的多变量系统,可以先用下图来定性地表示。2)在异步电机中,电流乘磁通产生转矩,转速乘磁通得到感应电动势,由于它们都是同时变化的,在数学模型中就含有两个变量的乘积项。这样一来,即使不考虑磁饱和等因素,数学模型也是非线性的。3)三相异步电机定
6、子有三个绕组,转子也可等效为三个绕组,每个绕组产生磁通时都有自己的电磁惯性3,再算上运动系统的机电惯性,和转速与转角的积分关系,即使不考虑变频装置4的滞后因素,也是一个八阶系统。总起来说,异步电机的动态数学模型是一个高阶、非线性、强耦合的多变量系统。2.2三相异步电动机的多变量非线性数学模型在研究异步电动机的多变量非线性数学模型时,常作如下的假设:(1)忽略空间谐波,设三相绕组对称,在空间互差120电角度,所产生的磁动势沿气隙周围按正弦规律分布。(2)忽略磁路饱和,各绕组的自感和互感都是恒定的。(3)忽略铁心损耗。(4)不考虑频率变化和温度变化对绕组电阻的影响。异步电机的数学模型由下述电压方程
7、、磁链方程、转矩方程和运动方程组成。2.2.1 电压方程三相定子绕组的电压平衡方程为 与此相应,三相转子绕组折算到定子侧后的电压方程为 式中 , , , , ,定子和转子相电压的瞬时值;, , , , , 定子和转子相电流的瞬时值;, , , , ,各相绕组的全磁链;Rs, Rr定子和转子绕组电阻上述各量都已折算到定子侧,为了简单起见,表示折算的上角标“ ”均省略,以下同此。 电压方程的矩阵形式将电压方程写成矩阵形式,并以微分算子 p 代替微分符号 d /dt(2-1)或改写成2.2.2 磁链方程每个绕组的磁链是它本身的自感磁链和其它绕组对它的互感磁链之和,因此,六个绕组的磁链可表达为 (2-
8、2)或改写成(2-2)式中,L 是66电感矩阵,其中对角线元素 ,是各有关绕组的自感,其余各项则是绕组间的互感。实际上,与电机绕组交链的磁通主要只有两类:一类是穿过气隙的相间互感磁通,另一类是只与一相绕组交链而不穿过气隙的漏磁通,前者是主要的。 电感的种类和计算如下。定子漏感定子各相漏磁通所对应的电感,由于绕组的对称性,各相漏感值均相等;转子漏感转子各相漏磁通所对应的电感;定子互感与定子一相绕组交链的最大互感磁通;转子互感与转子一相绕组交链的最大互感磁通。由于折算后定、转子绕组匝数相等,且各绕组间互感磁通都通过气隙,磁阻相同,故可认为=。自感表达式对于每一相绕组来说,它所交链的磁通是互感磁通与
9、漏感磁通之和,因此,定子各相自感为转子各相自感为 两相绕组之间只有互感。互感又分为两类:(1)定子三相彼此之间和转子三相彼此之间位置都是固定的,故互感为常值;(2)定子任一相与转子任一相之间的位置是变化的,互感是角位移的函数。第一类固定位置绕组的互感,三相绕组轴线彼此在空间的相位差是120,在假定气隙磁通为正弦分布的条件下,互感值应为于是 (2-3)第二类变化位置绕组的互感,定、转子绕组间的互感,由于相互间位置的变化,可分别表示为(2-4)当定、转子两相绕组轴线一致时,两者之间的互感值最大,就是每相最大互感。整理以上各式,即得完整的磁链方程,显然这个矩阵方程是比较复杂的,为了方便起见,可以将它
10、写成分块矩阵的形式式中(2-5)(2-6)(2-7)值得注意的是, 和 两个分块矩阵互为转置,且均与转子位置有关,它们的元素都是变参数,这是系统非线性的一个根源。为了把变参数转换成常参数须利用坐标变换,后面将详细讨论这个问题。如果把磁链方程代入电压方程中,即得展开后的电压方程 式中,Ldi /dt 项属于电磁感应电动势中的脉变电动势(或称变压器电动势),(dL / dq)wi 项属于电磁感应电动势中与转速成正比的旋转电动势。2.2.3 转矩方程 根据机电能量转换原理,在多绕组电机中,在线性电感的条件下,磁场的储能和磁共能为而电磁转矩等于机械角位移变化时磁共能的变化率 (电流约束为常值),且机械
11、角位移 qm = q / np ,于是整理上式可得又由于则转矩方程的三相坐标系形式(2-8)应该指出,上述公式是在线性磁路、磁动势在空间按正弦分布的假定条件下得出来的,但对定、转子电流对时间的波形未作任何假定,式中的i 都是瞬时值。因此,上述电磁转矩公式完全适用于变压变频器供电的含有电流谐波的三相异步电机调速系统。2.2.4 电力拖动系统运动方程 在一般情况下,电力拖动系统的运动方程式是 (2-9)TL 负载阻转矩;J 机组的转动惯量;D 与转速成正比的阻转矩阻尼系数;K 扭转弹性转矩系数。 对于恒转矩负载,D = 0 ,K = 0 ,则2.2.5 三相异步电机的数学模型以上各式便构成在恒转矩
12、负载下三相异步电机的多变量非线性数学模型,用结构图表示出来如下图所示。图1 异步电动机的多变量非线性动态结构图由图可知异步电机数学模型的下列具体性质:(1)异步电机可以看作一个双输入双输出的系统,输入量是电压向量和定子输入角频率,输出量是磁链向量5和转子角速度。(2)非线性因素存在于1()和2()中,即存在于产生旋转电动势 er 和电磁转矩 Te 两个环节上,还包含在电感矩阵L中,旋转电动势和电磁转矩的非线性关系和直流电机弱磁控制的情况相似,只是关系更复杂一些。 (3)多变量之间的耦合关系主要也体现在 1()和2()两个环节上,特别是产生旋转电动势的1对系统内部的影响最大。3 坐标变化和变换矩
13、阵异步电机数学模型之所以复杂,关键是因为有一个复杂的 66 电感矩阵,它体现了影响磁链和受磁链影响的复杂关系。因此,要简化数学模型,须从简化磁链关系入手。3.1三相-两相变换(3/2变换) 现在先考虑上述的第一种坐标变换在三相静止绕组A、B、C和两相静止绕组a、b 之间的变换,或称三相静止坐标系和两相静止坐标系间的变换,简称 3/2 变换。图2中绘出了 A、B、C 和 a、b 两个坐标系,为方便起见,取 A 轴和 a 轴重合。设三相绕组每相有效匝数为N3,两相绕组每相有效匝数为N2,各相磁动势为有效匝数与电流的乘积,其空间矢量均位于有关相的坐标轴上。由于交流磁动势的大小随时间在变化着,图中磁动
14、势矢量的长度是随意的。 AN2iaN3iAabN3iCN3iBN2i60o60oCB图2 三相和两相坐标系与绕组磁动势的空间矢量设磁动势波形是正弦分布的,当三相总磁动势与二相总磁动势相等时,两套绕组瞬时磁动势在 a、b 轴上的投影都应相等,因此写成矩阵形式,得考虑变换前后总功率不变,在此前提下,可以证明,匝数比应为由此可得(3-1)令 C3/2 表示从三相坐标系变换到两相坐标系的变换矩阵,则 如果三相绕组是Y形联结不带零线,则有 iA + iB + iC = 0,或 iC = - iA - iB 。代入上式并整理后可得(3-2)按照所采用的条件,电流变换阵也就是电压变换阵,同时还可证明,它们也
15、是磁链的变换阵。3.2三相异步电动机在两相坐标系上的数学模型 异步电机的数学模型比较复杂,坐标变换的目的就是要简化数学模型。异步电机数学模型是建立在三相静止的ABC坐标系上的,如果把它变换到两相坐标系上,由于两相坐标轴互相垂直,两相绕组之间没有磁的耦合,仅此一点,就会使数学模型简单了许多。3.2.1三相异步电动机在两相坐标系上的状态方程 作为异步电机控制系统研究和分析基础的数学模型,过去经常使用矩阵方程,近来越来越多地采用状态方程的形式,因此有必要再介绍一下状态方程。这里讨论两相静止坐标系上的状态方程。在两相坐标系上的电压源型变频器异步电机具有4阶电压方程和1阶运动方程,因此其状态方程也应该是
16、5阶的,须选取5个状态变量,而可选的变量共有9个,即转速w ,4个电流变量和4个磁链变量,。转子电流是不可测的,不宜用作状态变量,因此只能选定子电流、和转子磁链、;定子电流、和定子磁链、。也就是说,可以有和两组状态方程。由(2-5)式可得坐标系上的磁链方程(3-3)由(2-1)式可得坐标系电压方程(3-4)3.2.2两相静止坐标系中按定子磁链定向的状态方程本设计内容为以异步电动机在静止坐标系中为状态变量的状态方程结构为核心,构建异步电动机仿真模型。两相静止,将(3-4)式磁链方程代入(3-3)式电压方程可得静止坐标系中状态方程为(3-5)4 软件介绍及模型实现4.1 Matlab/Simuli
17、nk简介Matlab语言是Mathworks公司推出的当今国际上最为流行的软件之一。它自问世起,就以数值计算称雄,它的图形可视能力在所有数学软件中也是首屈一指的。Matlab提供了众多的工具箱,动态系统仿真工具Simulink是其主要工具箱之一,其主要功能是对动态系统做适当分析,从而在可以作出实际系统之前,预先对系统进行仿真和分析,并可以做适当地实时修正,提高系统的性能,减少系统修改时间,实现高效开发系统的目的。在Matlab中,Simulink是一个比较特别的工具箱,它是一个进行动态系统建模、仿真和综合分析的集成软件包。它的出现可以使仿真工作以结构图的形式加以进行,且采用分层结构。从建模角度
18、讲,这既适合于Topdown的设计流程,又适合于Bottumup逆程设计。从仿真角度讲,Simulink模型不仅能让用户知道具体环节的动态细节,而且能够让用户清晰地了解各种器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响,同时可以借助模拟示波器将仿真动态结果加以显示,因而仿真结果过程十分直观。更为可贵的是Matlab/Simulink的开放性,用户可以根据自己的需要开发自己的模型,并通过封装扩充现有的模型库。众所周知,现代运动控制系统中的交流异步电动机本身就是一个高阶、非线性、强耦合的多变量系统。这里从静止两相坐标系下的鼠笼异步电动机模型出发,推导出基于定子磁链磁场定向的电动机模型
19、,并采用Matlab/Simulink实现之。4.2模型实现模型建立以后,所要做的就是从Simulink丰富的模型库中调用合适的模块来表示该模型。随着系统规模的扩大和复杂性的增加,模型也在不断增大,这就使得模型窗中由于过多的模块而凌乱不堪。为了避免这种情况,采用自上而下或自下而上的分级方法建立模型,即把功能相同或者相近的模块分组封装成子系统Subsystem,建立递阶结构框图。4.2.1 Simulink模型设计本设计主要有3/2转换模型,定子磁链电动机模型,2/3转换模型三个子系统组成。根据状态方程可画出未经封装的各子系统模型如下图所示。图3 3/2转换模型图4 定子磁链电动机模型图5 2/
20、3转换模型经过分组封装的模型如图6所示。模型的输入是电动机的定子电压和电流及转子转速,输出定子磁链和电流及转距,实际电流和估计电流可以用来调整模型的精度。两相对比,可以看到采用Subsystem非常地方便、简捷。这一点尤其在复杂的系统建模中表现地更为突出。图6 经过封装后的定子磁链的电动机仿真模型4.2.2模型参数设置模型建立以后,下一步就是设置模型的参数。在本例中,需要设置的参数是定子电阻Rs,转子电阻Rr,主电感L,转子侧漏感L和极对数np,需要输入的量是定子电压、电流和转子电角速度(机械角速度和极对数的乘积),输出量是定子磁链s,定子电流ir及转距Td。Scope示波器设置如图7。图7
21、Scope示波器设置输入正弦电压一相参数设置如图8所示。其中100*pi=50Hz,其中两相Frequency(rad/sec)分别设置成-2/3*pi,2/3*pi各相之间相位差为120。图8 Sine Wave正弦A相电压输入设置观察空载起动和加载过程的转速仿真波形,观察异步电动机稳态电流波形,观察定子磁链波形。需设置阶跃输入模拟空载和加载的转速仿真。Steb输入阶跃负载转矩参数设置如图9所示。图9 Step阶跃负载转矩输入设置设置Graph在坐标系中显示转速与电磁转矩关系,Graph设置如图10。 图10 Graph输出显示设置4.2.3仿真结果Simulink的仿真运行可以通过菜单进行
22、,也可以在Matlab的指令窗中通过输入命令运行。这里我们采用菜单命令运行仿真。观察空载起动和加载过程的转速仿真波形,观察异步电动机稳态电流波形,观察定子磁链波形。初始状态电机正常启动,在0.5s的时刻,加上一个值为10的负载转矩,观察仿真得到的各个量之间变化关系。图11 定子磁链仿真曲线图12 异步电动机稳态电流仿真曲线 图13 空载起动和加载过程的转速仿真波形图14 转速与电磁转矩关系图图15 电磁转矩变化图仿真结果表明,本文所建立的模型确实正确可用。5 结论本文系统地介绍了基于Matlab/Simulink建立在直接转距控制系统中的定子磁链仿真模型。仿真结果表明Matlab/Simuli
23、nk是一个非常优秀的交互式建模、仿真与动态系统分析工具,运用它可以方便地实现现代运动控制系统的设计及动态性能的仿真。文中所建模型可以很方便地应用于控制系统设计中。在分析异步电动机的物理模型后,建立异步电动机的动态数学模型,然后推导出两相静止坐标系上的状态方程和转矩方程,利用Matlab/Simulink仿真工具把数学方程转变为模型。运行异步电动机的仿真模型,可观察到异步电动机在启动和加载的情况下,转速、电磁转矩、定子磁链和定子电流的变化曲线,同时分析各个变量之间的变化关系。进一步了解异步电动机的运行特性。仿真结果表明,用Simulink进行三相异步电动机仿真比较方便,且高效直观,得到的结果也是
24、比较接近实际。参考文献1 张志涌.精通MATLABP.北京:北京航空航天大学出版社,20002 陈桂明,张明照.应用MATLAB建模与仿真P.北京:科学出版社,20013 李夙.异步电动机直接转距控制M.北京:机械工业出版社,19994 陈伯时.电力拖动自动控制系统M.北京:机械工业出版社,20005 薛定宇.基于Matlab/Simulink的系统仿真技术M.北京:清华大学出版社,2002附录资料:不需要的可以自行删除各类滤波器的MATLAB程序一、 理想低通滤波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);Hd=ones(s
25、ize(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 二、理想高通滤波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),m
26、eshgrid);Hd=ones(size(IA);r=sqrt(f1.2+f2.2);Hd(r0.2)=0;Y=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 三、 Butterworth低通滤波器IA=imread(len
27、a.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1/(tn+1); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(H
28、d,Facecolor,interp,Edgecolor,none,Facelighting,phong); 四、 Butterworth高通滤波器IA=imread(lena.bmp);f1,f2=freqspace(size(IA),meshgrid);D=0.3;r=f1.2+f2.2;n=4;for i=1:size(IA,1) for j=1:size(IA,2) t=(D*D)/r(i,j); Hd(i,j)=1/(tn+1); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2
29、(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 五、 高斯低通滤波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);D=100/size(IA,1);r=f1.2+f2.2;Hd=ones(size(IA);for i=1:size(IA,1) for j
30、=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=exp(-t); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 六、 高斯高通滤波器IA=imread(lena.bmp);IB=i
31、mread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=100/size(IA,1);D=0.3;r=f1.2+f2.2;for i=1:size(IA,1) for j=1:size(IA,2) t=r(i,j)/(D*D); Hd(i,j)=1-exp(-t); endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),im
32、show(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 七、 梯形低通滤波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=100/size(IA,1);D0=0.1;D1=0.4;r=sqrt(f1.2+f2.2);Hd=zeros(size(IA);Hd(r=D0 & r(i,j)=D1 Hd(i,j)=(D1-r(i,j)/(D1-D0); end endendY=ff
33、t2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,Edgecolor,none,Facelighting,phong); 八、 梯形高通滤波器IA=imread(lena.bmp);IB=imread(babarra.bmp);f1,f2=freqspace(size(IA),meshgrid);%D=
34、100/size(IA,1);D0=0.1;D1=0.4;r=sqrt(f1.2+f2.2);Hd=ones(size(IA);Hd(r=D0 & r(i,j)=D1 Hd(i,j)=(D0-r(i,j)/(D0-D1); end endendY=fft2(double(IA);Y=fftshift(Y);Ya=Y.*Hd;Ya=ifftshift(Ya);Ia=real(ifft2(Ya);figuresubplot(2,2,1),imshow(uint8(IA);subplot(2,2,2),imshow(uint8(Ia);figuresurf(Hd,Facecolor,interp,E
35、dgecolor,none,Facelighting,phong); 九、 用其他方法编写的理想低通、理想高通、Butterworth低通、同态滤波程序1、 理想低通i1=imread(lena.bmp);i2=imnoise(i1,salt & pepper,0.1);f=double(i2);k=fft2(f);g=fftshift(k);N1,N2=size(g);d0=50;u0=floor(N1/2)+1;v0=floor(N2/2)+1;for i=1:N1 for j=1:N2 d=sqrt(i-u0)2+(j-v0)2); if d=d0 h=1; else h=0; end
36、y(i,j)=g(i,j)*h; endendy=ifftshift(y);E1=ifft2(y);E2=real(E1);figuresubplot(2,2,1),imshow(uint8(i1);subplot(2,2,2),imshow(uint8(i2);subplot(2,2,3),imshow(uint8(E2); 2、 理想高通i1=imread(lena.bmp);i2=imnoise(i1,salt & pepper,0.1);f=double(i2);k=fft2(f);g=fftshift(k);N1,N2=size(g);n=2;d0=10;u0=floor(N1/2)
37、+1;v0=floor(N2/2)+1;for i=1:N1 for j=1:N2 d=sqrt(i-u0)2+(j-v0)2); if d=d0 h=0; else h=1; end y(i,j)=g(i,j)*h;endendy=ifftshift(y);E1=ifft2(y);E2=real(E1);figuresubplot(2,2,1),imshow(uint8(i1);subplot(2,2,2),imshow(uint8(i2);subplot(2,2,3),imshow(uint8(E2); 3、 Butterworth低通i1=imread(lena.bmp);i2=imno
38、ise(i1,salt & pepper,0.1);f=double(i2);k=fft2(f);g=fftshift(k);N1,N2=size(g);n=2;d0=50;u0=floor(N1/2)+1;v0=floor(N2/2)+1;for i=1:N1 for j=1:N2 d=sqrt(i-u0)2+(j-v0)2); h=1/(1+(d/d0)(2*n); y(i,j)=g(i,j)*h; endendy=ifftshift(y);E1=ifft2(y);E2=real(E1); figuresubplot(2,2,1),imshow(uint8(i1);subplot(2,2,
39、2),imshow(uint8(i2);subplot(2,2,3),imshow(uint8(E2); 4、 同态滤波I=rgb2gray(imread(fabric00.bmp);M,N=size(I);T=double(I);L=log(T);F=fft2(L);A=2;B=0.3;for i=1:M for j=1:N D(i,j)=(i-M/2)2+(j-N/2)2); endendc=1.1;%锐化参数D0=max(M,N);H=(A-B)*(1-exp(c*(-D/(D02)+B;F=F.*H;F=ifft2(F);Y=exp(F);figuresubplot(1,2,1),imshow(I);subplot(1,2,2),imshow(uint8(real(Y); 十、 Gabor滤波器34