基于FPGA的实时红外图像放大模块

发布者:pingbashou最新更新时间:2011-11-26 来源: 现代电子技术关键字:实时红外图像  放大 手机看文章 扫描二维码
随时随地手机看文章
   

    红外成像技术是目前非常有用的新型高科技,具有极强抗干扰能力,属于被动式观测装备,隐蔽性很强。长波红外可不受烟雾等的影响,分辨率高。另外,红外成像不受地面和海面的多径效应影响,具有多目标全景观察、追踪及识别能力,具有很广阔的应用前景和价值。

  本文采用的红外系统为凯迈广微160×120系列,由于原始图像大小为160×120,在某些应用场合其分辨率很难满足需要,必须对图像进行放大。

  图像放大是一种常用的数字图像处理技术,在日常社会生活的许多领域有着广泛的应用,因此数字图像的放大是图像处理的基本操作之一。数字图像放大多用软件来实现。但随着现场可编程门阵列技术的突飞猛进,FPGA也逐渐进入数字信号处理领域,尤其在实时图像处理方面FPGA无可比拟的并行处理能力,所以国内外愈来愈多的实时处理应用都转向了FPGA平台。本文正是介绍了一种基于FPGA的固定倍率红外图像放大模块。

  1 图像放大算法

  目前图像放大处理通常都采用软件方法来实现,虽然其算法种类多样,且图像放大后的质量也比较高,但是,由于其运算时间往往较长,因此在某些实时性要求较高的数字图像处理场合不宜采用软件方法而适合采用硬件方法。硬件方法实现图像放大,其处理速度可大大提高,不过,采用硬件实现时,由于资源非常有限,许多处理算法因过于复杂而无法通过硬件实现。目前在进行硬件图像处理过程中,通常采用插值算法,利用图像的像素点间存在着的相关性进行插值而实现图像的放大。常用的差值算法包括最近邻域插值法(Nearest Neighbor Interpolation),双线性插值法(Linear Interpolation),双三次插值法(Bieubie interpolation)。

  1.1 最近邻域插值法

  从计算量的角度来说,最近邻插值是最简单的插值。在这种算法下,每个插值输出像素的值就是在输入图像中与其最临近采样点的值。算法的数字表示为:

  f(x)-f(xk),1/2(xk-1+xk)

  1.2 双线性插值法

  双线性插值法的输出像素时它在图像中2×2邻域采样点的平均值,它根据某个像素周围4个像素(m,n),(m+l,n),(m,n+1),(m+1,n+1)的灰度值在水平和垂直2个方向对其插值。

  设m

  

e.jpg

 

  把按照上式计算出来的值赋予图像的几何变换对应于处的像素,即可实现双线性插值。

  1.3 双三次插值法

  双三次插值的插值核为三次函数,其插值邻域的大小为4×4。它的插值效果比较好但相应计算量也大。

  1.4 本文采用的算法

  上述3种图像插值算法中最近邻插值放大实现最为简单,处理速度快,但它只是把原始像素简单的复制到其邻域内,放大图像就会出现明显的方块或锯齿,不能很好地保留原始图像的边缘信息。双三次插值算法的视觉效果最好,但计算复杂开发周期长,占用的硬件资源较大,不符合本系统的资源要求。使用双线性插值能够较好地消除锯齿,保留原始图像的边缘信息,放大后的图像较平滑,且有较好的视觉效果。本文选取改进型的线性插值(2×1邻域和1×2邻域)作为最终实现方案。如图1所示,实心表示原始像素,空心表示放大后的图像。本文采用的算法数学表达式为:

  

 

  2 算法基于FPGA的设计与实现

  2.1 系统结构

  系统总体结构如图2所示,行插值和数据控制模块控制数据存入双口RAM中,并在存入的过程中实现行的放大,因为采用2×2领域放大,每个目标像素放大所需的原始图像相邻2行的2个像素,所以可以将相邻2行写入双口RAM。列插值和数据控制模块实现列放大和把插值后的数据送入到下一个模块。数据流向是图像放大模块的重点和难点,如何实现实时性,良好的数据控制很重要。在数据从上一个模块读入的同时,行插值模块就完成了行放大。在一帧图像的帧头,行插值模块对2行数据进行操作,在第2行到倒数第2行,行插值只对单行数据进行处理,处理完毕后并通知列插值模块进行下一步运算。列插值模块在收到行插值模块给的信号后,从双口RAM中读取已经存入的两行数据,并完成中间行的插值,在运算的过程中并把RAM中的第一行的数据逐个读出并送到下一个模块。当完成列插值运算后,立即通知行插值模块开始读入新的一行,并在读入的同时,把新产生的行读出。行插值模块完成新的一行读入后,通知列插值模块与RAM中上一次存入的第二行(第一次列插值的第3行)进行列插值操作,并重复上述操作,直至完成当前帧。具体流程如图3所示。

  

 

  2.2 算法实现

  图像处理模块的具体实现结构如图4所示。该模块由3个部分构成:ram_control模块实现RAM控制和行放大;calculate模块实现列放大和数据输出;dpram为双口RAM用于数据存储。

  

 

  (1)ram_control模块。D_SYP为2倍的像素时钟输入,SYP为像素时钟,SYL为行同步信号,G_reset为全局复位信号,data_in为数据输入端口,cal_done为列运算完成信号指示,done为行放大完成信号,其余信号为dpram控制信号。

  (2)calculate模块。caleulate模块与ram_control模块功类似,再运算完成后可以控制数据输出到下一个功能模块。

  (3)dpram。dpram可以实现不同速率的输入和输出,还可以根据需求改变同一个RAM口的不同速率的输入和输出,本文采用了两路不同的时钟分别控制ram_a口和ram_b口,同一个口用同样的时钟读入读出数据。

  3 系统仿真与实现

  图5为quartus功能仿真结果,时钟速率和数据输入均为模拟产生,根据仿真结果可以看出,地址发生器和数据输出均按照设计要求输出,理论上可以实现放大功能。

  

 

  图6为红外机芯组件GW160×120所采集到的原始图像,图7为采用本文放大算法后采集到的图像。对比发现图像质量较好,没有马赛克现象,可以满足观察需要,达到了设计要求。

  4 结语

  在以后的应用中如果硬件资源满足需求,可以把双三次插值应用于红外机芯系统。由于系统采用了FPGA进行设计,因此具有很强的扩展性,可以在不改变硬件系统的基础上进行算法改进,增加了系统的灵活性和适应性。

