欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法與流程

文檔序號(hào):12174695閱讀:1454來(lái)源:國(guó)知局
一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法與流程

本發(fā)明涉及一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法,屬于空間微波遙感技術(shù)領(lǐng)域。



背景技術(shù):

合成孔徑雷達(dá)的工程實(shí)現(xiàn),需要完成大數(shù)據(jù)量的高速存儲(chǔ)和實(shí)時(shí)處理,當(dāng)前主流FPGA集成了大量運(yùn)算單元和可實(shí)現(xiàn)一定功能的IP核,在復(fù)數(shù)乘法、FFT處理等數(shù)字信號(hào)處理步驟中具有很大優(yōu)勢(shì),并且可以并行處理多路數(shù)據(jù),已成為合成孔徑雷達(dá)的信號(hào)處理器的核心處理芯片。

合成孔徑雷達(dá)實(shí)時(shí)成像處理流程需要依次對(duì)距離向和方位向的數(shù)據(jù)做處理,要完成至少一次矩陣轉(zhuǎn)置。最簡(jiǎn)單的矩陣轉(zhuǎn)置基于FPGA內(nèi)部RAM實(shí)現(xiàn),將按距離向存儲(chǔ)的數(shù)據(jù)通過(guò)地址跳變讀出,實(shí)現(xiàn)按方位向讀出。但由于FPGA內(nèi)部資源有限,僅通過(guò)FPGA內(nèi)部資源已經(jīng)無(wú)法滿足當(dāng)前大批量圖像數(shù)據(jù)的緩存需求。

當(dāng)前廣泛使用DDR3 SDRAM(第三代雙倍數(shù)據(jù)率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)完成數(shù)據(jù)緩存,DDR3 SRAM具有存儲(chǔ)量大,讀寫速率高等特點(diǎn)。但是由于DDR3 SRAM器件自身特性,頻繁的行地址切換會(huì)大大降低其讀寫效率,因此將數(shù)據(jù)逐行存入DDR3 SRAM再按列讀出效率很低,如何將DDR3 SDRAM中的數(shù)據(jù)在原存儲(chǔ)空間內(nèi)盡量高效地完成轉(zhuǎn)置是雷達(dá)信號(hào)處理成像算法工程實(shí)現(xiàn)的難點(diǎn)。

原位轉(zhuǎn)置是指在不占用更多存儲(chǔ)的情況下將矩陣在原存儲(chǔ)空間內(nèi)完成轉(zhuǎn)置?,F(xiàn)有的原位轉(zhuǎn)置方法較少,目前基于DDR3 SRAM的矩陣轉(zhuǎn)置主要采用對(duì)大矩陣進(jìn)行劃分、再對(duì)劃分出的小方陣依次完成轉(zhuǎn)置的方法,從而降低DDR3 SRAM行切換次數(shù),提高處理效率。但在實(shí)際工程應(yīng)用中,這種單一的劃分方法不能覆蓋各種情況,對(duì)于行、列數(shù)不相等的矩陣,劃分情況較多,尚無(wú)通用化的FPGA原位數(shù)據(jù)轉(zhuǎn)置軟件模塊。

專利《基于FPGA的SAR成像信號(hào)處理數(shù)據(jù)轉(zhuǎn)置方法》(公開號(hào)102279386A)中的數(shù)據(jù)轉(zhuǎn)置方法為:對(duì)DDR2 SRAM中的數(shù)據(jù)進(jìn)行矩陣分割,劃分為對(duì)角模式矩陣塊、對(duì)稱非對(duì)角模式矩陣塊和非對(duì)稱非對(duì)角模式矩陣塊三類,依次將各部分矩陣塊讀入內(nèi)存完成轉(zhuǎn)置再寫回DDR2 SRAM。這種矩陣劃分方法不能覆蓋各種情況,并不適用于行列數(shù)相差很小或是很大的情況,并且此專利對(duì)于對(duì)稱非對(duì)角模式矩陣塊的轉(zhuǎn)置處理方法不利于FPGA工程實(shí)現(xiàn),代碼通用性較差。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的技術(shù)解決問(wèn)題是:提供了一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法,結(jié)合FPGA工程實(shí)現(xiàn)特點(diǎn)建立了處理方法選擇模型,能夠靈活地針對(duì)雷達(dá)信號(hào)處理的數(shù)據(jù)量進(jìn)行判斷,結(jié)合實(shí)際工程情況給出最合適的原位轉(zhuǎn)置方法,統(tǒng)一了基于DDR3 SRAM的FPGA原位數(shù)據(jù)轉(zhuǎn)置的各種應(yīng)用情況,解決了當(dāng)前處理方法通用性差、應(yīng)用范圍有限、軟件移植性差等缺點(diǎn),為雷達(dá)實(shí)時(shí)成像處理的工程實(shí)現(xiàn)打下了關(guān)鍵基礎(chǔ)。

