多信道維特比解碼器的製作方法
2023-04-24 01:16:56 1
專利名稱:多信道維特比解碼器的製作方法
本申請為1997年3月12日提交的美國臨時申請No.60/040,477的繼續。
本發明一般涉及數字通信。具體涉及一種其中在通信接收機處以可變速率來發送及接收數據並在高效多信道多速率數據解碼器中對該可變速率數據進行解碼的系統。
當今最先進的通信技術中進行一點對多點遠程通信時使用的是擴頻調製或碼分多址(CDMA)技術。自50年代以來,由於其通信傳輸難於被檢測和幹擾的特點,CDMA技術一直應用於軍事應用領域。該種屬性是由於其中使用了遠大於所傳輸信號的信息帶寬的調製傳輸帶寬的無線通信技術。
圖1所示為一種經簡化的CDMA通信方案。給定帶寬上的一條單獨通信信道與一個擴展碼相混合。通過乘以一個唯一的擴展碼用序列將相對較窄頻帶的調製信號擴展以佔用寬得多的傳輸帶寬。該擴展碼由類噪聲高速率偽隨機序列或成為所傳輸數據一部分的代碼組成。由於所得傳輸信號表現為低電平類噪聲信號,因此其一般不會與其它頻譜用戶發生相互幹擾。
在接收機處,通過將所接收到的寬帶信號與本地所產生的相同偽隨機序列相關而將該信號解擴,可以從佔用了同一傳輸帶寬的多個數據信號中分解出所需數據。此操作將該信號壓縮回其原始帶寬,並另外將出現在所佔用頻譜內的任何窄頻帶無線信號擴展以使其現在對接收機來說表現為噪聲。通過使用許多不同的偽隨機代碼序列,在相同的傳輸頻譜內將可以容納多個用戶。
上述CDMA通信技術在軍事應用中取得成功的特性也使CDMA通信系統,特別是寬帶碼分多址TM或B-CDMATM系統,成為有效使用擁擠的商用無線頻譜的必須。在CDMA系統的眾多屬性中,其中之一就是其實際上的無限容量。由於CDMA通信系統中的每個用戶均是在相同的傳輸帶寬上發送和接收信號的,所以其對信道化和防護頻帶的要求相對不是很苛刻。不象FDMA和TDMA等容量受離散信道數的限制,CDMA系統的容量只受幹擾的限制。因此,能夠同時在給定傳輸帶寬上進行通信的用戶的數目將能夠顯著增加。
除了語音信息之外,也可以向接收機發射單獨的非語音信息或上述兩種信息的組合。某些通信標準,如綜合業務數字網(ISDN)需要比數位化語音高得多的數據率。為了使該種通信系統的功能達到最優,使用了多種速率來傳輸數據以增大對所有接收機的信噪比(SNR)。
擴展頻譜性能的一個基本衡量指標便是系統處理增益,Gp,其是由信道比特率對信息比特率的比值,Rc/Ri確定的。輸入和輸出信號對噪聲的比值之間的關係為公式1SNo=Gp(SNo)i]]>從中可以看出數據率越高,所產生的幹擾便越大,並且信噪比也將隨之變差。幹擾的減小將直接轉化為容量的增大。
大多數CDMA遠程通信系統均是傳輸可變速率的數據以使SNR儘可能大。為實現此目的,或者是直接將傳輸數據率標示在身為信號信道的一部分的系統電平控制消息內,或者是要求給定的接收機必須能夠檢測出所傳輸數據的速率。
由於是眾多用戶共享此同一頻譜傳輸信道,所以當在各用戶之間沒有足夠的代碼隔離時則可能會將幹擾從一個用戶中誘發到另一個用戶處。另外,當在發射機或接收機中進行卷積糾錯解碼之前必須事先知道該數據率。
大多數現有技術的接收機均使用獨立的,單一速率的卷積解碼器來正確地重建出先前所接收並解擴的數字數據。由於直接傳送來每幀的數據率信息,所以接收機不用必須自己從所接收的數據幀中確定數據的編碼率,由此降低了接收機的複雜性,並提高了整個系統的速度。然而,使用專用於每種傳輸數據率的卷積解碼器降低了整體處理的效率並增加了系統的成本。
因此,有必要設計一種高效的,能夠處理可變數據率的卷積解碼器。
本發明涉及一種通信系統,其中給定傳輸的數據率由發射機進行了編碼並被用於對共享著公共存儲器的多個卷積解碼器進行調節。該系統使用公共處理資源來提供最多為4個的分別具有多速率卷積糾錯解碼功能的離散信道,其結果是減小了矽片面積並降低了操作的能耗。該系統能夠支持速率從8kbps一直到用於高速率ISDN通信的64kbps的語音通信。儘管本發明可用於多種通信系統,其優選通信系統包括行動電話,PCS,無線本地環路和CDMA通信。本發明可用於基站和用戶單元位置的接收機中。
因此,本發明的一個目的是提供一種用於多信道應用的高效多速率卷積解碼器。
本發明的另一個目的是提供一種複雜性被降低而性能卻被提高的多信道卷積解碼器結構。
在審閱了下文中對優選實施例的詳細說明後,本領域的技術人員將會對本系統和方法的其它目的和優點有進一步的了解。
圖1所示為現有技術中的典型CDMA通信系統的方框圖;圖2所示為CDMA通信系統的詳細方框圖;圖3a所示為本優選實施例的詳細方框圖的第一部分;圖3b所示為本優選實施例的詳細方框圖的第二部分;圖4所示為本優選實施例的整體方框圖;圖5所示為在主機數位訊號處理器與本優選實施例之間的接口的方框圖;圖6所示為QPSK構象的示意圖;圖7所示為一個加和-比較-選擇信道的詳細方框圖;圖8a所示為該加和-比較-選擇序列器的流程圖的第一部分;圖8b所示為該加和-比較-選擇序列器的流程圖的第二部分;圖9所示為該加和-比較-選擇序列器的詳細方框圖;圖10所示為回溯處理的流程圖;圖11所示為誤碼率處理的流程圖;圖12所示為誤碼率(BER)與信噪比的關係曲線圖。
接下來將參照附圖對本發明進行詳細說明,各附圖中用類似的標註符來表示相類似的元件。
根據本發明製成的多信道,多速率維特比解碼器被實施於CDMA蜂窩電話系統17的環境中。此類解碼器一般用於接收通信信號的多信道無線通信站中。圖2所示的系統17包括發射機19和接收機21,其可能存在於基站或移動用戶接收機中。
發射機19包括將語音和非語音數據25編碼為幀頻為多種數據率,例如8kbps,16kbps,32kbps或64kbps的多個數據幀的信號處理器23。信號處理器23將根據語音的活動量(如果是語音數據),或對應於設定的數據率來選擇一種速率。
在多路接入環境中產生所要傳輸的信號包括兩個步驟。第一,利用前向糾錯編碼(FEC)27對可以被視為二相調製信號的輸入數據25進行編碼。由於使用的是R=1/2的卷積碼,所以單一的二相調製數據信號將變成兩個二相調製信號。其中一個信號代表同相信道I。另一個信號則代表正交信道Q。二相調製I和Q信號通常被稱作正交相移鍵控(QPSK)。在本優選實施例中,用於K=7的約束長度以及R=1/2的卷積碼率的長碼發生器(tap generator)多項式29,31為G1=1718G2=1338第二步驟中,利用同相(I)35a和正交(Q)35b QPSK偽隨機序列對兩個二相調製數據或碼元33a,33b進行擴展處理。所得的I37a和Q 37b擴展信號與載頻43混合在一起,並與具有不同擴展碼的其它擴展信號(信道)相結合(45)並發射(47)。發射(47)過程中可以包含多個具有不同數據率的單獨信道。
接收機21包括解調器49a和49b,其將所傳送來的寬帶信號47混頻(51a,51b)到一個中間載頻上。QPSK信號隨後被濾波(53)並與本地所產生的與所傳送代碼相匹配的QPSK偽隨機代碼35a,35b相混合(55a,55b)。只有在發射機19處由相同代碼所擴展的原始波形才可以被有效解擴。而其它信號對接收機21將表現為噪聲。數據57a,57b隨後被傳送給信號處理器59,由其對卷積編碼數據進行FEC解碼。
本發明利用如圖3a和3b所示的高效多信道,多速率維特比解碼器61進行解碼。解碼器61包括數位訊號處理器(DSP)至維特比解碼器接口63,公用歐幾理德距離計算處理機65,多個加和-比較-選擇(ACS)信道67a,67b,67c和67d,狀態量度(metric)存儲器陣列69,ACS序列器71,回溯存儲器陣列73,回溯處理器75和解碼器至系統接口77。圖3a和3b所示的系統可以離散地進行裝配,也可以用高效專用集成電路(ASIC)79來實現。
在本優選實施例中,解碼器61內的任何4個信道(0,1,2,3)均可以處理多種數據率8kbps,16kbps,32kbps或64kbps。在另選實施例中也可以使用其它數據率。更低的數據率是通過使其具有對冗餘接收碼元進行操作的時間分集組合功能來實現的。其將有效地提高時間分集接收信號的SNR。對於與低於所預期的最高數據率的數據率相對應的數據幀中的那些碼元,將重複碼元數據以使該數據幀能夠保持恆定的碼元率。
對於64kbps的數據率,每15.625微秒發送一個QPSK碼元。而對於32kbps的數據率,則將通過一個信道重複發送兩次對應的QPSK碼元,而每次仍以64kbps的速率來發送這些碼元,只是通過採用雙倍冗餘技術而將信息率降低為32kbps。對於16kbps數據率,則將通過該信道重複發送4次對應的QPSK碼元,對於8kbps數據信道,則為8次。
參照圖3a和3b,多信道解碼器61共享公共資源以使矽片面積減小到最小。如圖所示,狀態量度存儲器陣列69和回溯存儲器陣列73為靜態隨機存取存儲器(SRAM)並為每個信道所公用。另外採用公共的歐幾理德距離計算處理機65也使效率得到了提高,其用於計算所接收的QPSK碼元與所有4個信道的QPSK空間中的4個可能構象點之間的平方歐幾理德距離。
如圖所示的系統結構實施了維特比算法並用於對以卷積方法進行編碼的數據進行解碼。對應於K=7的約束長度以及R=1/2的代碼率的長碼發生器多項式為G1=1718(29)和G2=1338(31)。其應被理解的是,在另選實施例中根據不同的約束長度和代碼率也可以使用其它形式的長碼發生器多項式。例如,對K=9的約束長度和R=1/2的代碼率,長碼發生器多項式為G1=7538和G2=5618。長碼發生器的應用在遠程通信技術領域十分常見,並用於FEC編碼器27中。
整體的系統結構如圖4所示。主機微控制器81通過微控制器數據線85,地址線87和寫選通脈衝89對位於ASIC 79上的定時和控制模塊(TCM)83進行控制。微控制器81從所傳送來的數據幀中確定出給定信道的時間分集係數。該分集組合是通過分別對信道0到3選擇性地斷言和去斷言分集組合信號91a,91b,91c,91d來進行控制的。數據輸出93從主機DSP 95中引出並用於將所有4個信道的I和Q信號傳送給維特比解碼器接口63。主機DSP 95使能信號97和地址線99也同樣被耦合到維特比解碼器接口63上。主機微控制器81對每個分集組合信號91a,91b,91c,91d進行控制。主機DSP 95則對到解碼器接口63的單獨信道數據93進行控制。
TCM 83接受一個從外部得到的高頻參考信號103以用於整個系統的時序同步。TCM 83利用參考信號103推導出高頻轉儲105以及維特比時鐘107信號。此外TCM 83還產生總解碼器復位信號109。
特定信道的數據率由微控制器81通過使能各自的分集組合信號91a,91b,91c,91d而降低。對於32kbps的數據率,兩個相鄰碼元被組合在一起;對於16kbps的數據率,4個碼元被組合在一起;而對於8kbps的數據率,則8個碼元將被組合在一起。
本優選實施例採用了時間分集技術來處理多速率數據。在64kbps的數據率上,使用的是每個單獨的傳輸數位。然而,在最低的數據率8kbps上,則每個數位將被複製8倍。在以最低數據率進行處理時,冗餘碼元只是被簡單地加在一起。如本發明的現有技術中所說明的,通過一條對應信道每發送一個碼元,便接收具有一定增益和噪聲的數碼(figure)。因此,如果通過該信道發送兩次相同的信號,則SNR將加倍。其原因是由於冗餘碼元是被相干地加在其上的,而所引入的隨機噪聲則不是。從最高數據率64kbps到最低數據率8kbps,信號增益將增大為8倍。
通過降低數據比特率以及採用時間分集技術,由於在將不同碼元組合在一起時可以使增益得到提高,因此信號傳輸能量將相應降低相當的數量。利用分集組合可以在不產生有害效應的較低SNR的情況下將數據率降低。
對於最大的數據吞吐率64kbps,必須禁用分集組合功能。其中是通過對於該特定信道使分集組合信號91a,91b,91c,91d一直保持高電平來實現這一點的。在多信道解碼器61以較低的數據率進行操作的情況下,當解碼器被使能以及當接口63為了傳送新的碼元集合而被清零時,分集組合信號91a,91b,91c,91d將對哪些相鄰碼元被組合在一起進行控制。
如圖5所示,解碼器接口63在主機DSP 95數據總線93上接受長度為8位兩個「互補」(compliment)I和Q樣本信號。來自主機DSP 95的數據通過數據總線93被輸入到地址解碼器111中。雖然數據總線93是一種並行輸入總線,但在所有4個信道之間數據卻是串行到達的。隨後該數據被分離為用於每個信道的單獨同相和正交分量,並分別通過導線121I,121Q,123I,123Q,125I,125Q,127I,127Q輸出到用於信道0-3的飽和積分和轉儲電路113I,113Q,115I,115Q,117I,117Q,119I,119Q的每一個處。接口63包括具有飽和邏輯的8位累加器。最大的正飽和值為0×7f16,最大的負飽和值為0×8016。
在維特比解碼器接口63內,利用二進位「互補」操作來進行時間分集組合操作。當以較低的數據率進行處理時,所有的冗餘I和Q樣本被加在一起。類似地,如果出現溢出,飽和加法器將被用於消除符號變化。除了駐存於單獨的DSP IC內的分集組合功能之外,也可以在ASIC中另外包含定製的專用功能部件。在執行完分集組合功能之後,其結果將被輸出到分別用於信道0-3的導線129I,129Q,131I,131Q,133I,133Q,135I,135Q上。飽和積分轉儲電路還對分別用於信道0-3的歐幾理德距離計算處理機65使能信號137a,137b,137c,137d進行控制。
參照圖3a和3b,所有多信道解碼器61的內部處理器均與維特比時鐘107保持同步。主機DSP 95由其自身的異步時鐘(未顯示)來提供時鐘信號。DSP時鐘和轉儲信號105再同步於維特比時鐘107。解碼器61要求維特比時鐘107必須或多或少地快於轉儲信號105。
所有信道均從解碼器接口63耦合到如圖4所示各自對應的I和Q和使能信號線上的歐幾理德距離計算處理機65上。參照圖3a,歐幾理德距離計算處理機65計算所接收到的每個I和Q碼元與4個可能QPSK構象點之間的4個平方歐幾理德距離。只有當被各自信道使能時,公共處理機才為每個信道計算距離。
如圖6所示,歐幾理德距離計算處理機65通過將其映射到QPSK構象x00,x01,x10,x11上來對在每個信道上所接收到的所有碼元p進行比較。由於無論是採用多徑還是射頻技術,在傳輸(47)期間其均有可能被噪聲和失真破壞,因此需要對所接收到的每個點p進行檢查。幾何處理機65從所接收到的碼元p中計算出4個距離d00,d01,d10,d11並選出最短距離d00。
其中所用的使能機制是基於用於特定信道的傳輸數據率的。由於該計算只是在歐幾理德距離計算處理機65中進行的,如果在又傳送來新的I和Q碼元的同時幾何處理機65已被使能,則整個處理的效率將會有一定的提高。由於其在處理低速率數據時不需要浪費任何的計算時間,所以效率也會因此而提高。
參照圖3a和3b,在計算出歐幾理德距離之後,每個信道的離散12位輸出139a,139b,139c,139d和與之相關的使能信號141a,141b,141c,141d被一起串行地耦合到4個離散ACS電路67a,67b,67c和67d,其中上述歐幾理德距離被映射到基於編碼器的格子結構(trellis)上。使用格子結構方案來對以FEC卷積方法進行編碼的數據進行解碼對本技術領域的技術人員來說十分常見。
本發明將每個碼元歸一化並利用飽和邏輯計算出最短的格子結構距離。先前的狀態量度被加到新接收到的每個傳輸碼元上。每條信道上的每個單獨的數據點均發展並更新該格子結構。從狀態量度存儲器69中讀出狀態量度數據。ACS電路67a,67b,67c,67d實現維特比算法。最大似然解碼器依賴於身為狀態圖的無限複製的格子結構。卷積代碼的任何代碼字均對應於沿該格子結構圖上某條路徑的碼元。在該格子結構的每個狀態以及每個水平上,均包含有一次ACS操作。為了實現基於維特比算法的解碼器,需要兩個不同數據集合的存儲器。第一存儲器是對格子結構的每個連續水平均被更新的路徑狀態或量度存儲器69。第二組數據集合則是格子結構中每個節點或狀態上的數據選集(selection),稱為路徑存儲器73。
現有技術中,每個單獨的解碼器或ACS電路均需要單獨的用於該兩個數據集合的存儲器。而在本發明中,以一種新穎方式將量度69和路徑存儲器73陣列合併為一個公用於每條信道的公共存儲器,由此顯著地減小了矽片面積。另外,通過將公共尋址和數據傳輸組合在一起,也進一步提高了效率。對於狀態量度存儲器69狀態量度數據被寫入到143a,143b,143c,143d中並從145a,145b,145c,145d讀出。
對每個狀態,存在有兩個可能的終結於其上的格子結構路徑。在ACS電路67a,67b,67c,67d中執行刪節操作以找出終結於給定狀態上的最佳量度。該最佳量度是通過選擇最小的累加格子結構距離來確定的。所選中的路徑,上或下,分別由0或1來表示。此信息被寫入到導線149a,149b,149c,149d上的回溯存儲器73。
一般是在多個接收到的碼元上來組成該格子結構。本優選實施例需要離散時間上的35個碼元,並且一旦接收到由時鐘控制的每個碼元就更新一次。在累積完35個碼元之後,通過一次判斷找出具有最小誤差的格子結構路徑。此種解碼方法確定了所發送是哪個QPSK碼元。該種格子結構引入了冗餘並積累了歷史信息。
用於信道0的一個ACS電路67a如圖7所示。代表了一個QPSK構象點的每個新碼元是輸入139a。由於該格子結構中的每個節點均分別具有一進一出兩條路徑,所以將根據格子結構中的現時狀態以及所編碼的是何種信息來將這些值拆分開並進行選擇。每個構象值被輸入到單獨的4輸入多路復用器189u,189l中。來自每個多路復用器189u,189l的輸出191u,191l均由格子結構和編碼器中的現時狀態而定。判定信號153a由下文中將要詳細討論的ACS序列器71產生。從存儲器69中讀出狀態量度145a並類似地將其拆分以分別用於上端和下端路徑,另外還將其輸入到鏡相8位觸發器193u,193l中。觸發器193u,193l的輸出與先前的最佳量度201一起到達飽和減法器197u,197l中,並利用飽和減法器199u,199l與新碼元值191u,191l組合在一起。利用一個8位幅值比較器203對每個格子結構節點的上端和下端路徑進行比較。每個ACS信道64分別處理每個特定碼元的格子結構狀態。對每條路徑進行檢查以確定哪條路徑或軌跡最短。上端和下端路徑205u,205l被輸入到一個2輸入多路復用器207中,在其中選出最短距離或狀態量度145a並將其存儲到存儲器209中。此值被用於下一碼元的輸入以進行歸一化。本發明對每次操作的所有輸入均進行「後歸一化」。
現有技術中的歸一化通常是以數據塊為基礎,或在許多信息碼元均已被處理完之後進行的。然而,通過在選出每個量度之後進行「後歸一化」,將能夠顯著地改善其性能。由於該種歸一化處理有可能會產生溢出,所以「後歸一化」需要有飽和邏輯。如果沒有採用飽和邏輯,則其數值最終將會溢出,從而使得二進位數可能會與其期望值相差很大。而該系統又無法確定該數值是否是實際值。通過採用飽和邏輯,該數值將最終進入平穩狀態(plateau)。
由於該格子結構上的每個節點均具有兩條終結於其中的路徑以及兩條起始於其中的路徑,所以該處理必須不斷地刪節(prune)。該格子結構代表了兩條路徑的量度,其中通過一次判定選擇出一條基於較短距離的路徑。其中的較好路徑或最佳量度被存儲在狀態量度存儲器69中,而判定結果或路徑數位則被存儲在回溯存儲器149a,149b,149c,149d中。
在一個碼元的開始處,每個ACS信道67a,67b,67c,67d將分別接收一個解碼器起始信號141a,141b,141c,141d以初始化該信道。如上所述,存儲在存儲器中的刪節操作的勝者與第一個進行比較,如果第二個勝者比第一個小,則該特定值將被選為最佳量度。對於該格子結構的其餘63個輸出,此操作均類似。
當碼元進入到維特比解碼器中時其上的歷史相關性將使其積累了眾多碼元的能量並由此造成巨大的增益。該能量的增加是對在35個碼元上對能量進行積分的結果,其實際上起到了使帶寬變窄的效果。
ACS電路67a,67b,67c,67d操作的順序是由ACS序列器71通過導線151a,151b,151c,151d來進行控制的。用一個單獨的ACS序列器71來對用於所正進行解碼的每條信道的單獨ACS電路67a,67b,67c,67d進行控制。當某條特定信道或者由於數據率較低,或者由於該信道未被佔用還沒有被使能(使能信號141a,141b,141c,141d無效)時,將通過導線153a,153b,153c,153d禁止對用於該特定信道的狀態量度存儲器69和路徑存儲器73進行寫入操作。
ACS序列器71控制本發明的整個操作。ACS序列器71的功能類似於狀態機的功能。然而,勝於通常在現有技術中所常見的可編程裝置以及下載可執行程序代碼的方式,本ACS序列器71是嚴格地以硬體來執行操作的,由此產生了意想不到的高效率。
ACS序列器71的操作類似於由一個計數器驅動的計數器的操作,其與一個公共存儲器69並行地對4個獨立的ACS電路67a,67b,67c,67d進行控制。ACS序列器71還起到了位片陣列處理器的作用。圖8a和8b所示為ACS序列器71的操作流程圖。在初始化(步驟401)之後,ACS序列器71建立等於0的計數基數(步驟403)。由於序列器實質上就是計數器,因此需要一條用於向上計數(步驟415)的返迴路徑。進行一次判斷(步驟405)以根據從0到127與格子結構的64次讀操作和64次寫操作相匹配的遞增順序來確定該處理是否已經完成。該序列器以驅動尋址操作(步驟411,419,425,429)和對地址定序,以及對讀操作(步驟413,421)和寫操作(步驟427,431)定序的維特比率來進行時鐘控制。ACS序列器71與一個公共存儲器69並行地對每條ACS信道67a,67b,67c,67d進行處理。
狀態量度存儲器陣列69的寬度為64位並被設計成具有一個ping節段和一個pong節段。64位字的前32位是ping節段,後32位是pong節段。該32位節段中每8位節段代表了一個不同信道(0,1,2,3)。當ACS序列器71正從pong節段中進行讀取時,其將順序地向ping節段中寫入。隨後該序列器再對ping節段進行讀取並向pong節段中寫入,而對於下一碼元,則再從pong節段中讀出並向ping節段中寫入。此種共享存儲器存取的方法對本領域的技術人員十分常見。
ACS序列器71對能夠以不同的數據率來對數據進行處理的4個信道進行處理,因此ACS序列器71可能會對信道0的ping節段進行讀取,從信道1的pong節段進行讀取,對信道2則不進行任何讀取操作或寫入操作,而對信道3的ping節段進行讀取。這種存儲器存取方法極為靈活。其是通過讓每條信道分別具有專用起始信號141a,141b,141c,141d來實現此功能的。
ACS序列器71通過檢查(步驟405)計數基數並觀察(步驟407)該計數基數的兩個最低有效位(LSB)來訪問狀態量度存儲器陣列69以及每個ACS電路67a,67b,67c,67d。該序列的最初兩個狀態將總是讀取操作(步驟413,421)。該序列的最後兩個狀態則是寫操作(步驟427,431)。該寫操作將其結果記入到狀態量度存儲器69中。
如圖9所示,其是以最小硬體方式來實施ACS序列器71的。計數器211利用觸發器213a,213b,213c,213d,215a,215b,215c,215d提供了計數基數,其提供了移位操作並對4個可變速率數據信道進行寫入和讀取操作。4輸入多路復用器217存取用於所有信道的狀態量度地址。
狀態量度存儲器陣列69具有用於每信道64狀態量度的充分存儲容量。為了便於從145a,145b,145c,145d中讀出以及向143a,143b,143c,143d寫入狀態量度存儲器陣列69,存儲器的ping-pong結構簡化了ACS序列器71通過ping-pong導線155和地址總線157所協調的單獨ACS操作期間的操作。狀態量度存儲器SRAM陣列69的總容量為4096位。
回溯存儲器陣列73被用於記錄哪條路徑是到每個所解碼碼元的每個狀態中的「倖存者」(survivor)。由于格子結構圖理論上是狀態圖的無限複製,因此其將需要存儲器有無限容量來記錄所傳輸每個碼元的所有信息。然而,回溯歷史記錄只對35個連續碼元保留,並被來自導線149a,149b,149c,149d上的ACS電路67a,67b,67c,67d的數據重寫。回溯存儲器73需要大小為8960位排列成32×280陣列的SRAM。回溯深度為35碼元,因此,在輸出所解碼碼元之前,將需要累積35個碼元的信息。因此產生給定輸出的輸入碼元在時間上早出現35個碼元。
回溯存儲器73被設計成一個環形緩衝器。每寫入一個新碼元到回溯存儲器73中,先前所存儲的所有碼元均將移位,並廢棄掉最早的碼元值。所需存儲器應滿足5倍於約束長度的關係,因此對於K=7的約束長度則需要35碼元的存儲器。
回溯操作如圖10所示。回溯處理器75的遞歸操作類似於ACS處理器71,其中先對一個計數器進行初始化(步驟501)並進行設置(步驟503)指定如上所述等於34的數值(5倍於約束長度)。隨後將本地最佳量度指定為最佳量度值(步驟505)。必須進行一次判斷以確定回溯計數值是否等於0(步驟507)。如果該回溯計數值等於0,則將完成處理(步驟531)並獲知最可能的軌跡,解碼器輸出一個數位(步驟529)。如果回溯計數值不為0,則將繼續進行操作以達到最佳量度。
由於其能夠處理4種不同的數據率,因此回溯存儲器73的佔用狀態將依數據率而定,即,如果信道0正在以64kbps的速率進行操作,則在信道0上的35個碼元之後,則該特定信道將填滿整個回溯存儲器,然而,如果信道2正在以其一半的速率進行操作,即32kbps,則信道2將只填滿回溯存儲器73的一半。
由於某條信道可能會相對於其它信道有嚴重的時間延遲,因此其中是順序地來對回溯存儲器73進行分配的。由於在發射機處所進行編碼的數據是唯一的,所以回溯處理器75對於每條信道是唯一的。因此該4條信道每一條的回溯操作也將是唯一的。此外,4條信道之間的數據率可能會不同。
由於地址不同,因此回溯處理是串行的,處理器75順序地對信道0,信道1,信道2和最後一條信道3進行操作。回溯信息的存儲是依賴於地址的,其需要在時間上分離對每條信道的每項處理。如果所有4條信道均是以最大速率進行傳輸的,則由於在發射機處所編碼的數據在4條信道每一條之間生成了不同的格子結構或回溯軌跡,使得存儲器將仍然需要進行分離。以不同速率對其進行處理將進一步使處理變複雜。
參照圖10所示的流程圖,如果回溯計數值不等於0(步驟507),則處理必須為了最可能的軌跡在時間上進行回溯。處理器讀出包括一個欄位(1個字節地址,和1個數位地址)長度為9位的地址。這是通過將該地址右移4位(步驟509),隨後再右移1位(步驟511)並屏蔽掉3個最低有效位(步驟513)來進行的。本地最佳量度是一個7位數。4個最高有效位將變為字節地址,接下來的3位將變為位號,而4個最低有效位將被忽略。對路徑位進行檢查(步驟515)以看其是否為1或0。如果路徑位是0,則先前的本地最佳量度值將被右移1位,即等價於將其除以2。如果路徑位為0,則本地最佳量度也將被右移1位(步驟517)。如果該路徑位不等於0,則本地最佳量度將加64,由此使其結果變為32到63之間的一個數值。處理器75將一直跟蹤所有的軌跡(步驟521,523,525,527)並一直重複,直到發現了編碼數位。
處理器找出以代表了最小誤差的最小能量終結於所有64個狀態的軌跡。回溯存儲器存儲了與所有64種狀態相關的35條軌跡,由於進入一個給定狀態只有兩條路徑,所以其中用1個數位來表示該軌跡是來自於上方還是下方。因此,0或1指示路徑。本地最佳量度的相關路徑位與字節地址和位地址一起存儲。所有信息均是以字節形式進行存儲的,而由於存在有64種狀態,所以需要利用8個字節,每字節8位,來分別表示64種狀態。由於第一字節內有8位,所以該8位將表示狀態0到7。其表明本地最佳量度指向這些狀態。下一字節將指示狀態8到15,如此等等直到第63狀態。
本處理將總是廢棄掉該7位數的最低有效位。如上所述的3個最高有效位指向特定的字節地址。3個最高有效位之後的3位則指向該字節地址中的一個特定位。即路徑位。該路徑位被用於對本地最佳量度進行修正。
回溯處理以512倍於最大吞吐量速率的速率進行操作。地址總線的控制在ACS序列器71與回溯處理器75之間協調。在解碼器操作的ACS階段,ACS序列器71通過導線151a,151b,151c,151d對狀態量度和回溯存儲器的地址總線159進行控制。在完成了ACS操作之後,回溯存儲器地址總線的控制權被移交給回溯處理器75。
回溯存儲器73被用於一種被稱為「連結迴環(chaining back)」的程序,或以格子結構中的最後節點開始進行回溯處理,從最後判定到第一判定向後跟蹤判定路徑。此處理確定了是哪個解碼碼元將作為輸出161a,161b,161c,161d被釋放。由於希望各單獨數據信道的回溯處理的尋址特性能夠彼此獨立,所以不能在一個公共SRAM模塊69,75中並行地對4條信道進行回溯處理。有必要排定各單獨信道的回溯處理的順序。如果對於一個特定的碼元間隔禁用了某條特定信道,則將跳過該信道的回溯處理。該處理需要最少35個時鐘周期來完成對某給定信道的回溯處理。
本發明還具有一個計算誤碼率的性能診斷功能部件。歐幾理德距離計算處理機65輸出一個硬判決163到回溯處理器75中。該硬判決以先進先出(FIFO)方式緩存到35個碼元中,隨後將其與由回溯處理器75所給出的卷積編碼碼元輸出161a,161b,161c,161d進行比較。累加其之間的數位差。在256個碼元之後,將回溯處理器75中的累加器的累加值被清空輸出(165)到如圖7所示的誤碼率輸出電路77中。當又有新的8位累加誤碼率值準備好讓主機微處理器進行讀取時,該特定信道的BER就緒信號167將被使能。
接下來將參照圖11所示的流程圖對誤碼率診斷處理進行說明。為了進行誤碼率計算,該處理需要一個發射機部和一個接收機部。數據被引入到(步驟601)發射機中並將對其進行前向糾錯編碼,QPSK調製,以及正交信號擴展處理。不發射該信號,而是直接將其輸入到接收機部對該信號進行解擴處理。解擴處理的輸出不經過維特比解碼器(步驟603)並被延遲35個碼元(步驟607,609,611)以允許維特比解碼器能夠對該信息進行解碼(步驟605)。經過對其進行硬判決(未解碼),將該數據與維特比解碼器的輸出進行比較。比較結果提供了對SNR和處理器性能的一個指標示度。
本發明的性能如圖12所示。圖12所示為通過比較未卷積編碼數據和編碼數據所得的誤碼率可能性對信噪比的曲線圖。其中例示了本發明的兩個實施例。第一實施例使用的是K=7的約束長度。而另選實施例使用的則是K=9的約束長度。如曲線圖所示,隨著信噪比增大到5,未卷積編碼數據的性能表現出0.05%誤碼概率。然而,在相同的信噪比下,卷積編碼數據性能則顯著提高,達到百萬分之一還要小。從該曲線圖還可以看出,採用K=9的約束長度比採用K=7的約束長度在性能上有一定提高。
勝於裝配一個具有4條每條分別具有兩對I和Q信號的輸入信道的四芯線(quad)輸入維特比解碼器,其採用了一個距離計算處理機來處理4條信道以及輸出16個距離。這16個距離隨後被耦合到ACS模塊上。歐幾理德距離計算模塊的輸出隨後被分配給每條信道上的每個單獨ACS模塊。
在另選實施例中,勝於使用分別用於各條單獨信道的4個離散ACS模塊,通過線性提高時鐘速度可以顯著地降低其所需數目。通過多路復用數據輸入以及提高時鐘速度,可以將進行格子結構操作的ACS功能部件減少為兩個甚至是一個ACS電路。
儘管上文中對本發明的具體實施例進行了說明,但本領域的技術人員在不背離本發明的精神和範圍的情況下可以對其多種修正和變型。上述說明僅用來例示,而不是對本發明形式的限制。
權利要求
1.一種用於進行多信道數據通信的通信站,其同時以獨立速率接收和處理共享著同一選定帶寬的多信道數據,該通信站包括解調器裝置,用於以獨立速率在所述信道帶寬上接收具有多個數據信道的多信道數據通信信號;解擴裝置,用於將所接收信號數據的多個選定信道分離並識別出每條信道的數據率;多個解碼裝置;每個所述解碼裝置分別以指定數據率對多信道數據通信的一條分離信道進行解碼;所述多個解碼裝置共享一個公共解碼存儲器;以及控制裝置,用於將所分離出的每條信道導向到所述解碼裝置的某一個處並對應於由所述解擴裝置識別出的數據率為該解碼裝置指定一種數據率。
2.如權利要求1所述的通信站,其特徵在於所述公共解碼器存儲器包括被用來在所述解碼操作期間對正被解碼的所有分離的信道進行處理的狀態量度存儲器以及回溯存儲器。
3.如權利要求2所述的通信站,其特徵在於所述狀態量度存儲器被設計成一種ping-pong系統,其中能夠同時對所述ping-pong系統的ping節段或pong節段進行寫入或讀取操作。
4.如權利要求1所述的通信站,其特徵在於另外包括一個作為所述多個解碼裝置的共享資源的歐幾理德距離計算處理機;所述歐幾理德距離計算處理機用於計算從正被解碼的信道上接收到的碼元到4個QPSK構象點每一個的距離,並用於為所接收到的所述每個碼元識別出所述4個QPSK構象點中距離最近的構象點。
5.如權利要求4所述的通信站,其特徵在於所述歐幾理德距離計算處理機與所述控制裝置相關並對導向所述解碼裝置的信道上的所有碼元進行操作。
6.如權利要求1所述的通信站,其特徵在於所述多種獨立數據率包括一個最大數據率,而低於所述最大數據率的各獨立數據率則包括成比例複製數據。
7.如權利要求6所述的通信站,其特徵在於另外包括一個作為所述多個解碼裝置的共享資源的解碼器接口,所述解碼器接口利用飽和邏輯將與低於所述最大數據率的獨立數據率相對應的所述成比例複製數據相干地加在一起。
8.如權利要求1所述的通信站,其特徵在於每個所述解碼裝置均包括一個加和-比較-選擇電路,其中每個所述加和-比較-選擇電路利用飽和邏輯並通過維特比算法對每個分離信道進行處理,以獲得在對正被解碼的信道數據的碼元所進行的回溯處理中所使用的最佳量度,而所述每個最佳量度均被「後歸一化」。
9.一種低能耗,高速多信道維特比解碼器,在擴展頻譜調製接收機中用於同時對多個信道上具有獨立數據率的數據進行解碼,其包括解碼器接口,用於以多種獨立數據率接收至少4個解擴信道上的數據,其中所述多種數據率包括一個最大數據率,而低於所述最大數據率的數據率均包括成比例複製數據;歐幾理德距離計算處理機,用於計算從正被解碼的信道接收到的碼元到4個QPSK構象點每一個的距離,並用於為所接收到的所述每個碼元識別出所述4個QPSK構象點中距離最近的構象點;至少4個加和-比較-選擇(ACS)電路,用於以指定數據率對至少4個分離信道的數據進行處理;狀態量度存儲器和回溯存儲器,在解碼操作期間用於對所有所述信道上正被解碼的數據進行處理;ACS處理器,用於協調所述ACS電路的處理;回溯處理器,用於為所有信道的數據獲得解碼碼元;接收機系統接口,用於將多信道維特比解碼器耦合到其它處理器上。
10.如權利要求9所述的維特比解碼器,其特徵在於所述狀態量度存儲器被設計成一種ping-pong系統,其中能夠同時對所述ping-pong系統的ping節段或pong節段進行寫入或讀取操作。
11.如權利要求9所述的維特比解碼器,其特徵在於所述解碼器接口是至少4個信道的共享資源,所述解碼器接口利用飽和邏輯將所述較低數據率的成比例複製數據相干地加在一起。
12.如權利要求9所述的維特比解碼器,其特徵在於所述ACS電路利用飽和邏輯並通過維特比算法對每個分離信道進行處理,以獲得在對正被解碼的信道數據的碼元所進行的回溯處理中使用的最佳量度,而每個所述最佳量度均被「後歸一化」。
全文摘要
一種通信系統,其中給定傳輸的數據率被發射機編碼並隨後被用來對共享公共存儲器的多個卷積解碼器進行調節。該系統使用了公共處理資源來提供最多為4個的具有多速率卷積糾錯解碼的離散信道,其結果是使得矽片面積得到減小,而能耗則得到了降低。該系統能夠同時支持基站和用戶單元位置的接收機中從8kbps一直到用於高速ISDN通信的64kbps的數據通信。
文檔編號H03M13/00GK1250558SQ98803254
公開日2000年4月12日 申請日期1998年3月4日 優先權日1997年3月12日
發明者小約翰D·凱韋爾 申請人:交互數位技術公司