當前位置:首頁 » 操作系統 » bm演算法應用

bm演算法應用

發布時間: 2022-12-25 07:17:20

❶ bm演算法求出的視差圖是什麼類型值

preFilterType:預處理濾波器的類型,主要是用於降低亮度失真(photometric distortions)、消除雜訊和增強紋理等, 有兩種可選類型:CV_STEREO_BM_NORMALIZED_RESPONSE(歸一化響應) 或者 CV_STEREO_BM_XSOBEL(水平方向Sobel運算元,默認類型), 該參數為 int 型;
preFilterSize:預處理濾波器窗口大小,容許范圍是[5,255],一般應該在 5x5..21x21 之間,參數必須為奇數值。

❷ 指出BM演算法與KMP演算法的區別

KMP演算法和BM演算法,它們分別是前綴匹配和後綴匹配的經典演算法。
1、因為路由表中的每個表項都指定了一個網路,所以一個目的地址可能與多個表項匹配。最明確的一個表項,即子網掩碼最長的一個,就叫做最長前綴匹配。
2、之所以這樣稱呼它,是因為這個表項也是路由表中,與目的地址的高位匹配得最多的表項。

❸ BM演算法好後綴問題

BM演算法,是Berlekemp_Massey演算法嗎!?

沒上面那麼費勁吧?

想要的話,明天把我的給你.....

說明我只是為了求出結果,並沒有考慮其它的因素,所以比較簡單

暈,我以為是移位寄存器里的BM演算法....

❹ (近世代數)證明:M是R的極大理想,當且僅當R/M是單環。

陣列形式的零點定理 設R是一個QF環. 下述三個問題是非常重要的. 借鑒Hilbert Nullstellensatz定理的含義, 把它們總稱為陣列形式的零點問題.
問題A(弱零點問題):若I是R[X]的理想, 且I與R[X]不相等, 則是否存一個非全零陣列b, 使得 b是AnnM(I)中的元素 ? 問題B(零點問題):下述恆等式是否成立 I=AnnR[X](AnnM(I)) (1)
Macaulay 在名著[9]中著力研究的逆系(Inverse Systems)問題與問題A, B是密切相關的. 在證明(2)式時, 他採用了dialytic arrays方法. 然而,我們認為Macaulay的方法只適合於理想 是零維時的情形. D. G. Northcott(1974)[11]給出了公式(1)的完全證明.
問題C(強零點問題): 設R是QF環, 給定R[X]的一個多項式理想I, 是否存在一個由有限個LRA陣列生成的R[X]-子模M, 使得I=AnnR[X](M)
. 當R=F是域時, 問題C是多維線性系統理論中的一個重要研究課題. 這個問題實質上是問能否用有限個行為(behavior)數據確定整個系統. C. Heij(1992)得到了一些進展. 這個問題直到最近才由 S. Zampieri(1997)[13] 對F[X]=F[x,y]時給出了的肯定的解答. 我們發現Macaulay[9]有個論斷: 對R[X]的任意理想I, Ann(I)一定是有限生成R[X]-模. 如果利用Macaulay的這個論斷, 再利用Macaulay的公式(3),則問題C似乎可以輕松地解決. 然而, 經過細致地分析, 我們發現Macaulay的這個論斷是不對的, 他的證明只有當$I$是零維理想時才通得過. 那麼, 要使Macaulay的論斷成立, 是否一定要加上$I$是零維理想這個條件嗎? 本文將解決這個問題。
定理A (弱零點定理): 設R是QF環, I是 R[X] 的任意一個理想. 則AnnM(I)非零 當且僅當 I與R[X]不等。
定理B (零點定理): 設R是QF環, I是R[X]的任意一個理想. 則 I=Ann(Ann(I)) 定理C(強零點定理): 設R是QF環, I是R[X]的任意一個理想. 則存在M的一個有限生成R[X]-子模M, 使得I=AnnR[X](M).
問題D: 設 M是任意一個由有限個R上的LRA生成的M的R[X]-子模, 是否存在R[X]的一個理想I, 使得M=AnnM(I)? 當R是一個域時, Macaulay([9],p71)用 dialytic方法證明了這個『定理』. 然而,我們認為,這個證明也只能在 是有限生成R-模時才能通過. 實際上,我們將證明: 定理D: 設R是一個QF環, M是M的有限生成R[X]-子模, 則M是R[X]的某理想的零化陣列模, 當且僅當M是有限生成R-模. 定理E: 設R 是一個有限域,M=<a,…b> 是M的有限生成R[X]-子模, 其中a,…, b是陣列. 則存在R[X]的理想I使得M=Ann(I) 當且僅當每個LRS陣列a,b最終周期的(即:不計初始的有限項外是周期的).三、零化陣列模的結構與Nechaev問題