本發(fā)明的技術(shù)解決方案是:

一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法,如圖1所示如下:

(1)建立轉(zhuǎn)置方法模型

將距離點(diǎn)數(shù)M和方位向點(diǎn)數(shù)N的比值作為標(biāo)準(zhǔn)建立FPGA原位轉(zhuǎn)置處理方法模型,便于權(quán)衡工程實(shí)現(xiàn)難度和處理效率。提出的方法模型為:

當(dāng)為基本的方陣轉(zhuǎn)置方法;

當(dāng)或?yàn)榉椒?;

當(dāng)或?yàn)榉椒?;

當(dāng)或?yàn)榉椒?;

(2)確定P、Q取值

上述判斷標(biāo)準(zhǔn)中P、Q均為整數(shù),且滿足的取值會(huì)影響對(duì)方法1和方法2的選擇,需要結(jié)合工程實(shí)現(xiàn)難度和算法處理效率確定,針對(duì)方法1和方法2,在處理時(shí)序足夠的情況下,的取值接近2則更利于選擇方法2;

(3)基本的方陣轉(zhuǎn)置方法

當(dāng)M、N相等時(shí),采用基本的方陣轉(zhuǎn)置方法,將方陣劃分為L(zhǎng)階的小方陣。所述小方陣分為兩類:A類為對(duì)角線上的方陣,依次將A類方陣內(nèi)的數(shù)據(jù)逐行讀出到FPGA內(nèi)部RAM,讀地址按L跳轉(zhuǎn)讀出RAM中的數(shù)據(jù),再逐行寫回DDR3SDRAM中原地址;B類為關(guān)于對(duì)角線對(duì)稱的方陣,每次需要讀出關(guān)于對(duì)角線對(duì)稱的兩個(gè)B類方陣到FPGA內(nèi)部RAM,通過(guò)讀地址按L跳轉(zhuǎn)讀出RAM中的數(shù)據(jù)分別完成兩個(gè)方陣內(nèi)部的數(shù)據(jù)的轉(zhuǎn)置,在將兩個(gè)方陣交換位置寫回DDR3SDRAM;

(4)方法1:劃分方陣

當(dāng)或時(shí),采用方法1,將數(shù)據(jù)劃分為一個(gè)以M、N中較小值為階數(shù)的方陣和一個(gè)小矩陣,劃分出的方陣按照基本的方陣轉(zhuǎn)置方法進(jìn)行分塊處理,對(duì)于多出的數(shù)據(jù)區(qū)單獨(dú)劃分為小方陣,逐一讀入FPGA內(nèi)部RAM完成轉(zhuǎn)置在寫回DDR3 SRAM中與原地址對(duì)稱的位置;

(5)方法2:擴(kuò)充方陣

當(dāng)或時(shí),采用方法2,將數(shù)據(jù)矩陣擴(kuò)充為以M、N中較大值為階數(shù)的方陣,然后直接按照基本的方陣轉(zhuǎn)置方法進(jìn)行分塊處理完成原位轉(zhuǎn)置,在后續(xù)處理中忽略擴(kuò)充的數(shù)據(jù)區(qū)即可;

(6)方法3:劃分多個(gè)方陣

當(dāng)M、N相差在一倍以上時(shí),采用方法3,將矩陣劃分為多個(gè)以M、N中較小值為階數(shù)的方陣,不足整數(shù)個(gè)方陣的擴(kuò)充數(shù)據(jù)劃分到整數(shù)個(gè),對(duì)每個(gè)方陣直接按照基本的方陣轉(zhuǎn)置方法進(jìn)行分塊處理完成原位轉(zhuǎn)置。

本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是:

