能夠被串行地饋 入存儲器內并且被并行地輸出用于進一步處理。
[0123] 在該實例中,定序器92還包含被饋送到輸入樣本存儲器102的偏移控制信號。偏 移信號可以被用來使從存儲器102輸出的值在0和45個樣本之間偏移,以使得時序能夠針 對前一/當前/后一處理進行校正。用于該偏移的時序可以接收自例如符號/碼片同步單 元84。
[0124] 如同在GB2472774B中所描述的,根據IEEE802. 15. 4標準,已知數據包的前8個符 號是s = 0的符號。因此,定序器92接收同步信號和前導信號作為輸入,以依據是正在接 收前導還是正在接收數據來控制定序器。如果是正在接收前導,則控制信號s只需要被設 定為s = 0的符號,因為在前導階段內只有該符號被接收。在前導階段完成之后,同步被執 行以調整時序,如同在GB2472774B中所描述的。
[0125] 對于第二實施例,符號處理的序列化是可能的,因為同步在依賴于只有一個符號 (即,s = 0)被接收到的前導采集期間被實現。在符號與碼片的同步已經被實現之后,每個 碼片周期,碼片代碼的每個碼片只有3樣本(即,前一/當前/后一)被用于進一步處理, 見 GB2472774B。
[0126] 以所接收信號對全部16個可能的符號進行的連續處理能夠在48個時鐘周期內執 行,然而每個符號周期可獲得256個時鐘周期(NoS = 8)。
[0127] 通過串行地為每個符號執行相關,非平凡乘法的數量保持不變,而對于IBjP Q BB, 存儲容量要增加45個值,因為存儲器在符號被順序地處理時需要保持樣本值。而且,在內 積Ghy n d)計算之后需要尺寸為(n_l)*d的流水線式寄存器來重新同步數據,以便避免時 序沖突。但是,邏輯門的數量減少了 16倍,因為每個符號按順序來處理。
[0128] 應當意識到,值按照采樣頻率的速度不斷地隨時鐘計時通過輸入存儲器102。因 此,對于每個碼片代碼,相關值將被計算8次(每個樣本周期1次)。但是,還應當意識到, 只有1個值將被存儲于存儲單元或結果存儲器94內。
[0129] 圖7示意性地示出了如何使用根據本發明的第三實施例的硬件表示來執行相關。 圖7的可見于圖6中的相同特征使用相同的附圖標記來標示。出于完整起見,圖7所示的 特征一一符號選擇單元98、加法器或求和單元100、求和塊88、LUT 68及串行-并行存儲器 單元94與圖6所示的同樣編號的特征相同。圖7示出了雙相關器91的硬件表示。應當意 識到,雙相關器91可以用于圖2和3所示的收發器,而不是這些圖所示的雙相關器72。
[0130] 存儲器單元或輸入存儲器單元106接收IBjP Qbb信號。應當意識到,在該實例中, 輸入存儲器單元106代替了圖3中所示的采樣器70。輸入樣本存儲器106存儲了全部延遲 滯后d的與I BjP Qbb的碼片代碼(或η)的單個碼片對應的采樣信號。也就是說,對于每個 值d = 1,2, 3的8個樣本,只有3個樣本存儲于存儲器單元106內。基于為8的過采樣比 (N0S = 8),總共有24個值被存儲。在本發明的實施例中,4位ADC被使用,所以這24個值 每個都將具有用于每個1%和Q BB信號的4個位。輸入存儲器單元106 (存儲)是8位移位 寄存器,每NOS (或8)個元件就有3個抽頭(tabs)或輸出用于輸出每個滯后延遲的值。如 圖所示,Ibb(O)和Qbb(O)被輸出,以及I bb⑷和Qbb (d)。用于1BB (d)和Qbb (d)的值被存儲于 存儲器單元106內,并且Ibb(O)和Qbb(O)是當前值,所以可以不用存儲,但是在某些實施例 中,用于Ibb(O)和Qbb(O)的信號值被存儲。存儲器單元106包含八組串聯布置的1位移位 寄存器(例如,觸發器),每個位一組。每組觸發器包含24(或25,如果I bb⑹和Qbb⑹被 存儲)個串聯布置的觸發器。對于每個d = 1,2, 3,都存在來自移位寄存器的三個抽頭或輸 出。如果傳入的基帶信號在NOS = 8下對于1ΒΒ (η)和QbB (η)來采樣并且使用4位ADC來 轉換,則192 (或200,如果Ibb(O)和Qbb(O)被存儲)位的總存儲被使用。應當注意,輸入值 1 ΒΒ (η)和Qbb (η)每個都是4位的值。
[0131] 在d = 1,2, 3的樣本被存儲于輸入存儲器單元106內之后,輸出被饋送到被布置 為乘法器108的第一多個邏輯門。應當意識到,存儲器106是以采樣頻率進行時控的移位 寄存器,使得輸出值將按照采樣頻率的速率不斷地改變。乘法器108的第一多個邏輯門如 同本領域技術人員所了解的那樣來配置。乘法器108具有用于存儲器單元106的每個輸出 的多個輸入,使得存儲于存儲器單元106內的值被并行地輸出到乘法器108。在從存儲器單 元106接收到η的每個值時,乘法器108對于η的每個值針對d = 1-3按照相關函數的內 積d)對來自存儲器單元1〇6的存儲值執行乘法。也就是說,內積對于每個η -個接 一個地串行執行。乘法器108僅對于d使用3次復數乘法來執行復內積計算d),該 乘法器108可以被描述為差分濾波器(differential filter)。這些乘法可以每個使用4 個乘法器和2個加法器(即,對于d的每個值)來執行,或者總共使用12個乘法器和6個 加法器來執行。乘法器108的輸出是8位的,但是可以被截短至6位以進一步處理。
[0132] 乘法器單元108的輸出被饋送到主存儲器或第一存儲器單元110。主存儲器單元 110存儲并移位接收自乘法器108的IQ⑷和Ql⑷的內乘值。d = 1,2, 3的每個IQ⑷和 Ql (d)的內乘值被存儲為36位的字。存儲器單元110接收的乘法器108對于η的每個值在 全部d上且全部8個樣本的輸出值。應當意識到,來自乘法器110的值按照采樣頻率的速 率不斷地改變,并且因而將被從第一多個邏輯門108簡單地輸入主存儲器單元110內,并且 同樣將會在采樣率下進行時控或被移動通過存儲器。存儲器單元110是移位寄存器,所以 在接收到來自乘法器108的值時,這些值被作為36位的字來加載并被移位通過存儲器。存 儲器單元110包含多個移位寄存器。在該實例中,36組串聯連接的移位寄存器(每個位一 個)被并行布置。每組移位寄存器包含例如240個串聯的觸發器。存儲器單元110存儲總 共240*36位的字。該圖示出了其內存儲有30*N0S*3個值的主存儲器單元110。存儲于存 儲器104內的所有乘積的值被饋送到第二多個邏輯門或符號選擇單元98。存儲器單元110 包含每NOS(例如,在本例中為8)個樣本就一個的輸出抽頭。輸出抽頭提供碼片代碼的每 個碼片除η = 0外的值,因為η = 0的值不進行計算,如上所述。除了 240個存儲位置外, 還包含有輸入級,如同下文所描述的,對于η = 1的值包含4個位。存儲器單元110 (不包 括輸入級)具有240個36位字的存儲容量(8640位)。
[0133] 每個36位字都包含所有樣本的IQ (d) (η,樣本)和Ql (d) (η,樣本)對于η的值及 d的全部值的值。以下示出了數據形式的一個實例,在該實例中,每個括號內的項都代表一 個6位字:
[0134] <IQ(1) (I, l)XQI(l) (I, 1)><IQ(2) (I, I) XQI (2) (I, I) XIQ (3) (I, I) XQI (3) (1, 1)>
[0135] <IQ(1) (1,2)><QI(1) (1,2)><IQ(2) (1,2)><QI(2) (1,2)><IQ(3) (1,2)><QI(3) (1,2)>
[0136] ......
[0137] <IQ(1) (31, 8) XQI (I) (3 1, 8) XIQ (2) (3 1, 8) XQI (2) (3 1, 8) XIQ (3) (31, 8) XQI (3) (31, 8) >
[0138] 保持信號由定序器112饋送到存儲器單元110,以在一個或多個移位寄存器內保 持用于以后的前一 /當前/后一處理的多個樣本。定序器112按照與圖6所示的定序器92 類似的方式來操作,只是定序器112輸出保持信號,而不是偏移信號。
[0139] 應當意識到,圖7所示的實施例的其余級(98、10、88和94)與結合圖6所描述的 那些級是相同的。應當意識到,值被按照采樣頻率的速率不斷地時控通過存儲器單元110。 因此,對于每個碼片代碼,相關值將被計算8次(每個樣本周期一次)。但是,還應當意識 到,只有一個值將被存儲于存儲單元或結果存儲器94內。
[0140] 符號的連續或串行處理被保留,但是內積僅在滯后延遲上進行計算,并且重新對 準的結果被存儲于存儲器內并被移位。這使得復內積乘法從90次減少到3次,使得僅需要 1/30的邏輯門來完成該內積。
[0141] 所使用的主樣本存儲器或第一存儲器單元110的存儲容量被增加,但是輸入樣本 存儲被減少。輸入存儲器產生滯后延遲并重新對準輸入,使得存儲于主樣本存儲器內的值 能夠直接一起處理。主樣本存儲器110被實施為具有n-2(即,30)個輸出抽頭的移位寄存 器,每個抽頭被定位相隔NOS (例如,8)個樣本的,從而需要深度為30*N0S個字的移位寄存 器。每個抽頭的輸出相當于在η上的內乘值同樣還存在用于將當前值或現在 的值與前一/當前/后一處理的其他三個值一起存儲于其內的輸入級。像之前一樣,不必 要存儲現在的值或當前值的全部8個樣本,因為在當前它是可用的。
[0142] 圖8示意性地示出了圖7所示的移位寄存器110。應當意識到,圖中僅示出了 1位 的移位寄存器,而在實踐中將有36個并行的移位存儲器,36位字中的每個位對應一個寄存 器。移位寄存器110包括三種不同類型的寄存器、輸入級或單元120、第一單元122和第二 單元124。每個單元都包含輸出Q和輸出QS,該輸出QS被饋送到下一單元。在本例中,每個 單元按過采樣頻率或16MHz進行時控。每個單元接收來自定序器112的保持信號。第一及 第二單元122, 124輸出全部d的每個η值的乘法值。存儲器單元包含30個輸出觸頭,這些 輸出觸頭由8個樣本(NOS)以及用于前一 /當前/后一處理的輸入級的輸出抽頭間隔開。
[0143] 圖9示意性地示出了圖8所示的輸入單元120。輸入單元或級120包含用于使輸 入值移位從一個寄存器到下一個寄存器的四個串聯的單個移位寄存器,編號為〇, 1,2, 3。還 包含標記為10, 20, 30的另外三個移位寄存器,用于保持在連續的符號處理期間用于前一 / 當前/后一處理的3個樣本值。標記為0的寄存器的輸出被饋送到第一保持寄存器10。開 關126被用來允許在處于第一位置(圖中的邏輯0)時將輸入信號加載到保持寄存器內,并 且允許在處于第二位置(圖中的邏輯1)時將這些位加載到保持寄存器內以通過將保持寄 存器的輸出到輸入的循環來存儲。保持寄存器被用來在下一符號的數據被移位到存儲器內 的同時保持值。
[0144] 圖10示意性地示出了圖8所示的第一類型的單元或級122。第一類型的單元124 包含用于將輸入值從一個寄存器移位到下一個寄存器的八個串聯的單個移位寄存器(每 個樣本一個),編號為1,2, 3, 4, 5, 6, 7和8。標記為60, 70, 80的另外三個移位寄存器是用 于保持3個樣本值的,這3個樣本值在連續的符號處理期間被用于前一 /當前/后一處理。 標記為5的寄存器的輸出被饋送到第一保持寄存器60。開關126被用來加載并存儲該3 個樣本值,如同關于圖9所描述的。用于前一 /當前/后一處理的樣本被保持45個時鐘周 期,因為這是執行該處理通常所需的時間量。在本例中,這使用4個寄存器的輸入級以及每 8個寄存器的5個單元或級來實現。
[0145] 圖11示意性地示出了圖8所示的第二類型的單元或級124。輸入級122包含用 于將輸入值從一個寄存器移位到下一個寄存器的8個串聯的單個移位寄存器(每個樣本一 個),編號為1,2