問題E: 設I是 R[X]的一個理想, 給出I恰是某個LRA陣列的特徵理想的判別准則, 即給出充要條件.
當n=1且R是一個唯一因子分解整環(簡記為UFD)時, 問題就不簡單.當n=1且R是一個有零因子的環時,問題更難以處理。當R為Potential整環時, 即要求R和R[[x]]都是UFD時, Fitzpatrick 和 Norton(1995)[7]證明R[x]中的理想I恰是一個LRS的特徵理想的充分必要條件是I是由一個首一多項式生成的主理想。我們要在R是一般的UFD上給出R上LRS的特徵理想的刻畫。 問題F:設R是QF環, 給定R[X]的一個理想I. 問在什麼條件下,AnnM(I)是一個循環R[X]-模. 我們得到下面簡明的解析判別公式。 定理F:設F是一個域,F[X]的零維理想I是F上一個LRA陣列的特徵理想,當且僅當
dimF (I:rad(I))/I =dimR F[X]/rad(I).
上述判別公式中的數值是容易用Grobner基理論中常規的演算法計算, 所有這些計算須對I進行准素分解.
當R是Artin局部主理想環且$I$是准素理想時, Nechaev[10]給出了Ann(I)恰是一個R上的一個LRS生成的循環模的判別准則, 該判別需用到對I的准素分解。他在該文中提出了如下三個未解決的問題. Nechaev公開問題1: 設R是局部Artin主理想環, I 是R[x]的理想, 給出一個判別零化序列模Ann(I)是循環R[x]-模的准則, 且要求該判別只與理想I(或I的生成元)有關, 而不依賴於I的准素分解的. Nechaev公開問題2: 當R是任意QF環時, 對R[x]的任意一個理想I,建立規范生成系(簡記CGS)(Canonical Generator System)的概念, 以便能夠方便地判別理想I的代表元的歸屬問題, 即:對任意f(x) in R[x], 能否有演算法方便地判別f(x) in I與否. Nechaev公開問題3:} 在Nechaev問題2相同的條件下, 給出構造性的方法求出R[x]-模Ann(I)的生成元系並進一步給出循環性的判別. 我們利用定理F的結果和方法,解決了Nechaev公開問題1。上述三個Nechaev問題中,真正有實在意義和難度的是Nechaev問題1。因為, 我們證明了 定理G: Nechaev的CGS恰是極小Grobner 基.
因此, 只要QF環R擁有如下兩個附加條件:
a. R中的元素能夠用計算機可接受的形式表示出,
b. 能用計算機實現「+", 「x"運算和求解系數在R上線性方程.
則我們可以藉助環上的Grobner基理論, 解決Nechaev問題2, 並用解決Nechaev問題1的同樣方法解決Nechaev問題3.
四、理想的零化陣列模的基構造
當R是有限域, R[X]=R[x,y]是兩個變元的多項式環時, 文獻[8]通過刻劃I的約化Grobner基的標准型, 給出了類似於(2)式中一維LRS的基的具有漂亮組合性質的二維LRA基.
我們採用與[8]中不同的方法, 對任意n和任意零維理想I, 求出Ann(I)的生成元組. 我們的工作是基於Grobner基理論和一些基本的同調代數知識. 實際上, 我們利用如下的對偶定理。
定理H: 設I是R[X]的任意理想, 則Ann(I)與Hom(R[X]/I,R) 是R[X]-模同構

五、Galois環上的陣列

八十年代以來, Nechaev[10], Kurakin, Kuzmin等對環上的LRS和LRA作了大量的研究. 有關的綜述報告參見Mikhalev & Nechaev(1996) [15]. 進入九十年代, 由於Calderbank等[6]關於Galois環上的代數編碼理論的突破性進展, 由於剩餘類環Z/(m)環上的編碼成功地應用於編碼與調制相結合體制, 因而Galois環上的編碼問題,在國際資訊理論學術界引起了極大的興趣和研究熱潮.
A. A. Nechaev 的論文[10]是研究交換環上LRS的一篇重要文獻. 該文主要做了兩項工作. 1). 在R上線性遞歸序列的有限生成子模格與單變元多項式環R[x]中的首一理想格之間建立了Galois對應. 2). 在更特殊的Artin主理想環上, 對R[x]中的理想I, 給出I的零化線性遞歸序列R-模Ann_R(I)是循環R[x]-模的判別准則. 應該注意的是, [10]中給出的循環模的判別准則是基於構造Ann(I)的R-模生成元組, 然後根據這些生成元之間的復雜關系, 給出Ann(I)是循環R[x]-模的判別准則, 而且他的判別准則涉及到對理想的准素分解. 求對多項式理想的准素分解的演算法一直是一個困難的問題, 盡管可以用Grobner 理論給予解決, 但是這些演算法依然是很復雜的.