本發(fā)明所述的一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法,在原有數(shù)據(jù)存儲(chǔ)的基礎(chǔ)上進(jìn)行數(shù)據(jù)劃分,不需要額外占用DDR3 SRAM存儲(chǔ),可以最大化地節(jié)省存儲(chǔ)空間、減小硬件規(guī)模。

技術(shù)方案(1)建立轉(zhuǎn)置方法模型,首次將距離點(diǎn)數(shù)M和方位向點(diǎn)數(shù)N的比值作為標(biāo)準(zhǔn)建立了FPGA原位轉(zhuǎn)置處理方法模型,該模型統(tǒng)一了基于DDR3 SRAM的FPGA原位數(shù)據(jù)轉(zhuǎn)置的各種應(yīng)用情況,對(duì)大矩陣劃分方法進(jìn)行細(xì)化,利于工程開展,解決了現(xiàn)有處理方法通用性差,不能滿足各種應(yīng)用場(chǎng)景的缺點(diǎn)。

技術(shù)方案(2)確定P、Q的取值,便于設(shè)計(jì)師在FPGA軟件設(shè)計(jì)初期權(quán)衡FPGA代碼設(shè)計(jì)難度和處理效率,給出合適方法,相比于現(xiàn)有方法,更利于后續(xù)軟件編寫。

技術(shù)方案(3)、(4)、(5)、(6)中所述的四種方法覆蓋了基于DDR3 SRAM的FPGA原位數(shù)據(jù)轉(zhuǎn)置的各種應(yīng)用情況,克服了現(xiàn)有專利覆蓋情況不全、并未考慮行列數(shù)相差很小或較大情況的缺點(diǎn);克服現(xiàn)有方法通用性差、實(shí)現(xiàn)方法不全面的缺點(diǎn)。

技術(shù)方案(4)、(5)、(6)所述的方法將數(shù)據(jù)行列不等的情況作以細(xì)分,并且通過(guò)矩陣劃分將各種情況都簡(jiǎn)化到技術(shù)方案(2)所述的便于工程實(shí)現(xiàn)的方陣轉(zhuǎn)置方法,因此在FPGA工程實(shí)現(xiàn)中,行列不等的數(shù)據(jù)矩陣在劃分后都可以調(diào)用方陣轉(zhuǎn)置處理模塊,克服了當(dāng)前轉(zhuǎn)置算法工程實(shí)現(xiàn)難度大的缺點(diǎn),利于軟件工程化的實(shí)現(xiàn),便于代碼移植。

附圖說(shuō)明

圖1為本發(fā)明的實(shí)現(xiàn)原理圖;

圖2為本發(fā)明中方陣分塊轉(zhuǎn)置方法;

圖3為本發(fā)明中方法1的分塊轉(zhuǎn)置方法;

圖4為本發(fā)明中方法2的分塊轉(zhuǎn)置方法;

圖5為本發(fā)明中方法3的分塊轉(zhuǎn)置方法。

具體實(shí)施方式

一種通用的FPGA原位數(shù)據(jù)轉(zhuǎn)置分塊方法:

(1)FPGA將預(yù)處理后的回波數(shù)據(jù)逐脈沖依次存入DDR3 SRAM各行進(jìn)行緩存,需要存夠一幅圖像所需脈組數(shù)N。

(2)將每幀圖像距離向處理點(diǎn)數(shù)M和方位向處理點(diǎn)數(shù)N的比值代入方法選擇模型進(jìn)行判斷,所述判斷模型為:

當(dāng)為基本的方陣轉(zhuǎn)置方法;

當(dāng)或?yàn)榉椒?;

當(dāng)或?yàn)榉椒?;

當(dāng)或?yàn)榉椒?;

(3)結(jié)合工程實(shí)現(xiàn)難度和算法處理效率確定P、Q的值,P、Q均為整數(shù),且滿足

