《FPGA代做VGA滤波视频信号终端显示.docx》由会员分享,可在线阅读,更多相关《FPGA代做VGA滤波视频信号终端显示.docx(13页珍藏版)》请在第一文库网上搜索。
1、代码设计说明这里,你所提出的实时成像和SDRAM的使用,有问题,因为外面板子送进来的时候,是通过ADC进入的中频信号,此时,我们不可能直接将其保存到SDRAM中暂存,通常的做法是这样的,即外部送入的中频信号,通过同步之后,解调之后得到二进制bit信号,然后二进制bit信号转换为RGB信息,最后得到图像像素信号。此外,我们通常在图像信息中加入了帧头信息,根据帧头信息通过VGA接口显示出来。以上是完整的系统的工作过程,以上的系统的基本结构如下所示:接收端以上是实际中完整的结构,系统中会涉及到两块板子中的时钟,这个就是设计一个时钟采样同步的问题,即所谓的时钟同步。一般这种情况,往往使用内插的方式来解
2、决。这是由于,在实际中,超生波接收到的信号是由本身系统发送出去反射回来得到的,因此从另外一方面将,其是同步的。但是在接收的时候通过内插的方法解决其中的延迟问题。但是,这里,按照你的要求,即实现将中频信号保存在存储器中,然后进行说明。这里,一方面,开发板没有AD和DA接口,而且系统只有一个时钟,本课题的基本结构为:接收端:SPartan3E1600开发板以上是本系统,我们所做的结构,这里你放心,虽然在一块开发板内,无法模拟出两个开发板的实际情况,但是,我们还是对这里所涉及到的同步模块进行了设计和仿真。其实,该系统的重点就是对AD进入的信号进行同步,解调处理而获得图像信息,并最后通过VGA接口在电
3、脑上进行显示。其外,由于开发板没有AD和DA,故本课题不包括AD和DA的FPGA配置程序。3.1 系统的整体构架(本系统采用的结构是单阵元合成孔径聚焦方法)根据论文中的介绍,整个系统分为如下几个部分: 模拟发送信号,这个部分由MAT1AB产生测试数据并量化,保存到硬件存储器中; 1MS自适应滤波器; banning窗; 延迟处理; 聚焦成像; VGA显不; 同步(MAT1AB中没有该模块,FPGA中加入了这个模块) 送入到PC机中进行成像(这里暂时使用chipscope进行采集,然后使用MAT1AB显示);打开文件夹:使用MAT1AB进行运行,得到如下的仿真结果:论文图2.3a0.5:-1-0
4、.5-100101论文图23c20-51II;1fJ-27350740074507500论文图2.3b100715072007250直接累加580059006000这个是对应你的论文的图2.3的几个效果图。数据预处理1MS之后的信号1MS之后的信号直接累加滤波型1MS自适应滤波器的e(nK的曲裱波型期5自适应滤波器的学习曲线图这个是自适应滤波器的仿真效果。直接累加延迟聚焦这个是最后的聚焦后的效果,最后进行成像,得到如下的仿真结果。上图是成像的效果,其中左图是正确情况下的仿真结果,右图是存在延迟误差的仿真结果。由于,这里,我们是认为的设立输入信号,所以,这里,我们就使用上面的效果图进行仿真和FP
5、GA实现。下而就这些模块进行FPGA设计和具体讲解其中的原理和设计方法。这里,由于量化后的二进制数据为16位,所以我们在量化的时候,乘以2的14次方,多的两位作为信号的符号位,在FPGA中使用二进制补码进行计算。运行好MAT1AB之后,会产生如下的文件:S1S2S3S4S5S6.coeSTS8这几个信号就是模拟实际8个阵元发送出去的脉冲序列。在FPGA中使用ROM调用这些数据。来实现发送端的模拟。FPGA中的工程如下所示:BQxc3s1600e-5fg320白0Oisigna1._gen(signa1_gen.v)ROM_sROM_sROM_sROM_sROI1SROM_sROM_sROMsg
6、na1_gen_u1-ROM_signa1-gen(ROM_signa1-gen.xco)gna1_gen_u2_ROM_signa1_gen_2gna1_gen_u3-ROM_signa1_gen_3gna1_gen_u4-ROM_signa1_gen_4gna1_gen_u5ROM_signa1_gen_5gna1_gen_u6-ROM_signa1_gen_6gna1_gen_u7-ROM_signa1_gen_7gna1_gen_u8_ROM_signa1_gen_8(ROM_signa1_gen_2.XCo)0ROM_signa1_gen_3.xco)CROM_signa1_gen_
7、4.xco)CROM_signa1_gen_5.xco)0ROM-igna1_gen_6.xco)CRoM_signa1_gen_7.XCO)(RoM_signa1_gen_8.xco)通过mode1sim仿真结果如下所示:上图中的仿真结果就是模拟实际中不同正源发射到接收机的回波信号。因此,我们将数据直接保存到FPGA内部自带的BRAM中是完全可行的。3.2.21MS自适应滤波器你对论文中的自适应滤波器,说感觉不太明白,其实,自适应滤波器和普通的滤波器有个共同的特点,就是滤波,而自适应滤波器的最大优势是可以自动的调整其系数值,从而自动适应到最佳的滤波效果,用简单的公式可以如下资料1MS自适应滤
8、波器实园尚基于。S自适应滤波验.PPtIJ器.pdfMicrosoftPowerP.PDFDocument这个两个资料中,对自适应滤波器介绍的比较简单明了。(1MS自适应滤波器是本系统最有难度的模块,下面对该模块进行设计介绍)MAT1AB仿真结果如下所示:延迟聚焦叠加处理这个模块,本质上的功能是将不同的接收信号,乘以一个h函数,然后相加,其结构可以用如下的模型来表示:这里的h(n)函数是实现计算好的延迟函数,这个函数通常情况下由环能器的切换速度计算得到。将事先计算的h函数保存在FPGA中,然后将不同路径反射回来的信号和h函数相乘,从而得到延迟纠正后的数据,并最后叠加输出。完成聚焦步骤。这里主要
9、是延迟处理模块,由于在实际情况中,根据公式rMc其中:xf1sinffTn=C也就是说在实际中,这个h函数的计算是由介质的声速,测试点和中心孔径的距离,换能器之间的间隔以及扫描角度决定的。因此,我们在处理的时候,主要根据已知的参数,计算出这个值,然后根据这个值来决定延迟大小。而这个值,一般是由软件系统计算然后反馈给FPGA,所以,我们在设计的时候,是之间将该数据送入到FPGA中进行处理。这个部分的FPGA资源占用情况如下所示:其仿真结果如下所示:s.*110IRH6I693H25IH*ncPu1wBiMrkPurebFwmtProchWho1eIhNVicDATAyyr(RGB)A)DATAR
10、1Visib1caea区域才行效VGA的时序根据不同的显示分辨率和刷新频率会有变化,具体各种类型的时序信息可以参考下面的网站,这里非常详细的说明的每一种显示模式的VGA时序信息。VSYNC,HSYNC为标准TT1电平,0V3.3V。RGB的电平在0V0.7V之间(OV为黑色,0.7V为全色)。VGA产生行同步(HSYNe),场同步信号(VSYNC),并产生每个像素的地址输入显存中,输出该点需要显示的颜色值。关于VGA,更多的信息可以看如下的网站:http:Www.tinyvga.Comvga-timing我们在FPGA中,这里给出的VGA程序,是一个单独验证VGA接口的程序,在后面总的系统中,
11、才将该接口和前面的聚焦模块合并进行成像。从上面的仿真结果可知,VGA接口可以正常工作了。鬲品厢A.不ucf3.ucf3.2.7总体设计通过前面的说明,总体上,我们的程序见如下的文件夹:G_A11_system(注意这个版本是整个系统的仿真版本)整个系统的基本构架如下所示:通过前面的介绍,我们已经初步完成了整个系统的各个部分,系统的总体框架如下所示:系统整体的仿真(注意,这个部分仅仅处于仿真阶段,所以没有加入VGA一起仿真))3)4)5)6)7)8)9完整系统的仿真结果如下所示:integerfid1;initia1beginfid1open(,Rec.txtr,);$fmonitor(fid1
12、,fd,zo_doutJJ_de1ay);end这段代码就是自动将仿真结果保存到txt文件中的,然后MAT1AB调用仿真后的数据文件,进行成像。ts.topj7Mi1nE5T.tcpt/o.grwC/TEST.tp0ojg/TtST-topco.dou1./TCSTjtcp0o.dout.t51Jctnfoj.dout.BT.ttp*o.dout.t5T.tapo.doa.sjp0o.dtES1jcpdTEST.to*.dUt,694I93992t216a167193K(MO我们将mode1sim仿真得到的数据导入到MAT1AB中,然后在MAT1AB中进行成像,得到如下的结果:”I1UUUXU1iap.A4PIAUJIWJ1XUXXuI0Rec.txt173KB文本文档MAT1AB调用这个数据文件夹这说明FPGA系统是正确的。