六、 LRA的綜合問題
如何有效地求解綜合問題一直是資訊理論, 系統論, 控制論和密碼學等許多學科中活躍的重要研究課題. 域上有限序列最小特徵多項式的綜合問題是由Berlekamp(1968)[17]和Massey(1969)解決的. 他們給出的著名的B-M演算法已成為工業標准. B-M演算法的計算復雜性是O(m2), 其中 是序列的長度. 而用常規的解線性方程組的方法的復雜性是O(m3). BM演算法解決KeyEquation的求解。
在R=Z/(m)剩餘類環, 且n=1時, Reed 和 Sloane(1985)[12]給出了BM演算法的推廣. KeyEquation缺乏代數的結構性. 作者(1993)[3]提出用齊次關鍵方程HKeyEquation代替KeyEquation的新方法, 這樣不但有極好的代數結構性質, 具有更廣的適用性. 我們已證明, 求KeyEquation的解與求HKeyEquation的解是等價的[3]. HKeyEquation容易推廣到對LRA的綜合, 且可以用於代數幾何碼的解碼. 基於我們齊次化方法的同樣思路, 周錦君等(1996)[14]將HKeyEquation推廣用於求解剩餘類環上的陣列的綜合. 最近, J. Althaler & A. Dur (1996)[5]也開始使用齊次化方法研究序列的綜合,但他們用逆冪級數表示序列,而相應的特徵多項式是常規的多項式, 因此序列和特徵多項式不在同一個環中,無法直接利用Grobner基理論和Syzygy的計算。 實際上,他們給出的綜合演算法必須要藉助已有疊代演算法. 通過齊次化方法, 我們(1993[3])已證明LRA的綜合演算法與Grobner基有很好的聯系. 本文將進一步揭示綜合演算法的每一步與Grobner基有精密聯系.

七、 主要結果

我們簡要列舉本文得到的主要新結果.
設R是局部Artin主理想環(或更廣的Quasi-Frobeniou環), 是R的極大理想, F=R/m是域, R[X]多元多項式環, I,J 是R[X]的任意理想. M,N是R上的某些陣列構成的R[X]-模. 則:
1. (弱零點定理):Ann(I)=0當且僅當I=R[X].
2. (零點定理): Ann(Ann(I))=I.
3. (強零點定理):存在有限個陣列生成的R[X]-模M, 使得 I=Ann(M).
4. Ann(I)是有限個陣列生成的R[X]-模, 當且僅當, I是零維理想, 當且僅當
Ann(I)是有限個陣列生成的R-模.
5. 有限個陣列生成的R[X]-模M是R[X]的某理想的零化陣列模當且僅當M 是有限生成R-
模.當R是域, I 是R[X]的零維理想. 則存在陣列a使得I=Ann(a) 當且僅當
dimF (I:rad(I))/I =dimR F[X]/rad(I).
6. 解決Nechaev 的3個Open問題
7. Ann(Ann(M))=M 當且僅當M是有限生成R-模. 這樣既推廣了Macaulay的逆系定理, 又指出Macaulay的原逆系定理的不確切之處, 並給出了逆系定理成立的充要條件.
8. 當R是主理想局部環時, 給出R[x]的理想I的Grobner基的標准型, 和計算I的Grobner基的快速演算法, 並給出對I准素分解的基於Grobner基理論的演算法.
9. 給出陣列的代數表示和計算Ann(I) 的 R-模基的新方法.
10. 揭示序列綜合的Belerkamp-Massey 與Grobner 基之間的緊密聯系
11. 當R是UFD, I是R[x]的理想. 則I是某個LRS序列的特徵理想當且僅當I是由首一多項式生成的主理想. 從而推廣了Fitzpatrick 的結果.

❺ 面試必備——BM字元串查找演算法

字元串的一種基本操作是子字元串查找:給定一端長度為N的文本字元串text和一個長度為M(M<N)的模式字元串pattern,在文本字元串中查找和該模式字元串相同的子字元串。在這互聯網時代,字元串查找的需求在很多情景都需要,如在文本編輯器或瀏覽器查找某個單詞、在通信內容中截取感興趣的模式文本等等。

子字元串查找最簡單的實現肯定是暴力查找:

可以看到,暴力查找的最壞時間復雜度為O(N*M),實際應用中往往文本字元串很長(成萬上億個字元),而模式字元串很短,這樣暴力演算法的時間復雜度是無法接受的。

