基于fpga實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法
【專(zhuān)利摘要】本發(fā)明提供一種基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法,在FPGA中對(duì)GHz及以上高速原始采樣數(shù)據(jù)進(jìn)行一定抽取比的直接抽取,該方法要求輸入數(shù)據(jù)為一組按序排列的高速A/D采集數(shù)據(jù)字段,輸出則將實(shí)現(xiàn)與輸入順序相同的寬度相同的速率降低為抽取比倍的輸出抽取數(shù)據(jù)組。主要應(yīng)用于高速采樣系統(tǒng)對(duì)高速A/D原始采樣數(shù)據(jù)的抽取情況,由于輸入輸出數(shù)據(jù)排序方式一樣,并不打亂高速A/D采樣數(shù)據(jù)進(jìn)行SRAM存儲(chǔ)的順序,所以給SRAM數(shù)據(jù)存取和后續(xù)數(shù)字信號(hào)處理分析帶來(lái)方便,只是通過(guò)一定抽取比進(jìn)行數(shù)據(jù)抽值,使得數(shù)據(jù)速率下降為原速率的抽取比分之一。采用上述方案,成功解決了高速A/D轉(zhuǎn)換器多路輸出時(shí)數(shù)據(jù)直接抽取的任意抽取比抽取活動(dòng),抽取方式靈活。
【專(zhuān)利說(shuō)明】基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)抽取【技術(shù)領(lǐng)域】,尤其涉及的是一種基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法。
【背景技術(shù)】
[0002]數(shù)據(jù)抽取及對(duì)原數(shù)據(jù)序列按一定方式進(jìn)行數(shù)據(jù)抽值,這在很多現(xiàn)實(shí)案例中都有應(yīng)用,一般的抽取方法均為按序順序抽值情況,如某原始數(shù)據(jù)模型的時(shí)間函數(shù)為X(t),(t取0、1、2…無(wú)窮),對(duì)該模型函數(shù)進(jìn)行每N個(gè)值取一個(gè)值的運(yùn)算,及對(duì)該模型進(jìn)行了抽取比為N的抽取運(yùn)作。抽取方法在采樣系統(tǒng)中的應(yīng)用方式及原理也如此,及對(duì)采樣系統(tǒng)按時(shí)間采樣所得的數(shù)據(jù)進(jìn)行一定間隔的抽值行為,其可有效降低數(shù)據(jù)速率。
[0003]基于目前采樣率在GHz及以上的高速Α/D應(yīng)用情況,依數(shù)據(jù)處理應(yīng)用需求的不同,很多情況需對(duì)原始高速Α/D采樣數(shù)據(jù)先進(jìn)行抽取、然后再存儲(chǔ)、運(yùn)算、分析處理。對(duì)高速采樣數(shù)據(jù)在FPGA中進(jìn)行一定抽取比直接抽取的方式是實(shí)現(xiàn)數(shù)據(jù)快速降速、數(shù)據(jù)有效處理、數(shù)據(jù)有效傳輸?shù)姆椒?。由于FPGA處理速率所限,GHz及以上高速Α/D數(shù)據(jù)在FPGA中直接進(jìn)行傳統(tǒng)按序逐個(gè)抽取的方法不能夠?qū)崿F(xiàn),也基于目前高速Α/D轉(zhuǎn)換器分多路降速輸出的情況,因多路數(shù)據(jù)同時(shí)或間隔輸出,這樣就打亂了原來(lái)單路數(shù)據(jù)抽取的模式,無(wú)法直接進(jìn)行等抽取比的直接抽取活動(dòng),抽取情況復(fù)雜多變,為適應(yīng)高速Α/D轉(zhuǎn)換器多路輸出的情況,目前一般的抽取活動(dòng)都是針對(duì)單路進(jìn)行的,如高速Α/D轉(zhuǎn)換器分四路輸出,大多的抽取情況都只針對(duì)其中一路,這樣就導(dǎo)致抽取比因子不能為任意值,只能是特定的情況。如只取單路數(shù)據(jù),則可實(shí)現(xiàn)抽取比4的抽取,如單路數(shù)據(jù)每N個(gè)取一個(gè)值,則進(jìn)行了抽取比為4*N的抽取。這樣的抽取運(yùn)算實(shí)現(xiàn)的抽取比均是4的倍數(shù)關(guān)系,抽取情況受到限制。
[0004]因此,現(xiàn)有技術(shù)存·在缺陷,需要改進(jìn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法。
[0006]本發(fā)明的技術(shù)方案如下:
[0007]一種基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法,其中,包括以下步驟:
[0008]步驟1:輸入12組數(shù)據(jù);判斷抽取比是否小于12,是則進(jìn)入步驟6,否則進(jìn)入步驟
2;
[0009]步驟2:判斷計(jì)數(shù)值是否達(dá)到抽值條件,是則進(jìn)入步驟3,否則計(jì)數(shù)增加12后返回步驟1 ;
[0010]步驟3:定位抽取步驟1中12組數(shù)據(jù)中的一個(gè)值作為抽取值,進(jìn)入步驟4,再余數(shù)計(jì)入下次循環(huán)并返回步驟1;
[0011]步驟4:將抽取值按序賦予輸出數(shù);進(jìn)入步驟5 ;[0012]步驟5:判斷是否滿(mǎn)足12組數(shù)據(jù)輸出條件,是則輸出抽取的12組數(shù)據(jù)的數(shù)值,并輸出計(jì)數(shù)清零后,返回步驟4 ;否則輸出計(jì)數(shù)加1后返回步驟4 ;
[0013]步驟6:依據(jù)抽取比進(jìn)行分類(lèi)處理,當(dāng)抽取比為2時(shí)進(jìn)入步驟7 ;當(dāng)抽取比為3時(shí)進(jìn)入步驟8 ;當(dāng)抽取比為4時(shí)進(jìn)入步驟9 ;當(dāng)抽取比為5時(shí)進(jìn)入步驟10 ;當(dāng)抽取比為6時(shí)進(jìn)入步驟11 ;當(dāng)抽取比為7時(shí)進(jìn)入步驟12 ;當(dāng)抽取比為8時(shí)進(jìn)入步驟13 ;當(dāng)抽取比為9時(shí)進(jìn)入步驟14 ;當(dāng)抽取比為10時(shí)進(jìn)入步驟15 ;當(dāng)抽取比為11時(shí)進(jìn)入步驟16;
[0014]步驟7:抽取比為2時(shí)抽值處理,并返回步驟1;
[0015]步驟8:抽取比為3時(shí)抽值處理,并返回步驟1 ;
[0016]步驟9:抽取比為4時(shí)抽值處理,并返回步驟1 ;
[0017]步驟10:抽取比為5時(shí)抽值處理,并返回步驟1 ;
[0018]步驟11:抽取比為6時(shí)抽值處理,并返回步驟1 ;
[0019]步驟12:抽取比為7時(shí)抽值處理,并返回步驟1 ;
[0020]步驟13:抽取比為8時(shí)抽值處理,并返回步驟1 ;
[0021]步驟14:抽取比為9時(shí)抽值處理,并返回步驟1 ;
[0022]步驟15:抽取比為10時(shí)抽值處理,并返回步驟1 ;
[0023]步驟16:抽取比為11時(shí)抽值處理,并返回步驟1 ;
[0024]所述的抽取方法,其中,所述步驟1中的12組數(shù)據(jù)為3次Α/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行組合抽取。
[0025]所述的抽取方法,其中,所述步驟2中,抽值條件為計(jì)數(shù)值小于等于抽取比,并大于抽取比減12。
[0026]所述的抽取方法,其中,所述步驟5中的輸出條件為輸出計(jì)數(shù)值是否能被除數(shù)整除,所述除數(shù)為11。
[0027]所述的抽取方法,其中,所述步驟3中,所述抽取步驟1中12組數(shù)據(jù)中的一個(gè)值是在滿(mǎn)足抽值條件時(shí),所定位的數(shù)據(jù)為計(jì)數(shù)等于抽取比的數(shù)值。
[0028]所述的抽取方法,其中,所述步驟1中,所述抽取比為2時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取6個(gè)數(shù),需2次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/2 ;所述抽取比為3時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取4個(gè)數(shù),需3次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/3 ;所述抽取比為4時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取3個(gè)數(shù),需4次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/4 ;所述抽取比為5時(shí),從循環(huán)的開(kāi)始每5個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作5次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/5 ;所述抽取比為6時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取2個(gè)數(shù),共需循環(huán)操作6次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/6 ;所述抽取比為7時(shí),從循環(huán)的開(kāi)始每7個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作7次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/7 ;所述抽取比為8時(shí),從循環(huán)的開(kāi)始每8個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作8次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/8 ;所述抽取比為9時(shí),從循環(huán)的開(kāi)始每9個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作9次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/9 ;所述抽取比為10時(shí),從循環(huán)的開(kāi)始每10個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作10次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/10 ;抽取比為11時(shí),從循環(huán)的開(kāi)始每11個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作11次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/11 ;所述抽取比大于等于12時(shí),只對(duì)抽取的抽取比值進(jìn)行計(jì)數(shù),滿(mǎn)足條件時(shí)對(duì)當(dāng)前輸入的12個(gè)數(shù)進(jìn)行數(shù)據(jù)定位取數(shù),然后余數(shù)計(jì)入下次總數(shù)。
[0029]采用上述方案,以高速Α/D轉(zhuǎn)換器多路輸出數(shù)據(jù)的應(yīng)用情況下進(jìn)行對(duì)高速Α/D轉(zhuǎn)換數(shù)據(jù)的直接抽取為背景,成功解決了高速Α/D轉(zhuǎn)換器多路輸出時(shí)數(shù)據(jù)直接抽取的任意抽取比抽取活動(dòng),抽取方式靈活。該抽取方法的抽取輸入對(duì)象為12組特定排列的高速Α/D采樣數(shù)據(jù),這樣有利于將高速Α/D采樣數(shù)據(jù)的速率降低處理,為FPGA實(shí)現(xiàn)提供可靠性及方便、實(shí)用性。該抽取方法的抽取輸出為與輸入排列順序相同的12組特定抽取數(shù)值。這樣有利于抽取數(shù)據(jù)輸出與后端SRAM等存儲(chǔ)器件的匹配,也有利于后續(xù)數(shù)字信號(hào)分析處理。該方法分抽取比小于12和大于等于12兩種情況分別做處理,對(duì)小于12的抽取比又分別單獨(dú)設(shè)計(jì)處理,使復(fù)雜情況得以有調(diào)理的簡(jiǎn)化,降低難度。在抽取比方面本方法可實(shí)現(xiàn)高速Α/D采樣數(shù)據(jù)的任意抽取比抽取情況,使得抽取多樣、靈活,為后續(xù)數(shù)字信號(hào)處理分析提供了保障。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0030]圖1為本發(fā)明方法中抽取比小于12情況的流程圖。
[0031]圖2為本發(fā)明方法中抽取比大于等于12情況的抽取流程圖。
【具體實(shí)施方式】
[0032]實(shí)施例1
[0033]本發(fā)明對(duì)每次輸入的12組數(shù)據(jù)進(jìn)行抽取,在設(shè)計(jì)時(shí)分兩種情況進(jìn)行解決,一種為抽取比小于12的情況,一種為抽取比大于等于12的情況。對(duì)于抽取比小于12的情況,因?yàn)榭赡芤淮屋斎肜镆槎鄠€(gè)值,根據(jù)抽取比的不同,每一種抽取比單獨(dú)處理。對(duì)于抽取比大于等于12的情況來(lái)說(shuō),每次輸入最多只有一個(gè)抽取值,通過(guò)作循環(huán)算法即可實(shí)現(xiàn)。本抽取方法可實(shí)現(xiàn)高速Α/D采樣數(shù)據(jù)的任意抽取比抽取。
[0034]該方法的輸入輸出數(shù)據(jù)都為12組按一定順序排列的數(shù)據(jù)組,其輸入輸出數(shù)據(jù)組字段排序及定義如下面描述所示:
[0035]輸入定義如下:
[0036]I11I10109108 107106105104I 10310201100
[0037]這里100、101、102、103、104、105、106、107、108、109、110、111 為該方法對(duì)應(yīng)于Α/D采樣數(shù)據(jù)的12個(gè)高速Α/D采樣數(shù)據(jù)值字段。其中100在時(shí)間上先于101、101在時(shí)間上先于102,依次類(lèi)推。
[0038]輸出定義如下:
[0039]011010009008 007006005004 003002001000
[0040]這里000、001、002、003、004、005、006、007、008、009、010、011 為抽取輸出的 12
個(gè)高速Α/D采樣數(shù)據(jù)的抽取值組合數(shù)據(jù)字段。其中000在時(shí)間上先于001、001在時(shí)間上先于002,依次類(lèi)推。
[0041]以下結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0042]如圖1-圖2所示,由以上定義可知輸入輸出數(shù)據(jù)順序定義一樣,下面分別講解各抽取比的實(shí)現(xiàn)過(guò)程,其中輸入抽值表示每次輸入的12個(gè)數(shù)據(jù)中抽取的值,輸出數(shù)據(jù)表示輸入抽值對(duì)應(yīng)的輸出值,循環(huán)次序表示一個(gè)輸出周期中進(jìn)行的第幾次輸入操作:
[0043]1、抽取比2的實(shí)現(xiàn):
[0044]當(dāng)抽取比為2時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取6個(gè)數(shù),需2次操作過(guò)程可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/2。按順序抽取輸入數(shù)據(jù)的輸入輸出對(duì)應(yīng)關(guān)系及循環(huán)次序如下表1所示:
[0045]表1抽取比2時(shí)對(duì)應(yīng)關(guān)系
[0046]
【權(quán)利要求】
1.一種基于FPGA實(shí)現(xiàn)的輸入輸出按序排列的高速數(shù)據(jù)抽取方法,其特征在于,包括以下步驟:步驟1:輸入12組數(shù)據(jù);判斷抽取比是否小于12,是則進(jìn)入步驟6,否則進(jìn)入步驟2 ;步驟2:判斷計(jì)數(shù)值是否達(dá)到抽值條件,是則進(jìn)入步驟3,否則計(jì)數(shù)增加12后返回步驟1;步驟3:定位抽取步驟1中12組數(shù)據(jù)中的一個(gè)值作為抽取值,進(jìn)入步驟4,再余數(shù)計(jì)入下次循環(huán)并返回步驟1 ;步驟4:將抽取值按序賦予輸出數(shù);進(jìn)入步驟5 ;步驟5:判斷是否滿(mǎn)足12組數(shù)據(jù)輸出條件,是則輸出抽取的12組數(shù)據(jù)的數(shù)值,并輸出計(jì)數(shù)清零后,返回步驟4 ;否則輸出計(jì)數(shù)加1后返回步驟4 ;步驟6:依據(jù)抽取比進(jìn)行分類(lèi)處理,當(dāng)抽取比為2時(shí)進(jìn)入步驟7 ;當(dāng)抽取比為3時(shí)進(jìn)入步驟8 ;當(dāng)抽取比為4時(shí)進(jìn)入步驟9 ;當(dāng)抽取比為5時(shí)進(jìn)入步驟10 ;當(dāng)抽取比為6時(shí)進(jìn)入步驟11 ;當(dāng)抽取比為7時(shí)進(jìn)入步驟12 ;當(dāng)抽取比為8時(shí)進(jìn)入步驟13 ;當(dāng)抽取比為9時(shí)進(jìn)入步驟14 ;當(dāng)抽取比為10時(shí)進(jìn)入步驟15 ;當(dāng)抽取比為11時(shí)進(jìn)入步驟16;步驟7:抽取比為2時(shí)抽值處理,并返回步驟1;步驟8:抽取比為3時(shí)抽值處理,并返回步驟1 ;步驟9:抽取比為4時(shí)抽值處理,并返回步驟1 ;步驟10:抽取比為5時(shí)抽值處理,并返回步驟1 ;步驟11:抽取比為6時(shí)抽值處理,并返回步驟1 ;步驟12:抽取比為7時(shí)抽值處理,并返回步驟1 ;步驟13:抽取比為8時(shí)抽值處理,并返回步驟1 ;步驟14:抽取比為9時(shí)抽值處理,并返回步驟1 ;步驟15:抽取比為10時(shí)抽值處理,并返回步驟1 ;步驟16:抽取比為11時(shí)抽值處理,并返回步驟1 ;
2.如權(quán)利要求1所述的抽取方法,其特征在于,所述步驟1中的12組數(shù)據(jù)為3次A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行組合抽取。
3.如權(quán)利要求1所述的抽取方法,其特征在于,所述步驟2中,抽值條件為計(jì)數(shù)值小于等于抽取比,并大于抽取比減12。
4.如權(quán)利要求1所述的抽取方法,其特征在于,所述步驟5中的輸出條件為輸出計(jì)數(shù)值是否能被除數(shù)整除,所述除數(shù)為11。
5.如權(quán)利要求1所述的抽取方法,其特征在于,所述步驟3中,所述抽取步驟1中12組數(shù)據(jù)中的一個(gè)值是在滿(mǎn)足抽值條件時(shí),所定位的數(shù)據(jù)為計(jì)數(shù)等于抽取比的數(shù)值。
6.如權(quán)利要求1所述的抽取方法,其特征在于,所述步驟1中,所述抽取比為2時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取6個(gè)數(shù),需2次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/2 ;所述抽取比為3時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取4個(gè)數(shù),需3次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/3 ;所述抽取比為4時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取3個(gè)數(shù),需4次操作過(guò)程抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/4 ;所述抽取比為5時(shí),從循環(huán)的開(kāi)始每5個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作5次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/5 ;所述抽取比為6時(shí),每次從輸入的12個(gè)數(shù)據(jù)中抽取2個(gè)數(shù),共需循環(huán)操作6次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/6 ;所述抽取比為7時(shí),從循環(huán)的開(kāi)始每7個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作7次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/7 ;所述抽取比為8時(shí),從循環(huán)的開(kāi)始每8個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作8次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/8 ;所述抽取比為9時(shí),從循環(huán)的開(kāi)始每9個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作9次抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/9 ;所述抽取比為10時(shí),從循環(huán)的開(kāi)始每10個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作10次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/10 ;抽取比為11時(shí),從循環(huán)的開(kāi)始每11個(gè)抽取一個(gè)值,余數(shù)計(jì)入下次的總數(shù),共需循環(huán)操作11次可抽滿(mǎn)一次輸出組合,輸出數(shù)據(jù)率降為輸入的1/11 ;所述抽取比大于等于12時(shí),只對(duì)抽取的抽取比值進(jìn)行計(jì)數(shù),滿(mǎn)足條件時(shí)對(duì)當(dāng)前輸入的12個(gè)數(shù)進(jìn)行數(shù)據(jù)定位取數(shù),然后余數(shù)計(jì)入下次總數(shù)。
【文檔編號(hào)】G06F17/30GK103678596SQ201310683763
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年12月16日 優(yōu)先權(quán)日:2013年12月16日
【發(fā)明者】白月勝, 邵利艷 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第四十一研究所