專利名稱:進行快速阿達瑪變換的方法和裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)字信號處理,本發(fā)明特別涉及進行快速阿達瑪(Hadamard)變換的新穎改良方法和裝置。
背景技術:
波形編碼過程把一組波形變成一組改良的波形。這組改良的波形比原先一組波形在通信中可提供改進的比特差錯概率PB,在改良的一組波形中信號盡可能地不同。對此的另一方法是使任意兩個波形i和j之間的互相關(由Zij表示)盡可能地小。
相關(Zij)定義如下Zij=1E∫OTSi(t)Sj(t)dt----i≠j---(1)]]>以及E=∫OT(Si)2(t)dt----∀i]]>這里Si(t)和Sj(t)是兩個波形函數(shù)。在由雙極性脈沖(+1,-1)組成的波形組中,互相關(Zij)可定義如下 當逆相關時出現(xiàn)互相關的最小可能值(Zij=-1),但是,這只在組中波形數(shù)為二和波形正相反時才有,通常,可得到的最好波形組的所有互相關值為零,于是波形組被稱為正交的。通信中大多數(shù)常用的波形碼是正交碼。
將一數(shù)據(jù)組變換成一正交數(shù)據(jù)組的方法之一是利用Hadamard變換。Hadamard變換的特征由Hadamard矩陣表示,其中每一行與其余每一行正交,即按照式2,對每兩行來說,一致的數(shù)量等于不一致的數(shù)量。Hadamard矩陣的每一行可稱為沃爾什(Walsh)序列。
一個n價Hadamard矩陣可遞歸地如下定義H2n=HnHnHnHn---(3)]]>這時H1定義為H1=〔l〕 (4)以及H′i=-Hi這樣,H2=111-1----(5)]]>類似地,由式3,H4為H4=11111-11-111-1-11-1-11---(6)]]>以及H8為 已經(jīng)有了快速算法來提高進行Hadamard變換的效率,這些做法利用了這一事實,即Hadamard矩陣是實的、對稱的和行與行是正交的。由于Hadamard矩陣含有±1,因此在變換運算中無需乘法,而且,由于n階Hadamard只矩陣(Hn)可寫成n個稀疏矩陣的乘積,加法和減法的數(shù)量可從n2減少到n log2n,即,Hn=H-nlog2(n)----(8)]]>這里 注意上面的n/2行和下面的n/2行每行只有兩個非零項,變換V=H-nlog2(n)=H-n·H-n······H-n·u----(10)]]>可用Hn用對u運算log2n次來完成,由于Hn的結構,每次Hn對矢量運算時僅需n次加法和減法,故總共n·log2(n)次加減法。
與采用上述快速Hadamard變換相關的問題是存儲器資源的負擔,此外,上述方法不允許串行處理。由此,就需要有更好的方法和裝置來進行快速Hadamard變換,減輕存儲器資源的負擔,并允許串行處理,這種方法是本發(fā)明的主題。
發(fā)明概述本發(fā)明是進行快速Hadamard變換的新穎和改進的方法和裝置,二階Hadamard變換可由一接受兩輸入值a和b并輸出兩個值(a+b)和(a-b)作為響應的單元來進行,該單元可用具有一加法器和一減法器、兩個多路轉(zhuǎn)換器和一存儲單元的硬件來實現(xiàn)。
上述單元可這樣實現(xiàn),把輸入連續(xù)送到減法器的相減輸入端、加法器的相加輸入端和第一多路轉(zhuǎn)換器的B輸入端。減法器的輸出提供給第一多路轉(zhuǎn)換器的A輸入端,加法器的輸出提供給第2多路轉(zhuǎn)換器的A輸入端,第一多路轉(zhuǎn)換器的輸出提供給存儲單元的輸入端,存儲單元的輸出連接到減法器的相加輸入端、加法器的第二相加輸入端和第二多路轉(zhuǎn)換器的B輸入端,隨后連續(xù)地在第二多路轉(zhuǎn)換器的輸出端提供輸出。
現(xiàn)在為了提供實現(xiàn)4階Hadamard變換的裝置,上述基本單元與另一略作修改的這種單元串聯(lián),串聯(lián)的第二單元修改之處在于有一第二存儲單元與第一存儲單元串聯(lián),這樣第一多路轉(zhuǎn)換的輸出首先存儲在第一存儲單元中,然后在下一時鐘周期中,存儲在第一存儲單元內(nèi)的數(shù)據(jù)可移到第二存儲單元中,這發(fā)生在下一時鐘周期內(nèi)送到減法器和加法器的相加輸入端、以及第二多路轉(zhuǎn)換器的B輸入端之前。
繼續(xù)延伸,則可實現(xiàn)8階Hadamard變換,增加一經(jīng)修改的第三單元,這次有四個存儲單元串聯(lián),等等,最后一個Hadamard單元的存儲單元數(shù)目等于Hadamard階數(shù)的一半。重要的是應注意這些存儲單元的存儲要求并不相同,這是因為兩個m位數(shù)之和是一個m+1位數(shù)。這樣,其后的每一級存儲單元需要比前面的存儲單元大一位,以保持數(shù)的準確。
為了節(jié)省進行這種運算所必需的存儲器,作為上述裝置的進一步發(fā)展,單元的次序可被顛倒,例如,在8階Hadamard變換的情形下,第一單元可有四個存儲單元,存儲單元有(m+1)位寬,這里m是輸入的位數(shù),下一單元可有兩個(m+2)位置的存儲單元,而串聯(lián)中的最后單元含有一個(m+3)位寬的存儲單元。
所以,本發(fā)明的目的是提供一種使用簡單硬件進行Hadamard變換的裝置,通過采用具有進位資源的一位加法器,可進行Hadamard變換,此時輸入每次一位串行地送到變換器。
本發(fā)明的進一步目的是,通過有效地截斷存儲在上述存儲單元中的值,額外節(jié)省存儲器。
附圖簡述本發(fā)明的特點、目的和優(yōu)點將由于結合附圖的敘述而更易了解,相同的標號總是代表相同的部件,其中
圖1是進行4階Hadamard變換的Hadamard變換裝置的方框圖;圖2是進行64階Hadamard變換Hadamard變換裝置的方框圖;圖3是進行64階Hadamard變換的Hadamard變換裝置的一種改進例子的方框圖;圖4是串行輸入FHT級聯(lián)的方框圖。
較佳實施例的詳細描述本發(fā)明是用于進行快速Hadamard變換(FHT)的方法和裝置。圖1中,示出了一種用于進行4階Hadamard變換本發(fā)明的示例。例如,若四個數(shù)字樣本(a1、a2、a3、a4)一組構成一個輸入碼元,圖3所示裝置對輸入碼元進行FHT,以按下面式11提供FHT編碼碼元11111-11-111-1-11-1-11×a1a2a3a4=]]>[(a1+a2+a3+a4),(a1-a2+a3-a4),(a1+a2-a3-a4),(a1-a2-a3+a4)](11)應注意到,在本例中的維數(shù)為4用于示例,而本發(fā)明的方法和裝置同樣可用于所有確定的維數(shù)的快速Hadamard變換。
在示例的實施例中,每一數(shù)字樣本(a1、a2、a3和a4)用8位表示,盡管其它長度的位數(shù)也同樣可用于本發(fā)明。第一輸入樣本a1送到輸入信號線上。輸入樣本a1提供給減法器2(為相減而構成的加法器)的相減輸入端、加法器6的第一輸入端以及多路轉(zhuǎn)換器的輸入端B,多路轉(zhuǎn)換器4把輸入信號線的信號或減法器2的輸出的信號提供至其輸出端。在第一輸入周期中,多路轉(zhuǎn)換器4的輸入端提供輸入信號線上的信號,在第二輸入周期,多路轉(zhuǎn)換器4的輸出端提供減法器2的信號,并在每一輸入周期按此方式進行切換。這樣,在第一輸入周期,多路轉(zhuǎn)換器4在其輸入端提供樣本a1,該樣本被存儲單元10接收和存儲。
在第二輸入周期中,下一個輸入樣本a2被送到減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸入端B,存儲單元10的存儲值a1被送到減法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的輸入端B,作為響應,減法器2在其輸出端產(chǎn)生值(a1+a2),這也出現(xiàn)在多路轉(zhuǎn)換器4的輸出端并存儲存儲單元10,加法器6在輸出端產(chǎn)生值(a1+a2)。多路轉(zhuǎn)換器8在其輸出端提供加法器6的輸出或是存儲單元10的輸出,在第二輸入周期中,在多路轉(zhuǎn)換器8的輸出端提供加法器6的輸出,在第三輸入周期,在其輸出端提供存儲單元10的輸出,并且每一輸入周期在把這些信號提供給輸出端之間進行切換,這樣,對第二輸入周期,多路轉(zhuǎn)換器8在輸出端提供加法器6的輸出值(a1+a2)。
多路轉(zhuǎn)換器8的輸出(a1+a2)提供給減法器1 2的相減輸入端、加法器16的第一輸入端以及多路轉(zhuǎn)換器14的B輸入端,多路轉(zhuǎn)換器14的輸出端在第二和第三輸入周期提供多路轉(zhuǎn)換器8的輸出,然后在第四和第五周期提供加法器12的輸出,并且每兩個周期切換一次,這樣,對第二輸入周期,多路轉(zhuǎn)換器14把多路轉(zhuǎn)換器8輸出的信號(a1+a2)送到存儲單元20并存入其中。
在第三輸入周期,樣本a3提供給減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸出端B,存儲單元器把存儲值(a1-a2)送到減法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的B輸入端,多路轉(zhuǎn)換器4把輸入信號線上的值a3送到存儲單元10并且存入其中,多路轉(zhuǎn)換器8在其輸出端提供其B輸入端的信號(a1-a2)。
多路轉(zhuǎn)換器8的輸出值(a1-a2)送到減法器12的相減輸入端、加法器16的第一輸入端和多路轉(zhuǎn)換器14的B輸入端。存儲單元20將其內(nèi)容(a1+a2)傳送給存儲單元22。多路轉(zhuǎn)換器14把多路轉(zhuǎn)換器8的輸出信號(a1-a2)送到存儲單元20。
在第四周期,下一個輸入樣本a4送到減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸入端B,存儲單元10把其存儲值a3送到減法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的B輸入端。減法器2把(a3-a4)送到多路轉(zhuǎn)換器4的A輸入端,多路轉(zhuǎn)換器4將減法器2的輸出(a3-a4)送到存儲單元10并且存入其中。加法器6把和(a3+a4)送到多路轉(zhuǎn)換器8的A輸入端,多路轉(zhuǎn)換器8在其輸出端提供加法器6的輸出(a3+a4)。
多路轉(zhuǎn)換器8的輸出值(a3+a4)送到減法器12的相減輸入端、加法器16的第一輸入端和多路轉(zhuǎn)換器14的B輸入端,存儲單元22把其內(nèi)容(a1+a2)送到減法器12的相加輸入端、加法器16的第二輸入端和多路轉(zhuǎn)換器18的B輸入端,存儲器20把其內(nèi)容(a1+a2)傳送給存儲單元22,作為響應,減法器12將其輸出(a1+a2)-(a3+a4)提供給多路轉(zhuǎn)換器14的A輸入端,多路轉(zhuǎn)換器14把減法器12的輸出值(a1+a2)-(a3+a4)送到存儲單元20并且存入其中。然后,加法器16將其兩輸入的和(a1+a2)+(a3+a4)送到多路轉(zhuǎn)換器18的A輸入端,多路轉(zhuǎn)換器18在輸入周期4和5提供加法器16輸出的信號,然后在輸入周期6和7提供存儲單元22的輸出作為其輸出,并且每兩個周期切換一次,多路轉(zhuǎn)換器18提供所需的和(a1+a2+a3+a4)作為FHT裝置第二級的第一輸出。
在第五輸入周期中,下一輸入樣本a5送到減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸入端B,存儲單元10將其存儲值(a3-a4)送到加法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的B輸入端。多路轉(zhuǎn)換器4把輸入信號線上的值a5送到存儲單元10并且存入其中,多路轉(zhuǎn)換器8在其輸出端提供存儲單元10輸出的信號(a3-a4)。
多路轉(zhuǎn)換器8輸出端值的(a3-a4)送到加法器2的相減輸入端、加法器16的第一輸入端和多路轉(zhuǎn)換器14的B輸入,存儲器單元22將其內(nèi)容(a1-a2)送到減法器12的相加輸入端、加法器16的第二輸入端的多路轉(zhuǎn)換器18的B輸入端。存儲單元20將其內(nèi)容(a1+a2)-(a3+a4)傳送到存儲單元22。減法器12對多路轉(zhuǎn)換器14的第一輸入端提供(a1-a2)-(a3-a4),多路轉(zhuǎn)換器14將該值送到存儲單元20。類似地,加法器16提供(a1-a2)+(a3-a4)即(a1-a2+a3-a4),至多路轉(zhuǎn)換器18的第一輸入端,而多路轉(zhuǎn)換器18在其輸出端提供該值。
在第六輸入周期中,下一輸入樣本a6送到減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸入端B,存儲單元10將其存儲值a5送到減法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的B輸入端,減法器2提供(a5-a6)至多路轉(zhuǎn)換器4的A輸入端,多路轉(zhuǎn)換器將其A輸入端上的值(a5-a6)送到存儲單元10并且存入其中。加法器6提供(a5+a6)至多路轉(zhuǎn)換器8的A輸入端,多路轉(zhuǎn)換器8在其輸出端提供其輸入端A上的信號。
多路轉(zhuǎn)換器8的輸出(a5+a6)送到減法器12的相減輸入端、加法器16的第一輸入端和多路轉(zhuǎn)換器14的B輸入端。存儲單元22然后將其內(nèi)容(a1+a2)-(a3+a4)送到減法器12的相加輸入端、加法器16的第二輸入端和多路轉(zhuǎn)換器18的B輸入端,存儲單元20將其內(nèi)容(a1-a2)-(a3-a4)傳送給存儲單元22,多路轉(zhuǎn)換器14將其B輸入端信號(a5-a6)提供給存儲單元20并且存入其中,多路轉(zhuǎn)換器18將B在其輸出端提供其輸入端信號值(a1+a2)-(a3+a4)=(a1+a2-a3-a4)。
在第七輸入周期中,下一輸入樣本a7送到減法器2的相減輸入端、加法器6的第一輸入端和多路轉(zhuǎn)換器4的輸出端B,存儲單元10將其存儲值(a-a6)送到加法器2的相加輸入端、加法器6的第二輸入端和多路轉(zhuǎn)換器8的B輸入端多路轉(zhuǎn)換器5將B輸入的值a7送到存儲單元10存入,多路轉(zhuǎn)換器8在其輸出端提供其B輸入端的信號(a5-a6)。
多路轉(zhuǎn)換器8的輸出(a5-a6)送到減法器12的相減輸入端、加法器16的第一輸入端和多路轉(zhuǎn)換器14的B輸入端,存儲單元22隨后把其內(nèi)容(a1-a2)-(a3-a4)提供給減法器12的相加輸入端、加法器16的第二輸入端和多路轉(zhuǎn)換器18的B輸入端。存儲單元20將其內(nèi)容(a5+a6)傳送給存儲單元22,多路轉(zhuǎn)換器14將其B端輸入端信號(a5-a6)送到存儲單元20并且存入其中。多路轉(zhuǎn)換器18在其輸入端提供其B輸入端信號值(a1-a2)-(a3-a4)=(a1-a2-a3+a4)。
注意輸入序列(a1、a2、a3、a4)的FHT(a1+a2+a3+a4,a1-a2+a3-a4,a1+a2-a3-a4,a1-a2-a3+a4)已成功地由該裝置輸出,由輸入序列中的下一個a8到裝置中,輸入序列(a5、a6、a7、a8)的FHT的第一單元a5+a6+a7+a8,出現(xiàn)在該裝置的輸出端。該過程可不受限制地繼續(xù)下去。
FHT裝置的基本單元如虛線方框24所示,方框24中包括一個減法器12、一個加法器16和兩個多路轉(zhuǎn)換器(14和18),該子系統(tǒng)稱為FHT引擎。注意減法器是一帶倒向輸入端的加法器。這些部件與存儲器件或存儲單元結合,就形成一個完整的FHT級。把前一級的輸出提供給增加的一級就可加上附加的級。某一級與其前一級的差別只在于存儲單元數(shù)量增加了一倍(指定存儲單元中的位數(shù)也必須增加一位),以及存儲單元改變切換變化的定時僅為前一級的一半。
圖2中,表示一進行64階FHT的裝置的方框圖,F(xiàn)HT引擎30、34、38、42、46和50都與圖1中方框24詳細表示的FHT引擎相同,而存儲器32、36、40、44、48和52是諸如由移位寄存器構成的,如圖1中描述的互相連接的存儲器單元或數(shù)據(jù)鎖存器,在示例的實施例中,輸入到FHT引擎30的數(shù)據(jù)有8位,盡管本發(fā)明同樣可用于任何位長度的數(shù)據(jù)。
由于在本示例的實施中輸入數(shù)據(jù)流由8位樣本數(shù)據(jù)組成,存儲器32中的存儲單元必須能保持9位,以適應FHT引擎無截斷時可能的輸出,因為兩個n位數(shù)字的和是一個(n+1)位數(shù)字,同樣,存儲器36的存儲單元必須能存儲10位,存儲器40的存儲單元必須能存儲11位,存儲器44的存儲單元必須能存儲12位,存儲器48的存儲單元必須能存儲13位,以及存儲器52的存儲單元必須能存儲14位。
圖3表示本發(fā)明一種改進的實施例。圖3中的裝置進行64階快速Hadamard變換,F(xiàn)HT引擎90、94、98、102、106和110與圖1中詳細表示的FHT引擎24結構相同,圖3中FHT引擎的工作與圖2中FHT引擎的工作的唯一區(qū)別在于FHT引擎90、94、998、102、106和110的多路轉(zhuǎn)換器(未畫出)的切換。第一級FHT引擎90的多路轉(zhuǎn)換器每32個周期僅切換一次,第二級FHT引擎94的多路轉(zhuǎn)換器每16個輸入周期切換一次,最后一級FHT引擎110的多路轉(zhuǎn)換器每一輸入周期切換一次。
圖3中改進的實施例與圖2中實施例的重要區(qū)別在于節(jié)省了使用的存儲器總數(shù),回想處理8位長度數(shù)據(jù)的示例的實施例,第一存儲器必須能存9位數(shù)字,下一個,即下一級的存儲器,需要存儲器10位的數(shù)字,所以,在改進的本實施例中,使用了要求存儲器存儲位數(shù)最低的級來存儲最大數(shù)量的值,存儲器2存儲三十二個9位數(shù)字,存儲器96存儲十六個10位數(shù)字,存儲100存儲八個11位數(shù)字,存儲器104存儲四個12位數(shù)字,存儲器108存儲兩個13位數(shù)字,而存儲器112存儲一個14位數(shù)字。采用此改進的實施例所節(jié)省的存儲器位數(shù)可由下式算出 =Σi=1log2(n)(m+i)·(2log2(n)-i-2i-1).----(12)]]>這里n是所進行的FHT的階數(shù),而m是每個輸入的位數(shù)。
圖4中,表示實現(xiàn)本發(fā)明的另一種做法,用于接受作為串行位流的樣本。在這一做法中,包括輸入樣本的位串行地送入FHT裝置。對每一輸入樣本,樣本的各個位被送到FHT引擎的最低有效位(LSB)到最高有效位(MSB),一個輸入位被提供給減法器120的第一相減輸入、多路轉(zhuǎn)換器124的B輸入端和加法器128的第一相加輸入端。此外,存儲單元126的輸出數(shù)據(jù)送到減法器120的相加輸入端。減法器120的最后一個輸入端,即第二相減輸入端,是前一運算的借位端,由延遲單元122提供,延遲單元122和130提供持續(xù)時間為1位時間間隔的延遲,減法器120隨后從相加位減法被延遲的借位和當前的相減輸入位,這一運算提供了兩位輸出數(shù)據(jù),包括提供給延遲單元122的借位,以及一提供給多路轉(zhuǎn)換器124的A輸入端的差值位。
多路轉(zhuǎn)換器124從其兩個輸入端之一選擇數(shù)據(jù),以提供至其輸入端,多路轉(zhuǎn)換器124和132的切換周期與前述相同,注意輸入周期定義為提供包括一輸入樣本的所有位所需的時間間隔,如前所述,輸入位提供給加法器128的第一相加輸入端。存儲單元126的輸出也提供給加法器128的第二相加輸入端。此外,經(jīng)延遲的加法器前一加法運算的進位由延遲器130送到加法器128的第三相加輸入端。三個輸入(經(jīng)延遲進位、輸入位和存儲單元的輸出位)相加以提供兩數(shù)據(jù)位,第一位是進位,送到延遲單元130,以及和位1送到多路轉(zhuǎn)換器132的A輸入端,多路轉(zhuǎn)換器132也在其B輸入端收到存儲單元126的輸出位。隨后,多路轉(zhuǎn)換器132選擇其兩個輸入端之一的數(shù)據(jù),按前述切換操作在其輸入端提供FHT系數(shù)之一的一位。
最后一種可單獨或與上述改進結合使用的方法是利用截斷,當數(shù)據(jù)以并行方式提供給FHT裝置時,可通過向存儲單元僅提供數(shù)據(jù)的預定數(shù)量的最高有效位來實現(xiàn)截斷,在提供給FHT裝置的數(shù)據(jù)為串行流時,首先提供給存儲單元的最低有效位的哪些位被移到和最終移出一第一存儲單元,其表現(xiàn)為一個串進并出移位寄存器。當只有最高有效位保留在存儲單元中時,就得到了截斷,然后這些位可并行移到下一存儲單元中。
上述較佳實施例的敘述是為了使本領域的技術人員能作出和使用本發(fā)明,這些實施例的各種修改對本領域技術人員來說是顯然的,這里確定的一般原理可用于其它實施例而無需創(chuàng)造能力。這樣,本發(fā)明不限于這里所述的實施例,而應按照與這里所述的原理和新穎特點一致的最寬范圍。
權利要求
1.一種進行阿達瑪(Hadamard)變換運算的裝置,包括一組依次連接的FHT引擎裝置,接收一對應的輸入碼元和一對應的經(jīng)延遲的處理過的碼元,從所述經(jīng)延遲的處理過碼元減去所述輸入,提供一差值碼元,按一預定的選擇方式從所述差值碼元和所述輸入碼元選擇一處理過的碼元,將所述經(jīng)延遲的處理過的碼元與所述前一FHT引擎裝置輸出碼元相加,提供一和碼元,并從所述經(jīng)延遲的處理過的碼元與所述的和碼元對其后的FHT引擎裝置選擇并提供一輸入碼元,并由最后一FHT引擎裝置提供一輸出碼元;以及一組延遲裝置,連接到所述一組FHT引擎中對應的一個,接收所述處理過的碼元,并按一相應的預定延遲方式延遲所述處理過的碼元。
2.如權利要求1的裝置,其特征在于,每一所述一組FHT引擎裝置包括差值裝置,接收所述輸入碼元和所述經(jīng)延遲的處理過的碼元,并從所述經(jīng)延遲的處理過的碼元中減去所述輸入碼元以提供所述差值碼元;第一多路轉(zhuǎn)換器裝置,接收所述差值碼元和所述輸入碼元,并按第一預定選擇方式提供所述差值碼元和所述輸入碼元之一作為所述處理過的碼元;加法裝置,接收所述輸入碼元和所述經(jīng)延遲的處理過的碼元并相加,提供所述和碼元;以及多路轉(zhuǎn)換器裝置,接收所述和碼元與所述經(jīng)延遲的處理過的碼元,并按第二預定選擇方式提供所述和碼元與所述經(jīng)延遲的處理過的碼元之一。
3.如權利要求1的裝置,其特征在于,所述一組延遲裝置的每一延遲裝置將所述處理過的碼元延遲一段延遲時間,它等于連接到前一FHT引擎的延遲裝置的延遲時間的兩倍。
4.如權利要求1的裝置,其特征在于,所述一組延遲裝置的每一延遲裝置將所述處理過的碼元延遲一段延遲時間,它等于連接到前一FHT引擎的延遲裝置的延遲時間的一半。
5.如權利要求1的裝置,其特征在于,所述輸入碼元是串行提供的,每一所述FHT引擎包括差值裝置,接收一經(jīng)延遲的借位信號、所述經(jīng)延遲的處理過的碼元以及所述輸入碼元,從所述經(jīng)延遲的處理過的碼元的一位減去所述經(jīng)延遲的借位碼元和所述輸入碼元,提供所述差值碼元和一借位碼元;第一延遲裝置,接收所述借位碼元,并按預定的持續(xù)時間延遲所述借位碼元,提供所述經(jīng)延遲的借位碼號;第一多路轉(zhuǎn)換器裝置,接收所述輸入碼元和所述差值碼元,按預定的選擇方式提供所述輸入碼元和所述差值碼元之一,作為所述處理過的碼元;加法裝置,接收和相加所述輸入碼元、所述經(jīng)延遲的處理過的碼元和一經(jīng)延遲的進位碼元,提供所述和碼元與進位碼元;以及第二多路轉(zhuǎn)換器裝置,接收所述經(jīng)延遲的處理過的碼元與所述和碼元,提供所述和碼元與所述經(jīng)延遲的處理過的碼元之一,作為對下一級的所述輸入碼元。
6.一種進行Hadamard變換的方法,包括下列重復的步驟接收一輸入碼元;從經(jīng)延遲的處理過的碼元中減去所述輸入碼元,提供一差值碼元;按照預定的選擇方式,從所述差值碼元和所述輸入碼元中選擇一處理過的碼元;按照預定持續(xù)時間延遲所述處理過的碼元,提供所述經(jīng)延遲的處理過的碼元;將所述處理過的碼元與所述輸入碼元相加,提供一和碼元;以及按照第二預定選擇方式,從所述和碼元以及所述經(jīng)延遲的處理過的碼元中選擇一輸出碼元。
7.如權利要求6的方法,其特征在于,所述延遲所述處理過的碼元的步驟包括將一組存儲器處理過的碼元移到有著不同標識的陣列中,將所述處理過的碼元存入具有初始標志的陣列中;以及存儲在具有最終標志的陣列中的處理過的碼元被作為所述經(jīng)延遲的處理過的碼元。
8.如權利要求6的方法,其特征在于,所述接收所述輸入碼元的步驟包括串行地接收所述輸入碼元的各位;所述從一經(jīng)延遲的處理過的碼元中減去所述輸入碼元的所述步驟進一步包括從所述經(jīng)延遲的處理過的碼元中減去一借位碼元,并進一步包括按照所述相減步驟提供所述借位碼元;以及將所述處理過的碼元與所述輸入碼元相加的所述步驟進一步包括將一進位碼元與所述處理過的碼元和所述輸入碼元相加,進一步提供進位碼元。
9.一種進行Hadamard變換運算的裝置,包括一組FHT引擎裝置,具有一帶有兩個輸入端和兩個輸出端的第一FHT引擎裝置,第一輸入端接收一輸入碼元,第一輸出端提供一處理過的碼元,和一組依次連接的附加的FHT引擎裝置,每個FHT引擎裝置具有兩個輸入端,其第一輸入端連接到前一FHT引擎的第二輸出端;以及一組延遲裝置,具有第一延遲裝置,其一個輸入端連接到所述第一FHT引擎的第二輸出端,其一個輸出端連接到所述第一FHT引擎裝置的第二輸入端,以及一組附加的延遲裝置,有一輸入端連接到一相應的附加FHT引擎的第二輸出端,有一輸出端連接到一相應的附加FHT引擎的第二輸入端。
10.如權利要求9的裝置,其特征在于,所述一組FHT引擎中的每一個包括差值裝置,具有兩個輸入端以及具有一個輸出端,第一輸入端接收所述輸入碼元,第一多路轉(zhuǎn)換器,具有兩個輸入端和一個輸出端,第一輸入端接收所述輸入碼元,而第二輸入端連接到所述差值裝置的輸出端;加法裝置,具有兩個輸入端以及具有一個輸出端,第一輸入端接收所述輸入碼元;以及第二多路轉(zhuǎn)換器裝置,具有第一輸入端,連接到所述加法裝置的輸出端。
11.如權利要求10的裝置,其特征在于,所述差值裝置進一步包括第三輸入端和第二輸出端,所述加法裝置進一步包括第三輸入端和第二輸出端,所述裝置進一步包括第三延遲裝置,有一輸入端連接到所述差值裝置第二輸出端,并有一輸出連接到所述差值裝置第三輸入端;以及第四延遲裝置,有一輸入端連接到所述加法裝置第二輸出端,并有一輸出端連接到所述加法裝置第三輸入端。
12.一種進行Hadamard變換運算的電路,包括一組依次連接的FHT引擎電路,接收相應的輸入碼元和相應的經(jīng)延遲的處理過的碼元,從所述經(jīng)延遲的處理過的碼元中減去所述輸入,提供差值碼元,按預定選擇方式從所述差值碼元和所述輸入碼元中選擇一處理過的碼元,將所述經(jīng)延遲的處理過的碼元與所述前一個FHT引擎電路輸出碼元相加,提供一和碼元,從所述經(jīng)延遲的處理過的碼元與所述和碼元中選擇并提供一輸入給下一個FHT引擎,最后一個FHT引擎電路提供一輸出碼元;以及一組延遲電路,連接到所述一組FHT引擎電路中對應的一個,接收所述處理過的碼元,按相應的預定延遲方式延遲所述處理過的碼元,提供所述經(jīng)延遲的處理過的碼元。
13.如權利要求12的電路,其特征在于,所述一組FHT引擎電路中的每一個包括差值電路,接收所述輸入碼元和所述經(jīng)延遲的處理過的碼元,從所述經(jīng)延遲的處理過的碼元中減去所述輸入碼元,提供所述差值碼元;第一多路轉(zhuǎn)換器電路,接收所述差值碼元和所述輸入碼元,按第一預定選擇方式提供所述差值碼元和所述輸入碼元之一作為所述處理過的碼元;加法電路,接收所述輸入碼元和所述經(jīng)延遲的處理過的碼元并將其相加,提供所述和碼元;以及多路轉(zhuǎn)換器電路,接收所述和碼元與所經(jīng)延遲的處理過的碼元,按第二預定選擇方式提供所述和碼元與所述經(jīng)延遲的處理過的碼元之一。
14.如權利要求12的電路,其特征在于,所述一組延遲電路的每一個將所述處理過的碼元延遲一段延遲持續(xù)時間,這段時間等于連接到前一FHT引擎的延遲電路延遲持續(xù)時間的兩倍。
15.如權利要求12的電路,其特征在于,所述一組延遲電路的每一個將所述處理過的碼元延遲一段延遲持續(xù)時間這段時間等于連接到前一FHT引擎的延遲電路延遲持續(xù)時間的一半。
16.如權利要求12的電路,其特征在于,所述輸入碼元串行地提供,所述一組FHT引擎包括差值電路,接收經(jīng)延遲的借位碼元、所述經(jīng)延遲的處理過的碼元和所述輸入碼元,并從所述經(jīng)延遲的處理過的碼元的一中減去所述經(jīng)延遲的借位碼元和所述輸入碼元,提供所述差值碼元和一借位碼元;第一延遲電路,接收所述借位碼元,按預定的持續(xù)時間延遲所述借位碼元,提供所述經(jīng)延遲的借位碼元;第一多路轉(zhuǎn)換器電路,接收所述輸入碼元和所述差值碼元,按預定的選擇方式提供所述輸入碼元和所述差值碼元之一,作為所述處理過的碼元;加法電路,接收所述輸入碼元、所述經(jīng)延遲的處理過的碼元和一經(jīng)延遲的進位碼元,提供所述和碼元和一進位碼元;第二延遲電路,接收所述進位碼元,按預定持續(xù)時間延遲所述進位碼元,提供所述經(jīng)延遲的進位碼元;以及第二多路轉(zhuǎn)換器電路,接收所述經(jīng)延遲的處理過的碼元與所述和碼元,提供所述和碼元和所述經(jīng)延遲的處理過的碼元之一作為下一級的所述輸入碼元。
全文摘要
進行阿達瑪變換的方法和裝置,基本單元為FHT引擎,包括減法器2,從經(jīng)延遲的處理過的碼元減去輸入碼元;第一多路復用器4,提供經(jīng)延遲的處理過的碼元與輸入碼元之差,或第一輸入碼元;存儲單元,存儲第一多路轉(zhuǎn)換器4的輸出作為經(jīng)延遲的處理過的碼元;加法器6,把輸入碼元加到經(jīng)延遲的處理過的碼元;以及第二多路轉(zhuǎn)換器8,提供輸入碼元與經(jīng)延遲的處理過的碼元之和,或經(jīng)延遲的處理過的碼元,作為輸出。該基本引擎與各種存儲器配置連用,各引擎可串聯(lián)布置,進行確定階數(shù)的阿達瑪變換。
文檔編號G06F17/14GK1138382SQ9419456
公開日1996年12月18日 申請日期1994年12月20日 優(yōu)先權日1993年12月22日
發(fā)明者豪丹·德海西 申請人:夸爾柯姆股份有限公司