為了改進查找時間,人們發明了很多字元串查找演算法,而今天的主角 BM演算法 (Bob Boyer和J Strother Moore發明,簡稱BM演算法)就是其中的一種。

不同於暴力查找演算法的逐個字元對比,BM演算法充分使用 預處理模式字元串 的信息來盡可能跳過更多的字元。在暴力演算法中,比較一個字元串都是從首字母開始,逐個比較下去。一旦發現有不同的字元,就需要從頭開始進行下一次比較,就需要將字串中的所有字元一一比較。BM演算法的核心思路在於,文本字元串從左到右檢索,模式字元串從右到左檢索,當模式字元串的一個字元pattern[j]和文本字元串的字元text[i+j]不匹配時,那麼在模式字元串中查找字元text[i+j]是否存在索引k,使得pattern[k] == text[i+j],k若存在, k應該為滿足條件的最右索引 。此時存在三種情景:

通過這種字元的移動方式來代替逐個比較,正是BM演算法的高效的關鍵所在!那麼我們怎麼知道文本字元串的字元是否存在於模式字元串中?對的,預處理。我們在查找前,先建立一張包含文本字元串的所有字元的字母表, 這張表中記錄著字母表中的每個字元在模式字元串中出現的最靠右的索引,如果在字元在模式字元串中不存在,那麼值為-1。

有了這張表,我們在查找時就可以高效的移動i。構建這張表很簡單:

構建好表,我們只需要按上面分析的情景,出現字元不匹配時,通過表,把i向右平移到具體位置即可。BM完整演算法實現如下:

由於不匹配的情況屬於大多數,所以一般情況下,BM演算法的時間復雜度為O(N/M),是線性級別的!可以說是非常高效了。但它需要額外的空間字母表大小R,所以BM演算法是以空間換時間的。

至此,BM字元串查找演算法已經分析完了,其實算是一種比較簡單的演算法,學習起來很快就能搞懂~

面試必備——KMP字元串查找演算法

❻ 求字元串匹配BM演算法的代碼,要c或者c++的。

BM演算法的C語言實現:

// 函數:int* MakeSkip(char *, int)
// 目的:根據壞字元規則做預處理,建立一張壞字元表
// 參數:
// ptrn => 模式串P
// PLen => 模式串P長度
// 返回:
// int* - 壞字元表
int* MakeSkip(char *ptrn, int pLen)
{
int i;
//為建立壞字元表,申請256個int的空間
//PS:之所以要申請256個,是因為一個字元是8位,
// 所以字元可能有2的8次方即256種不同情況
int *skip = (int*)malloc(256*sizeof(int));

if(skip == NULL)
{
fprintf(stderr, "malloc failed!");
return 0;
}

//初始化壞字元表,256個單元全部初始化為pLen
for(i = 0; i < 256; i++)
{
*(skip+i) = pLen;
}

//給表中需要賦值的單元賦值,不在模式串中出現的字元就不用再賦值了
while(pLen != 0)
{
*(skip+(unsigned char)*ptrn++) = pLen--;
}

return skip;
}

// 函數:int* MakeShift(char *, int)
// 目的:根據好後綴規則做預處理,建立一張好後綴表
// 參數:
// ptrn => 模式串P
// PLen => 模式串P長度
// 返回:
// int* - 好後綴表
int* MakeShift(char* ptrn,int pLen)
{
//為好後綴表申請pLen個int的空間
int *shift = (int*)malloc(pLen*sizeof(int));
int *sptr = shift + pLen - 1;//方便給好後綴表進行賦值的指標
char *pptr = ptrn + pLen - 1;//記錄好後綴表邊界位置的指標
char c;

if(shift == NULL)
{
fprintf(stderr,"malloc failed!");
return 0;
}

c = *(ptrn + pLen - 1);//保存模式串中最後一個字元,因為要反復用到它

*sptr = 1;//以最後一個字元為邊界時,確定移動1的距離

pptr--;//邊界移動到倒數第二個字元(這句是我自己加上去的,因為我總覺得不加上去會有BUG,大家試試「abcdd」的情況,即末尾兩位重復的情況)

while(sptr-- != shift)//該最外層循環完成給好後綴表中每一個單元進行賦值的工作
{
char *p1 = ptrn + pLen - 2, *p2,*p3;

//該do...while循環完成以當前pptr所指的字元為邊界時,要移動的距離
do{
while(p1 >= ptrn && *p1-- != c);//該空循環,尋找與最後一個字元c匹配的字元所指向的位置

p2 = ptrn + pLen - 2;
p3 = p1;

while(p3 >= ptrn && *p3-- == *p2-- && p2 >= pptr);//該空循環,判斷在邊界內字元匹配到了什麼位置

}while(p3 >= ptrn && p2 >= pptr);

*sptr = shift + pLen - sptr + p2 - p3;//保存好後綴表中,以pptr所在字元為邊界時,要移動的位置

// PS:在這里我要聲明一句,*sptr = (shift + pLen - sptr) + p2 - p3;
// 大家看被我用括弧括起來的部分,如果只需要計算字元串移動的距離,那麼括弧中的那部分是不需要的。
// 因為在字元串自左向右做匹配的時候,指標是一直向左移的,這里*sptr保存的內容,實際是指標要移動
// 距離,而不是字元串移動的距離。我想SNORT是出於性能上的考慮,才這么做的。
pptr--;//邊界繼續向前移動
}

return shift;
}

