專利名稱:通信系統(tǒng)中提供最佳自適應(yīng)前向糾錯(cuò)的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及數(shù)據(jù)通信和數(shù)據(jù)通信系統(tǒng)及設(shè)備,具體地說,涉及在通信系統(tǒng)中用于自適應(yīng)地提供前向糾錯(cuò)程度的裝置和方法,其被最優(yōu)化來獲得希望的性能。
一種采用數(shù)字編碼視頻、語(yǔ)音和其它數(shù)據(jù)形式的此類專用通信系統(tǒng)是目前由伊利諾斯州、Schaumburg的摩托羅拉公司開發(fā)的CableCommTM系統(tǒng)。在CableCommTM系統(tǒng)中,使用混合光纖和同軸電纜來在現(xiàn)有有線電視線路上提供充分的帶寬給接收站,諸如位于(例如)具有有線電視能力的家庭的個(gè)人用戶接入單元。同軸電纜被進(jìn)一步連接到光纜,結(jié)束于在其上駐留有控制、接收和發(fā)射裝置的中央位置(稱為“數(shù)據(jù)轉(zhuǎn)發(fā)器”)。數(shù)據(jù)轉(zhuǎn)發(fā)器裝置可以連接到任何的網(wǎng)絡(luò)或者其它信息源,諸如互聯(lián)網(wǎng)、在線服務(wù)、電話網(wǎng)絡(luò)、視頻/電影用戶服務(wù)、和空中節(jié)目信號(hào)。利用CableCommTM系統(tǒng),可以在下行流方向上將數(shù)字?jǐn)?shù)據(jù)從數(shù)據(jù)轉(zhuǎn)發(fā)器發(fā)射到單個(gè)或多個(gè)用戶,或者在上行流方向上從用戶發(fā)射到數(shù)據(jù)轉(zhuǎn)發(fā)器。
在CableCommTM系統(tǒng)的一個(gè)實(shí)施例中,利用64-正交幅度調(diào)制(“QAM”)、以30Mbps(每秒兆比特)的速率,通過具有在88-860MHz的頻譜中的6Mhz的信道上發(fā)射下行流數(shù)據(jù)。預(yù)料到存在這樣的不對(duì)稱要求相比于上行數(shù)據(jù)傳輸,在下行方向上有要發(fā)射的顯著的大量數(shù)據(jù),為上行數(shù)據(jù)發(fā)射提供較少的容量。在從5-42MHz的頻率帶寬中,上行信道利用π/4差分正交相移鍵控(π/4-DSPSK)調(diào)制,其中在5-42MHz的頻率帶寬中,碼元速率為384k碼元/秒,其中有2比特/碼元。通信系統(tǒng)被設(shè)計(jì)為具有多點(diǎn)配置,也就是許多終端用戶用一個(gè)或多個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)器終端站在下行方向上發(fā)射到終端用戶來在上行方向上發(fā)射到數(shù)據(jù)轉(zhuǎn)發(fā)器。
通信系統(tǒng)被設(shè)計(jì)為異步傳輸,用戶獨(dú)立地發(fā)射和接收諸如音頻或文本文件的編碼數(shù)據(jù)。本發(fā)明中的傳輸通常是短脈沖串(bursty),用戶響應(yīng)輪詢、競(jìng)爭(zhēng)或其它在數(shù)據(jù)轉(zhuǎn)發(fā)器建立的協(xié)議來在選擇的信道上以不確定的時(shí)間間隔來接收或發(fā)射數(shù)據(jù),而不是在專用或電路交換連接上更多或較少連續(xù)地傳輸同步信息流。
對(duì)于異步數(shù)據(jù)傳輸,為了由接收方進(jìn)行可靠地檢測(cè),將數(shù)據(jù)組織成可識(shí)別的幀或分組將是所希望的。在CableCommTM系統(tǒng)中,數(shù)據(jù)分組報(bào)頭包括定時(shí)和同步信息以確保精確地接收和解碼數(shù)據(jù)。定時(shí)信息后跟有源和應(yīng)用信息,可以對(duì)其進(jìn)行編碼以達(dá)到安全(加密)和檢錯(cuò)和糾錯(cuò)。在信息或應(yīng)用數(shù)據(jù)之后是糾錯(cuò)校驗(yàn)和信息(以編碼的比特出現(xiàn)),其允許在接收端進(jìn)行檢錯(cuò)和糾錯(cuò)。傳輸信道的損傷(impairment)和在通信設(shè)備中的錯(cuò)誤不可避免地產(chǎn)生一比特或更多比特的噪聲條件,(當(dāng)出現(xiàn)在傳輸字的信息部分中時(shí)將是最麻煩的)導(dǎo)致解碼錯(cuò)誤。因此,最好是在接收端進(jìn)行檢測(cè),并且如果可能則在接收端在解碼過程中進(jìn)行糾錯(cuò)。檢錯(cuò)和糾錯(cuò)(稱為前向糾錯(cuò)或FEC)的基本前提是除了信息之外,還傳輸稱為檢驗(yàn)比特(或校驗(yàn)字節(jié)、校驗(yàn)和比特或者前向糾錯(cuò)比特)的附加比特。前向糾錯(cuò)要求將比僅僅傳輸信息所必需的更多比特附加到傳輸字上,使得能夠在接收端進(jìn)行檢錯(cuò)和糾錯(cuò)處理。
由于包括糾錯(cuò)信息而出現(xiàn)的一個(gè)問題是這種附加增加了整個(gè)字或分組大小,增加了數(shù)據(jù)傳輸?shù)拈_銷,從而相應(yīng)地降低了數(shù)據(jù)吞吐量。同樣,由于包括糾錯(cuò)信息通常增加了系統(tǒng)響應(yīng)時(shí)間或者延遲,因?yàn)樵诮獯a校驗(yàn)和字時(shí)進(jìn)行的檢錯(cuò)和糾錯(cuò)過程消耗了額外的時(shí)間。為了限制額外的開銷至少到一定程度,選擇可以糾正的數(shù)據(jù)錯(cuò)誤數(shù)目(稱為前向錯(cuò)誤糾正功率)來滿足通信系統(tǒng)的要求的性能。然而,系統(tǒng)引起的開銷兩直接正比于選擇的前向糾錯(cuò)能力??赡苡羞@樣的情形,諸如低噪聲條件,其中前向糾錯(cuò)能力“過?!保虼?,通過降低前向糾錯(cuò)能力可以獲得較高的數(shù)據(jù)吞吐量。但是,糾錯(cuò)功率不足時(shí),由于糾錯(cuò)方案不能對(duì)傳輸?shù)臄?shù)據(jù)中的錯(cuò)誤進(jìn)行糾錯(cuò),需要重傳輸不可糾正的字,導(dǎo)致系統(tǒng)的整個(gè)吞吐量性能下降。理想地,當(dāng)信道條件隨時(shí)間改變時(shí),應(yīng)用的糾正功率需要與通信信道的損傷等級(jí)匹配。
已經(jīng)知道有各種現(xiàn)有技術(shù)的方法提供了糾錯(cuò)能力。然而,通常,這些方法僅利用固定的糾錯(cuò)能力,不考慮信道的特定噪聲條件以及當(dāng)提供了低噪聲條件時(shí)增加數(shù)據(jù)吞吐量和較低響應(yīng)延遲的可能。
由于信道上的損傷或噪聲水平可隨時(shí)間變化,要求可修改的和靈活的糾錯(cuò)能力來提供充分的糾錯(cuò),以精確地接收數(shù)據(jù),同時(shí)使為增加的數(shù)據(jù)吞吐量的開銷最小。轉(zhuǎn)讓給本發(fā)明的受讓人的美國(guó)專利5,699,365提供了有限度的自適應(yīng)和靈活的糾錯(cuò)能力。在該專利中公開的裝置和方法監(jiān)視通信信道的參數(shù),然后將實(shí)際的參數(shù)值與閾值進(jìn)行比較。如果監(jiān)視的參數(shù)不在閾值之內(nèi),將附加程度的前向糾錯(cuò)加到發(fā)射的比特流上。不利的是,這種現(xiàn)有的機(jī)制缺少這樣的能力定量地確定在給定通信信道上以給定時(shí)間來施加最佳的前向糾錯(cuò)能力,因此,添加糾錯(cuò)功率量。而且,它沒有規(guī)定使用公共前向糾錯(cuò)(FEC)商業(yè)成品集成電路提供的統(tǒng)計(jì)度量,以及如何操縱該度量來自適應(yīng)地修訂FEC過程參數(shù)。本發(fā)明提供了一種機(jī)制根據(jù)公共可用的FEC芯片來計(jì)算這種度量并且規(guī)定了用于根據(jù)這種計(jì)算的結(jié)果來更新這種前向糾錯(cuò)參數(shù)的算法。
參考下面的優(yōu)選實(shí)施例的說明以及附圖,可以更好地理解發(fā)明本身及其進(jìn)一步的用途,其中圖1是說明根據(jù)本發(fā)明的通信系統(tǒng)的方框圖;圖2是說明與本發(fā)明相關(guān)的自適應(yīng)前向糾錯(cuò)技術(shù)的流程圖。
如上所述,存在對(duì)一種方法和裝置的需要其根據(jù)一個(gè)或多個(gè)鏈路性能參數(shù)來提供動(dòng)態(tài)和定量技術(shù)來確定通信鏈路要求的最佳前向糾錯(cuò)。結(jié)果,根據(jù)本發(fā)明的技術(shù),提供了一種用于改善的前向糾錯(cuò)參數(shù)優(yōu)化技術(shù)的算法,其使系統(tǒng)開銷(overhead)最小,并且滿足系統(tǒng)延遲要求,從而提供了增加的數(shù)據(jù)吞吐量。有利地,本發(fā)明的裝置和方法可以通過適應(yīng)由于那些改變的條件而產(chǎn)生的前向糾錯(cuò)能力來自適應(yīng)地響應(yīng)以改變通信信道中的一與噪聲相關(guān)的條件。所有這些可以利用實(shí)現(xiàn)前向糾錯(cuò)解碼過程的公共可用集成電路來獲得。
圖1說明根據(jù)本發(fā)明技術(shù)的通信系統(tǒng)100的方框圖。通信系統(tǒng)100包括主站101(在一個(gè)實(shí)施例中為主收發(fā)機(jī)),經(jīng)通信介質(zhì)115連接到多個(gè)次級(jí)站110,112,114和116(在一個(gè)實(shí)施例中為收發(fā)機(jī))。在優(yōu)選實(shí)施例中,通信介質(zhì)115為混合光纖和同軸電纜。正如本領(lǐng)域普通技術(shù)人員所公知,在其它實(shí)施例中,通信介質(zhì)可以是同軸電纜、光纜、雙絞銅線等,也可以是包括空中、大氣或者用于無線和衛(wèi)星的通信的空間。主站101也連接到網(wǎng)絡(luò)105,其可包括諸如互聯(lián)網(wǎng)、在線服務(wù)、電話和有線電視網(wǎng)絡(luò)、數(shù)字分組網(wǎng)絡(luò)和其它通信網(wǎng)絡(luò)。在其它實(shí)施例中,次級(jí)站110,112,114和116可以連接到不止一個(gè)主站,并且可以進(jìn)一步通過諸如上面提到的多個(gè)通信介質(zhì)連接到每一個(gè)主站。同樣,網(wǎng)絡(luò)105并不是本發(fā)明所要求的必須部件,因?yàn)榭梢圆捎闷渌ㄐ沤橘|(zhì)115來實(shí)現(xiàn)本發(fā)明的原理。
在優(yōu)選實(shí)施例中,通信介質(zhì)115具有或者支持多個(gè)通信信道。為了容易進(jìn)行說明,主站在其上發(fā)射信息信號(hào)或者其它數(shù)據(jù)到諸如次級(jí)站114的次級(jí)站的通信信道被稱為下行信道。類似地,將次級(jí)站114在其上發(fā)射信息信號(hào)或其它數(shù)據(jù)到主站101的通信信道稱為上行通信信道。正如本領(lǐng)域普通技術(shù)人員所知,上行和下行信道可以是相同的物理信道(例如,通過使用時(shí)分或頻分或者碼分多址)或者可以是單獨(dú)的物理信道。除了分為上行和下行方向,還可以其它方式將這些不同的信道進(jìn)行劃分。如上所述,在Cable CommTMSystem的優(yōu)選實(shí)施例中,通信介質(zhì)為混合光線同軸電纜,下行信道的頻譜為88-860MHz,上行信道的頻譜為5-42MHz。
根據(jù)本發(fā)明的特定應(yīng)用,主站101可以是簡(jiǎn)單的發(fā)射機(jī),用于與次級(jí)站110,112,114和116的一個(gè)或多個(gè)進(jìn)行點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多點(diǎn)通信。在另一個(gè)實(shí)施例中,主站101可以是雙向收發(fā)機(jī),用于與次級(jí)站110,112,114和116進(jìn)行點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多點(diǎn)通信。在主站101是CableCommTMSystem的部件的實(shí)施例中,主站101包括多個(gè)處理器、存儲(chǔ)單元和發(fā)射機(jī),用于與次級(jí)站110,112,114和116中的每一個(gè)進(jìn)行雙向通信,以在上行和下行方向上提供不同的信號(hào)。多個(gè)處理器提供了與上行和下行數(shù)據(jù)協(xié)議相關(guān)的功能,諸如發(fā)送輪詢消息或確認(rèn)消息。實(shí)質(zhì)上,處理器控制與主站101相關(guān)的各種功能。每一個(gè)接收機(jī)包括串行通信處理器、數(shù)字信號(hào)處理器、可從伊利諾斯州的摩托羅拉公司獲得的ZIF SYN集成電路、和用于對(duì)前向檢錯(cuò)和糾錯(cuò)字節(jié)進(jìn)行解碼的Reed-Slomon解碼器。在優(yōu)選實(shí)施例中,同樣根據(jù)實(shí)現(xiàn)的功能,每一個(gè)發(fā)射機(jī)可包括串行通信處理器、數(shù)字信號(hào)處理器、ZIF SYN集成電路和用于對(duì)前向檢錯(cuò)和循環(huán)冗余校驗(yàn)進(jìn)行調(diào)制和編碼的Reed-Slomon編碼器。因此,如在此的使用,不管專用硬件實(shí)現(xiàn)如何以及是否可能實(shí)現(xiàn)或不實(shí)現(xiàn)的附加特征,主站101可執(zhí)行所有的數(shù)據(jù)和其它信號(hào)接收和發(fā)射功能。最后,主站包括網(wǎng)絡(luò)接口設(shè)備(其在本技術(shù)領(lǐng)域中是公知的),用于在那些提供了網(wǎng)絡(luò)105的實(shí)施例中與網(wǎng)絡(luò)105連接??梢詤⒖家话戕D(zhuǎn)讓的美國(guó)專利5,699,365(如上所述),得到如在Cable CommTMSystem中使用一樣的主站101的附加詳細(xì)信息。
同樣,每一個(gè)次級(jí)站110,112,114和116包括處理器和存儲(chǔ)器單元,用于經(jīng)通信介質(zhì)115接收和發(fā)送雙向通信。可以將每一個(gè)次級(jí)站連接到數(shù)據(jù)終端裝置,用于處理次級(jí)站接收到的數(shù)字?jǐn)?shù)據(jù)。在一個(gè)實(shí)施例中,次級(jí)站110,112,114和116的組件執(zhí)行這樣的功能,如QAM解調(diào)和前向糾錯(cuò)解碼(用于下行信號(hào)),QPSK調(diào)制和前向糾錯(cuò)編碼(用于上行信號(hào)),和發(fā)射電平(level)及頻率調(diào)整。在優(yōu)選實(shí)施例中,用于控制次級(jí)站110,112,114和116中的每一個(gè)的處理器為摩托羅拉的M68302處理器(也就是公知的集成多協(xié)議處理器),包括相關(guān)存儲(chǔ)器。處理器連接到Ethernet端口或者數(shù)據(jù)接口,用于連接計(jì)算機(jī)、工作站或其它數(shù)據(jù)終端裝置。處理器也連接到信道接口單元,用于通過通信介質(zhì)115進(jìn)行通信。根據(jù)實(shí)現(xiàn)的功能,信道接口單元包括串行通信集成電路、ZIF SYN集成電路、Broadcom BCM3100QAMLink集成電路(可從位于加利福尼亞的Irvine的Broadcom公司獲得)、摩托羅拉的TxMod集成電路、和LSI邏輯L64711和L64714(可從加利福尼亞的Milpitas的LSI邏輯公司獲得)集成電路,用于執(zhí)行前述的功能。一般地,可以查閱轉(zhuǎn)讓的美國(guó)專利5,699,365,獲得如在CableCommTMSystem應(yīng)用中使用的次級(jí)站110,112,114和116的附加的詳細(xì)細(xì)節(jié)。
如上所述,在優(yōu)選的CableCommTMSystem系統(tǒng)中的通信介質(zhì)的上行信道處于5和42MHz之間的頻率范圍,并且可能易受來自多個(gè)噪聲源的干擾影響。類似地,無線通信系統(tǒng)受到以隨機(jī)和不可預(yù)測(cè)的方式干擾信道的噪聲源的影響。優(yōu)選地,在通信信道上,例如在與優(yōu)選實(shí)施例相關(guān)的上行信道上,采用前向糾錯(cuò)以補(bǔ)償有噪聲引起的數(shù)據(jù)傳輸錯(cuò)誤或其它失真。前向糾錯(cuò)包括糾錯(cuò)碼,其被附加到信息比特或應(yīng)用比特上以允許接收機(jī)檢測(cè)和糾正可能已經(jīng)在數(shù)據(jù)傳輸期間出現(xiàn)的一些錯(cuò)誤類型和大小。諸如次級(jí)站112的發(fā)射單元從信息或應(yīng)用比特中導(dǎo)出糾錯(cuò)碼,并且將糾錯(cuò)碼附加到信息或應(yīng)用比特上進(jìn)行傳輸。諸如主站101的接收單元使用糾錯(cuò)碼來檢測(cè)在信息或應(yīng)用比特?cái)?shù)據(jù)中接收到的錯(cuò)誤,并且糾正糾錯(cuò)比特(或字節(jié))數(shù)目所允許的檢測(cè)到的錯(cuò)誤。因此,在接收數(shù)據(jù)之前,接收單元必須知道在發(fā)射機(jī)處采用的糾錯(cuò)碼類型,以在接收機(jī)處完成正確地解碼和糾錯(cuò)。正如在美國(guó)專利5,699,365中教導(dǎo)和要求保護(hù)的一樣,在以固定周期間隔或者以與通信鏈路的質(zhì)量的改變一致的不規(guī)則間隔出現(xiàn)的參數(shù)交換消息期間,可以用現(xiàn)有的裝置來完成前向糾錯(cuò)信息的交換。
本發(fā)明的優(yōu)選實(shí)施例將Reed-Solomn糾錯(cuò)碼用于前向糾錯(cuò),這在通信系統(tǒng)100的上行信道中通常使用。Reed-Solomn糾錯(cuò)碼是塊糾錯(cuò)碼,其中通過固定大小的塊數(shù)據(jù)來計(jì)算糾錯(cuò)比特。通常,由參數(shù)對(duì)(n,k)來規(guī)定Reed-Solomn碼,其中“n”為碼字大小,“k”為塊大小(也就是信息字節(jié)數(shù)目)。因此,n字節(jié)的碼字由k個(gè)信息字節(jié)加上n-k個(gè)糾錯(cuò)碼字節(jié)組成。最大數(shù)目的碼元錯(cuò)誤(其中,碼元通常是8比特的字節(jié))t,即可以由Reed-Solomn碼糾錯(cuò)的是t=(n-k)/2。一種經(jīng)常使用的Reed-Solomn碼為(128,122)碼,其中碼字大小為128字節(jié),每一個(gè)碼字包括122個(gè)信息字節(jié)和6個(gè)糾錯(cuò)碼字節(jié)。因此,對(duì)這種數(shù)據(jù)進(jìn)行操作的解碼器可以糾正128個(gè)字節(jié)的碼字中的多達(dá)三個(gè)錯(cuò)誤字節(jié)。(顯然,這意味著三個(gè)錯(cuò)誤字節(jié)不需要位于連續(xù)的字節(jié)中)正如本領(lǐng)域普通技術(shù)人員間看到的一樣,可以將其它的糾錯(cuò)碼結(jié)合本發(fā)明的教導(dǎo)一起使用。
在典型的現(xiàn)有技術(shù)的前向糾錯(cuò)實(shí)現(xiàn)中,將前向糾錯(cuò)參數(shù)設(shè)定為預(yù)定的和固定的值,以補(bǔ)償在通信信道上預(yù)見到的噪聲的特定電平。如果噪聲電平增加超過了預(yù)期電平,前向糾錯(cuò)方案將無法糾正所有的傳輸錯(cuò)誤。因此,必須重新傳輸破壞的數(shù)據(jù),或者在最壞的情況下,通信信道不再可用。由于重新傳輸時(shí)間,導(dǎo)致數(shù)據(jù)吞吐量顯著地下降,或者在最壞情況下,數(shù)據(jù)吞吐量被消除。類似地,如果噪聲電平降低到低于預(yù)期電平,由于傳輸了不需要的太多的糾錯(cuò)字節(jié),實(shí)際的數(shù)據(jù)吞吐量將低于信道支持的最大的吞吐量。
建立前向糾錯(cuò)參數(shù)要求平衡糾錯(cuò)碼所添加的系統(tǒng)開銷量(因?yàn)榧m錯(cuò)碼使用可以用來傳輸信息的帶寬,因而降低了信息吞吐量)和由于信道條件而需要的糾錯(cuò)數(shù)量(其可用于通過避免重傳輸來增加數(shù)據(jù)吞吐量)。在最佳的情況中,為了使在給定通信信道上的信息吞吐量最大,糾錯(cuò)碼利用足夠精確的糾錯(cuò)來不多也不少地補(bǔ)償存在的噪聲電平。太強(qiáng)的糾錯(cuò)能力將降低吞吐量,因?yàn)檫^多地傳輸了不需要的糾錯(cuò)碼的系統(tǒng)開銷。不足的前向糾錯(cuò)能力也降低吞吐量,因?yàn)橛捎谥貍鬏斀邮盏桨l(fā)生錯(cuò)誤的信息產(chǎn)生了系統(tǒng)開銷。然而,通信信道上的噪聲電平隨時(shí)間而變化,因此,提出在任何給定的時(shí)間,選擇比最佳情況少的固定的一組前向糾錯(cuò)參數(shù)。
而且,重要的是使通信裝置(例如,通信系統(tǒng)的接收機(jī))引入的吞吐量延遲或等待時(shí)間(latency)最小。例如,可以將輪詢協(xié)議中的吞吐量延遲定義為在前向糾錯(cuò)碼之前發(fā)送輪詢消息與接收對(duì)在前向糾錯(cuò)解碼之后的輪詢消息的響應(yīng)之間的時(shí)間。通常,由于用于糾錯(cuò)編碼和解碼的處理和計(jì)算時(shí)間要求而導(dǎo)致前向糾錯(cuò)碼在通信裝置中引入附加的吞吐量延遲。Reed-Solomn編碼/解碼過程引入的延遲正比于碼字大小和糾錯(cuò)字節(jié)的數(shù)目。而且,當(dāng)利用塊FEC碼時(shí),必須在完成解碼之前接收到整個(gè)碼塊,因此,消除了在接收到最后比特之前處理傳輸?shù)牡谝槐忍氐目赡苄浴?br>
如下面更加詳細(xì)的介紹,本發(fā)明的算法提供了一種技術(shù),其根據(jù)預(yù)定的信道性能條件來改變兩個(gè)或多個(gè)數(shù)據(jù)通信站之間的通信信道中的前向糾錯(cuò)參數(shù),所述信道性能條件包括誤碼率、FEC糾正碼字、FEC不可糾正碼字、等待時(shí)間和信道的使用率。結(jié)果,本發(fā)明的優(yōu)選實(shí)施例提供了一種算法和方法,其可以使用容易地從商業(yè)上獲得的FEC集成電路來實(shí)現(xiàn),以優(yōu)化數(shù)據(jù)吞吐量來改變?cè)肼曤娖?和附帶的錯(cuò)誤率),同時(shí)也不超過通信信道要求的最大吞吐量或等待時(shí)間。
本發(fā)明的教導(dǎo)公開了一種算法,其中,通信信道上采用的前向糾錯(cuò)配置參數(shù)根據(jù)信道上的實(shí)時(shí)或近似實(shí)時(shí)的噪聲特征而改變。具體地說,前向糾錯(cuò)配置參數(shù)包括校驗(yàn)字節(jié)的數(shù)目和碼字長(zhǎng)度,其被定義為碼字的信息部分中的字節(jié)數(shù)目加上碼字的糾錯(cuò)部分中的字節(jié)數(shù)目(也就是,校驗(yàn)或校驗(yàn)字節(jié)長(zhǎng)度)。正如下面的詳細(xì)討論一樣,根據(jù)本發(fā)明,接收機(jī)執(zhí)行一個(gè)過程,確定是否和何時(shí)可以動(dòng)態(tài)地調(diào)整碼字長(zhǎng)度或校驗(yàn)字節(jié)長(zhǎng)度,而仍然滿足系統(tǒng)性能目標(biāo)。一旦接收機(jī)確定了可以改變這些參數(shù)中的任何參數(shù),必須將此信息傳送到發(fā)射機(jī),使得兩個(gè)單元都以相同的前向糾錯(cuò)參數(shù)進(jìn)行工作。
在與本發(fā)明相關(guān)的技術(shù)領(lǐng)域的普通技術(shù)人員認(rèn)識(shí)到,如果通信信道條件是已知的先驗(yàn)知識(shí),并且這些條件在通信間隔中不發(fā)生改變,則可以簡(jiǎn)單地設(shè)置前向糾錯(cuò)參數(shù)以獲得希望的性能特征,包括獲得目標(biāo)錯(cuò)誤率(例如,誤碼率、分組錯(cuò)誤率、短脈沖串錯(cuò)誤率、塊錯(cuò)誤率、或者幀錯(cuò)誤率),優(yōu)化要求用于發(fā)送糾錯(cuò)碼的系統(tǒng)開銷和限制系統(tǒng)等待時(shí)間。例如,在僅允許很少的錯(cuò)誤的條件運(yùn)行時(shí),目標(biāo)錯(cuò)誤率則相對(duì)較低。在等待時(shí)間是顯著的系統(tǒng)要求并且允許較多的錯(cuò)誤的情況下,目標(biāo)錯(cuò)誤率可以相對(duì)較高。
當(dāng)計(jì)算的或測(cè)量的錯(cuò)誤參數(shù)低于閾值水平(負(fù)的任何允許的變化),這表明信道條件具有相對(duì)較高的質(zhì)量(相對(duì)較低的噪聲條件)。出現(xiàn)較少的錯(cuò)誤,并且這些錯(cuò)誤可以由前向糾錯(cuò)碼來糾正。在這些條件下,可以修訂前向糾錯(cuò)碼參數(shù)來降低前向糾錯(cuò)能力的程度(也就是,能夠糾錯(cuò)較少的錯(cuò)誤),以減少測(cè)量的錯(cuò)誤水平和閾值水平之間的界限。通過降低前向糾錯(cuò)能力,也降低了與前向糾錯(cuò)方案相關(guān)的系統(tǒng)開銷和等待時(shí)間。相反,如果信道錯(cuò)誤參數(shù)大于目標(biāo)閾值水平(負(fù)的任何允許的變化),表明信道具有相對(duì)低的或差的質(zhì)量,噪聲引起較多的錯(cuò)誤,這些錯(cuò)誤多于所希望的錯(cuò)誤,并且多于能夠由糾錯(cuò)碼糾正的錯(cuò)誤,則采用修訂的前向糾錯(cuò)參數(shù)來提供更大程度的前向糾錯(cuò)能力,也就是能夠糾錯(cuò)更多的錯(cuò)誤。這種更大程度的前向糾錯(cuò)將增加等待時(shí)間和前向糾錯(cuò)的系統(tǒng)開銷,但是也降低了源于不能糾正其中的錯(cuò)誤而重新傳輸整個(gè)數(shù)據(jù)分組帶來的系統(tǒng)開銷。
通過使用公知的算法(諸如Reed-Solomn)來提供前向糾錯(cuò)的大多數(shù)商業(yè)上可獲得的集成電路提供了某些前向糾錯(cuò)統(tǒng)計(jì),諸如接收到的不可糾正的塊錯(cuò)誤數(shù)目、被糾正的接收到的塊數(shù)目、和接收到的總的FEC塊數(shù)目。一種這樣的通用可用芯片由位于加利福尼亞的Milpitas的LSI Logic公司生產(chǎn),被稱為L(zhǎng)64714。從該芯片得到的統(tǒng)計(jì)信息可以有利地與本發(fā)明一起使用來確定是否應(yīng)當(dāng)改變前向糾錯(cuò)參數(shù),同時(shí)仍然維持希望的通信信道的相關(guān)性能參數(shù),確定這種改變是否涉及到增加或降低特征的參數(shù)。
通常,將應(yīng)用了前向糾錯(cuò)的比特流劃分成多個(gè)幀,每一個(gè)幀稱為一個(gè)碼字。每一個(gè)碼字被進(jìn)一步劃分成兩部分,即要通過信道發(fā)射的信息或應(yīng)用數(shù)據(jù)(并且在出現(xiàn)錯(cuò)誤的情況下進(jìn)行糾正),和允許接收站檢測(cè)和糾正信息比特中的錯(cuò)誤的糾錯(cuò)部分??梢酝ㄟ^增加糾錯(cuò)字節(jié)的數(shù)目、降低包含在碼字中的信息數(shù)據(jù)量(即碼字中的信息字節(jié)數(shù)目),或者都執(zhí)行這些操作來增加任何前向糾錯(cuò)方案的糾正能力。降低碼字長(zhǎng)度,同時(shí)維持相同數(shù)目的糾錯(cuò)字節(jié)等同于增加糾錯(cuò)能力,因?yàn)榕c糾錯(cuò)字節(jié)數(shù)目相關(guān)的信息字節(jié)較少。相反,可以通過降低糾錯(cuò)字節(jié)的數(shù)目、增加包含在碼字中的信息數(shù)據(jù)量,或者都執(zhí)行這些操作來降低任何前向糾錯(cuò)方案的糾正能力。在傳輸數(shù)據(jù)分組中沒有錯(cuò)誤的理想通信信道中,增加前向糾錯(cuò)能力,則降低有效的信道數(shù)據(jù)吞吐量,因?yàn)樵诿恳粋€(gè)碼字中要求的前向糾錯(cuò)字節(jié)數(shù)目增加。類似地,降低前向糾錯(cuò)能力,則增加有效的數(shù)據(jù)吞吐量,因?yàn)榍跋蚣m錯(cuò)系統(tǒng)開銷降低。本發(fā)明介紹的算法使用的前向糾錯(cuò)和信道參數(shù)如下UNCORRECT_CW接收到的不可糾錯(cuò)的碼字的數(shù)目。
CORRECTED_CW被FEC過程糾正的、包含錯(cuò)誤的已接收到的碼字?jǐn)?shù)目。
TOTAL_CW接收到的碼字總數(shù)目,包括可糾正的、不可糾正的和非錯(cuò)誤的。
CW_LENGTH總的碼字長(zhǎng)度(單位為字節(jié)),包括信息或應(yīng)用部分,以及糾錯(cuò)部分。
CB_LENGTH糾錯(cuò)部分中的字節(jié)數(shù)目,在一個(gè)實(shí)施例中,其為前向糾錯(cuò)碼能夠糾正的字節(jié)數(shù)目的兩倍。
UNCORRECT_CW,CORRECT_CW,和TOTAL_CW是在很多商業(yè)上成品FEC芯片通常提供的度量。CW_LENGTH和CB_LENGTH是本發(fā)明根據(jù)噪聲條件設(shè)法修改為最佳水平的兩個(gè)參數(shù)。
根據(jù)本發(fā)明的前向糾錯(cuò)算法,通過動(dòng)態(tài)地選擇CW_LENGTH和CB_LENGTH的參數(shù)值來優(yōu)化前向糾錯(cuò)參數(shù),獲得目標(biāo)誤碼率,并且使前向糾錯(cuò)系統(tǒng)開銷最小(也使數(shù)據(jù)吞吐量最大),同時(shí)不超過系統(tǒng)等待時(shí)間要求。通常,對(duì)系統(tǒng)的最大允許的等待時(shí)間進(jìn)行了限制。在本發(fā)明中,可將等待時(shí)間定義為在接收機(jī)處解調(diào)輸入信號(hào)以抽取比特流與在由于FEC處理而已經(jīng)糾正比特流并且提供給用戶的點(diǎn)之間的時(shí)間周期。接收機(jī)處理器將根據(jù)FEC算法來處理來自解調(diào)器的特特流,并且根據(jù)需要糾正錯(cuò)誤的字節(jié)。因此,這種處理將附加的等待時(shí)間引入到數(shù)據(jù)流中。
下面的三個(gè)特定應(yīng)用參數(shù)是通信系統(tǒng)用戶根據(jù)通信網(wǎng)絡(luò)的要求而選擇的(1)目標(biāo)誤碼率(TBER),(2)MAXIMUM_OVERHEAD,其為所允許的最大FEC系統(tǒng)開銷,因而其規(guī)定了最小的信息帶寬,和(3)MAXIMUM_LATENCY,其為系統(tǒng)用戶所能夠忍受的對(duì)于源于FEC處理帶來的最大分組延遲。注意,在本發(fā)明的一個(gè)實(shí)施例中,最優(yōu)的系統(tǒng)參數(shù)是誤碼率;但是對(duì)該參數(shù)的優(yōu)化并不是本發(fā)明所要求的。其它可以用來優(yōu)化FEC過程的性能的信號(hào)質(zhì)量度量包括數(shù)據(jù)分組錯(cuò)誤率和FEC塊錯(cuò)誤率。
用戶選擇最大等待時(shí)間(MAXIMUM_LATENCY)要求作為通信信道所支持的網(wǎng)絡(luò)應(yīng)用的類型的函數(shù)。例如,話音IP(VoIP)應(yīng)用通常具有短的等待時(shí)間(tight latency)要求,且可能導(dǎo)致小于100毫秒的最大等待時(shí)間,而典型的高速數(shù)據(jù)應(yīng)用可忍受相當(dāng)多的等待時(shí)間,因此用戶可以將該參數(shù)設(shè)為500毫秒或更大值。通常,F(xiàn)EC處理集成電路規(guī)范包括用于它們的等待時(shí)間計(jì)算的公式。例如,上面介紹的LSIL64714 FEC解碼器引入了等于在下面的方程(1)中給出的等待時(shí)間。這些關(guān)系通常是非線性的,意味著不得不單獨(dú)地估計(jì)CW_LENGTH和CB_LENGTH的每一個(gè)組合,不能確定用于CW_LENGTH和CB_LENGTH的單個(gè)獨(dú)立的約束。
Latency(等待時(shí)間)=fL(CW_LENGTH,CB_LENGTH)=TRUNC[16*CW_LENGTH+CB_LENGTH2+4*CB_LENGTH+73)/8]*8+12 (1)類似地,選擇最大系統(tǒng)開銷(MAXIMUM_OVERHEAD)要求來反映可接受的最小通信信道吞吐量。例如,如果用戶設(shè)計(jì)語(yǔ)音應(yīng)用為由這樣的通信信道支持,該通信信道具有40兆比特/秒的原始數(shù)據(jù)速率,根據(jù)必須服務(wù)的用戶數(shù)目以及每一個(gè)用戶的數(shù)據(jù)速率,計(jì)算表明信道必須提供30兆比特/秒的速率來滿足應(yīng)用要求,則要求的最小信道利用率為30/40=0.75或75%。因此,最大的系統(tǒng)開銷等于1減去最小的信道利用率,在這個(gè)例子中為0.25或25%。方程(2)給出了與FEC過程導(dǎo)致的系統(tǒng)開銷相關(guān)的系統(tǒng)開銷計(jì)算。
Overhead(系統(tǒng)開銷)=fo=CB_LENGTH/CW_LENGTH (2)大多數(shù)的通信系統(tǒng)應(yīng)用具有目標(biāo)誤碼率,超過該誤碼率則系統(tǒng)性能不可接受。通常,1×10-6(這意味著對(duì)于每1000000比特存在一個(gè)比特錯(cuò)誤)是非常普遍的。正如結(jié)合根據(jù)本發(fā)明的教導(dǎo)的圖2所示,目標(biāo)誤碼率驅(qū)動(dòng)上述過程更新前向糾錯(cuò)參數(shù)和要求接收到的比特?cái)?shù)目以合理地估計(jì)實(shí)際的誤碼率,其在此稱為采樣窗口大小(SWS)。采樣窗口大小與要求合理地確定實(shí)際的誤碼率的時(shí)間長(zhǎng)度相關(guān)。例如,如果用戶試圖優(yōu)化系統(tǒng)來以10-6的誤碼率(每1000000比特存在一個(gè)比特錯(cuò)誤)執(zhí)行,則在決定是否調(diào)整當(dāng)前的FEC設(shè)置之前,采樣窗口最小必須是1000000比特。實(shí)際當(dāng)中,決定窗口通常應(yīng)當(dāng)為5000000到10000000比特。因此,為了確保對(duì)實(shí)際的誤碼率進(jìn)行可接受地估計(jì),用于誤碼率計(jì)算的采樣窗口大小最小必須為1/BER比特,優(yōu)選地為5/BER比特。在收集了要求的比特?cái)?shù)目之后,所述過程如下計(jì)算系統(tǒng)誤碼率(計(jì)算出的誤碼率或CBER)CBER=UNCORRECT_CW/SWS (3)式中,UNCORRECT_CW為在采樣窗口期間沒有糾正的錯(cuò)誤碼字的數(shù)目,SWS為發(fā)射機(jī)在采樣窗口間隔期間發(fā)送的總的比特?cái)?shù)目(包括校正比特和錯(cuò)誤比特)。如下進(jìn)行計(jì)算SWSSWS=TOTAL_CW*CW_LENGTH*8 (4)方程(3)是對(duì)BER的估計(jì),因?yàn)樵谝粋€(gè)實(shí)施例中,不可能確切地確定在不可糾正的FEC碼字中有多少破壞的比特,僅僅確定未糾正的碼字?jǐn)?shù)目。然而,方程(3)假設(shè)每一個(gè)不可糾正的碼字是源于超過FEC算法的糾正能力一比特導(dǎo)致的。這種計(jì)算很好地施加對(duì)實(shí)際誤碼率進(jìn)行較低的約束,并且允許對(duì)根據(jù)本發(fā)明的FEC參數(shù)進(jìn)行適當(dāng)?shù)恼{(diào)整。注意,如果在本發(fā)明的其它實(shí)施例中,使用了除誤碼率之外的諸如分組錯(cuò)誤率或FEC碼字錯(cuò)誤率的度量,將出現(xiàn)類似的問題,但是可以相同方式來解決。在這種計(jì)算中的關(guān)鍵因素不是CBER和TBER之間的差別幅度,因?yàn)楸景l(fā)明中的推薦的算法不是基于FEC參數(shù)幅度調(diào)整,而是僅基于調(diào)整“方向”。如果CBER大于TBER,則增加附加的FEC糾正能力。如果CBER小于TBER,則調(diào)整所述過程來使用較少的FEC糾正功率。如前所述,可以使用代替誤碼率的其它錯(cuò)誤度量,這通常導(dǎo)致修改SWS的計(jì)算。例如,如果使用碼字錯(cuò)誤率,則SWS等于TOTAL_CW。
圖2說明根據(jù)本發(fā)明的教導(dǎo)的過程,用于動(dòng)態(tài)地建立前向糾錯(cuò)參數(shù),特別是建立碼字長(zhǎng)度(單位為字節(jié))和校驗(yàn)字節(jié)長(zhǎng)度(單位也為字節(jié))。可以用專用的微處理器或者帶有執(zhí)行FEC過程的接收機(jī)的多種功能的微處理器來實(shí)現(xiàn)圖2的過程。圖2的過程開始于初始化步驟200,然后轉(zhuǎn)到步驟201,在此由用戶建立TBER、MAXIMUM_LATENCY和MAXIMUM_OVERHEAD。在步驟202,收集等于采樣窗口大小的多個(gè)數(shù)據(jù)采樣值(參見方程(4))。優(yōu)選地,采樣值的數(shù)目等于最小量5/BER。因此,當(dāng)應(yīng)用到具有10-6的誤碼率的系統(tǒng)時(shí),采樣窗口大小優(yōu)選地為5×106比特。
在步驟203,根據(jù)在采樣窗口期間接收到的比特,由實(shí)現(xiàn)FEC方案的電路或集成電路來確定CORRECTED_CW和UNCORRECTED_CW值,并且將所述比特輸入圖2的過程。在這里,在一個(gè)實(shí)施例中,在示出的決定步驟204可以進(jìn)行可選的計(jì)算。如果糾正的碼字?jǐn)?shù)目(CORRECTED_CW)加上不可糾正的碼字(UNCORRECT_CW)數(shù)目等于零,則不需要應(yīng)用前向糾錯(cuò)(并且不要求),且在步驟205通過設(shè)定校驗(yàn)字節(jié)長(zhǎng)度(CB_LENGTH)為零,可以立即獲得信道的全帶寬。注意,步驟205實(shí)質(zhì)上禁止FEC,因?yàn)闆]有校驗(yàn)和字節(jié)被加到發(fā)射的數(shù)據(jù)上。另外,可以允許通信系統(tǒng)適應(yīng)信道噪聲條件,導(dǎo)致通過處理步驟206-221,迭代地將CB_LENGTH遞減2,直到變?yōu)榱阒?,這將在下面進(jìn)行詳細(xì)地介紹。
在步驟206,使用上面的方程(3)、使用來自步驟203的UNCORRECTED_CW值以及來自步驟202的采樣窗口大小來確定計(jì)算的誤碼率。例如,假設(shè)采樣窗口大小為5/BER,其中希望的誤碼率為1×10-6,且不可糾正的FEC塊數(shù)目為10。結(jié)果得到結(jié)算的誤碼率(CBER)為
CBER=10/(5/1×10-6)CBER=2×10-6在計(jì)算誤碼率之后,流程繼續(xù)到?jīng)Q定步驟207,其中,將計(jì)算的誤碼率與目標(biāo)誤碼率比較。如果計(jì)算的誤碼率大于目標(biāo)誤碼率,則必須增加前向糾錯(cuò)能力以減少計(jì)算的誤碼率。這個(gè)減少誤碼率的處理跟在從決定步驟207得到的肯定流向之后。如果計(jì)算的誤碼率少于目標(biāo)誤碼率,意味著在信道上出現(xiàn)的錯(cuò)誤少于目標(biāo)錯(cuò)誤數(shù)目,少于某一糾錯(cuò)功率,可以降低該糾錯(cuò)功率以允許增加計(jì)算的誤碼率(跟在來自決定步驟207的否定流向之后)。本發(fā)明的教導(dǎo)這些對(duì)前向糾錯(cuò)能力的改變以遞增和可控制的方式進(jìn)行。具體地說,正如將結(jié)合圖2的余下步驟進(jìn)行討論的一樣,一旦前向糾錯(cuò)能力發(fā)生改變,流程總是返回到步驟202,以收集附加的采樣值、重新計(jì)算已計(jì)算的誤碼率、且與目標(biāo)誤碼率進(jìn)行比較。
返回到?jīng)Q定步驟207,如果計(jì)算的誤碼率少于目標(biāo)誤碼率,則正將“過多的”糾錯(cuò)功率量加到通信系統(tǒng)。流程從步驟207轉(zhuǎn)向步驟208,確定碼字長(zhǎng)度的增加是否導(dǎo)致超過了最大等待時(shí)間值。具體地說,將等待時(shí)間值(如在方程(1)中的LSI L64714 FEC解碼器給出)與用戶規(guī)定的MAXIMUM_LATENCY值進(jìn)行比較。當(dāng)根據(jù)方程(1)計(jì)算等待時(shí)間值時(shí),函數(shù)參數(shù)為CB_LENGTH和(CW_LENGTH+1)。如步驟210所示,隨著CW_LENGTH被遞增1,這種計(jì)算將指出系統(tǒng)等待時(shí)間是否超過最大的等待時(shí)間。如果CW_LENGTH調(diào)整值不超過最大等待時(shí)間,則在步驟210增加長(zhǎng)度。一旦已經(jīng)在步驟210增加了碼字長(zhǎng)度,流程返回到步驟202,以收集更多的采樣值,在步驟206重新計(jì)算實(shí)際的誤碼率,以在步驟207與目標(biāo)誤碼率進(jìn)行比較。
返回到?jīng)Q定步驟208,如果通過增加碼字長(zhǎng)度而超過了MAX_LATENCY,仍然希望降低前向糾錯(cuò)能力,但是這是不能通過增加碼字長(zhǎng)度來完成的。流程繼續(xù)到?jīng)Q定步驟212,在此將糾錯(cuò)字節(jié)的數(shù)目與零比較。請(qǐng)記住,校驗(yàn)字節(jié)長(zhǎng)度為前向糾錯(cuò)碼可以糾正的字節(jié)數(shù)目的兩倍。校驗(yàn)字節(jié)為零表明前向糾錯(cuò)過程具有零糾正功率,因此,禁止FEC。如果在步驟212校驗(yàn)字節(jié)為零,不能降低它以降低前向糾錯(cuò)能力,且流程因此返回步驟202。如果校驗(yàn)字節(jié)為非零,則流程從決定步驟212繼續(xù)到步驟214,在此將校驗(yàn)字節(jié)長(zhǎng)度值降低兩個(gè)字節(jié),且流程返回到步驟202??梢愿鶕?jù)希望的系統(tǒng)性能和穩(wěn)定性來選擇步驟210和214中使用的值(即,+1和-2)。
返回到?jīng)Q定步驟207,如果計(jì)算的誤碼率大于目標(biāo)誤碼率,則流程進(jìn)行響應(yīng),沿從決定步驟207的肯定流向增加前向糾錯(cuò)能力。第一種選擇是增加校驗(yàn)字節(jié)的數(shù)目。這是通過這樣完成的首先確定增加校驗(yàn)字節(jié)長(zhǎng)度是否導(dǎo)致超過MAXIMUM_LATENCY(其中,按照方程(1)來計(jì)算實(shí)際等待時(shí)間)或MAXIMUM_OVERHEAD(其中,按照方程(2)來計(jì)算實(shí)際的系統(tǒng)開銷),正如在決定步驟216和218一樣。為了確定實(shí)際的等待時(shí)間,插入到方程(1)中的函數(shù)值為(CB_LENGTH+2)和CW_LENGTH。利用這些值,在隨后的流程中,如果CB_LENGTH值遞增,允許確定實(shí)際等待時(shí)間是否超過MAXIMUM_LATENCY。類似地,在計(jì)算要求用于決定步驟218中的實(shí)際系統(tǒng)開銷中,(方程(2)的)分子為CB_LENGTGH+2,且分母為CW_LENGTH。此外,這些值的使用考慮到在隨后的流程步驟中執(zhí)行的CB_LENGTH的潛在改變。如果既沒有超過MAXIMUMLATENCY,也沒有超過MAXIMUM OVERHEAD條件,則流程進(jìn)行到步驟219,在此,將校驗(yàn)字節(jié)長(zhǎng)度增加2,因而增加前向糾錯(cuò)能力,在此之后流程返回到步驟202。
如果如在步驟216和218所確定,超過了MAXIMUM LATENCY或者M(jìn)AXIMUM OVERHEAD系統(tǒng)開銷要求,流程進(jìn)行到步驟220,確定碼字長(zhǎng)度的降低是否仍然滿足MAXIMUM_OVERHEAD要求。在確定用于步驟220的系統(tǒng)開銷值中,系統(tǒng)開銷的計(jì)算利用了這樣的碼字長(zhǎng)度,其具有方程(2)的分母(CW_LENGTH-1),和分子CB_LENGTH。在步驟220,將從方程(2)計(jì)算出的值與MAXIMUM_OVERHEAD值進(jìn)行比較。如果不超過最大系統(tǒng)開銷,則流程進(jìn)行到步驟221,在此降低碼字長(zhǎng)度,在此之后流程返回到步驟202。
如果碼字長(zhǎng)度已經(jīng)到達(dá)了它的最小值,如在決定步驟202中系統(tǒng)開銷的計(jì)算所確定,流程繼續(xù)到步驟222。由于不能進(jìn)一步降低碼字長(zhǎng)度(且校驗(yàn)字節(jié)長(zhǎng)度不能增加,如在決定步驟216和218所指出),則系統(tǒng)不能滿足目標(biāo)錯(cuò)誤率。因此,如步驟222所示,顯示一警告消息,在此之后流程返回步驟202。
一旦計(jì)算了碼字長(zhǎng)度和校驗(yàn)字節(jié)長(zhǎng)度參數(shù)(CW_LENGTH和CB_LENGTH),必須將它們傳輸回到發(fā)射機(jī),以對(duì)數(shù)據(jù)流進(jìn)行編碼。轉(zhuǎn)給本發(fā)明的受讓人的美國(guó)專利5,699,365提供了一種將這些新的參數(shù)傳送給發(fā)射機(jī)的技術(shù)。
除了如在步驟進(jìn)行確定而使用計(jì)算的誤碼率之外,為了確定是否增加或降低前向糾錯(cuò)能力,在其它的實(shí)施例中,也可以使用分組錯(cuò)誤率或者幀錯(cuò)誤率。計(jì)算這些后提到的錯(cuò)誤率的過程類似于計(jì)算誤碼率的過程。決定步驟207將涉及將目標(biāo)幀或者分組錯(cuò)誤率與相應(yīng)的計(jì)算值進(jìn)行比較。
應(yīng)當(dāng)注意,本發(fā)明的優(yōu)選實(shí)施例的過程利用在通信系統(tǒng)中的縮短的前向糾錯(cuò)實(shí)現(xiàn)??s短的前向糾錯(cuò)碼指不要求對(duì)碼字進(jìn)行填補(bǔ)(即字節(jié)或比特填補(bǔ))以獲得預(yù)定碼字長(zhǎng)度的那些糾錯(cuò)算法。在典型的數(shù)據(jù)傳輸中,需要發(fā)送的信息字節(jié)數(shù)目通常超過在具有FEC能力的碼字中可用的信息字節(jié)數(shù)目。因此,發(fā)送多個(gè)碼字,且信息字節(jié)很可能沒有完全填滿最后的碼字。因此,在填補(bǔ)方案中,將附加的數(shù)據(jù)比特(諸如0)來填補(bǔ)最后的碼字。實(shí)際上,在縮短的前向糾錯(cuò)方案中,不會(huì)使最后碼字的長(zhǎng)度變長(zhǎng),使得任意給定的碼字長(zhǎng)度是可接受的。這些措施在本領(lǐng)域中是公知的,例如可參見DOCSIS 1.0規(guī)范。正如本領(lǐng)域普通技術(shù)人員將認(rèn)識(shí)到,如果沒有使用縮短的FEC處理方案,則數(shù)據(jù)填補(bǔ)的影響必須包括到用于本發(fā)明的自適應(yīng)FEC方案的等待時(shí)間和系統(tǒng)開銷計(jì)算中。
盡管已參考了優(yōu)選實(shí)施例對(duì)本發(fā)明進(jìn)行了闡述,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明進(jìn)行不同的改變和發(fā)明中的要素進(jìn)行等價(jià)替換而不背離本發(fā)明的范圍。此外,在不背離基本范圍的情況下,可以進(jìn)行修改本發(fā)明的教導(dǎo)以適應(yīng)特定的應(yīng)用。因此,本發(fā)明不應(yīng)只限于作為用于試圖實(shí)現(xiàn)本發(fā)明的最佳模式所公開的特定的實(shí)施例,而應(yīng)當(dāng)包括所有落入所附權(quán)利要求范圍的實(shí)施例。
權(quán)利要求
1.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和糾錯(cuò)部分的碼字,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與所述預(yù)定閾值進(jìn)行比較;(d)當(dāng)所述監(jiān)視的參數(shù)至少具有相對(duì)所述閾值的第一變化時(shí),增加所述前向糾錯(cuò)能力;和(e)當(dāng)所述監(jiān)視的參數(shù)至少具有相對(duì)所述閾值的第二變化時(shí),減少所述前向糾錯(cuò)能力。
2.如權(quán)利要求1中所述方法,其中,所述第一變化為所述監(jiān)視的參數(shù)大于所述閾值。
3.如權(quán)利要求1的所述方法,其中,所述第一變化為所述監(jiān)視的參數(shù)大于或等于所述閾值。
4.如權(quán)利要求1中所述方法,其中,所述第二變化為所述監(jiān)視的參數(shù)小于所述閾值。
5.如權(quán)利要求1中所述方法,其中,所述第二變化為所述監(jiān)視的參數(shù)小于或等于所述閾值。
6.如權(quán)利要求1中所述方法,其中,所述減少前向糾錯(cuò)能力的步驟包括將所述碼字的信息部分的長(zhǎng)度增加預(yù)定的值。
7.如權(quán)利要求1中所述方法,其中,所述減少前向糾錯(cuò)能力的步驟包括將所述碼字的糾錯(cuò)部分的長(zhǎng)度降低預(yù)定的值。
8.如權(quán)利要求1中所述方法,其中,所述增加前向糾錯(cuò)能力的步驟包括將所述碼字的信息部分的長(zhǎng)度降低預(yù)定的值。
9.如權(quán)利要求1中所述方法,其中,所述增加前向糾錯(cuò)能力的步驟包括將所述碼字的糾錯(cuò)部分的長(zhǎng)度增加預(yù)定的值。
10.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和糾錯(cuò)部分的碼字,其中為所述通信信道建立了最大等待時(shí)間值和最大系統(tǒng)開銷值,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與預(yù)定閾值進(jìn)行比較;(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第二預(yù)定關(guān)系時(shí),確定將所述碼字增加第一預(yù)定值是否導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間值;(e)如果將所述碼字增加第一預(yù)定值不會(huì)導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間值,則將所述碼字增加第一預(yù)定值;(f)如果將所述碼字增加第一預(yù)定值導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間值,確定所述糾錯(cuò)部分的長(zhǎng)度是否為零;(g)如果所述糾錯(cuò)部分的長(zhǎng)度不等于零,將所述糾錯(cuò)部分的長(zhǎng)度降低第二預(yù)定值;(h)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第一關(guān)系時(shí),確定將糾錯(cuò)部分的長(zhǎng)度增加第三閾值是否會(huì)導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間或者是否導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值;(i)如果將糾錯(cuò)部分的長(zhǎng)度增加第三閾值不會(huì)導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間,并且不導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則將糾錯(cuò)部分的長(zhǎng)度增加第三預(yù)定值。(j)如果增加糾錯(cuò)部分的長(zhǎng)度導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間,或者導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則確定將所述碼字長(zhǎng)度減少第四預(yù)定值是否會(huì)導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值;(k)如果將所述碼字長(zhǎng)度減少第四預(yù)定值不會(huì)導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則將所述碼字長(zhǎng)度降低第四預(yù)定值;和(l)如果將所述碼字長(zhǎng)度減少第四預(yù)定值導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則確定所述方法不能夠獲得所述閾值。
11.如權(quán)利要求10中所述方法,其中,所述監(jiān)視的參數(shù)為誤碼率。
12如權(quán)利要求10中所述方法,進(jìn)一步包括步驟(m)重復(fù)步驟(a)到(1)。
13.如權(quán)利要求12中所述方法,其中,所述增加或降低所述糾錯(cuò)部分的長(zhǎng)度,或者增加或降低所述碼字長(zhǎng)度的步驟包括分別地遞增或遞減預(yù)定因子。
14.如權(quán)利要求10中所述方法,其中,所述等待時(shí)間是所述碼字長(zhǎng)度和所述糾錯(cuò)部分的長(zhǎng)度的函數(shù)。
15.如權(quán)利要求10中所述方法,其中,所述系統(tǒng)開銷是所述碼字長(zhǎng)度和所述糾錯(cuò)部分的長(zhǎng)度的函數(shù)。
16.如權(quán)利要求10中所述方法,其中,所述監(jiān)視的參數(shù)是根據(jù)用于所述監(jiān)視的參數(shù)的最小采樣值數(shù)目來計(jì)算的。
17.如權(quán)利要求16中所述方法,其中,所述采樣值的最小數(shù)目是用于所述監(jiān)視的參數(shù)的閾值的函數(shù)。
18.如權(quán)利要求10中所述方法,其中,步驟(a)進(jìn)一步包括(a1)當(dāng)已糾錯(cuò)的碼字?jǐn)?shù)目加上未糾錯(cuò)的碼字?jǐn)?shù)目為零,將所述糾錯(cuò)部分的長(zhǎng)度設(shè)為零;和(a2)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù)。
19.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和代表前向糾錯(cuò)能力的糾錯(cuò)部分的碼字,其中為所述通信信道建立了最大數(shù)據(jù)處理約束值,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與閾值進(jìn)行比較;和(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第二預(yù)定關(guān)系時(shí),并且當(dāng)增加所述信息部分的長(zhǎng)度和/或降低所述糾錯(cuò)部分的長(zhǎng)度不會(huì)導(dǎo)致超過所述數(shù)據(jù)處理約束值時(shí),增加所述信息部分長(zhǎng)度和/或降低所述糾錯(cuò)部分的長(zhǎng)度。
20.如權(quán)利要求19中所述方法,其中,所述數(shù)據(jù)處理約束為等待時(shí)間。
21.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和代表前向糾錯(cuò)能力的糾錯(cuò)部分的碼字,其中為所述通信信道建立了最大數(shù)據(jù)處理約束值,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與閾值進(jìn)行比較;和(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第一預(yù)定關(guān)系時(shí),并且當(dāng)降低所述信息部分的長(zhǎng)度和/或增加所述糾錯(cuò)部分的長(zhǎng)度不會(huì)導(dǎo)致超過數(shù)據(jù)處理約束值時(shí),降低所述信息部分長(zhǎng)度和/或增加所述糾錯(cuò)部分的長(zhǎng)度。
22.如權(quán)利要求21中所述方法,其中,所述數(shù)據(jù)處理約束為等待時(shí)間。
23.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和糾錯(cuò)部分的碼字,其中為所述通信信道建立了最大數(shù)據(jù)處理約束值,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與閾值進(jìn)行比較;和(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第二預(yù)定關(guān)系時(shí),并且當(dāng)增加所述信息部分的長(zhǎng)度和/或降低所述糾錯(cuò)部分的長(zhǎng)度不會(huì)導(dǎo)致超過數(shù)據(jù)處理約束值時(shí),增加所述信息部分長(zhǎng)度和/或降低所述糾錯(cuò)部分的長(zhǎng)度。
24.如權(quán)利要求23中所述方法,其中,所述數(shù)據(jù)處理約束為系統(tǒng)開銷。
25.一種用于在通信信道中進(jìn)行自適應(yīng)前向糾錯(cuò)的方法,所述通信信道傳送包括信息部分和糾錯(cuò)部分的碼字,其中為所述通信信道建立了最大數(shù)據(jù)處理約束值,所述方法包括(a)監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);(b)確定所述監(jiān)視的參數(shù)的閾值;(c)將所述監(jiān)視的參數(shù)與閾值進(jìn)行比較;和(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第一預(yù)定關(guān)系時(shí),并且當(dāng)降低所述信息部分的長(zhǎng)度和/或增加所述糾錯(cuò)部分的長(zhǎng)度不會(huì)導(dǎo)致超過數(shù)據(jù)處理約束值時(shí),降低所述信息部分長(zhǎng)度和/或增加所述糾錯(cuò)部分的長(zhǎng)度。
26.如權(quán)利要求25中所述方法,其中,所述數(shù)據(jù)處理約束為系統(tǒng)開銷。
27.一種用于在通信信道中提供自適應(yīng)前向糾錯(cuò)的裝置,所述通信信道傳送包括信息部分和糾錯(cuò)部分的碼字,所述裝置包括第一模塊,其監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù);第二模塊,其確定所述監(jiān)視的參數(shù)的閾值;第三模塊,其將所述監(jiān)視的參數(shù)與閾值進(jìn)行比較;第三模塊,當(dāng)所述監(jiān)視的參數(shù)至少具有相對(duì)所述閾值的第一變化時(shí),增加所述前向糾錯(cuò)功率;和第四模塊,當(dāng)所述監(jiān)視的參數(shù)至少具有相對(duì)所述閾值的第二變化時(shí),減少所述前向糾錯(cuò)功率。
28.一種包括計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可用介質(zhì)具有提供自適應(yīng)前向糾錯(cuò)的計(jì)算機(jī)可讀代碼,其中為所述通信信道建立了最大等待時(shí)間值和最大系統(tǒng)開銷值,在所述制造的產(chǎn)品中的計(jì)算機(jī)可讀代碼包括(a)用于監(jiān)視信道參數(shù)以形成監(jiān)視的參數(shù)的計(jì)算機(jī)可讀程序代碼模;(b)確定所述監(jiān)視的參數(shù)的閾值的計(jì)算機(jī)可讀程序代碼模塊;(c)將所述監(jiān)視的參數(shù)與預(yù)定閾值進(jìn)行比較的計(jì)算機(jī)可讀程序代碼模塊;(d)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第二預(yù)定關(guān)系時(shí),確定將所述碼字增加第一預(yù)定值是否導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間值的計(jì)算機(jī)可讀程序代碼模塊;(e)如果增加碼字長(zhǎng)度不會(huì)產(chǎn)生超過所述最大等待時(shí)間值的等待時(shí)間,則將增加碼字長(zhǎng)度的計(jì)算機(jī)可讀程序代碼模塊;(f)如果增加碼字長(zhǎng)度導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間值,確定所述糾錯(cuò)部分的長(zhǎng)度是否為零的計(jì)算機(jī)可讀程序代碼模塊;(g)如果所述糾錯(cuò)部分的長(zhǎng)度不為零,降低所述糾錯(cuò)部分的長(zhǎng)度的的計(jì)算機(jī)可讀程序代碼模塊;(h)當(dāng)所述監(jiān)視的參數(shù)具有相對(duì)所述閾值的第一關(guān)系時(shí),確定增加糾錯(cuò)部分的長(zhǎng)度是否會(huì)導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間或者是否導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值的計(jì)算機(jī)可讀程序代碼模塊;(i)如果糾錯(cuò)部分的長(zhǎng)度的增加不會(huì)導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間,并且不導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,將糾錯(cuò)部分的長(zhǎng)度增加的的計(jì)算機(jī)可讀程序代碼模塊;(j)如果增加糾錯(cuò)部分的長(zhǎng)度導(dǎo)致等待時(shí)間超過所述最大等待時(shí)間,或者導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則確定將減少所述碼字長(zhǎng)度是否會(huì)導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值的計(jì)算機(jī)可讀程序代碼模塊;(k)如果減少所述碼字長(zhǎng)度不會(huì)導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,降低所述碼字長(zhǎng)度的計(jì)算機(jī)可讀程序代碼模塊;和(l)如果減少所述碼字長(zhǎng)度導(dǎo)致系統(tǒng)開銷值超過所述最大系統(tǒng)開銷值,則確定所述方法不能夠獲得所述閾值的計(jì)算機(jī)可讀程序代碼模塊。
全文摘要
本發(fā)明公開了一種用于通信信道的自適應(yīng)和動(dòng)態(tài)前向糾錯(cuò)方案。所述方法和裝置計(jì)算實(shí)際的誤碼率以與目標(biāo)誤碼率進(jìn)行比較。當(dāng)信道比性能規(guī)范所要求執(zhí)行的更好時(shí),可以減少前向糾錯(cuò)能力來提供更大的吞吐量。如果計(jì)算的實(shí)際誤碼率大于目標(biāo)誤碼率,則降低前向糾錯(cuò)能力以降低計(jì)算的誤碼率。采用一反饋環(huán)路來根據(jù)前向糾錯(cuò)能力的增加或降低連續(xù)地計(jì)算修訂的誤碼率。
文檔編號(hào)H03M13/35GK1479976SQ01820156
公開日2004年3月3日 申請(qǐng)日期2001年11月30日 優(yōu)先權(quán)日2000年12月6日
發(fā)明者邁克爾J·庫(kù)珀, 斯蒂芬·施羅德, 施羅德, 邁克爾J 庫(kù)珀 申請(qǐng)人:摩托羅拉公司