关键字:实时红外图像  放大 引用地址:基于FPGA的实时红外图像放大模块

上一篇:CPLD初学者入门知识
下一篇:基于GPS无源雷达干扰抑制研究

推荐阅读最新更新时间:2024-05-02 21:44

高电压放大器把库仑计数器范围扩展至 ±270V
库仑计数器能够测量流入或流出电池的电荷,而小的专用 IC 则可直接与约 20V 以下的中低电池电压相连。通过采用一个高电压放大器作为电平移位器,就能把测量电路的输入工作范围扩展至高得多的电压。LT6375 电压差动放大器具备一些可使该电路在极宽电压范围内准确工作的特性。下面就随模拟电子小编一起来了解一下相关内容吧。 作者:凌力尔特公司(现隶属 Analog Devices 公司) 信号调理产品策略应用经理 Kris Lokere 库仑计数器能够测量流入或流出电池的电荷,而小的专用 IC 则可直接与约 20V 以下的中低电池电压相连。通过采用一个高电压放大器作为电平移位器,就能把测量电路的输入工作范围扩展至高得多的电压。LT63
[模拟电子]
高电压<font color='red'>放大</font>器把库仑计数器范围扩展至 ±270V
使用保护环的反相放大器电路
使用保护环的反相放大器电路 TLC2652是高精度放大器,往往在输入电压为微伏量级的情况下高增益工作。要保证放大器的精度,一是负反馈电阻必须有足够的精度,且电路的闭环增益不能太大;二是必须提高印制板的质量,防止印板表面的漏电流。为此,可在印制板上设置保护环,尤其是14引脚和20引脚的芯片,可以充分利用输入端周围的空脚,构造保护环(图五、图六)。 图五、使用保护环的反相放大器 图六、印板上的保护环布置
[模拟电子]
使用保护环的反相<font color='red'>放大</font>器电路
ADSL模拟前端中高速运算放大器的应用
  随着上网的人数的迅速增长,传统调制解调器、ISDN提供的低速和易断线的窄带上网方式开始逐渐遭到用户的摈弃。在各种各样的宽带连网方案中,ADSL受到了广大网民的青睐。但是,如何选择理想的ADSL调制解调器解决方案,是设计工程师所面临的新挑战。   针对这种现状,本文介绍采用LMH6643满摆幅输出芯片、LMH6672线路驱动器及LMH6622低噪声运算放大器 组合实现的方案,该方案具有能充分发挥ADSL基带数字信号处理器性能的优点。结构框图参见图1所示。   图中数字模拟转换器的输出端可采用在LMH6643芯片中的一对放大器作为差分缓冲放大器,提供LMH6643与LMH6672之间的低通滤波器的阻抗匹配、绝缘及驱动。图