// 函數:int* BMSearch(char *, int , char *, int, int *, int *)
// 目的:判斷文本串T中是否包含模式串P
// 參數:
// buf => 文本串T
// blen => 文本串T長度
// ptrn => 模式串P
// PLen => 模式串P長度
// skip => 壞字元表
// shift => 好後綴表
// 返回:
// int - 1表示成功(文本串包含模式串),0表示失敗(文本串不包含模式串)。
int BMSearch(char *buf, int blen, char *ptrn, int plen, int *skip, int *shift)
{
int b_idx = plen;
if (plen == 0)
return 1;
while (b_idx <= blen)//計算字元串是否匹配到了盡頭
{
int p_idx = plen, skip_stride, shift_stride;
while (buf[--b_idx] == ptrn[--p_idx])//開始匹配
{
if (b_idx < 0)
return 0;
if (p_idx == 0)
{
return 1;
}
}
skip_stride = skip[(unsigned char)buf[b_idx]];//根據壞字元規則計算跳躍的距離
shift_stride = shift[p_idx];//根據好後綴規則計算跳躍的距離
b_idx += (skip_stride > shift_stride) ? skip_stride : shift_stride;//取大者
}
return 0;
}

❼ bm演算法考研考不考

bm演算法考研考不考?考,北京航空航天大學人工智慧研究院考人工智慧基礎綜合試題含信號與系統、演算法設計與分析和機器學習三門課程的內容。

❽ 關於RS碼的英文論文,急啊

摘要:提出了基於歐氏演算法和頻譜分析相結合的RS碼硬體編譯碼方法;利用FPGA晶元實現了GF(2 8)上最高速率為50Mbps、最大延時為640ns的流式解碼方案,滿足了高速率的RS編解碼需求。
關鍵詞:RS碼 FPGA 伴隨式 關鍵方程 IDFT

差錯控制編碼技術對改善誤碼率、提高通信的可靠性具重要作用。RS碼既可以糾正隨機錯誤,又可以糾正突發錯誤,具有很強的糾錯能力,在通信系統中應用廣泛。由於RS碼的解碼復雜度高,數字運算量大,常見的硬體及軟體解碼方案大多不能滿足高速率的傳輸需求,一般適用於10Mbps以下。本文提出的歐氏演算法和頻譜結構分析相結合的RS硬體解碼方案,適用於FPGA單片實現,速率高、延遲小、通用性強、使用靈活。筆者在FPGA晶元上實現了GF(2 8)上符號速率為50Mbps的流式解碼方案,最大延時為640ns,參數可以根據需要靈活設置。

1 RS碼的結構

碼字長度為N=q-1(q=2i),生成多項式為,αi∈GF(q)的RS碼有最小碼距δ=2t+1,能夠糾正t個隨機或突發錯誤[1]。本文列舉的方案測試中採用的RS碼主要參數為N=255、m0=0、t=8,其中GF(2 8)的生成多項式為g(x)=x8+x4+x3+x2+1。由於RS碼的編碼邏輯結構比較簡單,文中僅給出模擬結果。

2 RS碼的解碼演算法

RS解碼演算法一般分為三步:伴隨式計算、關鍵方程獲得和錯誤圖樣的求解。其中關鍵方程的獲得是RS解碼中最困難、最為關鍵的一步。

在利用伴隨式求解關鍵方程時,BM演算法和Euclidean(歐氏)演算法是兩種較好的選擇。BM演算法涉及大量的變數存儲和復雜的邏輯控制,適用於軟體編程而不適合硬體實現。歐氏演算法數據存儲量少、控制便捷,適合硬體實現。且採用歐氏演算法確定關鍵方程所需時間與錯誤個數成正比,因此從處理時間上考慮,歐氏演算法也是較好的選擇。