(4)當(dāng)M、N相等時(shí),采用基本的方陣轉(zhuǎn)置方法,如圖2所示。將方陣劃分為L(zhǎng)階的小方陣,L通常取32或64。所述小方陣分為兩類:A類為對(duì)角線上的方陣,依次將A類方陣內(nèi)的數(shù)據(jù)逐行讀出到FPGA內(nèi)部RAM,讀地址按L跳轉(zhuǎn)讀出RAM中的數(shù)據(jù),再逐行寫回DDR3 SDRAM中原地址;B類為關(guān)于對(duì)角線對(duì)稱的方陣,每次需要讀出關(guān)于對(duì)角線對(duì)稱的兩個(gè)B類方陣到FPGA內(nèi)部RAM,通過(guò)讀地址按L跳轉(zhuǎn)讀出RAM中的數(shù)據(jù)分別完成兩個(gè)方陣內(nèi)部的數(shù)據(jù)的轉(zhuǎn)置,在將兩個(gè)方陣交換位置寫回DDR3 SDRAM,如B_11內(nèi)部轉(zhuǎn)置后寫到B_12的位置,B_12內(nèi)部轉(zhuǎn)置后寫到B_11的位置;

(5)當(dāng)或采用方法1,將數(shù)據(jù)劃分為一個(gè)以M、N中較小值為階數(shù)的方陣和一個(gè)小矩陣,如圖3所示,A為劃分出的方陣中對(duì)角線上的小方陣,B為劃分出的方陣中關(guān)于對(duì)角線對(duì)稱的小方陣;A類和B類矩陣按照附圖1中的方陣轉(zhuǎn)置方法進(jìn)行分塊處理;對(duì)于方陣劃分后多出的部分單獨(dú)劃分為小方陣C,逐一讀入FPGA內(nèi)部RAM完成轉(zhuǎn)置在寫回DDR3 SRAM中與原地址對(duì)稱的位置;

(6)當(dāng)或采用方法2,將數(shù)據(jù)矩陣擴(kuò)充為以M、N中較大值為階數(shù)的方陣,如圖4所示,虛線部分為擴(kuò)充的數(shù)據(jù),擴(kuò)充后可以直接套用圖1中的方陣轉(zhuǎn)置方法,依次對(duì)對(duì)角線上的A類矩陣和關(guān)于對(duì)角線對(duì)稱的B類矩陣做處理,在后續(xù)處理中忽略擴(kuò)充的數(shù)據(jù)區(qū)即可。工程實(shí)現(xiàn)時(shí)可以直接移植方陣轉(zhuǎn)置處理代碼模塊。

(7)當(dāng)或即M、N相差在一倍以上時(shí),采用方法3,將矩陣劃分為多個(gè)以M、N中較小值為階數(shù)的方陣,如圖5所示,將原矩陣劃分為A、B、C三個(gè)方陣,M比N或者N比M的比值不是整數(shù)時(shí),擴(kuò)充數(shù)據(jù)保證可以劃分為整數(shù)個(gè)方陣。每個(gè)方陣再套用圖2中的方陣轉(zhuǎn)置方法劃分小方陣完成轉(zhuǎn)置,工程實(shí)現(xiàn)中各方陣可以直接移植方陣轉(zhuǎn)置處理代碼模塊。

本發(fā)明實(shí)施例:取L=32。

情況1:距離點(diǎn)數(shù)M=768,N=512,此時(shí)滿足采用方法二,將N擴(kuò)充到768,使得數(shù)據(jù)成為為768階的方陣,在將擴(kuò)充后的方陣劃分為24*24個(gè)32階的小方陣,調(diào)用方陣轉(zhuǎn)置模塊完成轉(zhuǎn)置。

情況2:距離點(diǎn)數(shù)M=2048,N=256,此時(shí)采取方法三,以N為階數(shù)將矩陣劃分為8個(gè)階數(shù)為256的方陣,將每個(gè)方陣再劃分為8乘8個(gè)32階的小方陣,調(diào)用方陣轉(zhuǎn)置模塊完成轉(zhuǎn)置,將轉(zhuǎn)置結(jié)果放到與原地址行列對(duì)稱的地址。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿城市| 靖远县| 奇台县| 施甸县| 景洪市| 毕节市| 澎湖县| 浮山县| 平泉县| 苏尼特左旗| 莱阳市| 紫金县| 巴彦淖尔市| 红原县| 东莞市| 英超| 恩平市| 德化县| 东乡| 麻栗坡县| 潮安县| 兴仁县| 沙湾县| 峨山| 古交市| 乌海市| 陵川县| 巴塘县| 遵义市| 舒兰市| 黄大仙区| 榆林市| 来安县| 城固县| 保德县| 中阳县| 乌鲁木齐市| 文水县| 陆河县| 包头市| 确山县|