基于DSP的图像旋转
基于DSP的图像处理在转角测试中的应用
基于DSP的图像处理在转角测试中的应用韩军;景彩云;吴玲玲;陈靖;于洵【摘要】To realize the turning⁃angle measurement of the tank turret under dynamic condition,an application of the DSP⁃based embedded device in measurement of the turret rotation angle is proposed. Thehigh⁃precision dynamic measurement of tank turret turning⁃angle based on image method was adopted. segmentation region of the target image can be obtained through the algorithm of integral projection. The decoding of the rotation angle for the coded target image is conducted with feature tem⁃plate to realize angle measurement. The measuring device is capable to test the tank turret rotation angle in the laboratory and on⁃board environment. Experiments show the angle calculating precision can reach 6.11″. The algorithm can meet the technicalre⁃quirements of high precision,real⁃time and reliable measurement.%为了能够实现在动态条件下对坦克炮塔进行转角测试,提出了基于DSP的嵌入式装置应用于炮塔转角中.采用基于图像法坦克炮塔转角的动态高精度测量.通过积分投影算法获得测量靶标的分割区域,运用特征模板对编码的靶标图像进行信息的角度解码,最终实现角度测量.测量装置能够在实验室和车载环境下对炮塔进行转角测试,经实验验证该算法的转角解算精度可以达到6.11″,满足系统分析的精度准确率、实时性及可靠性要求.【期刊名称】《现代电子技术》【年(卷),期】2013(000)008【总页数】5页(P93-96,100)【关键词】DSP;动态测量;转角测试;数字图像处理【作者】韩军;景彩云;吴玲玲;陈靖;于洵【作者单位】西安工业大学光电工程学院,陕西西安 710021;西安工业大学光电工程学院,陕西西安 710021;西安工业大学光电工程学院,陕西西安 710021;西安工业大学光电工程学院,陕西西安 710021;西安工业大学光电工程学院,陕西西安 710021【正文语种】中文【中图分类】TN919-34;TB922坦克作为许多国家陆军作战的主要突击兵器,在进攻、防御和机动合一的作战状况下,希望能够在高速机动中向敌方军事目标稳定准确地射击。
基于DSP的旋转式倒立摆控制系统_黄南晨
第32卷第3期中 国 科 学 技 术 大 学 学 报Vol.32,No.3 2002年6月JO URNAL O F UNI VE RSI TY OF SCIENCE AND TECH NO LOG Y OF CHINA Jun.2002文章编号:0253-2778(2002)03-0340-07基于DSP的旋转式倒立摆控制系统黄南晨,吴 刚,王 永,梁家恩,卿志远,孙德敏(中国科学技术大学自动化系,安徽合肥230027)摘要:介绍了基于DSP(digital signal processing,数字信号处理)控制器的旋转式倒立摆控制系统的总体结构和工作原理,对系统模型进行动力学分析,建立了一个四阶的状态空间方程.根据状态反馈方法实现了倒立控制,在此基础上,设计了基于规则分析的摆起控制方案,最终实现了摆起-倒立控制.实验表明,系统的稳定性好,抗干扰能力强.使用DSP来控制倒立摆,有利于系统的小型化,控制更加快速,控制品质有很大提高.关键词:旋转式倒立摆;DSP;状态反馈;摆起-倒立控制;稳定性中图分类号:TP13 文献标识码:A0 引言倒立摆是一个典型的快速、多变量、开环不稳定、非线性的高阶系统,是学习与研究现代控制理论最为合适的实验装置之一.由于倒立摆系统的运动特性与控制火箭稳定飞行和双足步行机器人关节运动有很大相似性,因此研究倒立摆具有重要的实践意义,一直受到国内外学者的广泛关注[1~4].国内的文献资料中[4],对于小车驱动式倒立摆的研究已经进行得比较深入.小车式倒立摆需要有比较长的导轨,整个装置有很多传动机构,实践中常由于传动机构的故障或误差而不是控制方法本身的问题导致失败,并且占空间太大.本文介绍的旋转式倒立摆是一种新型的倒立摆装置,与同级的小车式倒立摆相比,结构简单但模型更复杂,对控制算法提出更高的要求.利用DSP(digital signal processing)控制器,倒立摆可以脱离微机独立运行,并成功地实现了一种简单的摆起-倒立控制方案.1 系统结构中国科学技术大学工业自动化研究所研究开发的基于DSP的旋转式倒立摆控制系统,整个系统的硬件结构图如图1所示.旋臂由转轴处的直流力矩电机驱动,可绕转轴在垂直于电机转轴的铅直平面内转动.旋臂和摆杆之间由关节相连,当旋臂转动时,摆杆可绕关节在垂直于关节转轴的铅直平面内转收稿日期:2001-07-09作者简介:黄南晨,女,1977年生,硕士研究生.动.由电位器测量得到的2个角位移信号(旋臂与铅直线的夹角,摆杆和旋臂之间的相对角度),作为系统的2个输出量被送入DSP 控制器.根据一定的控制算法,计算出控制律,并转化为电压信号提供给驱动电路,以驱动直流力矩电机的运动,通过电机带动旋臂的转动来控制摆杆的运动.该系统采用TI 公司生产的TMS320F240DSP 控制器[5]为核心器件,DSP 控制器具有强大的数据处理能力和丰富的片内专用模块.以IC ETE K -5100开发板作为DSP 部分设计的基础,并利用相应的开发机进行开发.系统能够独立执行实时控制算法,也可通过RS -232C 串行总线与微机通讯,进行在线控制算法调试和监控.通过自行设计的电源与驱动电路模块,以脉冲调宽方式驱动直流力矩电机,使倒立摆正常工作.它的DSP 部分和电源与电机驱动部分全部安装在机箱内,运动部分安装在机箱上,整体结构紧凑合理,是具有独立控制能力和标准通讯接口的的专用智能实验设备.系统有两种基本运行模式:联机模式:通过RS -232C 串行总线与微机进行通讯,DSP 充当微机的采样和控制输出接口,利用微机进行在线控制.脱机模式:利用DSP 自身具备的强大的数据处理功能,对数据进行实时处理,独立控制倒立摆的工作.在这种模式下,仍然可以通过RS -232C 串行总线与微机进行通讯,利用微机监视倒立摆的运行情况.图1 旋转式倒立摆系统结构图Fig.1 The rotational inverted -pendulumsystem图2 系统模型分析Fig.2 Analysis of the system model2 模型分析与参数测量建立比较精确的数学模型是控制系统设计的基础.如图2所示,在非惯性系S2中,对摆杆有:J 22+f 2 2=M 12+m 2gL 2sin 2(1)其中,J 2为摆杆对转轴的转动惯量,f 2为相应的摩擦系数,m 2是摆杆的质量,L 2是摆杆的质心到转轴的距离, 2为摆杆与垂直线的夹角,2表示 2的二次导数, 2表示 2的一次导数,g 为重力加速度.M 12为旋臂对摆杆的作用力矩:M 12=m 2L 2R [ 21sin ( 1- 2)-1cos ( 1- 2)](2)341第3期 基于DSP 的旋转式倒立摆控制系统其中R 是旋臂的长度.在惯性系S1中,对旋臂,有:J 11+f 1 1=M 0+M 21+m 1gL 1sin 1(3)其中,J 1为旋臂对转轴的转动惯量(包括电机转轴自身的转动惯量),f 1为相应的摩擦系数,m 1是旋臂的质量,L 1是旋臂的质心到转轴的距离. 1为旋臂与垂直线的夹角.M 0为电机输出转矩:M 0=K m (u -K e 1)(4)其中K m 、K e 分别为电机的力矩系数和反电动势系数,u 为加在电机上的控制电压,M 21为摆杆对旋臂的作用力矩,根据作用与反作用定律,有:M 21=m 2g +d 2d t 2(R cos 1+L 2cos 2)R sin 1-m 2d 2d t 2(R sin 1+L 2sin 2)R cos 1=m 2gR sin 1-m 2R 21-m 2RL 2 22sin ( 1- 2)-m 2RL 22cos ( 1- 2)(5)联立式(1)~(5),消去中间变量M 12和M 21,并将M 0代入,得到系统的非线性模型:J 1+m 2R 2m 2RL 2cos ( 1- 2)m 2RL 2cos ( 1- 2)J 212+f 1+K m K em 2RL 2sin ( 1- 2)2m 2R L 2sin ( 2- 1)1f 21 2=K m 0u +(m 1gL 1+m 2gR)sin 1m 2gL 2sin 2(6)采用实验和计算相结合的方法,可以得到各个机械参数值,代入式(6)后模型如下:0.006080.001248cos ( 1- 2)0.001248cos ( 1- 2)0.0011 2+0.01676140.001248sin ( 1- 2) 20.001248sin ( 2- 1)10.001 1 2=0.0236u +0.29792sin 10.061152sin 2(7)3 基于状态反馈的倒立控制倒立控制就是通过适当的控制手段,使摆杆在不稳定的平衡位置附近保持倒立状态,这是倒立摆控制最基本的要求.当 1 0, 2 0,对上面的式(7)进行局部线性化,令X =[ 1 2 1 2]T,Y =[ 1 2]T ,得到系统的状态方程为:X =AX +Y =C X(8)342 中国科学技术大学学报 第32卷其中A =0100165.8751-16.8751-3.70620.2760-82.212282.21224.6254-1.3444,B =005.2184-6.5125,C =1 0 0 00 1 0 0,可知系统是不稳定的,且是完全能控和完全能观的.因此可以设计一个基于状态反馈的控制器对系统进行极点配置[6],使得系统在原点附近保持稳定.由于倒立摆装置中没有直接测量角速度的器件,我们采用角度的差分进行近似,在角度测量上,硬件和软件部分都采用了滤波手段.取期望极点为p =[-8+6j ,-8-6j ,-4+3j ,-4-3j ],经过极点配置设计,得到状态反馈矩阵为:K f =(4.7895,-60.8653,-4.5988,-6.5946);将这组参数代入系统中进行实时控制,得到图3、图4所示的控制效果.图3 角度变化曲线Fig. Tracking curves of the angles图4 控制量变化曲线Fig. Tracking curve of the control value图5 加扰动后的角度变化曲线Fig. Tracking curves of the anglesafter sudden disturbance图6 加扰动后的控制量曲线Fig. Tracking curve of the control valueafter sudden disturbance曲线是直接从实时控制的趋势图中截取出来的.其中, 1、 2分别为摆杆和旋臂相对于垂直线的夹角,单位是角度,以顺时针方向为正;控制量u 为输出PW M 控制信号的占空比,即u 与满额电压的百分比.343第3期 基于DSP 的旋转式倒立摆控制系统从图中可看出,在倒立控制中,输出控制量的变化较剧烈,而旋臂的角度变化平稳,幅度基本上在-9 到+9 之间,摆杆的变化幅度比较小,但是变化比旋臂更快.上面的控制是在DSP 运行(脱机控制)方式下得到的,比联机控制方式更加平稳.在这种方式下运行比较长时间的程序,结果十分稳定.图5、图6是存在干扰的情况下记录下来的运行数据曲线.在3s 时人为施加了一个扰动,摆杆角度达到-13 ,旋臂角度为19 .由图可见,在存在扰动的情况下,系统具有比较强的抗干扰能力,继续保持稳定的倒立状态.4 基于规则分析的摆起控制摆起控制是旋臂带动摆杆从自然下垂状态摆起,到达倒立状态附近的过程.可见在摆起过程中,包含了严重的非线性特性,而且运动时间比较短,还要考虑与倒立控制的平稳衔接,这是控制的难点.从运动分析的角度解决这个问题比较困难,而简单的方法是根据我们的经验和摆起过程的能量分析来进行控制.根据实验,将整个摆起过程分成下面几个阶段进行控制:1)加速摆起过程:给电机加一个几乎满额的电压,使摆杆在旋臂带动下迅速摆起,具备相当的动能,这是摆起的第一步.2)摆起制动过程:在摆起过程中,摆杆一直落后于旋臂的运动,因此,必须在加速结束之后给旋臂一个制动的信号,迅速减小旋臂的动能,同时给摆杆形成一个惯性加速度,使摆杆再次加速,迅速达到倒立状态附近.如果控制得比较好的话,就有可能使得旋臂与摆杆都以比较小的动能摆过倒立状态.这样就有机会切换到倒立控制状态.3)自由运动阶段:这个环节主要是起到一个缓冲的作用,保证比较平稳的过渡.在摆起控制阶段,控制量比较规则,首先是加几乎满额的反向电压,让旋臂逆时针摆起;然后,加正向电压,让旋臂制动,而摆杆加速摆起;最后是将控制量置为零,直到摆杆进入倒立控制能够控制的范围,切换到倒立控制.具体的控制规则在表1中列出,U max 是摆起电压值,alpha 是制动角度也就是控制切换点.表1 控制规则表Tab.1 Control rules条件(初始bFLAG =TRUE)操 作说 明If 1>60 u =-U max 角度过大保护Els e i f 1<60u =U max 角度过大保护Els e i f bFLAG =TRUE and 1>alpha u =-U max 旋臂带动摆杆加速摆起Els e i f 1<-2rad/s u =3V旋臂制动,摆杆再次加速Els e i f 2>15 u =0,bFLAG =FALSE自由运动Els eu =-(k 1 1+k 2 2+k 3 1+k 42)倒立控制从上面的分析可以看出,摆起电压和控制切换点的选择对摆起控制的成败起到了关键性的作用.同时,倒立控制的抗干扰能力对于能否实现 摆起-倒立 控制也有重要影响,因344 中国科学技术大学学报 第32卷为切换过程中总是存在不够平稳的现象,这需要倒立控制算法能够克服切换产生的扰动.图7 完整的 摆起-倒立 控制曲线F ig.7 The whole tracking curve ofthe s wing -up procedure关于控制中各个参数的选择,目前是根据经验来确定的.为了减小参数调整的难度,将制动部分和自由运动部分的参数设置固定,而只需要调整摆起电压和制动角度.实践证明,只调整这两个参数完全可以达到比较好的控制效果.在旋臂的初始角度不是180 的情况下,可以修改两个摆起电压修正系数.如果初始角大于180 ,则需要减小摆起电压,反之则增大.根据前面的分析,实现了完整的 摆起-倒立 控制算法.图7是一个成功的 摆起-倒立 控制的数据曲线.由图可看出,摆起过程为1s,后面是倒立控制.在加速摆起过程中,摆杆角度先是滞后,然后逐步跟上,在旋臂制动之后迅速赶上并超过旋臂,经过一段自由运动之后进入倒立控制.在切换到倒立控制的瞬间,控制量出现比较大的变化,而摆杆基本上在零度附近摆动.5 结束语完整的 摆起-倒立 控制的实现,是本系统的总体设计与实现的一个很好的测试和检验.实验证明,系统的稳定性和抗干扰性良好,适应范围广.本系统采用DSP 控制器,运算速度快,不仅能及时响应倒立摆的输入,而且提高了控制精度,相比于单片机速度快、精度高,与原先的微机控制比较又具有系统小型化的优点.这种基于规则分析的摆起控制算法的优点是分析简单,易于实现.但是对系统参数变化比较敏感,缺乏自动适应的能力.为了提高 摆起-倒立 控制算法的成功率,应该从两个方面改进,一是提高倒立控制的稳定性,从而达到比较强的抗干扰能力;二是提高控制切换的精确性,从而减小切换过程的剧烈摆动.参考文献[1] Kazunobu Yoshida.S wing -up control of an invertedpendulu m by energy -based methods[A].Proceed -ings of the American Control Conference [C],1999:4045-4047.[2] Bradshaw A,Shao J.Swing -up control of invertedpendulu m systems[J].Robotica,1996,14:397-405.[3]Hiroyuki Kajiwara,Pierre Apkarian,Pascal Gahinet.LPV T echniques for Control of an InvertedPendulum[J].IEEE Transactions on Con trol Sys -tems.1999,19(1):44-54.[4] 姚宏伟,梅晓榕,杨振强等.基于模糊动态模型的二级倒立摆系统的分析和设计[J].控制理论与应用,2001,18(2):224-227.[5] 张雄伟,曹铁勇.DSP 芯片的原理与开发应用[M].北京:电子工业出版社,2000.1-10.[6] 仝茂达.线性系统理论和设计[M ].合肥:中国科学技术大学出版社,1998,258-265.345第3期 基于DSP 的旋转式倒立摆控制系统The Rotational Inverted -pendulum Based on DSP ControllerHUANG Nan -chen,W U Gang,W ANG Yong LI ANG Jia -en,QING Zh-i yuan,SUN De -min(Dept.o f Automation ,U STC,He fe i ,Anhui ,230027)Abstract:The DSP -based Rota tional Inverted Pendulum Control Syste m is presented,including the system structure,system model building,measure ment of the parameters,state -feedback based up -control methods design and rule -based swinging -control methods design.DSP -based control system has many advantages.I t can be smaller and faster when using DSP as the controller of the pendulum com -pared with using a PC as a c ontroller.Furthermore,the control quality,stability and robustness to sudden disturbances have all been improved.Key words:rotational inverted -pendulum;DSP;state feedback;swing -up control;stability(上接第319页)[2] Michael F Modest.Radiative Heat T ransfer [M].McGraw -Hill Book Company.1993.10[3] 陈宜生,周佩瑶,冯艳全.物理效应及其应用[M ].天津:天津大学出版社.1995.23-27[4] 夏道行,严绍宗.实变函数与应用泛函分析基础[M ].上海:上海科学技术出版社.1987.352[5] 李炯生,查建国.线性代数[M ].合肥:中国科学技术大学出版社.1989.188[6] 朱德忠.热物理测量技术[M ].北京:清华大学出版社.1990.244[7] 程晓舫,周洲.彩色三基色温度测量原理的研究[J].中国科学E.1997,27(4),343.Provisions for Surface Temperature -field Measurementsvia Radiation ApproachW ANG An -quan,CHENG Xiao -fang(Departme nt o f Thermal Sc ienc e and Ene rgy Engine ering ,U STC ,He fei 230026,China )Abstract:Based on the mathematical descriptions of radiative emission,media absorption,optical imaging and photoelectric conversion processes,a generalized equation for the analysis of temperature measurement methods via radiation approach is put forward.The provisions for surface temperature -field measurements by radiation approaches are obtained.Key words:temperature measure ment;e missivity;surface radiation;imaging346 中国科学技术大学学报 第32卷。
数字图像处理在DSP上的实现
数字图像处理在DSP上的实现(旋转)1 绪论1.1设计目的图像旋转是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现高分辨率大图像旋转的需求也越来越高。
如在航空领域的高分辨率数字地图图像的显示处理过程中,由于现有的显示芯片均不能支持图像旋转功能,就需要在资源有限的嵌入式平台上实现大幅面地图图像的实时旋转。
采用DSP平台是一种实现方式,具体实现时需仔细考虑两个方面的问题,一是选用计算量小的旋转算法,二是充分发挥DSP平台强大的并行计算能力。
1.2设计任务1.能从计算机上读取图片。
2.编写图像旋转程序,在TMS320C5509上实现。
2 设计原理及分析2.1设计原理目前,已经有很多有效降低计算量的图像旋转算法,基于图像线性存储结构的旋转方法就是其中之一。
然而,在DSP平台上,有限的高速存储资源限制了这些算法效率的直接发挥,需要针对算法及DSP平台的性能结构特点进行高效的数据调度。
对于图像旋转问题而言,数据调度还需要克服由于存在大量非连续图像像素地址访问而严重影响DSP数据存取及CPU效率发挥的问题。
这是图像旋转本身的特殊性,在其他图像处理技术中是不存在的。
由DSP的结构特点可知,只有在数据和程序均位于片存储器当中的条件下,DSP 的效率才能得到最大化的发挥。
在大图像旋转算法中,由于涉及的图像数据量远大于DSP的片存储器容量,源图像和最终视口图像等数据必须被存放在片外存储器中。
在这种情况下,为了保证DSP CPU高速处理能力的发挥,必须优化数据流,将源图像分块,依次搬移至片处理,并设法保证CPU当前要处理的图像数据块已经事先在片存储器中准备好了。
因此在算法整体优化结构上采用Ping-Pong双缓冲技术,利用EDMA与CPU并行工作来隐藏图像数据块在片和片外之间的传输时间,使CPU能连续不断地处理数据,中间不会出现空闲等待。
传统的图像旋转一般通过矩阵乘法实现:其中,α为旋转角度。
基于DSP的数字图像处理
论文题目: 基于DSP的数字图像处理专业:学号:姓名:老师:成绩:目录摘要●●●●●●●●●●●●●●●●●●● ●●●●●●●●●●● 2 1基于DSP的图像处理●●●●●●●●●●●●●●●●●●●●●2 1.1图像处理的基本概念●●●●●●●●●●●●●●●●●●● 2 1.2图像处理的研究背景●●●●●●●●●●●●●●●●●●● 2 2基于DSP的图像处理原理简介●●●●●●●●●●●●●●●● 3 3图像处理各领域应用●●●●●●●●●●● ● ●●●●●●●●●3 4数字图像处理技术主要问题●●●●●●●●● ●●●●●●●● 4 5图像处理研究内容● ●●●●●●●●●●●●● ●●●●●●●● 4 6 TMS320C6000 DSP芯片●●●●●●●●●●●●● ●●●●●●● 5 6.1 DSP芯片的特点●●●●●●●●●●●●●●●●●●●●● 5 6.2基于DSP的图像处理系统●●●●●●●●●●●●●●●● 6 6.3图像处理的硬件系统● ●●●●●●●●●●●●●● ●●●●● 76.3.1 TMS320C6000 DSP芯片的硬件系统●●●●● ●●●●● 76.3.2 TMS320C6000的硬件结构简介●●●●●●● ●●●●● 76.3.3 TMS320C6000系列CPU结构●●●●●●●● ●●●●● 7 6.4算术单元●●●●●●●●●●●●●●●●●●●●● ●●●●● 8 6.5总线结构●●●●●●●●●●●●●●●●●●●●● ●●●●● 8 6.6专用寻址单元● ●●●●●●●●●●●●●●●●●●●●●●● 9 6.7流水处理●●●●●●●●●●●●●●●●●●●●●●●●●● 9 6.8大容量片内存储器●●●●●●●●●●●●●●●●●●●●● 10 6.9零消耗循环控制●●● ●●●●●●●●●●●●●●●●●●● 10 7基于DSP的图像处理实现●●●●●●●●●●●●●●●●●● 107.1图像处理分类● ●●●●●●●●●●●●●●●●●●●●●● 107.2图像直方图统计● ●●●●●●●●●●●●●●●●●●● 10 8基于DSP数字图像具体实例(实际结果见附录)● ●●●●● 118.1图像反色●●●●●●●●●●●●●●●●●●●●●●●● 118.2图像二值化自适应阀值法●● ●●●●●●●●●●●●●● 11 9论文总结● ●●●●●●●●●●●●●●●●●●●●●●●●●● 12 10参考文献● ●●●●●●●●●●●●●●●●●●●●●●●●● 13 11附录(DSP数字图像处理实验结果)●●●●●●●●●●●● 1411.1图像反色实验●●●●●●●●●●●●●●●●●●●●● 1411.2用固定值128作为阀值●● ●●●●●●●●●●●●●● 1411.3用图像的灰度均值作为阀值●●●●●●●●●●●●●● 1511.4用自适应阀值法找出最佳阀值●●●●●●●●●●●●● 15摘要:随着计算机、多媒体和数据通信技术的高速发展,数字图像技术近年来得到了极大的重视和长足的发展,并在科学研究、工业生产、医疗卫生、教育、娱乐、管理和通信等方面取得了广泛的应用。
基于DSP的旋转变压器角度解码方法
基于DSP的旋转变压器角度解码方法
湖南工业大学电气与信息工程学院 周 曼 易吉良 吕道轩
【摘要】提出一种低成本、高精度的旋转变压器角度解码方法,弥补了传统解码系统的高成本、系统复杂的缺点。首先,分析了旋转变压器 的工作原理,然后设计了基于TMS320F28335的旋转变压器角度解算系统,并设计解码流程图,最后在MATLAB环境下对系统进行仿真,实 验结果表明该系统的解码误差在0.06%以内,满足了伺服系统的精确性和实时性要求。 【关键词】TMS320F28335;旋转变压器;解码系统
本文针对旋变的工作特性,设计外部信号调理电路和解码系统, 并通过TMS320F28335实现,然后再仿真软件上验证方法的准确性。
子的正弦线圈和余弦信号线圈感应激励线圈磁场产生交变电压Vesin和Ve-cos,其幅值与旋变转子位置有关。图2所示是旋变输入激 励信号和输出正弦、余弦信号波形图,相应的表达式如式(1),k表 示旋变的变压比,ω表示励磁电压频率,为旋变输出的角度可以看 出,随着旋变转动,旋变的两路输出信号的包络被调制为正弦和余 弦信号。旋变解码的任务便是从两路输出信号解算出旋变的角位 移,进而解算出角速度,以获得电机转速。
解算角度信息方法采用二阶跟踪法,即角度跟踪法(ATO)的一 种,其数学模型如图3所示。其中,为旋变输入角度值,Φ为估算的 角度值,e是误差信号。该二阶系统能够无差地跟踪速度信号。观测 器对旋变输出信号和估计值进行比较,通过缩小实际值和估计值的误 差,使两个变量达到一致,最后取这个值就是旋变的角度值。
电路和输出信号调理电路。 输入信号调理电路通过DSP的TIME0定时器和电平转换电路产
生幅值5V,频率10kHZ,占空比为50%的方波信号,再通过积分电 路转换三角波信号,最后经过正弦波产生电路变为正弦波。正余弦 信号调理电路主要包括滤波电路、单端信号转换电路和绝对值加法 电路。经过信号调理后的正余弦信号经DSP的AD端口采集,再由 解码算法解算出转子位置信息。 2.2 数字系统设计
基于FPGADSP的实时图像消旋系统
放置在常平架上,光学消旋是通过光学机构补偿像 移或控制成像系统的关键部件,达到消旋的目的。 鉴于成本,这两种方法在实际应用中难以采用。
电子消旋是基于计算机图像处理的稳像技术, 具有体积小、成本低、实现灵活等特点。由于图像处 理系统数据量大,计算复杂,为现在实时处理,本文 采用DSP+FPFA完成图像的消旋处理。
第23卷第4期 2010年4月
传感技术学报
CHINESE JOURNAL OF SENSORS AND ACTUATOllS
V01.23 No.4 Apr.2010
A Real-Time Eliminating Image Rotation System Based on FPGA+DSP
CHEN Erruil”,QIAO Yongmin92,LIANG Yanbing“,WANG Chen2,
中图分类号:TN911.73
文献标识码:A 文章编号:1004—1699(2010)04-0538-05
电视经纬仪是现代化靶场中获取外弹道数据和 飞行状态的最基本的测量手段之一。船载电视跟踪 仪与与陆基电视跟踪仪的主要区别是跟踪测量受到 载体运动的干扰。当电视跟踪仪固定在船甲板,由 于船体受浪涌的影响而发生周期性的横摇、纵摇和 艏摇运动,电视跟踪仪视轴也会随船姿与航向变化 而变化。电视跟踪仪由水平轴和垂直轴两轴控制系 统构成(即方位环和俯仰环),在目标跟踪过程中可 以驱动方位环和俯仰环电机来控制视轴的指向,但 两轴结构的同有缺陷对由船体晃动造成的视轴旋转 是无法克服的,从而造成拍摄的图像产生旋转,为解 决这个问题,一般有物理平台消旋、光学消旋、电子 消旋三种方法。物理平台消旋是将电视跟踪仪直接
540
传感技术学报
第23卷
现简单,计算效率高,运行速度快。因此,采用双线 性插值法,该方法内插精度较高。插值算法如下式 所示。
基于高速DSP的彩色视频图像实时消旋系统
见 ,相 同 喷 水 量 、 相 同滴 径 的 水 雾 对 3 mm 的衰 减 效果远 低于 8 mm, 而 水 温 对 水 雾 衰 减 效 果 影 响 不
大 ,故 只 需 研 究 常 温 水 雾 对 3 mm 的 衰 减 性 能 。
参 考 文献 :
[】路 远 ,凌永 顺 ,时 家 明.毫 米 波无 源 干扰 研 究 [】 1 J.光 电 对 抗 与 无 源 干 扰 , 0 2 () 1 — 6 2 0 , 3: 3 1 .
展 及 途径 分 析 [ .南京 理工 大学学报 , 9 8()2 —5 J 】 19,2: 22 .
[1刘隆 和,王 晓 红.毫 米 波寻 的制 导 技 术研 究 [】 4 J.制导 与
引信 , 9 8 () 卜 4 1 9 ,4: ,
水温 为 2  ̄ 0C,模 拟 计 算 一 束 3 mm 平 行 波 透 过 厚 度
M A e , AO h n — i n 。 HANG i g x u W iT S e gxa g Z J n — i Ab ta t Th l c r n c e i n tn o a i n s t m a e sr c : e e e to i lmi a i g r t to yse b s d o i h s e d DSP a o t lmi a i g a g r t m o C ly o t n h g —p e d p s e i n tn l o i h t aT u t e a k o a i n o t e rg t e s n c r m a f e e y h b c r t to f r h b i h n s a d h o o v r i g ,Th n h i e r d fe e c e h s u e o s mp e ma e e ,t e l a if r n e m t od i s d t a n l
基于DSP的图像处理
基于DSP的图像处理15级电气二班曹永鸿1.1图像处理的基本概念图像处理是指安之低昂的需要突出一幅图像中的某些信息,同时削弱或去除默写不需要的信息,他是一种将原来不清晰的图像变得清晰或强调某些感兴趣的特征,一直不感兴趣的特征,是指改善图像质量丰富信息量,加强图像判读和识别效果的图像处理方法。
图像处理就是增强图像中用户感兴趣的信息,其主要目的有两个:一是改善图像的视觉效果,提高图像成分清晰度;二是使图像变得更有利于计算机处理。
1.2.1 TMS320C6000 DSP芯片的硬件系统本文选择TI公司的TMS320C6000系列开发板,作为算法实现的嵌入式硬件平台。
TMS320C6000系列DAP是美国TI公司于1997年推出的新一代高性能的数字信号处理芯片,具有很高的工作频率和极强的并行处理能力。
片内有A、B两组共8个并行处理单元,每组内分为L、M、D、S四个单元,每组处理单元结合同侧的寄存器和数据通道,构成了一个完整的数据处理单元。
C6000处理器的A、B两个王正德数据处理单元之间可以通过两条数据交叉通路进行数据交叉访问,所以这样的硬件结构非常适合实现数据的并行处理,利于实现数据实时处理。
1.3基于DSP的图像处理实现图像处理技术基本上可以分成两大类:品与处理法和空域处理法。
频域处理法的基础是卷积定理,它是将图像看做波,然后利用信号处理中的手段对图像波进行处理。
空域处理法的基础是灰度映射变换,它是直接针对图像中的像素进行处理,所用到的映射变换拒绝与增强的目的,例如增强图像的对比度,改善图像的灰度层次等处理均属于空域处理法的范畴。
1.3.2数字图像边缘检测 sobel 算子这种做法能够在增强目标边缘细节的同时以削弱部分高频成分的噪声。
Sobel边缘检测增强算法的变异是从抑制噪声并增强目标的方向入手。
从理论上来说,本方法可以大大提高对红外目标的探测识别能力。
另外,从最终增强的结果与原始图像比较情况来说,图像的每个区域的细节都得到了很好的提升。
数字图像处理在DSP上的实现
数字图像处理在DSP上的实现(旋转)1 绪论1.1设计目的图像旋转是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现高分辨率大图像旋转的需求也越来越高。
如在航空领域的高分辨率数字地图图像的显示处理过程中,由于现有的显示芯片均不能支持图像旋转功能,就需要在资源有限的嵌入式平台上实现大幅面地图图像的实时旋转。
采用DSP平台是一种实现方式,具体实现时需仔细考虑两个方面的问题,一是选用计算量小的旋转算法,二是充分发挥DSP平台强大的并行计算能力。
1.2设计任务1.能从计算机上读取图片。
2.编写图像旋转程序,在TMS320C5509上实现。
2 设计原理及分析2.1设计原理目前,已经有很多有效降低计算量的图像旋转算法,基于图像线性存储结构的旋转方法就是其中之一。
然而,在DSP平台上,有限的高速存储资源限制了这些算法效率的直接发挥,需要针对算法及DSP平台的性能结构特点进行高效的数据调度。
对于图像旋转问题而言,数据调度还需要克服由于存在大量非连续图像像素地址访问而严重影响DSP数据存取及CPU效率发挥的问题。
这是图像旋转本身的特殊性,在其他图像处理技术中是不存在的。
由DSP的结构特点可知,只有在数据和程序均位于片内存储器当中的条件下,DSP的效率才能得到最大化的发挥。
在大图像旋转算法中,由于涉及的图像数据量远大于DSP的片内存储器容量,源图像和最终视口图像等数据必须被存放在片外存储器中。
在这种情况下,为了保证DSP CPU 高速处理能力的发挥,必须优化数据流,将源图像分块,依次搬移至片内处理,并设法保证CPU 当前要处理的图像数据块已经事先在片内存储器中准备好了。
因此在算法整体优化结构上采用Ping-Pong双缓冲技术,利用EDMA与CPU并行工作来隐藏图像数据块在片内和片外之间的传输时间,使CPU能连续不断地处理数据,中间不会出现空闲等待。
传统的图像旋转一般通过矩阵乘法实现:其中,α为旋转角度。
基于DSP的图像线性变换系统设计
2020年第10期21计算机应用信息技术与信息化基于DSP 的图像线性变换系统设计刘思念* 袁春梅 尹 雪LIU Si-nian YUAN Chun-mei YIN Xue摘 要 本文主要介绍一种基于DSP 的图像线性变换系统设计。
一些图像由于灰度级别较低,导致视觉上难以分辨,利用线性变换能够使其变得清晰;对于曝光不足或者曝光过度的图像,利用线性变换能够扩大原本较小的灰度范围;对于曝光程度较低的图像,可利于线性变换进行拓展,能够有效提升图像的质量。
该系统主要采用DSP 技术通过对图像的相关预处理,进行对数、指数变换和线性变换,实现了一个小型图像线性变换系统,以改善图像质量,能够更直观更方便地观察图像相关特征。
关键词 线性变换;对数;指数;灰度图像doi:10.3969/j.issn.1672-9528.2020.10.006* 成都理工大学 四川成都 6100590 前言随着现如今的计算机技术的快速发展,推动了DSP 相关的信息与信号处理技术的发展过程[1]。
与DSP 相关的技术已经非常广泛地应用于信息通信、计算机应用、生物医学图像处理等相关的领域[2]。
数字图像是由模拟图像根据采样和量化得到,在实际的行程过程中会遇到各种因素的影响,例如噪声的干扰,曝光程度的不同,拍摄过程中造成的运行模糊等,导致实际获得的数字图像质量不够高[3-4],可通过一定的图像处理算法来提升图像的质量[5]。
图像增强主要用来提升感兴趣部分的分辨程度,或者增加对比度操作,并不会对图像原始的信息进行添加[6-7]。
将图像进行变换可以将图像中原本较暗或者较亮的像素点,通过变换函数映射为亮度值更高或更低的灰度,从而提高或降低图像的亮度,减少或增加图像对比度。
1 系统设计本系统将原始图像进行灰度化处理,经预处理后进行一系列变换得到图像再进行线性变换,系统设计方案如图1所示。
图1 系统设计方案2 系统设计原理2.1 指数变换指数变换的一般形式如下:(1)其中,a,b,c 这三个参数是用来调整指数函数曲线的位置和形状。
基于DSP的旋转变压器解码系统设计
( 1 .S c h o o l o fE l e c t r i c a l E n g i n e e r i n g , S h a n d o n g U n i v e r s i t y , J i n a n 2 5 0 0 6 1 ,C h i n a ;2 .A u t o m a t i o n
t h e d e c o d i n g s y s t e m w a s舀 V e n a n d t h e e x c i t a t i o n s i g n a l g e n e r a t i n g a n d c o n d i t i o n i n g c i r c u i t a n d t h e s i n e — C O —
第5 O卷 第 4期
2 01 7焦
' l f 机
MI CR O M 0T0 RS
V0 1 .2 01 7
4月
基于 D S P的旋 转 变 压 器 解 码 系统 设 计
崔
摘
波 ,徐衍 亮 ,张
云
( 1 .山东大学 电气工程学 院 ,济南 2 5 0 0 6 1 ;2 .山东省科学 院 自动化所 ,济南 2 5 0 0 1 4 ) 要 :设计了一套基于 T M S 3 2 0 F 2 8 3 3 5的正余弦旋转变压 器解 码系统 。分析 了正余 弦旋转变压器 的基本 工作原理 ;
t h e d e c o d i n g lg a o it r h m w a s a n a l y z e d i n d e t a i l ,a nd t h e s o f t wa r e l f o w c h a r t w a s g i v e n;F i n ll a y,t h e e x p e i— r me n t l a v e if r i c a t i o n w a s ma d e .T h e e x p e i r me n t l a r e s u l t s s h o w t h a t t h e d e c o d i n g s y s t e m c a n g e t t h e a b s o l u t e p o s i t i o n o f p e r ma n e n t ma g n e t s y n c h r o n o u s mo t o r ' s r o t o r p r e c i s e l y,a n d i t h a s p r a c t i c a b i l i t y .
基于C6455 DSP的消像旋实时图像处理系统设计
G 5以及 IT公 司的 D R M、L H 等构 成 。该 A【 D P A F AS 架 构 的优 点在 于能 够实 时进 行大 规模 的数 据存 储 和 处理 , 而且 开发 灵 活 , 于 调 试 , 发 周 期 和 风 险 也 易 开 大大 降低 。T 公 司 的 T 30 6 5 S I MS2 C 4 5D P采 用 最 新 的增 强型 C 4内核 , 6 主频 1G z峰 值处 理 能力 80 H, 00
传感器将 图像数据送人消像旋图像处理系统 , 然后 消像旋图像处理系统对其进行采集 、 存储 , 并按照转 台提供的角度信息进行消像旋处理 , 最后将 图像发 送 给后端 显控 台进 行实 时显示 。
作者简介: 张海 武 (9 9一) 男 , 程 师 , 士 , 要 从 事 D P硬 17 , 工 硕 主 S 件和软件 的设计工作 。E m i hiu 3 iatm — al a . @s .o : w n 收 稿 日期 :0 l0 -8; 2 1 -22 修订 日期 :0 l 33 2 1 - .0 0
第 4 卷 第 7期 l
21 0 1年 7月
激 光 与 红 外
L E AS R & I FR N ARE D
Vo. I41. No. 7
J l 2 1 uy,0 1
Байду номын сангаас
文章编号: 0- 7(010- 1- 1 1 0821)7 82 5 0 5 0 0
・图像 与信 号处 理 ・
消像 旋 实时 图像处 理 系统 主要 完 成视频 图像 的 采集 、 存储 、 消像 旋 处 理 和 输 出 等功 能 , 作 流 程 如 工 图1 所示 。系统 工作 流 程 可 以 简单 地 概 述 为 : 频 视
基于DSP的图像旋转剖析
基于DSP的图像旋转1 概述DSP芯片是一种高性能的微处理器,其技术发展大大推动了数字信号技术的发展与应用,目前从工业系统到家电产品,从军事装备到生物医学仪器,无不融入了DSP技术。
由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面的作用也变得越来越重要。
21世纪是数字化的时代,数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。
随着越来越多的电子产品将数字信号处理(DSP)做为技术核心,DSP已经成为推动数字化进程的动力。
作为数字化最重要的技术之一,DSP无论在其应用的深度还是广度,正在以前所未有的速度向前发展。
近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技术研究,还是在产品的开发等方面,在数字信号处理中,其应用越来越广泛,并取得了丰硕的成果。
数字滤波占有极其重要的地位。
数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。
在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。
数字滤波器容易实现不同的幅度和相位频率特性指标,克服了与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。
用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。
用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。
几乎每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达等都涉及信号。
在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。
这些过程都可能包含衰减一个频率范围,阻止或隔离一些频率成分,用数字滤波器来实现这些功能是方便、有效、可行的。
本文主要表述利用TI公司TMS320C55x芯片的资源特点,在设计中借助Code Composer Studio v3.3中以TMS320C55x芯片的汇编语言编程实现了数字图像的旋转,进行高效图像旋转的大规模数据调度,从而实现适用于图像的DSP实时图像旋转。
基于DSP的高速旋转修正机构控制系统硬件设计
基于DSP的高速旋转修正机构控制系统硬件设计张记发;王玲;郝永平;张嘉易;赵洪力【摘要】针对高速旋转修正弹,提出了一种基于DSP的控制系统硬件设计.该控制系统以TMS320F28335为主控制器,采用TMR2303型高灵敏度磁传感器来检测地磁信号.从修正控制原理和系统结构方面阐述了控制系统硬件模块的功能.转台测试及锤击实验表明,该控制系统硬件的抗过载性能好,能够完成对修正舵的姿态控制,满足了设计要求,而且具有体积小、成本和功耗低等特点.【期刊名称】《成组技术与生产现代化》【年(卷),期】2018(035)002【总页数】4页(P40-43)【关键词】数字信号处理器;弹道修正;地磁传感器;硬件设计【作者】张记发;王玲;郝永平;张嘉易;赵洪力【作者单位】沈阳理工大学自动化与电气工程学院,辽宁沈阳110159;沈阳理工大学自动化与电气工程学院,辽宁沈阳110159;沈阳理工大学自动化与电气工程学院,辽宁沈阳110159;沈阳理工大学自动化与电气工程学院,辽宁沈阳110159;辽沈工业集团有限公司研发中心,辽宁沈阳110159【正文语种】中文【中图分类】TG51随着科学技术的发展,现代战争从对目标的面杀伤逐渐转变为对目标的精确打击,而弹道修正可以在控制成本的情况下大大提高弹药的打击精度和效费比,弹道修正弹越来越受各国的关注[1].各国都在不断加强本国国防力量,抓紧传统炮弹的改造过程,弹道修正弹的研究也成为了诸多国家的军工研发重点.目前,弹道修正弹技术从一维弹道修正发展到二维弹道修正,已取得长足的进步.南京理工大学、北京理工大学等对二维弹道修正弹的修正方法、气动分析以及鸭舵式修正机构等主要技术进行了比较深入的研究,取得了一定成果.沈阳理工大学通过原理性探索与研究,在二维弹道修正机构的设计、修正弹的气动仿真和SINS/GPS(Strapdown Inertialnavigation System/Global Positioning System)组合导航方面取得了一定进展[2].随着高速旋转弹弹道修正技术的不断发展,舵机作为修正手段与脉冲发动机相比,在修正效果方面具有许多优势,而如何在弹丸飞行过程中对舵机的飞行姿态进行控制是一项重要的研究内容.本文针对修正机构的控制原理、硬件架构、电路问题,提出一种基于DSP(数字信号处理器)主控制器、TMR2303磁传感器、鸭舵式修正机构的控制系统,并进行系统的实验测试.1 弹道修正控制系统原理弹道修正控制系统原理在于,通过控制修正舵片的姿态,改变俯仰力矩或偏航力矩,实现弹丸飞行弹道的控制;通过GPS和磁传感器对弹丸的位置信息和舵机滚转姿态进行测量;DSP将采集后解析的状态信息与控制器内预设的弹道对比,根据偏差解算出修正舵机的滚转角度与作用时间,控制舵片姿态达到修正的目的.GPS信号的长距离精度相对较高,但易受干扰信号影响,且接收机更新速度较慢,因此主要用于飞行轨迹的记录.磁传感器测定的地磁信号更新快,不易受干扰,主要用于修正机构滚转姿态的测定.这两者组合起来可以很好地记录弹丸的弹道和滚转姿态,提高测姿精度[3].二维弹道修正引信结构如图1所示.它以十字型固定翼鸭舵作为高旋弹弹道修正的实际执行机构,既可保留弹丸的高速旋转属性,又能保证弹丸飞行的稳定性,同时可以利用鸭舵的同向舵和修正舵完成对弹道的二维修正[4].图1 二维弹道修正引信结构不同姿态的舵机所受旋转力矩可通过力矩电机来平衡.控制装置通过改变力矩电机的运行状态对舵机的姿态进行实时调整.舵机作为弹道修正的执行机构,通过调整自身位置来控制弹道,进而达到弹道修正的目的.2 系统硬件结构由于舵机体积小,载荷较轻,因此系统硬件选型需要满足功耗低、体积小、重量轻、成本低和稳定性高等要求[5].系统的硬件结构如图2所示.整个控制系统以DSP为核心,采集并处理地磁和GPS 信号,通过输出指令来控制修正机构.系统硬件根据功能可主要分为如下三部分:DSP主控模块、地磁信号处理模块和输出控制模块.图2 系统硬件结构系统的硬件电路实物如图3所示.3块小板通过软排线相连接,折叠后可放入直径为36 mm的圆柱筒内.与参考文献[3]中提出的直径为80 mm的SINS/GPS组合测姿硬件电路相比,该系统去除了陀螺仪、加速度计等器件,因此其体积更小,结构更简单,成本更低.图3 系统硬件实物2.1 DSP主控模块主控制器作为核心部件,必须具有足够的数据处理能力和控制能力,而且其外设接口要满足需要.选用Texas Instrument公司DSP处理器中的TMS320F28335作为主控制器.它具有150 MHz的高速处理能力,32位浮点处理单元,串行通信(SCI)、脉宽调制(PWM)等总线接口[6].与定点DSP相比,其速度快、精度高、平均性能提高50%,能够满足修正控制系统的运算要求,而且其外设资源丰富,便于从功能上进行扩展和改进.为了提高DSP的运行速度,扩大其存储空间,需外扩静态随机存储器(SRAM)和闪存(Flash).SRAM选型为IS61LV51216,其空间容量为8 MB.使用低触发片选引脚(/CE)和输出使能引脚(/OE),可以轻松实现存储器扩展.低触发写入使能引脚(/WE)能够完全控制存储器的写入和读取.Flash选型为SST39VF800A,其存储容量为16 MB,最快访问速度达70 ns.Flash为非易失存储器,存储速度快,可对存储单元进行擦写和再编程,完成数据读写,能够满足本设计的要求.2.2 地磁信号处理模块地磁信号处理模块选用江苏多维科技的TMR2303三轴隧道磁电阻(TMR)线性传感器芯片.该芯片采用3个独特的推挽式惠斯通全桥结构设计,每轴惠斯通全桥都可提供差分电压输出.该输出具有良好的温度稳定性,输出信号的峰值可达工作电压的80%,灵敏度高,线性度好,动态范围宽,响应频率高,功耗低,能够满足设计需求[7].由于采集的地磁信号为弱磁信号,因此需要用信号处理模块对模拟信号进行放大,通过DSP内部AD电路将模拟信号转换为数字信号,进而解析计算.这里采用二级放大电路:第一级为同相运算放大电路(它采用LMV774型来减小信号源内阻,增大输入阻抗,提高共模抑制比);第二级为差分运算放大电路(它也采用LMV772型,可将传感器输出的差分信号转换为单输出信号,通过调节基准源参考电压Vref来抵消失调电压并调节稳定输出).地磁信号处理模块原理如图4所示.图4 地磁信号处理模块原理图2.3 输出控制模块主控制器DSP输出PWM信号,对修正装置(电机)进行控制,通过改变电磁力矩来改变舵片转速与滚转角度,达到修正目的.本文采用东芝TLP116A型光电耦合器对输出信号进行隔离,以保证DSP不受负载电流影响.TLP116A的隔离效果好,传播延迟时间最大值为60 ns,数据传输速率可达20 MB/s.它采用推挽式结构,具有直接对外输出电流的能力,也允许外部的电流通过输入端流向GND.当输入端输入为低电平时,输出为高电平,且其输出电压为电源电压减去内部压降,电流向外流动.当输入端输入为高电平时,输出端与电源隔离,输出为低电平.3 实验测试及结果通过锤击实验测试硬件系统的抗过载性.将硬件系统灌封在密闭刚体中,从一定高度自由下落而撞击钢板.经计算,其冲击过载为9.8×104 m/s2,恢复上电系统正常,抗过载性良好.为了验证系统硬件设计的可行性和测试性能,利用实验室卧式高速转台进行测试.测试环境及卧式转台如图5所示.1、9为伺服电机;2、8为联轴器;3为舵片卡具;4为舵机;5为支架;6为传动杆;7为滑环图5 测试环境及卧式转台当伺服电机1以力矩模式控制舵片旋转时,通过弹性联轴器2连接舵片卡具3,控制舵片的旋转状态,模拟风阻力矩,舵片按逆时针方向旋转;当伺服电机9以转速模式模拟弹丸转动时,通过弹性联轴器8连接滑环7,经过传动杆6控制弹体旋转状态,按顺时针方向旋转.控制系统硬件在弹体内,当电机1、9分别控制舵机和弹体同时旋转时,通过控制修正电机来控制舵机4的输出力矩,改变舵机4的旋转状态,实现对舵机的修停控制.对地磁信号处理模块进行调试,在实验转台转速为1 600 r/min时,测得的X轴和Z轴信号(Y轴为旋转轴没有变化)相位相差90°且没有处于截止或饱和状态,调试结果良好,可以进行下一步实验.后部弹体旋转,舵机保持对地静止状态,利用光电开关检测舵机是否旋转.舵片遮挡光电开关信号,偏移1°可完全打开光信号,使传感器产生脉冲信号.由DSP发出修正指令同时开启定时器,舵机打破静止状态,开始旋转,将光电开关触发信号反馈给DSP,停止计时,同时,定时器记录响应时间(其值为9.5 ms).根据程序设定,当舵机匀速旋转时进行一次修停,然后解除修停,继续匀速旋转.实验测试结果符合预设目标,在修停时,舵机转速为零,舵片保持在修正位置(角度).通过光电码盘与实际停止角度对比,最大偏差在7.5°左右.测得的舵片角度值存储于DSP中,通过串行通信接口发送到上位机,用Matlab对数据进行处理分析.分析结果与软件程序设定和实际测量结果基本符合(图6).图6 舵机修停时滚转角度4 结束语本文基于TMS320F28335 DSP芯片,利用GPS和地磁信号对旋转机构进行姿态解析,设计了一个高速旋转修正控制系统.与以往DSP+FPGA(Field-Programmable Gate Array),GPS+陀螺仪+加速度计的方案相比,该系统的结构简单、成本低、体积小.经过实验测试,其硬件系统稳定,对旋转机构的修正准确,抗过载性能好,具有一定的实用价值.参考文献:【相关文献】[1] 张进超.弹道修正机构的控制原理及系统设计[D].沈阳:沈阳理工大学,2015.[2] 鞠广旭.高速旋转机构控制及半实物仿真[D].沈阳:沈阳理工大学,2017.[3] 刘义,王玲,赵艳霞,等.SINS/GPS组合导航系统的硬件设计[J].沈阳理工大学学报,2016,35(5):1-5.[4] 王晓云,李昱,郝永平,等.弹道修正弹固定鸭舵测姿方法研究[J].成组技术与生产现代化,2018,35(1):54-57.[5] 吕强,郭善亮,王冬来,等.基于DSP四旋翼飞行器姿态控制系统硬件设计[J].计算机与数字工程,2011,39(7):144-146,156.[6] 刘向宇.DSP嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2009.[7] 赵臣,王玲,郝永平.高灵敏度磁传感器信号处理电路的设计[J].沈阳理工大学学报,2017,36(5):18-21.。
基于DSP的图像旋转算法数据调度策略
基于DSP的图像旋转算法数据调度策略
李筱琳;冯燕;何亦征
【期刊名称】《微型电脑应用》
【年(卷),期】2008(24)3
【摘要】为了在DSP平台上实现实时大图像旋转,文章结合TMS320DM642的性能结构特点,针对旋转算法中严重影响DSPCPU效率发挥的大量非连续图像像素地址访问的问题,提出了基于视口图像块覆盖的DSP图像旋转算法数据调度策略,对算法的结构漉程进行了优化调整.实验结果表明基于该策略实现的DSP大图像旋转可达到良好的实时性效果.
【总页数】4页(P6-8,26)
【作者】李筱琳;冯燕;何亦征
【作者单位】西北工业大学电子信息学院,西安 710072;西北工业大学电子信息学院,西安 710072;中国航空无线电电子研究所,上海 200233
【正文语种】中文
【中图分类】TP317.4
【相关文献】
1.基于DSP的图像旋转算法数据调度策略 [J], 李筱琳;冯燕;何亦征
2.基于DSP的双线性插值算法在图像旋转中的应用 [J], 尹雪; 刘思念; 袁春梅; 周杰
3.基于斐波那契树优化算法的数据中心流量调度策略 [J], 王耀民; 王霞; 董易; 张松海; 施心陵
4.基于粒子群优化算法的数据中心网络流量调度策略 [J], 马枢清;唐宏;李艺;雷援杰
5.基于改进蚁群算法的电力云数据中心任务调度策略研究 [J], 孙湛冬;焦娇;李伟;李志鹏;李鹏恩
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于DSP的图像旋转1 概述DSP芯片是一种高性能的微处理器,其技术发展大大推动了数字信号技术的发展与应用,目前从工业系统到家电产品,从军事装备到生物医学仪器,无不融入了DSP技术。
由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面的作用也变得越来越重要。
21世纪是数字化的时代,数字信号处理由于运算速度快,具有可编程特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。
随着越来越多的电子产品将数字信号处理(DSP)做为技术核心,DSP已经成为推动数字化进程的动力。
作为数字化最重要的技术之一,DSP无论在其应用的深度还是广度,正在以前所未有的速度向前发展。
近年来,DSP技术在我国也得到了迅速的发展,不论是在科学技术研究,还是在产品的开发等方面,在数字信号处理中,其应用越来越广泛,并取得了丰硕的成果。
数字滤波占有极其重要的地位。
数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。
在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。
数字滤波器容易实现不同的幅度和相位频率特性指标,克服了与模拟滤波器器件性能相关的电压漂移、温度漂移和噪声问题。
用DSP芯片实现数字滤波除了具有稳定性好、精确度高、不受环境影响外,还具有灵活性好的特点。
用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。
几乎每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达等都涉及信号。
在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。
这些过程都可能包含衰减一个频率范围,阻止或隔离一些频率成分,用数字滤波器来实现这些功能是方便、有效、可行的。
本文主要表述利用TI公司TMS320C55x芯片的资源特点,在设计中借助Code Composer Studio v3.3中以TMS320C55x芯片的汇编语言编程实现了数字图像的旋转,进行高效图像旋转的大规模数据调度,从而实现适用于图像的DSP实时图像旋转。
2 设计任务及目的2.1设计任务⑴实现一路模拟视频信号的采集与显示;⑵实现单帧图像的旋转(90、180任选);⑶图像采用120*96点像素,由SDRAM中的722*228存储图像采样生成;⑷手动设置CMD文件,保证程序的正确运行。
2.2 设计目的图像旋转是一种应用广泛的数字图像处理技术,随着应用水平的不断提高,对在嵌入式系统中实现高分辨率大图像旋转的需求也越来越高。
如在航空领域的高分辨率数字地图图像的显示处理过程中,由于现有的显示芯片均不能支持图像旋转功能,就需要在资源有限的嵌入式平台上实现大幅面地图图像的实时旋转。
采用DSP平台是一种实现方式,具体实现时需仔细考虑两个方面的问题,一是选用计算量小的旋转算法,二是充分发挥DSP平台强大的并行计算能力。
通过本次DSP项目,掌握TMS320C5509芯片的特点,了解数字图像处理的原理,熟悉DSP命令及所用开发软件和工具箱的使用方法,学习巩固DSP基础知识。
3 设计原理本图像旋转项目利用的是平面坐标点旋转变换原理,平面坐标点旋转变换即平面上绕它上面一点O整体旋转。
坐标系原点的位置为左上,y轴向下为正方向,x轴向右为正方向,顺时针旋转角度为正,若任意一点A(ax,ay),按旋转中心点(x,y)旋转任意角度θ度后A'(xA’,yA’)的坐标计算公式如下所示:xA`=x+(ax-x)cosk-(ay-y)sinθyA`=y+(ax-x)sink+(ay-y)cosθ这就是平面坐标点旋转变换公式,其旋转角为θ,任何一个矢量的旋转都可以看成两个分量的各自旋转后,然后累加结果。
至于旋转心不在原点上,可以把旋转心看成临时原点,进行相对量的旋转,然后再加上与真正原点的相对量即可。
根据旋转变换公式,借助Code Composer Studio v3.3中以TMS320C55x芯片的汇编语言编程,来将图像像素点坐标变换到旋转后对应的坐标位置上,最后显示生成旋转后的图像。
但由于变换过程中根据公式计算结果,部分像素点旋转变换后的坐标值为小数,必须对其四舍五入取整,故在图像旋转后部分旋转角度下图像的某些像素点会丢失,造成图像中有灰黑斑点,但在±90°,180°情况下图像完全正常。
由上所述,结合其他知识可编图像旋转程序如下:xData =(IMGWIDTH/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*cos(theta)-(float) (i-(IMGHEIGHT/2-1))*sin(theta)+0.50);yData = (IMGHEIGHT/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*sin(theta)+(float) (i-(IMGHEIGHT/2-1))*cos(theta)+0.50);y[xData][yData] = buffer[i*xsample+xstart]; //y[IMGWIDTH][IMGHEIGHT]4 软件程序设计4.1 程序流程图图1 程序流程图4.2 初始化程序void CLK_init( unsigned int nPLL )//时钟初始化{ioport unsigned int *clkmd;clkmd=(unsigned int *)0x1c00;*clkmd =nPLL;// 0x2033;//0x2413;// 144MHz //2613}void EMIF_init(void)//外部存储器接口{ioport unsigned int *CE21 = (unsigned int *)0x809;*CE21 =0x1fff;}void TMCR_reset( void ){ioport unsigned int *TMCR_MGS3=(unsigned int *)0x07FE;ioport unsigned int *TMCR_MM =(unsigned int *)0x07FF;*TMCR_MGS3 =0x510;*TMCR_MM =0x000;}void SDRAM_init( void )//定义SDRAM引脚,以及控制寄存器时,并进行初始化{ioport unsigned int *ebsr =(unsigned int *)0x6c00;ioport unsigned int *egcr =(unsigned int *)0x800;ioport unsigned int *emirst=(unsigned int *)0x801;ioport unsigned int *ce01 =(unsigned int *)0x803;ioport unsigned int *ce11 =(unsigned int *)0x806;ioport unsigned int *ce21 =(unsigned int *)0x809;ioport unsigned int *ce31 =(unsigned int *)0x80C;ioport unsigned int *sdc1 =(unsigned int *)0x80F;ioport unsigned int *init =(unsigned int *)0x812;ioport unsigned int *sdc2 =(unsigned int *)0x813;*ebsr = 0x221;//0xa01*egcr = 0x200;*egcr = 0X220;*ce01 = 0X3000;*ce11 = 0X3fff;*ce21 = 0x1fff;*ce31 = 0x1000;*emirst = 0;*sdc1 = 0X5958;*sdc2 = 0X38F;*init = 0;}4.3 主程序ioport unsigned int * sysR = (unsigned int *)0x7fd;#define IDKCCMDRESET 2#define IDKCCMDCAPTURE 4#define IDKCCMDRESETRP 8#define IDKCCMDRESETWP 0x10#define IDKCCMDCOLOR 0x20#define IDKIMGREADY 2//ICETEK-TVP5150-E板控制寄存器定义#define IDKCCTRGR (*(unsigned short int *)0x601800) #define IDKCDATA (*(unsigned char *)0x601802)#define IDKCI2CR (*(unsigned short int *)0x601804)#define IDKCSTATUS (*(unsigned short int *)0x601806) #define I2C_REG (*(unsigned short int *)0x601804)#define CREG (*(unsigned short int *)0x400004)void Delay(unsigned int nTime);//延时void StartIIC(void); //启动I2C总线传输void StopIIC(void); //结束I2C总线传输void AckIIC(void);void WriteIIC(unsigned char data);//I2C总线传送控制字节void Init5150(void); //初始化ICETEK-TVP5150-E板void DelayMSEC(unsigned int nDelay);//延时void Close5150(void);//关闭ICETEK-TVP5150-E板#define VIDEOWIDTH 720//摄像头采集图像宽度#define VIDEOHEIGHT 288//摄像头采集图像高度#define IMGWIDTH 120//选取图像宽度#define IMGHEIGHT 120/选取图像高度#define XSTART 0//选取图像x方向起始点#define YSTART 0//选取图像y方向起始点#define XSAMPLE 6//x方向采集率#define YSAMPLE 2.4//y方向采集率#define IMGBUFFER 0x200000#define phi 360//选择要旋转的角度#define theta (phi/180.0*acos(-1))//unsigned int *www;unsigned int buffer[724],y[IMGWIDTH][IMGHEIGHT]; FARPTR lpImage,pImage;main(){long int i,j,x,xx;int c,xstart,ystart,xsample,ysample;unsigned char cWork,ccc;long xData,yData;pImage=lpImage=IMGBUFFER;c=0;for ( j=0;j<IMGWIDTH;j++ )把缓存清零{for ( i=0;i<IMGHEIGHT;i++ )y[j][i]=0;//y变量赋初值}SDRAM_init();CLK_init(0x21f3);//设置DSP时钟CREG=1; //使能外部总线接口,选择储存器是SDRAM xsample=XSAMPLE; //横向抽样率ysample=YSAMPLE; //纵向抽样率xstart=XSTART; //起始象素ystart=YSTART; //起始行(*sysR)=2;Init5150(); //初始化ICETEK-TVP5150-ECLK_init(0x22d3); //提高DSP运行速度(*sysR)=0;while(1){if(xx)//通过控制FIFO读取图像{IDKCCTRGR=IDKCCMDRESET; //复位ICETEK-TVP5150-EDelay(16);IDKCCTRGR=0;Delay(16);IDKCCTRGR=IDKCCMDRESETWP;//复位FIFO写指针Delay(16);IDKCCTRGR=IDKCCMDCAPTURE; //开始采集图象Delay(20);IDKCCTRGR=0;Delay(20);}x=0;IDKCCTRGR=IDKCCMDRESETRP;Delay(20);IDKCCTRGR=0;Delay(20);cWork=IDKCDA TA;Delay(20);x=0;for ( i=0;i<724;i++ )buffer[i]=0;for ( i=0;i<c;i++ )cWork=IDKCDATA;//将数值存入变量for ( j=0;j<VIDEOHEIGHT;j++ )cWork=IDKCDA TA;cWork=IDKCDA TA;for ( i=0;i<VIDEOWIDTH;i++ ){cWork=IDKCDA TA;buffer[i]=cWork;//将像素存入buffer缓存far_poke(lpImage++,cWork);//向扩展存储器地址写入一个整数}if ( x<IMGHEIGHT && j>=ystart &&(j%ysample==0) ) // 抽样生成120x96尺寸图象{for ( i=0;i<IMGWIDTH;i++ ){xData = (IMGWIDTH/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*cos(theta)-(float)(i-(IMGHEIGHT/2-1))* sin(theta)+0.50);yData = (IMGHEIGHT/2-1)+(long)((float)(x-(IMGWIDTH/2-1))*sin(theta)+(float)(i-(IMGHEIGHT/2-1)) *cos(theta)+0.50);if((xData >= 0)&&(xData <= (IMGWIDTH-1))&&(yData >= 0)&&(yData <= (IMGHEIGHT -1))){y[xData][yData] = buffer[i*xsample+xstart];//将抽样后的图像存入缓存y}}x++;}}ccc=IDKCSTATUS;x=0; // BREAK POINT 在此加软件断点}}void StartIIC(void){I2C_REG = 0x05; /* "00100101":sda,scl = '1' */DelayMSEC(1);I2C_REG = 0x04; /* "00100100":sda= '0',scl = '1' */DelayMSEC(1);}void StopIIC(void){I2C_REG = 0x024; /* "00100101":sda = '0',scl = '1' */DelayMSEC(1);I2C_REG = 0x025; /* "00100101":sda,scl = '1' */DelayMSEC(1);}void AckIIC(void){I2C_REG = 0x020; /* "00100101":sda='z',scl = '0' */ I2C_REG = 0x022; /* "00100101":sda='z',scl = '0' */ DelayMSEC(1);I2C_REG = 0x026; /* "00100101":sda='z',scl = '1' */ DelayMSEC(1);I2C_REG = 0x022; /* "00100101":sda='z',scl = '0' */ DelayMSEC(1);I2C_REG = 0x021; /* "00100101":sda='1',scl = '0' */ DelayMSEC(1);}void WriteIIC(unsigned char data){unsigned char BitCounter = 8;unsigned char Temp;unsigned int reg_val;reg_val = 0x020;I2C_REG = 0x20; /*SCL 置低sda 置低*/DelayMSEC(1); /*延时*/do{Temp = data;reg_val &= 0x0fffffffb;I2C_REG = reg_val; /*SCL 置低*/DelayMSEC(1); /*延时*/if((Temp&0x80)==0x80)reg_val |= 0x01; /*如果最高位是1*/elsereg_val &= 0x0fffffe;I2C_REG = reg_val; /*设置SDA*/DelayMSEC(1); /*延时*/reg_val |= 0x004;I2C_REG = reg_val; /*SCL 置高*/DelayMSEC(1); /*延时*/Temp = data<<1;data = Temp;BitCounter --;}while(BitCounter);reg_val &= 0x0fffffffb;I2C_REG = reg_val; /*SCL 置低*/DelayMSEC(3); /*延时*/}void Init5150(void) //使用TVP5150作为图像解码芯片,IIC总线控制{StartIIC();WriteIIC(0x0ba);AckIIC();WriteIIC(0x03);AckIIC();WriteIIC(0x08f);AckIIC();WriteIIC(0x06); // y onlyAckIIC();WriteIIC(0x010);AckIIC();StopIIC();DelayMSEC(10);}void DelayMSEC(unsigned int nDelay){unsigned int i,k;for ( i=0;i<nDelay*64;i++ ){k++;}}4.4 命令文件-w-stack 500-sysstack 500-l rts55x.libMEMORY ;用来指定目标储存器结构;命名一个存储空间范围;o指定存储段的开始地址;l指定存储段的长度{DARAM: o=0x100, l=0x7f00VECT: o=0x8000, l=0x100DARAM2: o=0x8100, l=0x7f00SARAM: o=0x10000, l=0x10000SDRAM: o=0x40000, l=0x3e0000}SECTIONS ;用来控制段的构成与地址分配;定义用来填充未初始化空间的值{.text: {} > DARAM ;存放程序代码.vectors: {} > VECT.trcinit: {} > DARAM.gblinit: {} > DARAMfrt: {} > DARAM.cinit: {} > DARAM ;存放程序中的变量初值和常量.pinit: {} > DARAM.sysinit: {} > DARAM.bss: {} > SDRAM ;为程序中的全局和静态变量保留存储空间.far: {} > DARAM2 ;为程序中用far声明的全局和静态变量保留空间.const: {} > DARAM2 ;存放程序中的字符常量、浮点常量和用const声明的变量.switch: {} > DARAM2 ;存放程序中switch语句的跳转地址表.sysmem: {} > DARAM2 ;用于程序中的malloc、calloc和realoc函数动态分配存储空间(C语言的堆).cio: {} > DARAM2.MEM$obj: {} > DARAM2.sysheap: {} > DARAM2.sysstack {} > DARAM2.stack: {} > DARAM2 ;为程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果(C语言的栈).image: {} > SDRAM}5 程序调试运行5.1 程序测试流程图图2 程序测试流程图5.2 程序测试⑴配置CCS 3.3软件,芯片选择C5509A XDS510 Emulator,安装好驱动程序后连接到ICETEK DSP教学试验箱,打开目标程序工程文件。