在獲得關鍵方程後,採用時域處理方法,需要大量的運算單元和控制電路,在硬體實現中是不可取的。而採用頻譜結構分析方法,利用最短線性移位寄存器綜合及離散傅氏逆變換進行處理,邏輯簡單、耗時少,適合硬體實現。雖然在傅氏變換時需要較多的邏輯單元,但對GF(2n)在n<10的情況下,變換域解碼器要比時域解碼器簡單得多。因而本文提出歐氏演算法和頻譜結構分析相結合的方案,並在實踐中獲得了較好的效果。

Euclidean演算法[3]步驟如下:

(2)按所列方法進行迭代

3 方案流程

方案流程框圖如圖1所示。

3.1 伴隨式S0,S1,…,S2t-1的計算

令r1,r2,…,rn為接收到的RS碼字,根據系統碼監督矩陣的特性,可構造如圖2所示伴隨式計算電路Si=(((r1αi+r2)αi+r3)αi…+rn,從而實際伴隨式序列的計算。

3.2 利用伴隨式確定關鍵方式

Euclidean演算法的難點主工在於迭代計算過程中存在的被除數多項式和除數多項式長度的不確定性,使每次計算中產生的商序列的長度不等,以及因此可能涉及到的不定長多項式的相乘和相加問題,增加了硬體設計的難度。系統採用了嵌套雙循環的方法,利用'時鍾產生2'控制外循,'時鍾產生1'控制內循環,從而優化了演算法,得到了問題的解決方案。在獲得伴隨式的基礎上,圖3電路可具體完成Euclidean演算法對關鍵方程的求解σ(x)=σtxt+σt-1xt-1+…+σ1x+1。

3.3 利用最短線性移位寄存器綜合和離散傅氏變換獲取錯誤圖樣

在得到關鍵方程後,首先應進行錯誤位置(關鍵方程的根)的確定,這樣可減小電路的規模;利用錢搜索[1](工程上求解σ(x)根的實用方法)的方法可以簡捷的確定錯誤位置。然後,啟動最短線性移位寄存器綜合和離散傅氏逆變換,經過N次(運算所在域的長度)迭代,即可求得對應各個錯誤位置的錯誤圖樣,如圖4所示。用錯誤圖樣對接收碼字進行糾錯,就可得到正確的信息序列。

3.4 RS編解碼在FPGA上的實現

有限域的乘法、加法運算單元和各模塊的控制邏輯設計是系統成功的關鍵。涉及有限域的各個運算單元的運算速度制約了解碼器的速度,而控制邏輯引導了解碼的流程。硬體電路的軟體開發工具給設計復雜電路提供了簡捷思路。系統採用了QUARTUS與第三方軟體相結合的方法,用VHDL語言設計了大部分功能模塊。特別是在乘法器設計中,乘數確定、被乘數不定的有限域乘法器,經邏輯綜合和優化設計後,運算速度可分別在6.8ns和11.6ns內完成,完全可以滿足系統符號速率50Mbps的要求。應該指出,系統速度的進一步提高受到求逆運算的限制,求逆運算沒有明確的數學結構(通常採用查表的方法),這是制約運算速度的瓶頸。但針對流式解碼演算法,上述結構已能滿足要求。

4 模擬結果

4.1 編碼器的模擬

模擬的時鍾頻率為50MHz,在EN為高電平時輸入信息有效。為簡單起見,採用系統碼的縮短型,即信息為(00,00,…,00,02,01,02).編碼器的模擬結果如圖5所示。其中,IN為輸入信息,CLK為系統時鍾,C為編碼輸出(輸入和輸出均為16進制)。

4.2 解碼器的模擬

首先,給出系統的模擬全貌,如圖6所示。其中C為接收到的RS碼,SP為伴隨式S15,shang為運用歐氏演算法得到的商序列,SeryDA為S序列,anssd和ERTD分別對應碼字可能存在的第四個錯誤位置和錯誤值,模擬中的接收碼在位置(105,106,107,108,109,110,111,112)上錯誤均為(01)HEX。

伴隨式的計算結果:S15,S14,…,S1,S0為(FD,8D),CE,4A,51,B2,A1,CA,C4,0D,73,56,A6,F5,01),圖6和圖7中的sp即為S15。

這里重點給出利用伴隨式計算關鍵方程的電路模擬結果,如圖7所示。當輸入伴隨式結果以後,運算電路啟動,在計算商序列的同時進行聯接多項式的迭代運算。歐氏演算法的商序列shang為:(FF,58),(37,92),(50,45),(E9,C7),(F4,B9),(5D,33),(87,8F)。當滿足終止條件以後顯示標志QQC,同時,給出關鍵方程系數如圖7中(AI,AH,AG,AF,AE,AD,AC,AB,AA)即(00,19,2E,EC,A8,AD,41,E6,95),對應有限域上的表達式為:

δ(x)=α193x7+α130x6+α122x5+α144x4+α252x3+α191x2+α160x+α184;有解為(α105,α106,α107,α108,α109,α110,α111),與假定錯誤位置完全一致。然後求解S序列,同時針對各錯誤位置進行IDFT,就可以得到對應的錯誤值。圖6中anssd和ERTD表示位置108上存在的錯誤為(01)HEX。

圖5 編碼器模擬結果

系統模擬表明,解碼器獲得的錯誤位置和錯誤圖案與實際假設的錯誤位置(105,106,107,108,109,110,111)和錯誤值(01)HEX完全一致。

基於APEX架構的可編程單晶元RS編解碼硬體解決方案在中國普天集團西安藍牙通訊設備有限公司的二次群無線擴頻通信機的改造項目中得到了應用。它可用於離散解碼、流式解碼,在添加一級緩存的基礎上,同樣適用於連續解碼。

Abstract : Euclidean algorithm based on the combination of spectral analysis and RS hardware encryption; FPGA chip by GF (2 8), maximum rate of 50Mbps. 640ns delay the flow of the biggest decoding program to meet the demand for high-speed RS encryption. Keywords : RS-key equations with FPGA technology to improve IDFT error control coding error rate. improve communications with the reliability of an important role. RS random error correcting codes can also be corrected burst error correction capability is strong, widely used in communication systems. As RS decoder complexity, the number of large amount of computation. Most common hardware and software decoding program can not meet demand for high-speed transmission. Following are generally applicable to 10 Mbps. Euclidean algorithm and the proposed combination of spectral analysis RS hardware decoding program FPGA chip to achieve that rate, small delay, a strong and flexible. I realized in FPGA GF (2 8) symbols, the flow rate of 50Mbps decoding program maximum delay of 640ns, parameters can be set up based on the need for flexibility. 1 RS code word length of the structure N=q-1 (q=2i) for generating polynomial. α i ∈ GF (q) from the RS code with the smallest δ =2t+1. t random or unexpected error correction [1]. This paper listed in the test parameters for the RS code N=255, m0=0, pH7.5. which GF (2 8) for generating polynomial g (x) =x8+x4+x3+x2+1. As RS encoder logic structure is relatively simple, text only give the simulation results. 2 RS RS code decoding algorithm generally consists of three steps : With computers, The key equation solving and design errors. RS decoding is the key equation is the most difficult and most crucial step. With the use of key-solving equations, BM algorithm and Euclidean (Euclidean) algorithm is two better choices. BM algorithm involves a large number of variables to store and complex control logic applies to software programming without appropriate hardware. Euclidean algorithm for data storage less control convenient and suitable hardware. Also use the Euclidean algorithm to determine the key equation is proportional to the number of errors and the time required, from time to consider. Euclidean algorithm is a good choice. Access to the key equation, using time-domain approach requires a large amount of computational moles and control circuit the hardware is not desirable. Using spectrum analysis method, the shortest inverse linear shift register integrated and discrete Fourier transform, simple logic and less time suitable hardware. While the Fourier transform need more logic unit, but GF (2n) n <10 in the circumstances, Domain encoder decoder is much simpler than the time domain. Euclidean algorithm, and therefore this paper combine spectrum analysis program, and to gain better results in practice. Euclidean algorithm [3] The following steps : (2) 3 iterative methods listed in the program flow program flow chart shown in Figure 1. With 3.1 - S0, S1,…, S2t-1 calculated so r1, r2,…, rnΔyn to receive the RS code word, Under supervision of the character matrix code system. Construction can be calculated as shown in figure 2 with Si= circuit (((r1 - i+r2) - i+r3) - i… +rn. With so that the actual sequence of calculations. With 32,000 officially confirmed the key ways to use the Euclidean algorithm for the main difficulty lies in the iterative process of calculation and arithmetic polynomial length polynomial dividend, the uncertainty Thus, each calculation of the length of the serial range and thus may be involved in the multiplication of polynomials and the sum of variable length. increase the difficulty of hardware design. Two of the nesting cycle system using the method of 'Clock 2' control through. 'Clock 1' inner loop control, optimize the algorithm, a solution to the problem. The ceremony was accompanied by the foundation, Figure 3 circuit can be completed Euclidean algorithm specific key equations of σ (x) = σ txt+ σ t-1xt-1+… + σ 1x+1. 330 linear shift register using the shortest access to integrated and discrete Fourier transform has been key in the wrong design equation, First, should the wrong location (the root of the key equation) determined that this will rece the size of circuits; use the money to search [1] (works for σ (x) root practical method), a simple method to determine the wrong location. Then, shortest start inverse linear shift register integrated and discrete Fourier transform, through N (computational domain where the length) iteration. be all wrong location corresponding to the wrong design, as shown in figure 4. Drawing on the takeover code used for correcting mistakes. can get the correct message sequence. RS 3.4 encryption in the FPGA to achieve limited domain multiplication, Adder moles and the molar design of the control logic systems is the key to success. Operation of the various moles involved in the limited domain of the decoder speed computational speed constraints, and control logic guiding the decoding process. Hardware complexity of circuit design software development tools to provide a simple idea. QUARTUS system with a combination of third-party software. VHDL design of most functional moles. especially in the multiplier, multiplier determined. multiplicand volatile finite field multiplier, logic synthesis and optimization design, 11.6ns 6.8ns and the computational speed can be completed. Symbol rate of 50Mbps system can meet the requirements. It should be noted that further improve the system by inverse calculation speed restrictions no clear inverse calculation of the mathematical structure (look-up table method is usually used). This is a bottleneck restricting the operation speed. However, in view of flow algorithm. the structure can meet the above requirements. 4 simulation results of the simulation 4.1 encoder clock frequency of 50MHz. EN input to the generator when the information effectively. for the sake of simplicity, the use of the shortened code systems, information (00, 00…, 00,02,01,02). The simulation results shown in Figure 5 encoder. Among them, IN to input information, for the system clock CLK, C coding output (both input and output, 16-ary). Simulation 4.2 Decoder First, The simulation gives the whole picture, as illustrated in figure 6. C for receipt of the RS code, as with SP-S15. shang Euclidean algorithm for the use of the serial, SeryDA S Series, anssd ERTD corresponding code and the fourth may be wrong position and erroneous values Simulation code in the receiving position (105,106,107,108,109,110,111. 112) were wrong (01) HEX. With results like : S15, S14,…, S1. S0 (FD,8D) CE,4A,51, B2, A1, CA, C4,0D,73,56, A6, F5,01) Figure 6 and Figure 7 sp namely the S15. With the focus here is calculated by using the key to the equation circuit simulation results shown in figure 7. When the input syndrome result, the circuit operation in the calculation of serial link at the same time polynomial iteration. Euclidean algorithm serial shang : (FF,58), (37,92), (50,45). (E9, C7), (F4, B9), (5D,33), (87,8F). When shown signs QQC meet after the termination conditions, while the key equation coefficients is given in Figure 7 (AI AH AG. AF, AE, AD, AC, AB, AA) : (00,19,2E, EC, A8, AD,41, E6,95) limited domain corresponding to the formula : δ (x) = α - 122x5+ 130x6+ 193x7+ α - α 191x2+ 252x3+ 144x4+ α - α 184; 160x+ Solution (α 105, - 106, - 107, - 108, - 109, - 110, - 111). exactly the same position with the wrong assumptions. And then the S Series, IDFT against the wrong location, it could be the wrong response value. 6 anssd ERTD plan and said there is the wrong position for the 108 (01) HEX. Figure 5 encoder System Simulation results show that Decoder the wrong place and wrong patterns and the actual position of the erroneous assumption (105,106,107. 108,109,110,111) and the wrong values (01) HEX totally consistent. RS APEX structure based on a programmable chip encryption hardware solutions in China Putian Group Limited, the second group Xi'an Bluetooth wireless communication equipment spread spectrum communication mechanism has been applied to the reconstruction project. It can be used for discrete decoding, streaming decoding, in addition to the basic level cache, the same applies to successive decoding.

熱點內容
簡述ftp伺服器的功能 發布:2025-05-11 05:44:27 瀏覽:846
安卓手機攝像頭連接雲存儲 發布:2025-05-11 05:10:52 瀏覽:34
瑞虎三都有哪些配置 發布:2025-05-11 05:05:08 瀏覽:950
mc非正版伺服器怎麼做 發布:2025-05-11 05:04:54 瀏覽:308
安卓手機九宮格忘記密碼怎麼解 發布:2025-05-11 05:00:30 瀏覽:595
安卓手機拼多多怎麼解綁銀行卡 發布:2025-05-11 05:00:25 瀏覽:686
校園網可以搭建伺服器地址 發布:2025-05-11 04:54:40 瀏覽:785
noip演算法 發布:2025-05-11 04:53:51 瀏覽:50
有什麼我的世界伺服器啟動器 發布:2025-05-11 04:50:41 瀏覽:296
寫shell腳本 發布:2025-05-11 04:37:41 瀏覽:935