[模拟电子]
基于磁放大器的PC电源——ATX电源的设计
1 ATX电源简介     早期PC中的开关电源是AT电源的一统天下。AT电源的输出功率一般为150~250W,共有四路输出(+5V、-5V、+12V、-12V),另外还向主板提供一个电源正常(PG,Power Good)信号。AT电源的缺点是采用切断交流电源的方式关机,不能实现软件关机。目前随着ATX电源的普及,AT电源已淡出市场。     Intel在1997年推出了流行的ATX2.01电源标准。和AT电源相比,ATX电源主要是增加了3.3V输出电压和一个PS-ON信号。其中,3.3V电源给使用低电压的CPU供电,大大降低了主板电路的功耗。5V电源亦称辅助电源,只要插上220V交流电就有5V电压输出。PS-ON信号是主
[电源管理]
基于AVR单片机的可预置程控宽带直流功率放大电路方案设计
   本文采用AVR单片机ATmegal28作为核心控制器,结合10位串行D/A芯片 TLC5615 、功率运放THS3092、可编程增益运放AD603以及其他相关电路,构成了可预置程控宽带直流功率放大电路。该电路系统增益调节范围为O~60 dB,步进间距为1 dB,频带为DC~10 MHz,输出电压有效值为10 V,矩阵键盘预置增益值步进,点阵液晶显示实时电压有效值,人机界面友好,操作简单方便。   1 系统总体方案   若采用可编程放大的思想,将输入的信号作为高速D/A转换器的基准电压,那么D/A转换器作为一个程控衰减器,对速度的要求很高。同时,为了实现O~60 dB增益可调,势必需要D/A转换器输出衰减最少60 d
[单片机]
基于AVR单片机的可预置程控宽带直流功率<font color='red'>放大</font>电路方案设计
MAX9812+MAX4411组成的放大麦克风输入信号的电路
MAX9812+MAX4411组成的放大麦克风输入信号的电路 图1. 该耳机衰减器/放大器具有麦克风监测功能,能够在戴耳机的时候方便对话。 耳机放大器(U1, MAX4411 )和麦克风放大器(U2,MAX9812)可直接采用3V电池供电。标准模式下,两个器件都处于关断模式,消耗极低的电池电流。需要与其他人交谈时,只需按下瞬态开关SW1,开启麦克风。这将开启麦克风放大器的偏置输出,放大外界的声音信号。将放大后的信号连接至耳机放大器,并通过电阻R3、R4将其注入耳机的音频信号中。这种混音方式提供的另一好处是:耳机放大器的低输出阻抗(开启时)可以进一步衰减原耳机通道的音频流。 监控电路的灵敏度可以通过改变R3、R4进行调节。音
[模拟电子]
MAX9812+MAX4411组成的<font color='red'>放大</font>麦克风输入信号的电路
三款麦克风前置放大器电路图分享
麦克风前置放大器电路(一) 这是一个非常灵敏的麦克风前置放大器电路的原理图,可用于增加麦克风的增益或增强来自麦克风的音频信号。该电路非常简单,仅包含少量组件,如果所有部件都可用,则可以在几分钟内组装完成。 这是一个多功能麦克风前置放大器电路,可用于多种用途。电路中使用10K电位器来增加或减少增益。晶体管2N3904是一款通用晶体管。该电路可在 3 至 9 伏直流电压之间运行。 麦克风前置放大器电路(二) 为大家介绍体积极小、成本优化的驻极体电容式麦克风前置放大器电路。该设计采用TLV9061,这是一枚极致小巧的运算放大器(op amp),采用0.8mm×0.8mm超小外形无引线(X2SON)封装技术。驻极体麦克风放大器的电
[嵌入式]
三款麦克风前置<font color='red'>放大</font>器电路图分享
AD52058支持2x15W立体声D类音频放大器,兼容TPA3136/TPA3138/TPA3110
AD52058是一个高效的立体声D类音频放大器,具有可调的功率限制功能。扬声器驱动器从4.5V~14.4V电源电压工作。在播放音乐时,可在12V电源电压下,将15W/CH输出功率输入4欧扬声器,没有外部散热器。可调功率限制功能允许用户设置一个低于5.5V的一半的电压轨道,以限制通过扬声器的电流量。输出直流检测可防止长时间电流应力造成的扬声器损坏。AD52058为无过滤器的应用程序提供了优越的EMC性能。输出短路和过温保护包括自动恢复功能。 93%的转换效率,不需要散热器,差分输入,内部振荡器,短路保护与自动恢复功能,过压检测与保护,流行噪音和点击降噪,可调功率限制功能的扬声器保护,输出直流检测扬声器保护,过热保护与自动恢复。
[嵌入式]
AD52058支持2x15W立体声D类音频<font color='red'>放大</font>器,兼容TPA3136/TPA3138/TPA3110
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved