TWI326987B - Efficient design to implement ldpc (low density parity check) decoder - Google Patents

Efficient design to implement ldpc (low density parity check) decoder Download PDF

Info

Publication number
TWI326987B
TWI326987B TW94133698A TW94133698A TWI326987B TW I326987 B TWI326987 B TW I326987B TW 94133698 A TW94133698 A TW 94133698A TW 94133698 A TW94133698 A TW 94133698A TW I326987 B TWI326987 B TW I326987B
Authority
TW
Taiwan
Prior art keywords
bit
processing
check
node
metric
Prior art date
Application number
TW94133698A
Other languages
Chinese (zh)
Inventor
Thien Tran Hau
brian cameron Kelly
Shen Ba-Zhong
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Application granted granted Critical
Publication of TWI326987B publication Critical patent/TWI326987B/en

Links

Description

1326987 九、發明說明: 【發明所屬之技術領域】 號的ίΓ膀及通訊祕,更具舰,本判涉及通訊系統内訊 【先前技術】 資料通訊系統已經得到多年的持續發展。最近引起重大關:主的一 種通赠献·碼(turbQ eGde)的通_統。另—種使用低 密度奇偶校驗(Low Density Parity Check,LDPC)碼的通訊系統也 備文關注。這些綱的通訊祕均能實軸對較低的誤碼率(則。 這個領域發朗_和主要方向是繼續努力降低軌純内的誤 碼平臺(en:〇r floor)。理想的目標是達到通訊通道中的香農極限 (Sha_n’ s limit)。香農極限可視為—通訊通道中使㈣資料率, 具有一特定的信噪比⑽),可實現通過該通訊通道的無誤碼傳輸。 換句話說,對給定_醉和編碼率來說,香農極限是通道容量的理 論界限。 聰編碼轉衫種方絲妓。例如,可财種方式實現⑽c =的互動式軟解碼,包括基於信度傳播(BeUef prc师⑽,Bp) 肩异法、和積(Sum_Pr〇duct,sp)演算法和 (MeSSage-Passing,Mp)演瞀 人、a )〜法,MP异有時又稱為和積/信度傳播組 二减。雖細靖聰編碼做出了大量的·和努力,但是不管 兄下使用哪一種特殊方式的互動式解碼演算法(如上列舉 ㈣理Γ^ΜΡ),在通訊設翻為完成這種解碼而進行的執行 " 進的空間。例如’必須執行多種相對複雜和數位須累 5 ^26987 的計算、資料管理和處理,以完成·編碼訊號的精 LDPC碼已表明可提供出色的解碼性能,在某些情 極限。例如,S㈣娜嶋財職趣料^香農 軌圍内。雖然這—例子使用長度為一百萬的不規則 刀、) 仍然證明携C碼在獅統内的應用非常有前景。Μ實現,它 當解碼收到的訊號時,在進行計算的過程中,解媽器 即基是e的對數域)内進行運算,有時候將這簡單_ ζ 數域。脈解碼器屬於這一類別。通過在對數域中的運算,將有 的乘法轉換成加法,除法轉換成減法,並完全消除指數1326987 IX. Invention Description: [Technical field of invention] The number and the secret of the communication are more ships. This judgment involves communication system communication. [Prior Art] The data communication system has been continuously developed for many years. Recently caused a major concern: the main package of the main offer code (turbQ eGde). Another communication system that uses Low Density Parity Check (LDPC) codes is also a topic of interest. The communication secrets of these classes can all achieve a lower bit error rate for the real axis (then. This field is lang_ and the main direction is to continue to work hard to reduce the error platform within the track purity (en: 〇r floor). The ideal goal is To reach the Sha_n's limit in the communication channel, the Shannon limit can be regarded as the (four) data rate in the communication channel, with a specific signal-to-noise ratio (10)), which can realize error-free transmission through the communication channel. In other words, for a given _ drunk and coding rate, the Shannon limit is the theoretical limit of channel capacity. Cong coded shirts and squares. For example, interactive soft decoding of (10)c = can be implemented in a financial manner, including reliability-based propagation (BeUef prc division (10), Bp) shoulder-same method, sum product (Sum_Pr〇duct, sp) algorithm, and (MeSSage-Passing, Mp ) Deductive, a) ~ law, MP is sometimes called the sum / confidence transmission group minus. Although Jing Jing Cong has made a lot of efforts and efforts, no matter which special way of interactive decoding algorithm is used by the brothers (as listed above), the communication is set to complete this decoding. The execution " space. For example, the calculation, data management, and processing of a variety of relatively complex and digital bits must be performed to complete the LDPC code of the coded signal, which has been shown to provide excellent decoding performance, at some extremes. For example, S (four) Na 嶋 财 财 ^ ^ ^ ^ ^ ^ ^ ^ Although this example uses an irregular knife of one million in length, it still proves that the application of the C code in the Lions is very promising. ΜImplementation, when decoding the received signal, in the process of calculation, the solution is based on the logarithmic domain of e), sometimes it is simple _ ζ number field. The pulse decoder belongs to this category. Converting some multiplications into additions, dividing into subtractions, and completely eliminating the exponent by operations in the logarithmic domain

性能。 月陈扣數,而不影響BER 自然對數域内比較_的計算包括計算如下所述的指數的和: In(ea+eb+ec+.·.) 使用如下所示的雅可比公式UaeQbian f 算的複雜性: L員者減小_計 ^ (a»b)=tn(e· +e')a max(ajb)+ln(l+e-M) &種计异經常被稱為max木計算或_運算。要注意的是,以上 着 化僅給出了兩個變數^ b的^錢算。計觀 =缺和時,這種計算可—遍龄複。例如,為了計算ΐη(Α~), 可以執行以下兩個max*運算: - max*(a.b)=ln(e* +eb)*max(atb)+]n([+e-M|j= χ _(a,b,C)=ma^e)= + W)=maxM+14+e1 雖然LDPC碼環境内有了很大的發展,但是執行解碼所必須的大量 理和汁算是極其繁重的。社提供的計算指數和關子便解釋了當 c. •執行這種訊號的解娜潛在的複雜性和所需的繁重計算。有時,處理 '要求如此繁重,使得在設計預算姆㈣統H禁止這_執行。 已經有—些非最佳的方法來處理所要求的繁重的計算。例如,在 執灯基礎max*運算時’某些解碼轉全除去魏校正因數‘,M), 並^、使用max(a’b)結果,其可在數位訊號處理器⑽p)内的單個指 令内實現。但是,這必然會降低解碼器的性能,使計算不精確。大多 數尋求冲算改進的系用方法要麼在計算精確度方面抄近路,要麼不能 鲁充刀降低计算的複雜度以調整其積分。一個妨礙LDpc碼的實現的因素 疋内在的計异複雜性以及與之相關的所要求的存儲量。 . 在賴_縣的解巾做如max^t料,滅需要提供 更有效的解決方法。 LDPC編碼訊號正應用在許多新的應用領域中。一種這樣的應用領 域是數位視頻廣播。數位視頻廣播組織(DVB)是一個工業領導聯盟, 包括超過35個國家内的超過2〇6家廣播公司、製造廠商、網路運營公 ♦司、軟體發展公司、管理團體和其他實體,專門開發數位冑視和資料 服務全球傳送的全球統一標準。關於DVB的相關資訊可以從以下網際 網路位址獲得: . “http: //www. dvb. org/,, , DVB—S2 (即 DVB-衛星第 2 版(DVB-Satellite Version 2))草案 標準也可以通過這個網際網路位址獲得,DVB_S2草案標準可從以下網 際網路地址以Adobe PDF格式下載: "http://www. dvb. 〇rg/docuraents//en302307. vl. 1.1. draft, pdf 1326987 因此’ DVB-S2草案標準的全部内容,即“草案ETSi EN 302 307 VI.1.1(2004-06),數位視頻廣播(DVB);第二代訓框結構,廣播的通·. 道編碼和調變系統,互動式服務,消息收集和其他的寬帶衛星的應用” ' (Draft ETSI ΕΝ 302 307 VI. 1.1 (2004-06), Digital Video Broadcasting(DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satel 1 ite applicat〇ns) ’在此全文引用並構成本申請公開的一部分。鲁 此外,標準“ETSI EN 302 307 VI. 1.1(2005-03),數位視頻廣播 (DVB);第二代訓框結構’廣播的通道編碼和調變系統,互動式服務, 消息收集和其他的寬帶衛星的應用,,在2()()5年3月被刪(歐洲電· 信標準協會)正式批准。因此該鮮的全文在本申請巾整體,並— 構成本申請公開的一部分。 遵從DVB-S2的系統中所使用的訊號的資料在這一 DVB—兑標準中 有詳細的介紹。該則_沿標準主要集中在傳輸系统的描述和其中的子❿ 系統,包括模式適配、流適配、FEC、編碼(包括腦外編碼和跳内 編碼)、位兀映射到群集(c〇nstellati〇n)、物理層訓框以及基帶整形 和正交調變。 DVB-S2是DVB-S (數位視頻廣播組織提出的第一個標準)的高級、 版本。DVB-S2試圖提供比腦_s更高的效率。議計晝執行*種不-, 同的調變:QPSK (正交相移鍵控)、8 PSK (相移鍵控)、16職(不 對稱相移鍵控)以及32 APSK。一般說來’ QPSK和8 PSK調變類型通 8 1326987 過接近飽和的非線性衛星發射機應答器傳播應用;16ApsK和32处沉 •調變類型主要面向需要半線性發射機應答器的專業應用。 此外,DVB-S2使用強大的基於bch (博斯-喬赫裏_霍克文黑姆) 外編碼與LDPC内編碼相結合的前向糾錯(F〇rward Correction,FEC)系統。結果是性能有時距香農極限僅〇. 7dB。fec 參數的選擇取決於系統要求。使用VCM(可變編碼和調變)和應(自適 應編碼和調變),以一訓框一訓框為基礎,編碼率可動態改變。 籲 接收设備包括解碼器遵循麵-兑所必須執行的複數個運算參數 已由傳輸系統說明中的運算參數清楚地列出。但是,只要 .括解碼器遵從DVB-S2標準中規定的這些運算參數,就允許實現方法具 •有較大的選職圍。通賴道的魏端軌生成已在臓⑻標準 、中清楚列出’執行這種訊号虎(在通訊通道的接㈣)的接收處理的方 法向…丨者廣泛開放。很顯然,這種接收設備的關鍵設計約束在於提 供DVB-S2訊號的適應性,同時提供很高的性能而只佔用相触小的面 ®積’並有相對較低的複雜度。 使用LDPC編碼訊號的另外一個應用領域是由1舰(電氣電子工 程師協會)規定和管理的各種通訊系統和應用領域。例如,聰編碼 • •訊號的使用在IEEEP802. 3an (10GBASE-T)任務組中非常重要。職 P802· 3an (10GBASE-T)任務組由職創建,從事銅線1〇十億位元乙 太網標準的開發和標準化’銅線1Q十億位元乙太網標準根據臟 默3 CSMA/CD乙太網協定通過雙絞線電纜實現。載波偵聽多路存取/ 衝突檢測(CSMA/CD)是乙太網網路中載波傳輸存取的協定。臓 9 1326987 802. 3an(10GBASE-T)是在4根雙絞線上運作的lOGbps乙太網的新標 準。關於IEEE P802.3an (10GBASE-T)的更多公開資訊從以下網際網.. 路地址獲得: < “http://www. ieee802. org/3/an” . 這種應用中提供的高資料率相對接近100米電纜的最壞情況下的 理論最大率。實現lOGbps操作需要接近的容量實現改錯碼。使用常規 鏈結碼可能帶來的潜在約束會阻礙它們在該應用中的使用。 LDPC編碼訊號的典型編碼和調變通過生成一包括有符號的訊號馨 來執行,每個符號具有共同的編碼率並被映射至單調變(例如,一個 單群集形狀(singular constellation shape)具有其内各群集點的 個單映射)。也就疋4,這種Lj)pc編碼調變訊號的所有符號都有相· 同的編碼率和相同的調變(相同的群集形狀,其群集點具有單映射)。 通常,這種現有技術的設計實現來最大化硬體和處理效率,用來生成 LDPC編碼訊號,其内的所有符號具有單個編碼率和單個調變。 仁疋,在某些最近的LDPC通訊系統中,LDPC編碼器的設計已經春 在尋求提供生成多重麵的LDPC編碼減的能力。錢些通訊系統 令’任何給定的LDPC區塊中的所有符號的編碼率和調變類型都是相同 的。也就找,整個區塊有與之對應的特定的編解和調變類型。不 過’編碼器可用來生成不同的LDPC區塊,使得第—ld - 2碼率和與細剛—調變類型,第二LDpe區塊具有第二編瑪率·, 和與其相關的第二調變類型。 用來解石馬這觀號的解碼器必須能触容它所接收的各種継 10 1326987 區塊類型。目前,現有技術中的聰解碼器設計需要相對較大的面 .積’並有相對較高的複雜度。因而現雜術中需要提供—種能相容這 •魏朗時又能提供較高的性能且只面積小、複雜度低的脈解碼 态0 【發明内容】 本發明要解決的技術_在於,針對上述現有技術的不足 :=(低密度奇偶校驗)編碼訊號的解及一編 所述:=的—個方面’提㈣解碼_編碼訊號的解碼器, 量度產生器,用於: =收對應聰編碼訊號第—符號的第—z、q (同相、正交)值, 攸令生成第—組複數個位元量度(bit metric); 接收對應LWC編碼訊號第二符號的第二卜_,並 二組複數個位元量度; τ生成弟 量度記憶體,用於: 存儲所述第-組複數個紅量度和所述第二 支援雙埠記憶體管心+ 里度, 雜個n “在㈣料度產生n接收所述第二缸 複數個位w度的同時如所述第-組魏她元量度;、,, 支援雙埠記憶體管理,從而在從所performance. The calculation of the month's deduction without affecting the BER natural logarithmic domain comparison _ includes calculating the sum of the exponents as follows: In(ea+eb+ec+...) Complexity calculated using the Jacobian formula UaeQbian f as shown below Sex: L clerk reduction _ count ^ (a»b) = tn (e · + e ') a max (ajb) + ln (l + eM) & species is often referred to as max wood calculation or _ Operation. It should be noted that the above calculation only gives the calculation of two variables ^ b. When calculating = lack of sum, this calculation can be repeated. For example, to calculate ΐη(Α~), you can perform the following two max* operations: - max*(ab)=ln(e* +eb)*max(atb)+]n([+eM|j= χ _ (a,b,C)=ma^e)= + W)=maxM+14+e1 Although there has been a great development in the LDPC code environment, the large amount of processing and calculation necessary to perform decoding is extremely cumbersome. The calculation index and Guan provided by the agency explained the potential complexity and the heavy calculations required when c. • the implementation of such signals. Sometimes, the handling of 'requirements is so cumbersome that the design budget m (four) unified H prohibits this _ execution. There are already some non-optimal methods to handle the heavy calculations required. For example, when the lamp base max* operation is performed, 'some decodings are completely removed from the Wei correction factor', M), and the max(a'b) result is used, which can be a single instruction in the digital signal processor (10) p). Implemented inside. However, this inevitably degrades the performance of the decoder and makes the calculations inaccurate. Most systems that seek to improve the impulses either cut corners in terms of computational accuracy, or can't reduce the complexity of the calculations to adjust their integrals. A factor that hinders the implementation of LDpc codes 疋 inherently different complexity and the amount of storage required associated with it. In Lai County, the towel is done like max^t, and it is necessary to provide a more effective solution. LDPC coded signals are being used in many new applications. One such application area is digital video broadcasting. The Digital Video Broadcasting Organization (DVB) is an industry leadership consortium that includes more than 2, 6 broadcasters, manufacturers, network operations, software development companies, management groups and other entities in more than 35 countries. A globally harmonized standard for digital transmission of digital contempt and data services. Information about DVB can be obtained from the following Internet addresses: . "http: //www.dvb.org/,, , DVB-S2 (ie DVB-Satellite Version 2) draft Standards are also available through this Internet address. The DVB_S2 draft standard can be downloaded in Adobe PDF format from the following Internet address: "http://www.dvb. 〇rg/docuraents//en302307. vl. 1.1. Draft, pdf 1326987 Therefore the full content of the 'DVB-S2 draft standard, namely, draft ETSi EN 302 307 VI.1.1 (2004-06), digital video broadcasting (DVB); second-generation training frame structure, broadcast communication. Channel coding and modulation systems, interactive services, message collection and other broadband satellite applications" (Draft ETSI ΕΝ 302 307 VI. 1.1 (2004-06), Digital Video Broadcasting (DVB); Second generation framing structure, channel Coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satel 1 ite applicat〇ns) 'herein reference is made in its entirety and constitutes a part of the present disclosure. Lu also, standard "ETSI EN 302 307 VI. 1.1 (2005 -03), Digital Video Broadcasting (DVB); second-generation training frame structure 'broadcast channel coding and modulation system, interactive services, message collection and other broadband satellite applications, at 2()() 5 years It was officially approved in March (European Electric and Letter Standards Association). The entire text of this application is hereby incorporated by reference in its entirety in its entirety in its entirety in its entirety herein in its entirety in its entirety Information on the signals used in systems that comply with DVB-S2 is described in detail in this DVB-compliant standard. The _ along the standard mainly focuses on the description of the transmission system and its sub-systems, including mode adaptation, flow adaptation, FEC, coding (including extra-brain coding and intra-hop coding), and mapping to the cluster (c〇). Nstellati〇n), physical layer training and baseband shaping and quadrature modulation. DVB-S2 is an advanced, version of DVB-S (the first standard proposed by digital video broadcasting organizations). DVB-S2 attempts to provide higher efficiency than brain_s. Negotiation 昼 Execution*, the same modulation: QPSK (Quadrature Phase Shift Keying), 8 PSK (Phase Shift Keying), 16th Position (Asymmetric Phase Shift Keying), and 32 APSK. In general, the QPSK and 8 PSK modulation types are used in the near-saturated nonlinear satellite transponder propagation applications; the 16ApsK and 32 sinking modulation types are primarily intended for professional applications requiring translinear transponders. In addition, DVB-S2 uses a powerful forward error correction (FEC) system based on bch (Boss-Johri-Hochwinheim) outer coding combined with LDPC intra-coding. The result is that performance is sometimes only 7 dB from the Shannon limit. The choice of the fec parameter depends on the system requirements. Using VCM (Variable Coding and Modulation) and Response (Adaptation Coding and Modulation), the coding rate can be dynamically changed based on a training frame. The call to the receiving device, including the plurality of arithmetic parameters that the decoder must follow to perform the face-and-forward operation, is clearly listed by the operational parameters in the transport system description. However, as long as the decoder complies with these operational parameters specified in the DVB-S2 standard, the implementation method is allowed to have a larger selection of posts. The Wei-Taiwan's Wei-Terminal Orbital Generation has been widely published in the 臓(8) standard, and the method of receiving such a signal tiger (in the communication channel (4)) is widely open to the public. Obviously, the key design constraint for this type of receiving device is to provide the adaptability of the DVB-S2 signal while providing high performance while occupying only a small area of the product and having a relatively low complexity. Another application area for using LDPC coded signals is the various communication systems and applications that are regulated and managed by the 1st (Electronic and Electronic Engineers Association). For example, Cong coding • The use of signals is very important in the IEEE P802. 3an (10GBASE-T) task group. The post of the P802·3an (10GBASE-T) task force was created and engaged in the development and standardization of the copper wire 1 billion bit Ethernet standard. The copper wire 1Q billion bit Ethernet standard according to the dirty 3 CSMA / The CD Ethernet protocol is implemented by a twisted pair cable. Carrier Sense Multiple Access/Collision Detection (CSMA/CD) is a protocol for carrier transmission access in an Ethernet network.臓 9 1326987 802. 3an (10GBASE-T) is the new standard for lOGbps Ethernet operating on 4 twisted pairs. More public information about IEEE P802.3an (10GBASE-T) is available from the following Internet: Road Address: < "http://www.ieee802.org/3/an". High in this application The data rate is relatively close to the worst case theoretical maximum rate of a 100 meter cable. Achieving lOGbps operation requires close capacity to implement error correction code. The potential constraints associated with using regular link codes can hinder their use in the application. Typical coding and modulation of LDPC coded signals is performed by generating a signed signal, each symbol having a common coding rate and being mapped to a monotonic change (e.g., a single singular constellation shape having therein) Single mapping of each cluster point). In other words, all symbols of this Lj)pc coded modulation signal have the same code rate and the same modulation (the same cluster shape, the cluster point has a single mapping). Typically, this prior art design is implemented to maximize hardware and processing efficiency for generating LDPC coded signals with all symbols within a single code rate and a single modulation. Ren Biao, in some recent LDPC communication systems, the design of LDPC encoders has been seeking to provide the ability to generate multiple-sided LDPC code reduction. The communication system makes the coding rate and modulation type of all symbols in any given LDPC block the same. In other words, the entire block has a specific type of programming and modulation. However, the 'encoder can be used to generate different LDPC blocks, such that the first ld - 2 code rate and the fine - modulating type, the second LD pe block has the second gamma rate ·, and the second tune associated with it Variable type. The decoder used to solve the stone horse must be able to touch the various types of 1 10 1326987 blocks it receives. At present, the prior art Cong decoder design requires a relatively large surface area and has a relatively high complexity. Therefore, in the current miscellaneous surgery, it is necessary to provide a pulse decoding state that can provide high performance and only has small area and low complexity. [Invention] The technology to be solved by the present invention lies in The above-mentioned deficiencies of the prior art: = (low-density parity check) coded signal solution and a coded description: = - aspects of the (four) decoding _ coded signal decoder, metric generator, for: = corresponding The first-z, q (in-phase, quadrature) value of the symbol-symbol of the S-coded signal, the first-order multi-bit metric is generated, and the second _ corresponding to the second symbol of the LWC-encoded signal is received. And two sets of a plurality of bit metrics; τ generating a metric memory for: storing the first set of plural red metrics and the second supporting 埠 memory core + radiance, a plurality of n (4) The yield generation n receives the plurality of bits w degrees of the second cylinder, and as described in the first-group Wei-yuan metric; and, supports the management of the double-click memory, thereby

個位元量度的同時輪出所述第二組複數個位元量度弟二組複數 複數個位元/校H 1326987 曰連續地接收所述第-組複數個位元量度、所述第二組複數個位元 量度和所述第三組複數個位元量度; · 執行位元節點處理,包括更新與複數個位元節點_的複數個邊· 消息,和校驗節點處理,包括更新與複數個校驗節點相關的複數個邊 消息; 消息傳送記憶體,用於:Simultaneously, the second group of plural bits is rotated by the second plurality of bits, and the second plurality of bits/school H 1326987 are continuously received. The first group of plurality of bit metrics, the second group are continuously received. a plurality of bit metrics and the third plurality of bit metrics; • performing bit node processing, including updating a plurality of edge messages of the plurality of bit nodes _, and verifying node processing, including updating and plural a plurality of side messages associated with the check node; message transfer memory for:

在所述複數個位元/&驗處理如經過位元節點處理後,存儲所述 與複數個位元節點相關的複數個邊消息; I 在所述複數個位元/校驗處理器内經過校驗節點處理後,存儲所述 與複數個校驗節點相關的複數個邊消息; 桶形移位器,用於: 對從所述消息傳送記憶體中讀出的所述與複數個位元節點相關的 複數個邊消息進行移位元; 將所述移位後的與複數個位元節點相關的複數個邊消息提供給所 述複數個位元/校驗處理器進行隨後的校驗節點處理; 着 對從所述消息傳送記憶體中讀出的所述與複數個校驗節點相關的 複數個邊消息進行移位元; 將所述移位後的與複數個校驗節點相關的複數個邊消息提供給所 述複數個位元/校驗處理器進行隨後的位元節點處理。 ’ 優選地’所述解碼器進一步包括: ’ 輸出處理器,用於從對應最近更新的與所述複數個位元節點相關 的複數個邊消息的所述複數個位元/校驗處理器中接收軟輸出,並隨後 12 丄326987 作出硬判決,從而生成所述LDPC編碼訊號第一符號和第二符號中的至 少一個的位元最佳估計值。 優選地,所述解碼器進一步包括: 校正子計算功能塊,用於從與最近更新的與所述複數個位元節點 相關的複數個邊消息相對應的所述複數個位元/校驗處理器中接收軟 輪出,並確定用於生成LDPC編碼訊號的LDPC碼的複數個校正子中的 每一個是否等於零。 優選地, 所述里度§己憶體、所述複數個位元/校驗處理器以及所述消息傳送 °己fe體形成包含有複數個巨集塊的第一個巨集塊; 、 所述複數個巨集塊中的每一個巨集塊還包括有對應的量度記憶 體、對應的複數個位元/校驗處理器以及對應的消息傳送記憶體^ 所述桶形移位器與所述複數個巨集塊令的每一個巨集塊内的每一 個對應的消息傳送記憶體通訊連接。 優^地所述里度》己隐體為兵兵式存儲結構,包括兩個分開的量 度記憶體。 優選地’所述量度記憶體是虛擬雙埠量度記憶體。 優選地, 所述與複數個位元節點相關的複數個邊消息以符號數值格式存儲 在所述消息傳送記憶體中; 所述與複數個校驗節·__複數姉肖息以2 _數格式存儲 在所述消息傳送記憶體中。 13 1326987 優選地, 所述與複數個位元節點相關的複數個邊消息包括對應資訊位元的 第-組複數個邊消息和對應奇偶校驗位的第二組複數個邊消息; 所述對應資訊位元的第-組細固邊消息和所述對應奇偶校驗位 的第二組複數個邊消息均存儲在所述消息傳送記憶體中。 優選地,所述校驗節點處理包括mi_ (min_dQUble_star)處理 和 min**- (min-double-star-minus)處理。 優選地’所述校驗節點處理包括minit (min_d〇uMe_dagger)處 理和 mint, (min-dagger-minus)處理。 優選地, 所述LDPC編碼訊號是可變編碼率訊號; 所述LDPC編碼訊號的第一符號具有第一編碼率; 所述LDPC編碼訊號的第二符號具有第二編碼率。 優選地, 所述LDPC編碼訊號是可變調變訊號; 所述LDPC編碼訊號的第一符號具有第一調變,包括有第一群集形 狀(constellation shape)和對應的第—映射(mapping); 所述LDPC編碼訊號的第二符號具有第二調變,包括有第二群集形 狀和對應的第二映射。 優選地,所述解碼器解碼LDPC編碼訊號,所述LDPC編碼訊號遵 從 DVB-S2 (Digital Video Broadcasting project_SatelliteVersi〇n 2)標準和IEEE P8〇2.3an (10GBASE-T)任務組提供的推薦規程中的 14 !326987 至少一個。 *.根據本發明的一個方面,提出-種解碼LDPC、編碼訊號的解碼器, •所述解碼器包括: 複數個位元/校驗處理器,用於: 接收複數個位元量度; 、執行侃節點纽’包括更频魏條元__的複數個邊 消息’和权驗即點4理’包括更新與複數個校驗節點相關的複數個邊 籲消息; 消息傳送記憶體,用於: .、在所述複數個位以校驗處理H内經過位元節點處理後,存儲所述 與複數個位元節點相關的複數個邊消息; 顧述魏純元/紐處_峨龇驗節减理後,存儲所述 與複數個校驗節點相關的複數個邊消息; 桶形移位器,用於: _對從所述消息傳送記憶體中讀出的所述與複數個侃節點相關的 複數個邊消息進行移位元; 將所述移位後的與複數條元_相_複數個邊縣提供給所 .述複數個位元/校驗處理H進行隨後的校驗節點處理; 、對從所述消息傳送記憶體中讀出的所述與複數個校驗節點相關的 複數個邊消息進行移位元; 將所述移位後的與複數個校驗節點相_複數個邊縣提供給所 述複數個位元/校驗處理騎行隨後的位元節點處理。 優選地,所述解碼器進―步包括: 里度產生器,接收對應LDPC編碼訊號的複數個符號And storing, after processing by the bit node, the plurality of side messages associated with the plurality of bit nodes; I in the plurality of bit/check processors After processing by the check node, storing the plurality of side messages associated with the plurality of check nodes; a barrel shifter for: reading the plurality of bits read from the message transfer memory a plurality of side messages associated with the meta-node are used to perform shifting; and the shifted plurality of side messages associated with the plurality of bit nodes are provided to the plurality of bit/check processors for subsequent verification Node processing; performing shifting elements on the plurality of side messages associated with the plurality of check nodes read from the message transfer memory; and correlating the shifted check nodes with the plurality of check nodes A plurality of side messages are provided to the plurality of bit/check processors for subsequent bit node processing. 'Preferably' said decoder further comprising: 'an output processor for use in said plurality of bit/check processors corresponding to a plurality of recently updated plurality of side messages associated with said plurality of bit nodes A soft output is received, and then a hard decision is made 12 丄 326 987 to generate a bit best estimate of at least one of the first symbol and the second symbol of the LDPC encoded signal. Advantageously, said decoder further comprises: a syndrome calculation function block for said plurality of bits/check processing corresponding to a plurality of side messages associated with said most recently associated plurality of bit nodes A soft round is received in the device, and it is determined whether each of the plurality of syndromes of the LDPC code used to generate the LDPC coded signal is equal to zero. Preferably, the ration memory, the plurality of bit/check processors, and the message transmission form a first macroblock including a plurality of macroblocks; Each of the plurality of macroblocks further includes a corresponding metric memory, a corresponding plurality of bit/check processors, and a corresponding message transfer memory. Each of the corresponding message transfer memory communication connections in each of the macro blocks of the plurality of macroblocks is described. The above-mentioned hidden system is a soldier-type storage structure, including two separate measurement memories. Preferably said said metric memory is a virtual double 埠 metric memory. Preferably, the plurality of side messages associated with the plurality of bit nodes are stored in the message transfer memory in a symbol value format; and the plurality of check nodes __ complex 姊 以 以 2 2 The format is stored in the messaging memory. 13 1326987 Preferably, the plurality of side messages associated with the plurality of bit nodes comprise a first plurality of side messages corresponding to the information bits and a second plurality of side messages corresponding to the parity bits; A first set of fine-edge messages of the information bits and a second set of multiple side messages of the corresponding parity bits are stored in the message transfer memory. Preferably, the check node processing includes mi_ (min_dQUble_star) processing and min**- (min-double-star-minus) processing. Preferably, the check node processing includes a minit (min_d〇uMe_dagger) process and a mint, (min-dagger-minus) process. Preferably, the LDPC coded signal is a variable code rate signal; the first symbol of the LDPC coded signal has a first code rate; and the second symbol of the LDPC coded signal has a second code rate. Preferably, the LDPC coded signal is a variable modulation signal; the first symbol of the LDPC coded signal has a first modulation, including a first cluster shape and a corresponding first mapping; The second symbol of the LDPC encoded signal has a second modulation comprising a second cluster shape and a corresponding second mapping. Preferably, the decoder decodes the LDPC coded signal, and the LDPC coded signal complies with the DVB-S2 (Digital Video Broadcasting project_SatelliteVersi〇n 2) standard and the recommended procedure provided by the IEEE P8〇2.3an (10GBASE-T) task group. 14 !326987 At least one. *. According to an aspect of the invention, a decoder for decoding an LDPC, an encoded signal is provided, the decoder comprising: a plurality of bit/check processors for: receiving a plurality of bit metrics;侃Node New' includes a plurality of side messages 'and a checksum point 4' of the more frequent semaphore __ including updating a plurality of edge call messages associated with the plurality of check nodes; message transfer memory for: After the plurality of bits are processed by the bit node in the verification process H, storing the plurality of side messages related to the plurality of bit nodes; Gu said Wei Chunyuan/News _ 峨龇 节 减 减And storing the plurality of side messages associated with the plurality of check nodes; the barrel shifter is configured to: _ read the complex number associated with the plurality of 侃 nodes read from the message transfer memory The side message is subjected to a shifting element; the shifted and complex stripe_phase_plural number of side counties are supplied to the plurality of bit/check processing H for subsequent check node processing; The plurality of reads from the message transfer memory Performing a plurality of edge messages related to the node to perform a shifting element; providing the shifted plurality of check nodes with the plurality of check nodes to the plurality of bit cells/checking the subsequent bit nodes of the riding deal with. Preferably, the decoder further comprises: a ridge generator, receiving a plurality of symbols corresponding to the LDPC coded signal

相、下丄、 1 w U°J 父)值’並從中生成複數個位元量度。 優選地’所述解碼器進-步包括: 、輪出處理器,用於從對應最近更新的與所述複數個位元節點相關 的複數個邊縣的所述複數個位元/校驗處理S巾接錄細,並隨後 作出硬判決,從而生柄述LDPG編碼減第—符號和第二符號中的至 J —個的位元最佳估計值。Phase, 丄, 1 w U°J parent) value' and generate a plurality of bit metrics therefrom. Preferably, the decoder further comprises: a round-out processor for processing the plurality of bits/check processing from a plurality of edge counts corresponding to the most recently updated plurality of bit nodes The S towel is fine-grained, and then a hard decision is made to describe the LDPG code minus the best estimate of the bit-to-J and the second symbol in the second symbol.

優選地’所述解碼器進一步包括: 杈正子計算功能塊,用於從與最近更新的與所述複數個位元節點 相關的複數個邊消息相對應的所述複數個位元/校驗處理器中接收軟 輪出,並確定用於生成LDPC編碼訊號的⑶^碼的複數個校正子中的 每一個是否等於零。 優選地,所述解碼器進一步包括一個量度記憶體,存儲所述複數 個位元量度並隨後輸出所述複數個位元量度給所述所述複數個位元/ 权驗處理益’其中: 所述量度記憶體、所述複數個位元/校驗處理器以及所述消息傳送 記憶體形成包含有複數個巨集塊的第一個巨集塊; 所述複數個巨集塊中的每一個巨集塊還包括有對應的量度記憶 體、對應的複數個位元/权驗處理器以及對應的消息傳送記憶體; 所述桶形移位器與所述複數個巨集塊令的每一個巨集塊内的每一 個對應的消息傳送記憶體通訊連接。 16 1326987 優選地,戶斤述量度記憶體為兵兵式存儲結構,包括兩個 ,度記憶體。 $ • 優選地,所述量度記憶體是虛擬雙埠量度記憶體。 優選地, 所述與複數個位元節點相關的複數個邊消息以符號數值袼式存儲 在所述消息傳送記憶體中; 所述與複數個权驗節點相關的複數個邊消息以2的補數格式存儲 φ在所述消息傳送記憶體中。 優選地, 所述與複數個位元節點相關的複數個邊消息包括對應資訊位元的 弟一組複數個邊消息和對應奇偶校驗位的第二組複數個邊消息; - 所述對應資訊位元的第一組複數個邊消息和所述對應奇偶校驗位 的第二組複數個邊消息均存儲在所述消息傳送記憶體中。 優選地’所述校驗卽點處理包括min** (min-double_star)處理 φ 和 min**- (min-double-star-minus)處理。 優選地,所述权驗卽點處理包括mintt (inin_double_dagger)處 理和 mint· (min-dagger-minus)處理。 優選地, . 所述LDPC編碼訊號是可變編碼率訊號; 所述LDPC編碼訊號的第一符號具有第一編碼率; 所述LDPC編碼訊號的第二符號具有第二編碼率。 優選地, 17 1326987 所述LDPC編碼訊號是可變調變訊號; 所述LDPC編碼訊號的第一符號具有第一調變,包括有第一群集形 狀(constellation shape)和對應的第一映射(m—ing); · 所述LDPC編竭訊號的第二符號具有第二調變,包括有第二群集形 狀和對應的第二映射。 優選地,所述解碼g解碼咖編碼訊號,所述脈編碼訊號遵 ^DVB-S2 (Digital Video Broadcasting Project-Satellite Version 2)標準和_ P802. 3an⑽B勝T)任務組提供的推薦規程中的 至少一個。 、、根據本發明的-個方面,提出一種解碼咖編碼訊號的方法,所 述方法包括: 的第一 I、Q (同相、正交)值, 的第二I、Q值’並從中生成第 接收對應LDPC編碼訊號第一符號 並從中生成第一組複數個位元量度;Preferably the decoder further comprises: a positive sub-computation function block for the plurality of bits/check processing corresponding to a plurality of side messages associated with the most recently updated plurality of bit nodes A soft round is received in the device, and it is determined whether each of the plurality of syndromes of the (3) code used to generate the LDPC coded signal is equal to zero. Advantageously, said decoder further comprises a metric memory, said plurality of metrics being stored and subsequently outputting said plurality of metrics to said plurality of bits/authentication processing The metric memory, the plurality of bit/check processors, and the message transfer memory form a first macroblock including a plurality of macroblocks; each of the plurality of macroblocks The macroblock further includes a corresponding metric memory, a corresponding plurality of bit/voucher processors, and corresponding message transfer memory; each of the barrel shifter and the plurality of macroblock commands Each corresponding messaging memory communication connection within the macroblock. 16 1326987 Preferably, the metric memory is a soldier-type storage structure, including two metric memory. $ • Preferably, the metric memory is a virtual double 埠 metric memory. Preferably, the plurality of side messages associated with the plurality of bit nodes are stored in the message transfer memory in a symbol value manner; the plurality of side messages associated with the plurality of the right node are supplemented by 2 The number format stores φ in the message transfer memory. Preferably, the plurality of side messages associated with the plurality of bit nodes include a plurality of side messages corresponding to the information bits and a second plurality of side messages corresponding to the parity bits; - the corresponding information A first plurality of side messages of the bit and a second plurality of side messages of the corresponding parity are stored in the message transfer memory. Preferably, the checkpoint processing includes min** (min-double_star) processing φ and min**- (min-double-star-minus) processing. Preferably, the checkpoint processing includes mintt (inin_double_dagger) processing and mint. (min-dagger-minus) processing. Preferably, the LDPC coded signal is a variable code rate signal; the first symbol of the LDPC coded signal has a first code rate; and the second symbol of the LDPC coded signal has a second code rate. Preferably, the LDPC coded signal is a variable modulation signal; the first symbol of the LDPC coded signal has a first modulation, including a first cluster shape and a corresponding first map (m- The second symbol of the LDPC-compiled signal has a second modulation, including a second cluster shape and a corresponding second mapping. Preferably, the decoding g decodes the coffee coded signal, and the pulse coded signal complies with at least one of the recommended procedures provided by the DVB-S2 (Digital Video Broadcasting Project-Satellite Version 2) standard and the _P802. 3an (10) B wins T) task group. One. According to an aspect of the present invention, a method for decoding a coffee coded signal is provided, the method comprising: a first I, Q (in-phase, quadrature) value, a second I, Q value and generating a first Receiving a first symbol corresponding to the LDPC coded signal and generating a first plurality of bit metrics therefrom;

接收對應LDPC編碼訊號第二符號 二組複數個位元量度; ^所述[組複數他元量度和職第二組複數個位元量度; ^雙埠繼妓,树魏卿:嫩佩元量度的 時輪出所述第一組複數個位元量度; - 輸心Γ纖細,崎触㈣·谢的同時·. 所迷第二組複數個位元量度; 連續地接收所述第一組複數個位 元里度、所述第二組複數個位元 i度和所述第三组複數個位元量度; •.消I執仃包括位元節點處理’更新與複數個位元節__複數個邊 消I和权驗節點處理,包括更新與複數個校驗節點相關的複數個邊 、、’乂過位TL節,喊理後,存麟述與複數她元節點糊的複數個 邊消息; 經過校驗節點處理後,存健所述與複數個校驗節點相關的複數個 1邊消息; 將所述與複數個位元節點相關的複數個韻息移位元至合適的配 置以進行隨後的校驗節點處理; 將所述與複數個校驗節點相關的複數個邊消息移位元至合適的配 置以進行隨後的位元節點處理。 優選地,所述方法進一步包括: 接收對應隶近更新的與所述複數個位元節點相關的複數個邊消息 的敕輪A,並隨後作出硬判決’從而生成所述LDpc編石馬訊號第一符號 和第二符號中的至少一個的位元最佳估計值。 優選地,所述方法進一步包括: - 接收對應最近更新的與所述複數個位元節點相關的複數個邊消息 -的軟輸出; 〜 確疋用於生成LDPC編碼訊號的LDPC碼的複數個校正子中的每一 個是否等於零。 優選地, 19 ^326987 所述與複數個位元節點相關的複數個邊消息以符號數值格式存 儲; 所述與複數個紐節點相關的複數個邊消息以2的補數格式存 儲。 優選地, 所述與複數做元節__魏個邊消息包括制資訊位元的 第-組複數個邊消息和對料偶校驗位的第二組複脑邊縣:所述 方法進一步包括: 將所述對應t雜元的第-邊肖息和職奇偶校驗位的 第二組複數個邊消息中的每-個均存儲在—個存儲設備中。 優選地,所述校驗節點處理包括min林(.遍卜伽)處理 和 min**- (min-double-star-minus)處理。 優選地,所述校驗節點處理包括mintt (min_dQuble_daggei〇 & 理和 mint- (min-dagger-minus)處理。 優選地, _ 所述LDPC編碼訊號是可變編碼率訊號; 所述LDPC編碼訊號的第一符號具有第一編碼率; 所述LDPC編碼訊號的第二符號具有第二編碼率。 優選地, 所述LDPC編碼訊號是可變調變訊號; 所述LDPC編瑪訊號的第一符號具有第—調變,包括有第一群集形 狀(constellation shape)和對應的第一映射(mapping); 20 丄 所述LDPG編碼舞u的第二符號具有第二嫌,包括有第二群集形 狀和對應的第二映射。 、 優選地’所述解瑪轉碼LDpc編瑪訊號,所賴pc編瑪訊號遵 ^DVB-S2 (Digital Video Broadcasting Project-Satellite Version 2) h準和IEEE P8〇2.3an (10GBASE-T)任務組提供的推薦規程中的 至少一個。 【實施方式】 本發明提ilS -概彳·^ LDPG編觀轉^贼備。在某些情況下, 本發明提出的解碼方法和魏性可解碼和處王里已生成的遵從卿—從 (即酬-S_nte Version 2)標準的訊號。另外,本發明提出的 解碼方法和捕性射解碼和處理已成生㈣從由聰·為 U0GBASE-T)任務組提供的草案標準和推薦規程的訊號。 總的來說,本發明提出的解碼方法和功能性可應用於各種執行 LDPC編碼訊號和/或其他類別的編碼訊號的處理的設備卜有時,這 些設備既可以執行聰編碼碱的發送_ (包括編碼》也可以^ ^LDPC編碼訊號的接收處理(包括解碼)。在其他情況下,這些設備 只能執行LDPC編碼訊號的接收處理(包括解碼)。 又 .本發明的解碼方法能適用於具有可變調變和/或可變編碼率的 •赋訊號的解碼。例如’跡阳票準明確地描述了通過產生各種符合 DVB-S2標準的LDPC訊號來實現VQf (可變編竭和調㈤和廳(自適 應編碼和調變)的方法。通常,這種遵從則,的訊號的編碼率和調 變的改變在逐訓框的基礎上進行。本發明提出的解竭方法和功能性能 ==碼率和/或調變基於逐訓框頻繁變化的訊號。此外,本發 逐個區塊頻繁2和杨_能夠處理和解碼編辦和/或調變基於 個符號m的訊號。例如,—個區塊可被看作是—訓框内的-' “些情況下,一訓框包括複數個區塊。 用單提出的解碼方法和功能性還適用於其内所有符號採 的二或單一調變的_訊號的解碼。例如’對於其所有 說,本編碼率和共同的調變(群集和映射)的·訊號來 方法都介紹的(並在以下給蚊詳細的描述)的各種聰解碼 可用來解碼這種LDPC編碼訊號。 =和圖2分別是根據本發明不同實施例的通訊系統的⑽和测 巧不思圖。 如圖1所不,通訊系統⑽包括一個通訊通道⑽,將位於通訊 一端的通訊設細(包括帶有編碼器114的發送謂和 作解碼器m的接收器116)與位於通訊通道⑽另一端的另一個 2设備120(包括帶有編碼器128的發送請和帶有解碼謂 接收器122)通訊連接。在某些實施例中,通訊設備ιι〇和⑽均 y堇包括-個發达n或—個接收器。通訊通道⑽可通過幾種不同類 里的媒介來實現(例如,利用圓盤式衛星電視天線132和⑼的衛星 通訊通謂’糊塔職144和/或本地天線152和】54狀線通· 訊通道⑽’有線通訊通道⑽’和/或利用電―光(⑽介面獅, 先-電(Ο/E)介面164的光纖通訊通道⑽)。另外,可以通過一種以 上的媒介連接在一起從而形成通訊通道199。 22 ,如圖2所示的通訊系統200中,在通訊通道299的發送端,資訊 :位^οι提供給發送器297,發送器297可使用一個編碼器和符號映 射盗20G (可分別視為是不同的功能塊222和224)執行對這些資訊位 疋201的編碼’從而生成一個離散值調變符號序列2〇3,然後提供給 發送驅動器230 ’發送驅動器230使用DAC (數位類比轉換器)232生 成個連績a夺間發送訊號2〇4,然後通過發送遽波器234,生成充分適 合通訊通道299的渡波後連續時間發送訊號2G5。在通訊通道299的 I接收如連續時間接收訊號206被提供給肌(類比前端)26〇,舰細 包括接收渡波器262 (生成滤波後連續時間接收訊號2〇7)和ADC (類 比數位轉換器)264 (生成離散時間接收訊號208)。量度產生器270 計算符號量度209 ’解碼ϋ 280使用符號量度209對離散值調變符號 和編碼在其内的資訊位元做出最佳估算21〇。 前述實施例中的解碼器具有本發明的各種特徵。另外,以下的一 些附圖和相關的描述將介紹支援本發明的設備、系統、功能性和/或方 |法的其他和特定實施例(某些實施例的介紹更加詳細)。根據本發明處 理的種特疋類型的訊號是LDPC編碼訊號。在給出更詳細的介紹之 前’先對LDPC碼進行概要描述。 . 圖3是LDPC碼二分圖300的示意圖。現有技術中,LDpc二分圖 .也被稱為Tanner圖。LDPC碼被看作是具有二進位奇偶校驗矩陣從而 使矩陣的幾乎所有元素㈣零值(例如,該二驗奇偶校驗矩陣稀疏) 的代碼。例如,H=(hu)㈣被看作是區塊長度為N的LDpc碼的奇偶校 驗矩陣。 23 1326987 奇偶校驗矩陣的第i列中1的數量表示為dv(i),奇偶校驗矩陣的 第j行中的1的數量表示為dc(j)。如果對所有的i,dv(i)=丄,對所· 有的j ’ dc( j)= de ’那麼這種LDPC碼被稱為規則LDPC碼,否則被稱\ 為不規則LDPC碼。 關於LDPC碼的介紹請參考以下兩份引用檔: [1] R. Gallager » Low-Dentisy Parity-Check Codes >Receiving a second plurality of bit metrics corresponding to the second symbol of the LDPC coded signal; ^ said [the group of plural metrics and the second group of plural metrics; ^ Shuang Yiji, Shu Weiqing: Nian Peiyuan Measure The time is rounded out of the first set of multiple bit metrics; - the heart is thin, the bottom touches (four) · Xie while the second set of multiple bit metrics; continuously receives the first set of plural a bitwise degree, the second set of a plurality of bit i degrees, and the third set of a plurality of bit metrics; • The I stub includes a bit node processing 'update and a plurality of bit sections __ A plurality of edge elimination I and weight check node processing, including updating a plurality of edges associated with a plurality of check nodes, and a '乂over bit TL section, after shouting, storing a plurality of edges of the meta-node and the complex number of her meta-nodes a message; after processing by the check node, storing the plurality of 1-edge messages associated with the plurality of check nodes; shifting the plurality of rhymes associated with the plurality of bit nodes to a suitable configuration Performing subsequent check node processing; the plurality of edges associated with the plurality of check nodes Shift information element to the appropriate configuration for subsequent bit node processing. Preferably, the method further comprises: receiving a wheel A of the plurality of side messages associated with the plurality of bit nodes corresponding to the updated update, and then making a hard decision 'to generate the LDpc stone horse signal number A bit-best estimate of at least one of a symbol and a second symbol. Advantageously, the method further comprises: - receiving a soft output corresponding to the most recently updated plurality of side messages associated with said plurality of bit nodes; - determining a plurality of corrections of the LDPC code used to generate the LDPC coded signal Whether each of the children is equal to zero. Preferably, the plurality of side messages associated with the plurality of bit nodes are stored in a symbol value format as described in 19^326987; the plurality of side messages associated with the plurality of button nodes are stored in a 2's complement format. Preferably, the complex and the meta-section __wei side message includes a first group of multiple side messages of the information bits and a second group of complex brain side counts: the method further includes And storing, in each storage device, each of the second plurality of side messages of the first side and the parity of the corresponding t-segment. Preferably, the check node processing includes min forest (. ubiquitous) processing and min**- (min-double-star-minus) processing. Preferably, the check node processing includes mintt (min_dQuble_daggei〇& and mint-(min-dagger-minus) processing. Preferably, the LDPC coded signal is a variable code rate signal; the LDPC coded signal The first symbol has a first coding rate; the second symbol of the LDPC coded signal has a second coding rate. Preferably, the LDPC coded signal is a variable modulation signal; the first symbol of the LDPC coded signal has The first-modulation includes a first cluster shape and a corresponding first mapping; 20 丄 the second symbol of the LDPG encoding dance u has a second symmetry, including a second cluster shape and corresponding The second mapping. Preferably, the 'the gamma transcode LDpc coder signal, the DM-coded DVB-S2 (Digital Video Broadcasting Project-Satellite Version 2) h and IEEE P8 〇 2.3an ( At least one of the recommended procedures provided by the 10GBASE-T) task group. [Embodiment] The present invention provides a decoding method and a method for the LDPG. Sex decodable and Wang Li has generated a compliance signal from the standard (ie, pay-S_nte Version 2). In addition, the decoding method and the capture decoding and processing proposed by the present invention have been born (four) from the task of Cong·U0GBASE-T) The signals provided by the group for draft standards and recommended procedures. In general, the decoding method and functionality proposed by the present invention can be applied to various devices that perform processing of LDPC coded signals and/or other types of coded signals. Sometimes, these devices can perform the transmission of the Cong code base _ ( The encoding method can also be used to receive processing (including decoding) of the LDPC encoded signal. In other cases, these devices can only perform the receiving processing (including decoding) of the LDPC encoded signal. Moreover, the decoding method of the present invention can be applied to have Modulation of variable modulation and/or variable coding rate • Signaling. For example, 'Wangyang ticketing explicitly describes VQf (variable editing and tuning (5) and by generating various LDPC signals conforming to DVB-S2 standard) Hall (adaptive coding and modulation) method. Generally, the coding rate and modulation of the signal are performed on a training-by-train basis. The decommissioning method and functional performance proposed by the present invention == The code rate and/or modulation is based on a frequently changing signal of the training frame. In addition, the present transmission block 2 and Yang_ can process and decode the signals based on the symbols m. For example, - A block can be considered as - in the training box - 'In some cases, a training box includes a plurality of blocks. The decoding method and functionality proposed by a single method also apply to all the symbols in the second or Decoding of a single modulated _ signal. For example, 'for all of them, the encoding rate and the common modulation (cluster and mapping) of the signal are all described (and in the following description of the mosquitoes) Decoding can be used to decode such LDPC coded signals. = and Figure 2 are respectively a (10) and a measurement of the communication system according to various embodiments of the present invention. As shown in Figure 1, the communication system (10) includes a communication channel (10) that will The communication at one end of the communication is fine (including the transmitter with the encoder 114 and the receiver 116 as the decoder m) and the other 2 device 120 at the other end of the communication channel (10) (including the transmission with the encoder 128) Please communicate with the decoder with the decoder 122. In some embodiments, the communication devices ιι and (10) both include - a developed n or - receivers. The communication channel (10) can pass several different classes The medium in which to implement (for example, The satellite communication of the satellite dish 132 and (9) is referred to as 'the paste tower 144 and/or the local antenna 152 and 】 54 line line channel (10) 'wired communication channel (10)' and / or use electricity - light ((10) Interface lion, first-electric (Ο/E) interface 164 optical fiber communication channel (10). In addition, more than one medium can be connected together to form communication channel 199. 22, in the communication system 200 shown in FIG. At the transmitting end of communication channel 299, the information: bit is provided to transmitter 297, which can perform this information using an encoder and symbol mapping pirate 20G (which can be considered as different functional blocks 222 and 224, respectively). The code of bit 201 is thus generated to generate a discrete value modulation symbol sequence 2〇3, which is then supplied to the transmit driver 230. The transmit driver 230 uses the DAC (digital analog converter) 232 to generate a succession signal. Then, by transmitting the chopper 234, a wave 2G5 is transmitted after the wave is sufficiently adapted to the communication channel 299. The I reception at communication channel 299, such as continuous time reception signal 206, is provided to the muscle (analog front end) 26〇, and the ship fine includes receive wave 262 (generating filtered continuous time reception signal 2〇7) and ADC (analog digital converter) ) 264 (Generate Discrete Time Receive Signal 208). The metric generator 270 calculates the symbol metric 209 'decode ϋ 280 using the symbol metric 209 to make a best estimate of the discrete value modulation symbol and the information bits encoded therein. The decoder in the foregoing embodiments has various features of the present invention. In addition, some of the following figures and associated descriptions will introduce other and specific embodiments that support the devices, systems, functionality, and/or methods of the present invention (the description of some embodiments is more detailed). The type of signal processed in accordance with the present invention is an LDPC coded signal. The LDPC code is briefly described before giving a more detailed introduction. FIG. 3 is a schematic diagram of an LDPC code bipartite graph 300. In the prior art, the LDpc bipartite graph is also known as the Tanner graph. The LDPC code is treated as a code having a binary parity check matrix such that almost all elements of the matrix (4) have zero values (e.g., the parity check matrix is sparse). For example, H = (hu) (four) is regarded as the parity check matrix of the LDpc code whose block length is N. 23 1326987 The number of 1s in the i-th column of the parity check matrix is represented as dv(i), and the number of 1's in the j-th row of the parity check matrix is represented as dc(j). If for all i, dv(i) = 丄, the LDPC code for which there is j ′ dc( j) = de ′ is called a regular LDPC code, otherwise it is called an irregular LDPC code. For an introduction to LDPC codes, please refer to the following two references: [1] R. Gallager » Low-Dentisy Parity-Check Codes >

Cambridge , MA:MIT Press , 1963 [2] M. Luby,M. Mitzenmacher,A. Shokrollahi,D. Spielman,· and V. Stemann, “Practical loss-resilient codes” , 1997 規則LDPC碼可表示為二分圖3〇0,其奇偶校驗矩陣的左側節點為 代碼位元變數(或為解碼LDPC編碼訊號的位元解碼方法中的“變數節 點’(或“位元節點”)31〇),右側節點為校驗方程(或“校驗節點” 320^由Η定義的LDPC碼的二分圖3〇〇可由N個變數節點(例如,n 位元節點)和Μ個校驗節點來定義。N個變數節點剔_的每個變數 節點都具有精確的dv⑴個邊(如邊咖)連接位元節點例如邮與 二或複數個校驗節點(M個校驗節點内)。圖中所示的邊咖連触 元節點Vl 312與校驗節點cj322。該邊(如鏡4所示)的數量 稱為變數節點i的度(degree)。類似地,M個校驗節,_中的每個 校驗節點都有财,)個邊(如幽所示),連接該節點. =複^變數節點(或位元節點)綱。該邊的數量讀稱為_ · 點J的度。 變數節點Vl (或位元節點bi) 312與校驗節點_之間的邊咖 24 1326987 •可定義為e=(U),但是,另-方面,假定邊e=(i,D,_邊的節點 •、可表示為e=(v(e),c(e))(或e=(b(e),c(e)))。假定給出變數節點% * (或位70節點bi) ’可將從節點Vi (或位元節點bi)發射的一組邊定義 為 Ev(i)={e|v(e)=i}(或 ^〇)={64(6>1})。假定給出校驗節點〇, 可將從節點Cj發射的-組邊定義為Ec(J>{e|c(e)=j}。接著,導出的 結果是|Ev(i)卜dv (或|Eb(i)|=db)以及|EC( j)|=dc。 -般說來’任何可用二分圖表示的代碼,其特徵都是圖形碼。要 參注意的是,不規則LDPC碼也可用二分圖表示。但是,不規則應碼 内的每組節點的度可根據某些分佈進行選擇。因此,對於不規則LDpc 碼的兩個不同變數節點Vil和Vi2,丨Ev⑸丨不等於|Ev(i〇卜對於兩個 校驗卽點也是這種關係。不酬LDPG碼的概念最早在上述的引用稽⑵ • 中給出了介紹。 一般說來,通過LDPC碼的圖示,LDPC碼的參數可由分佈的度來 定義,如M.Luby等在上述引用檔[2]中所述,以下的引用檔中也有相 鲁關的描述: []T. J. Richardson and R. L. Urbanke, “The capacity of low-density parity-check code under message-passing decoding ’ IEEE Trans. Inform. Theory,V〇I. 47,pp. 599-618, .Feb. 2001 這種分佈可描述如下: 用Ai表不從i度變數節點發射的邊的數量,Pi表示從i度校驗 即點發射的邊的數量,則度分傾(Λ,p )定義如下: 25 1326987 ,其中Mv和Me分別表示變數節點和校驗節 ⑹:办广1 P〇f)=艺Cambridge, MA: MIT Press, 1963 [2] M. Luby, M. Mitzenmacher, A. Shokrollahi, D. Spielman, and V. Stemann, “Practical loss-resilient codes”, 1997 Regular LDPC codes can be represented as bipartite graphs 3〇0, the left node of the parity check matrix is a code bit variable (or “variable node” (or “bit node”) 31〇 in the bit decoding method for decoding the LDPC coded signal), and the right node is The check equation (or "check node" 320^ is defined by a binary map of the LDPC code defined by Η, which can be defined by N variable nodes (for example, n-bit nodes) and one check node. N variable nodes Each variable node of Tick_ has an exact dv(1) edge (such as a side-by-side) connecting a bit node such as a postal and two or a plurality of check nodes (within M check nodes). The contact node V1 312 and the check node cj322. The number of edges (as shown by mirror 4) is called the degree of the variable node i. Similarly, each of the M check nodes, _ There are money,) one side (as shown by 幽), connect the node. = complex ^ variable node ( The number of edges is read as the degree of _ · point J. The edge between the variable node V1 (or bit node bi) 312 and the check node _ 24 1326987 • can be defined as e=( U), but, on the other hand, assume that the edge e = (i, D, _ node of the _ side, can be expressed as e = (v (e), c (e)) (or e = (b (e), c(e))). Assume that the variable node % * (or bit 70 node bi) ' can be defined as a set of edges emitted from node Vi (or bit node bi) as Ev(i)={e|v (e) = i} (or ^ 〇) = {64 (6 > 1}). Assuming that the check node 给出 is given, the -group edge transmitted from the node Cj can be defined as Ec (J>{e|c( e) = j}. Next, the result of the export is |Ev(i)b dv (or |Eb(i)|=db) and |EC( j)|=dc. -Generally, any available bipartite graph representation The code is characterized by a graphic code. It should be noted that the irregular LDPC code can also be represented by a bipartite graph. However, the degree of each group of nodes in the irregular code can be selected according to some distributions. Two different variable nodes of irregular LDpc code, Vil and Vi2, 丨Ev(5)丨 is not equal to |Ev (i〇 is also the relationship for two checkpoints. Unpaid LDPG code The concept was first introduced in the above cited quotation (2) • In general, through the illustration of the LDPC code, the parameters of the LDPC code can be defined by the degree of distribution, such as M. Luby et al. in the above reference file [2]. As mentioned above, there is also a description of the following references: []TJ Richardson and RL Urbanke, "The capacity of low-density parity-check code under message-passing decoding ' IEEE Trans. Inform. Theory,V〇I 47, pp. 599-618, .Feb. 2001 This distribution can be described as follows: Ai indicates the number of edges emitted from the i degree variable node, and Pi represents the number of edges emitted from the i degree check, ie, point. Then the degree of divergence (Λ, p) is defined as follows: 25 1326987, where Mv and Me respectively represent the variable node and the check section (6): Office 1 P〇f) = Art

Μ 和 W 點的最大度。 雖然在此描述的複數個實施例採用規則LDPC碼,但是要注意的是 本發明的特徵既適用於規則LDPC碼,也適用於不規則LDpc碼。 LDPC碼的LLR (對數相似值比)解碼方法可大致描述如下:當工 實際被發送時,計算接收的向量内的位實際值等於丨的概率。同樣地, 當〇實際被發送時’計算接收的向量_位實際值等於Q的概率。這 些概率通過姻LDPG碼的奇做驗矩陣來將,該奇偶校驗矩陣被用 來校驗所賴㈣向量的奇偶性。LLR是所計算的兩個概率的比的對 數。LLR狀映傳送訊制通訊通道對向量⑽位產生不郷響的度。 LDPC碼的LLR解碼可在數學上表示如下: 首先是LDPC碼’且發送的訊號内的接收向量 ㈣。,”心的形式為((來",(景;> ’則該通道的量度可定義為 越=輪I㈣叫.·冬i。然後該量度的⑽即“⑴可 指的是基數為e的 要注意的疋,各個數學運算式中描述的“In” 自然對數。 p{y,=^yt) Κν,=ι| 乃) 對於每個變數節點Vi ’其LLR資訊值可定義如下: ’則這些值的比值可 由於變數節點vi位於LDPC代碼字内 由下式代替: 26 1326987 ln p(v, =0,v//r =〇b)_ ln/^(v, =〇,ν/ζ/^〇μ 7(v( = i,v/frr^y ~ (.y)4(1)池= i,vfr^ 其中Ev(i)是如上所述定義的一組從Vi開始的邊。 當執行上述的BP(信度傳播)解碼方法時,ιη ρ(ν, = ο’ν;;’ = 〇卜)的供奸 p{vi = l}vhjT = 〇|^) 用以下關係式替代: f \ P ZVv(e)=0l· Lcheck(Uj) = ——i p Σνν(〇 =l\yThe maximum degree of Μ and W points. Although the plural embodiments described herein employ a regular LDPC code, it is noted that the features of the present invention are applicable to both regular LDPC codes and irregular LDpc codes. The LLR (Log-Like Similar Value Ratio) decoding method of the LDPC code can be roughly described as follows: When the work is actually transmitted, the probability that the actual bit value in the received vector is equal to 丨 is calculated. Similarly, when 〇 is actually transmitted, 'the probability that the received vector_bit actual value is equal to Q is calculated. These probabilities are obtained by the odd matrix of the LDPG code, which is used to verify the parity of the (4) vector. The LLR is the logarithm of the ratio of the two probabilities calculated. The LLR mapping transmission communication channel produces a non-sounding degree to the vector (10) bit. The LLR decoding of the LDPC code can be mathematically expressed as follows: First, the LDPC code' and the received vector within the transmitted signal (4). , "The form of the heart is ((来:"; (景;> 'The measure of the channel can be defined as the more = round I (four) called .. winter i. Then the measure of (10) that "(1) can refer to the base is Note to e, the "In" natural logarithm described in each mathematical expression. p{y, =^yt) Κν, =ι| is) For each variable node Vi' its LLR information value can be defined as follows: 'The ratio of these values can be replaced by the following equation because the variable node vi is located in the LDPC codeword: 26 1326987 ln p(v, =0,v//r =〇b)_ ln/^(v, =〇,ν /ζ/^〇μ 7(v( = i,v/frr^y ~ (.y)4(1) pool = i,vfr^ where Ev(i) is a group defined as described above starting from Vi When performing the BP (reliability propagation) decoding method described above, the contribution of ιη ρ(ν, = ο'ν;; ' = 〇卜) p{vi = l}vhjT = 〇|^) uses the following relationship Alternative: f \ P ZVv(e)=0l· Lcheck(Uj) = ——ip Σνν(〇=l\y

\e^EcuHu)} y\e^EcuHu)} y

LcheckCl, j)是與邊(丨,j)相關的校驗節點&的外來(Εχτ)資訊。此 外’要注意的是表示從校驗節點Cj發射的所有的邊,但從 校驗節點Gj發射至魏節點Vi的邊除外。外來纽值被計算來協助對 生成接收向量内的實際資訊位元值的最佳估計值。同樣在即方法中, 與邊(i,j)有關的變數節點Vi的外來資訊可定義如下: ❿ 圖4是根據本發明一個實施例使用位元量度4〇〇的LDPC解碼功能 的示意圖。為了對具有m_位元訊號序列的⑶^編碼訊號進行解碼, 可以使用如圖所示的功能性(functi〇nality)。在符號節點處接收了 訊號的I、Q (同相、正交)值4〇1後,m_位元符號量度產生器計 -算相應的符號量度41卜在該符號節點處,這些符號量度411隨後被 •傳遞到符號節點計算器功能塊,功能塊·利用這些收到的符號 1度4U來計算對應這些符號的位元量度421。然後根據LDPC碼二分 圖,將逗些位元量度421傳遞給與符號節點相連的位元節點,碼 27 1326987 訊號通過該LDPC碼二分圖產生,並通過該LDpc碼二分圖進行解瑪。 之後在位元筇點處,位元節點位元節點處理器計算位元的相· 應軟資訊。然後,按照迭代解瑪處理45(),位元節點位元節點處理器,. 430從杈驗#點處理器440處接收與該校驗節點相關的邊消息Medgec 441 ’並用;k符號筇點計算器功能塊42〇接收位元量度421更新與該位 元節點相關的邊消4 Medgeb431。這些與位元節點相關的邊消息Medgeb 431在更新後被傳遞給校驗節點處理器44〇。 在校驗節點處,隨後校驗節點處理器補接收與上述位元節點相 關的邊消息Medgeb431 (來自位元節點處理器43〇),並相應地更新它 們,從而生成與校驗節點相關的邊消息的下一個更新版本崎以化 這-操作在功能塊442中示出。更新後的與校驗節點相關的邊消息 Medgec441 P通後破傳回給位元節點(例如,傳回給位元節點位元節點 處理器430),在此使用位兀量度421和與位元節點相關的邊消息 _eb431的當前迭代值來計算位的軟輸出,這一操作在功能塊似 中:出。其後,使用剛計算出的位的軟輸出(如軟輸出435)和與位 4點_的邊消息Medgeb431的前一值(從前一次迭代中得刺, :節點位樣咖!i嫩輸^_ _韻息脇妳 1 -操作在功能請中示出。依據用於解碼和生成解碼訊號的 J碼二分圖,迭代解碼處理·在位元節點和校驗節點之間(即位, ⑽點位4點處理器450和校驗節點處理器44〇之間)繼續。- 代二Γ節點位元節點處理器430和校驗節點處理器物二于的迭 代解馬處理步驟㈣複預定數量的迭代(例如,复时,盆中η是 28 1326987 可選的)°可選擇地,這些迭代解碼處理步驟可—直重複,直至咖c 碼的校正子全部等於零。 .軟輸出435在每次解碼迭代過程中在位元節點位元節點處理器 430内生成。圖4所示的實施例中,軟輸出435可提供給做出硬判決 的硬限幅器460 ’而且硬判決資訊可提供給校正子計算器錦以確定 碼的校正子是神等於零。當校正子不等於树,再_迭代解 碼處理450,適當地在位元節點位元節點處理器和校驗節點處理 _之間更新和傳遞邊消息。例如,與位元節點相關的邊消息腕脚 43^從位元節點處理器榻傳遞給校驗節點處理器權。類似地,與校 驗節點相關的邊消息Medgec 441從校驗節點處理器傳遞到位元節 點位元節點處理器430。在某些實施例中,軟輸出娜和校正子計算 器470執行的校正子計算都縣轉碼迭代過程中執行。 ^行完迭代解瑪處理450的所有步驟後,基於位元的軟輸出輸出 位的最佳估計值(如位元估計值471)。圖4所示的實施_方法中, 通過符號節點計算器功能塊42〇計算的位元量度值是固定值,並在更 新位元節點值時被反復使用。 β圖5是根據本發明另一個實施例(當執行〇次迭代時)使用位元 .量度500的LDPC解碼操作的示意圖。該實施例中示出了當執行預定次 ,數的解碼迭代,如η次時,如何執行圖4中所示的迭代解碼處理. 如果解碼迭代敝數已賴先知道,如在敢數量解碼迭代的實施例 中’如預定次數的解碼迭代實施例,位元節點位元節點處理器側可 使用位元量度421自身(而不是前一實施例中上述的軟輪出來 29 1326987 更新其對應的與位元節點相關的邊消息Medgeb43卜這-處理在除最 後-次迭代外的所有解碼迭代中都執行(例如,從迭代^至化〇。但 疋’在最後-次迭代十’位元節點位元節點處理器傷計算軟輪出、 435。然後將軟輸出435提供給硬限幅器備,在硬限幅器_愤出 位的硬判決。這-實施例令不必計算校正子,因為只執行預定數量的 解碼迭代。 通常’在實際的通訊設備和硬體中實現LDpc解碼功能性時,設計 時關鍵需要考慮的就是如何實現硬體贿計算能盡可祕地執行,又同 時具有盡可能高的精確度。同樣,這種聰解碼功能性的硬體可在對< 數域内實現。該硬體實現有時還可崎行簡化,將乘法處理簡化成加 =,除法處理簡化成減法。通常,執行實現脈解碼處理所必要的計 算的難點在於校驗節鱗理所必要輯算職魏難。例如,在校驗 節點處理器(或者執行校驗節點處理的位校驗處理器)内執行的^算 通常要求從-組可能的值中確定最小值(或最大值)。#在實際的在= 數域内執行計算的硬體中執行這些計算時,通常會以損失某些精確度 的代價來確定最小值(或最大值)。也就是說,不在計算中使用某些對 數校正因數’因而導致精確度的損失。即使是在對數域内執行時,某 些現有技術中的解碼方法只從一定量的可能值中選擇最小值(或最大 值> 而不使用任何對數校正因數。因而在對數域内運算時,從—組可-. 能值中選擇最小值(或最大值)時,必然會引入了一些不精確性。 以下將結合對輸入值Y和輸入值“y”的操作介紹幾個上述的 計算。該輸入值可視為與位元節點相關的不同邊消息' ㈣妳。例如, 30 1326987 輸入值“X”可視為與位元節點相關的第一邊消息Med物⑴,輪入 “y”可視為與位元節點相關的第二邊消息Medgeb⑵,或反之^值 這些與位元節點湖的邊消息Medgeb的校驗節點處理制了在此給 的各種可能的實施例’用來生成對應的與校驗節點相關的:出 息Medger 交逯消 發明人已經開發出了多種執行這些計算的不同方法,能在執行校 驗節點處理的同時仍然保持高的精確度。這些計算包括_*處理、& ♦ min*-處理、min**處理、min林—處理。此外,以上每一種處理方法均 有個對應的最大相關函數:min*處理、min*_處理、min**處理、 處理。此外,還可使用其他的處理方法,包括min,處理、mint處理、 mint·處理、mintt處理。以下將結合對輸入值“χ”和輸入值“y”的 ' 操作介紹幾個上述的計算。 min*處理和min*-處理: °^拿0^): min(x,y) · ln(i+cxp(-(x-yj)〉 min、(x,y) « min(x,y) _ ln(l*«p(-|x-y|)) 零 max*處理和max*-處理: : _x(x,y) + ln(l+exp(-|x-yj)) maxMx,y) = niax(x,y) + 1η(1-βχρ(.|χ.γ〇) min林處理和min林-處理: min**(x.y) = minix^y) - te(l+exp(-|x-y〇) + ln(l+exp(-(x+y))) min**.(x,y) * nunix.y) - ln(l-«P(-lx-yl)) + ln<l-exp(-(x+y))) max林處理和max紗-處理: max**(x,y) = max(x,y) +ln(l+e^(-|x-y|)) - ln(l+exp(-{x+y))) msx***(*»y)555 max(x,y) + ln(l-exp(-|x-y〇) - ln(l+«p(-(x+y))) min’處理 31 丄/ min’ ('少)=|mm* 0,少)min* (ά 〇 0 其它 ^Mms. = mn*(x>y)>〇 L 〇其它 ^-^y) = h^-^y) ^n*^y) > 0 L 0其它 於細瞻撕__職_娜和處理。關 ;tt處理,咖處理有些類 理的附加功能性。如以地额有取小值比較處 值.的i實施射所示’當陳以符號數 格^ 可實現_竹處理内的最小值比較處理。這種符號數值 格式使其能更容級複數個值巾找出最小值。 本發月提供了執仃上述計算的快速效率的硬體實現,可在解碼 PC爲碼訊號時執仃权驗節點處理。此外,以下的各種結構將解釋上 述各種計算如何在解碼處理操作峨行,在哪里執行。 ώ 6 1¾ , v圖〇㈣a力:錢本㈣哪c解崎舰狂㈣㈣ 施例的示意圖。 如圖6所示的LDPC解碼功能性6〇〇中,接收的符號的I、卩(同 相、正交)值被提供給量度產生器6〇3 (即圖中所示的船6〇3)。這些 I、Q值可看作是來自-個通職伽的聽理功能塊,該滅理功能. 塊對從通訊通道接收的連續時間訊號執行初步處理。例如,該預處理 可包括頻率轉換、接收濾波、數位取樣、增益調節和/或均衡。這些j、 32 1326987 Q值触連續時間訊號中生成的離散時間訊號相對應。 .日量度產生器603計算對應至少一個將被解碼的符號的位元量度。 里度產生器603執行符號量度計算並將其轉換成位元量度。在某些上 述的實施例中,採用兩個分開的魏塊來執行這種魏性:首先從接 收的I、Q值計算符縫度,_從符號量度計算位元量度。 _然後位元量度從量度產生器6〇3提供給兵钟儲結構·(如圖 斤不的PPMS 605)。兵兵存儲結構6〇5包括兩個分開的量度記憶體_ •和607 (如圖所示的廳6〇6和腿6〇7)。當量度產生器6〇3正將對應 -個或-群符號的位元量度提供給兵兵存儲結構的量度記憶體 • _時’較早提供的位元量度從兵兵存儲結構605的量度記憶體606 'Jit!般°兒來在兵兵存館結構605中,當從量度記憶體607中 :取第一組位兀里度時,將第—組位元量度寫人量度記憶體_。該 第-組位元量度與第-符號訓框⑽每個符號的減量度相對應,該 第二組位元量度與第二符號難_每個魏元量度相對應。 _後口適的位70軍度從兵兵存儲結構6〇5申轉出並提供給一組位 心校驗處理H61G(如圖所示的Bcp⑽)。—組位元/校驗處理器⑽ 包括複數個位元/校驗處理器,如Bcp 611,…,和Bcp 612。要注意 •的疋根據本發明,-個單組的處理塊,即位/檢驗處理器則,既 ’執行位元希點處理’也此執行校驗節點處理。也就是說,t解媽ape 編碼訊號時,可使用複數個位/檢驗處理器⑽内完全相同的硬體來執 行位元節點處理和校驗節點處理。這可以通過使用桶形移位器啊如 圖所示的BS 615)結合資訊傳送記憶體㈣(如圖所示的圓咖) 33 1326987 ::1:現。要注意的是’通過使用有效率定址方案(其更多細節 ===傳送記憶體620可存储兩種類型的與複數個位元節' 位元的邊、、肖自Γ即⑴對應貧訊位凡的邊消息;⑵對應奇偶校驗,、 用兩狀與現有技術的重要區別,通纽有技術中採 M W的存舰構/設備來存儲這兩種不_型的與複數個位元 ρ點相關的邊4息。但是,本發明中的單個存儲賴 憶體620)可存儲這兩麵型的邊消息。 t傳祝 當複數個位元/校驗處理器_正在執行位元_處理(即, 相關的邊消息Medgeb),且這些更新後的與位元 〜edgeb已經寫入消息傳送記憶體62〇後,接下來,桶形移位器 =5確保廷些邊消息是以特定和受控的方式從消息傳送記憶體咖中 讀出的,以便其在校驗節點處理的下—個迭代中使用(即,更新 驗節點相關的邊消息Medgec)。 ”又 跡移位元_ 615控制從消息傳送記憶體㈣中讀取與校驗節點 相.關的_息Med發方式,以使其㈣㈣息傳送記憶_中合適 地讀出,以便相同的複數個位元/校驗處職⑽使用在隨後的校驗節 點處理中(即,更新與校驗節點相關的邊消息 憶體620之後使 個位/賴處理H⑽的_硬體)簡執行校驗_處理和位元節點- 處理兩者。這個於執行·、_峨的解實際戦鋪在尺寸., 和複雜度上有了顯著的減小。 一要、〜的疋才甬形移位益615還可以另一種連接通路放置在複 34 ,數個位議驗處理器⑽和消息傳送記憶編之間。 紹這種實施例。 竹子、,、田;丨 ,不官桶形移位器615位於哪個位置,複數個位/檢驗處理器⑽、 桶I移位7〇益615和消息傳送記憶體㈣可協作運行,以執行聰 崎収冑_低_目關的邊 〜e geb來生成解敬元的軟輸出。然後將對應該解碼位的軟輸出 、硬判决(在上-人解碼迭代後產生或當所有的校正子等於零時產生 提供給麵(靜態隨機存取記憶體)_ (如如所示的5_0)。這 些存儲在3_ 660中的硬判決是基於被解碼訊號最初接收的^、㈣ 的解碼^的最佳估計值。在上一次解瑪迭代之前或在所有的校正子等 於零之前,編碼位摘軟輪出被提供給· _。 解碼位的軟輪出被提供給一組功能塊,該組功能塊通過使用最初 產生LDPC編碼訊號的LDPC瑪的奇偶校驗協作地執行校正+校驗,以 讀定解碼位是錢有效代碼字的—部分。適#地輸人軟輸出然後從 SRAM 660輸_,該軟輸出傳遞通過另一個桶形移位器叫如圖所 丁也BS 662) ’ 後被傳送給校正子計算功能塊664 (如圖所示的 SYNCALC 664)。如果該校正子通過(即,給校正子計算功能塊_ ,·所有輸入都等於零),則告知控制器65〇 (如圖所示的⑽65〇)迭代 解f處理、、、。束。關於控制器650的更多詳細介紹在以下給出。 此外’控制器650可被執行來根據選擇# LDpc碼651提供控制訊 唬652。例如,LDPC解碼功能性_可用來解碼多種LDpc編碼訊號, 包括遵從DVB-S2的編碼訊號。如遵從__纪的訊號的例子中,包括 35 1326987 有VCM (可變編碼和調變)和ACM (適應性編碼和調變)功能性,ldpc 編碼訊號的編碼率(以及調變類型)可基於逐訓框動態改變。也就是' 說’第一訓框使用第一編碼率和第一調變類型編碼,第二訓框使用第·· 二編碼率和第二調變類型編碼。基於選擇的LDPC碼651,控制器650 將&適的解碼控制訊號652挺供給LDPC解瑪功能性6〇〇内的其他功能 塊這可以確保在量度產生器603内為接收的I、q值計算合適的位元 里度。此外,根據解碼控制訊號652,複數個位元/校驗處理器61〇、 桶^/移位元益615以及消息傳送記憶體62〇也都可根據在通訊通道的· 發射端產生訊號的方式來協作執行對接收的訊號的LDPC解碼,其中該 通訊通道提供連續時間訊號,I、q值最終從該連續時間訊號中提取並 提供給LDPC解碼功能性600以便後續的解碼。 解碼控制訊號652將特定的訊號類型和屬性通知給複數個位元/ 校驗處理器610、桶形移位元器615和消息傳送記憶體62〇,以便在解 碼接收的訊號時使用合適的奇偶校驗矩陣。解碼控制訊號脱還指示 桶形移位器615對與位·元節辞相關的邊消息Medgeb(以及與校驗節點《 相關的邊消息Medgec-取決於何時查;j· LDPC解碼功能性_)執行適 當程度的移位。由於桶形移位器615執行了這兩種邊消息的合適移位 疋’與位元希點相關的邊消息Medgeb (以及與校驗節點相關的邊消息 MedgeO都以一種方式存儲在消息傳送記憶體62〇巾,使得它們能夠' 從中取回’以便減恤S/校卿轉,_執行迭代解碼處理中-的後續步贿使心注意的是,·資練元和奇倾驗位來說, 在複數個位元/校驗處理㈣〇 _校驗節點處理之後、下—個位元節 36 丄: Z處理步驟之前,桶形移位器615不得對其執行移位。由此可見,使 ·. 位⑽後可蝴目睛硬體(即,複數個位元/校驗處理器LcheckCl, j) is the foreign (Εχτ) information of the check node & associated with the edge (丨, j). Further, it is noted that all the edges transmitted from the check node Cj are indicated, except for the side transmitted from the check node Gj to the Wei node Vi. The foreign value is calculated to assist in generating the best estimate of the actual information bit value within the received vector. Also in the method, the foreign information of the variable node Vi associated with the edge (i, j) can be defined as follows: ❿ Figure 4 is a schematic diagram of an LDPC decoding function using a bit metric of 4 根据 according to one embodiment of the present invention. In order to decode the (3)^ encoded signal having the m_bit signal sequence, the functionality shown in the figure can be used. After receiving the I, Q (in-phase, quadrature) value 4〇1 of the signal at the symbol node, the m_bit symbol metric generator counts the corresponding symbol metric 41 at the symbol node, and these symbol metrics 411 It is then passed to the symbol node calculator function block, which uses the received symbols 1 degree 4U to calculate the bit metric 421 corresponding to these symbols. Then, according to the LDPC code bipartite graph, the bitwise metric 421 is passed to the bit node connected to the symbol node, and the code 27 1326987 signal is generated by the LDPC code bipartite graph, and the LDpc code bipartite graph is used to solve the problem. Then at the bit point, the bit node bit node processor calculates the phase soft information of the bit. Then, according to the iterative ambiguous processing 45(), the bit node bit node processor, 430 receives the edge message Medgec 441 ' associated with the check node from the check point processor 440 and uses; k symbol 筇The calculator function block 42 receives the bit metric 421 and updates the edge elimination 4 Medgeb 431 associated with the bit node. These edge nodes Medgeb 431 associated with the bit nodes are passed to the check node processor 44 after the update. At the check node, the check node processor then receives the edge message Medgeb 431 (from the bit node processor 43A) associated with the bit node described above and updates them accordingly, thereby generating the edge associated with the check node The next updated version of the message is shown in function block 442. The updated edge message Medgec 441 associated with the check node is then passed back to the bit node (eg, back to the bit node bit node processor 430) where the bit metric 421 and the bit are used. The current iteration value of the node-related edge message _eb431 is used to calculate the soft output of the bit, which is in the function block: out. Thereafter, use the soft output of the just calculated bit (such as soft output 435) and the previous value of the edge message Medgeb431 with bit 4 o'clock (from the previous iteration, the thorn, : node position sample coffee! i tender input ^ _ _ 韵 妳 - 1 - Operation is shown in the function please. According to the J code bipartite graph used to decode and generate the decoded signal, iterative decoding processing · between the bit node and the check node (ie bit, (10) point Between the 4-point processor 450 and the check node processor 44〇) - the iterative solution processing step of the second-order node-bit node processor 430 and the check-node processor is repeated (4) a predetermined number of iterations ( For example, in time, the basin η is 28 1326987 optional) ° Alternatively, these iterative decoding processing steps can be repeated - until the syndromes of the coffee code are all equal to zero. The soft output 435 is in each decoding iteration process The intermediate bit node node processor 430 is generated. In the embodiment shown in FIG. 4, the soft output 435 can be provided to the hard limiter 460' that makes the hard decision and the hard decision information can be provided to the syndrome calculation. The calibrator to determine the code is that God is equal to zero. The positivity is not equal to the tree, and the _ iterative decoding process 450, as appropriate, updates and passes the edge message between the bit node bit node processor and the check node process _. For example, the edge message wrist 43 associated with the bit node ^ is passed from the bit node processor couch to the check node processor. Similarly, the edge message Medgec 441 associated with the check node is passed from the check node processor to the bit node bit node processor 430. In the embodiment, the softener output and the syndrome calculation performed by the syndrome calculator 470 are executed during the transcoding iteration process of the county. After all the steps of the iterative solution processing 450 are performed, the bit-based soft output output bit is the most A good estimate (e.g., bit estimate 471). In the implementation_method shown in Figure 4, the bit metric value calculated by the symbol node calculator function block 42 is a fixed value and is updated when the bit node value is updated. [Fig. 5] is a schematic diagram of an LDPC decoding operation using a bit. Measure 500 in accordance with another embodiment of the present invention (when performing a iterative iteration). This embodiment shows decoding performed when performing a predetermined number of times. Stack How to perform the iterative decoding process shown in Figure 4, such as η times. If the decoding iteration number is known first, as in the embodiment of the dare number decoding iteration, as in the case of a predetermined number of decoding iterations, the bit The node bit node processor side can use the bit metric 421 itself (instead of updating the corresponding edge message associated with the bit node Medgeb43 in the soft wheel out of the previous embodiment 29 1326987) - processing in addition to the last - Execution is performed in all decoding iterations except for the next iteration (for example, from iteration to 〇. But 疋 'in the last-times iterations ten-bit node node damage calculation soft round, 435. Then soft output 435 is provided to the hard limiter, in the hard limiter _ anger out of the hard decision. This embodiment does not require calculation of the syndrome since only a predetermined number of decoding iterations are performed. Often, when implementing LDpc decoding functionality in actual communication equipment and hardware, the key consideration in design is how to implement hard bribery calculations with the utmost precision, while at the same time having the highest possible accuracy. Similarly, this Cong decoding functional hardware can be implemented in the <number field. The hardware implementation can sometimes be simplified, simplifying the multiplication process to add =, and the division process is simplified to subtraction. In general, the difficulty in performing the calculations necessary to implement the pulse decoding process is that it is necessary to verify the calculation of the scales. For example, a calculation performed within a check node processor (or a bit check processor that performs check node processing) typically requires determining a minimum (or maximum) value from the set of possible values. # When performing these calculations in the actual hardware that performs calculations in the = number field, the minimum (or maximum) value is usually determined at the expense of some accuracy loss. That is, some log correction factors are not used in the calculations, thus resulting in a loss of accuracy. Even in the logarithmic domain, some prior art decoding methods only select the minimum value (or maximum value) from a certain number of possible values without using any logarithmic correction factor. Thus, when operating in the logarithmic domain, from - Groups can be selected - when the minimum value (or maximum value) is selected in the energy value, some inaccuracies are inevitably introduced. Several calculations described above will be introduced in conjunction with the operation of the input value Y and the input value "y". The value can be regarded as a different side message associated with the bit node '(4)妳. For example, 30 1326987 The input value "X" can be regarded as the first side message related to the bit node, the substance (1), and the rounding "y" can be regarded as the bit. The second node message Medgeb(2) associated with the metanode, or vice versa, is processed by the check node of the edge message Medgeb of the bit node lake. Various possible embodiments are given here to generate corresponding checksum nodes. Related: The Medger Cross-Inventor has developed a variety of different methods for performing these calculations, which can still perform high-precision while performing check node processing. These calculations include _* , & ♦ min*-processing, min** processing, min forest-processing. In addition, each of the above processing methods has a corresponding maximum correlation function: min* processing, min*_ processing, min** processing, processing In addition, other processing methods can be used, including min, processing, mint processing, mint processing, and mintt processing. Several calculations described above will be introduced in conjunction with the operation of the input value "χ" and the input value "y". Min* processing and min*-processing: °^take 0^): min(x,y) · ln(i+cxp(-(x-yj)〉 min,(x,y) « min(x,y ) _ ln(l*«p(-|xy|)) zero max* processing and max*-processing: : _x(x,y) + ln(l+exp(-|x-yj)) maxMx,y) = niax(x,y) + 1η(1-βχρ(.|χ.γ〇) min forest treatment and min forest-treatment: min**(xy) = minix^y) - te(l+exp(-| Xy〇) + ln(l+exp(-(x+y))) min**.(x,y) * nunix.y) - ln(l-«P(-lx-yl)) + ln<l -exp(-(x+y))) max forest processing and max yarn-processing: max**(x,y) = max(x,y) +ln(l+e^(-|xy|)) - Ln(l+exp(-{x+y))) msx***(*»y)555 max(x,y) + ln(l-exp(-|xy〇) - ln(l+«p(- (x+y))) min' processing 31 丄 / min' ('less) =|mm* 0, less) min* (ά 〇 0 Other ^Mms. = mn*(x>y)>〇L 〇Other ^-^y) = h^-^y) ^n*^y) > 0 L 0 Others in the __ job _ Na and deal with. Off; tt processing, coffee processing some of the additional functionality of the class. For example, if the amount of land is small, the value of the value is compared with the value of i. The number of symbols is used to calculate the minimum value in the bamboo processing. This symbolic value format makes it possible to find a minimum value by multiplying a plurality of value sheets. This month provides a fast and efficient hardware implementation that performs the above calculations. It can be processed by the access node when the decoding PC is a code signal. In addition, the various structures below will explain how the various calculations described above are performed during the decoding process and where. ώ 6 13⁄4 , v 图 〇 (4) a force: money (four) which c saki ship mad (four) (four) schematic diagram of the example. In the LDPC decoding function 6 shown in Fig. 6, the I, 卩 (in-phase, quadrature) values of the received symbols are supplied to the metric generator 6 〇 3 (i.e., the ship 6 〇 3 shown in the figure). . These I and Q values can be regarded as the listening function blocks from a common gamma. The annihilation function. The block performs preliminary processing on the continuous time signals received from the communication channel. For example, the pre-processing can include frequency conversion, receive filtering, digital sampling, gain adjustment, and/or equalization. These j, 32 1326987 Q values correspond to discrete time signals generated in continuous time signals. The day metric generator 603 calculates a bit metric corresponding to at least one symbol to be decoded. The grading generator 603 performs a symbol metric calculation and converts it into a bit metric. In some of the above embodiments, this separation is performed using two separate Wei blocks: first, the slot metric is calculated from the received I, Q values, and the metric is calculated from the symbol metric. _ Then the bit metric is provided from the metric generator 6 〇 3 to the battalion storage structure (Fig. PPMS 605). The soldier storage structure 6〇5 includes two separate measurement memories _ • and 607 (the hall 6〇6 and the legs 6〇7 as shown). The equivalence generator 6〇3 is providing the bit metric of the corresponding-or-group symbol to the metric memory of the soldier storage structure. • _ when the bit metric provided earlier is measured from the metric storage of the soldier storage structure 605. The body 606 'Jit! ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ The first set of bit metrics corresponds to the decrement of each symbol of the first symbol train (10), the second set of bit metrics corresponding to the second symbol hard _ each Wei metric. _ The rear position of the 70-degree military is transferred from the soldier storage structure 6〇5 and is provided to a set of center check processing H61G (Bcp(10) as shown). - The group/check processor (10) includes a plurality of bit/check processors such as Bcp 611, ..., and Bcp 612. It is to be noted that, according to the present invention, a single set of processing blocks, i.e., bit/verification processors, performs both check bit processing and 'checkpoint node processing'. That is to say, when the T-Ape coded signal is used, the bit node processing and check node processing can be performed using the exact same hardware in the multiple bit/check processor (10). This can be done by using a barrel shifter (BS 615 as shown) in conjunction with the information transfer memory (4) (circle as shown) 33 1326987 ::1: Now. It should be noted that 'by using an efficient addressing scheme (more details === transfer memory 620 can store two types of edges with a plurality of byte sections' bits, and Xiao Ziyi (1) corresponds to the poor news (2) Corresponding to the parity check, and using the important difference between the two shapes and the prior art, the Tongyou has the technology to store the MW's storage structure/equipment to store the two types of non-type and plural bits. The ρ point is associated with the edge. However, the single memory 640 in the present invention can store the side messages of both faces. It is said that when a plurality of bits/check processors are performing bit_processing (ie, the associated side message Medgeb), and these updated bits and bits are already written to the message transfer memory 62, Next, the barrel shifter = 5 ensures that the side messages are read from the messaging memory in a specific and controlled manner so that they are used in the next iteration of the check node processing ( That is, the edge message related to the node is updated (Medgec). The track shift element_615 controls the reading of the message from the message transfer memory (4) to the check node, so that the (four) (four) information transfer memory _ is properly read out so that the same complex number The bit/verification service (10) is used in the subsequent check node processing (i.e., after updating the side message memory 620 associated with the check node, the _hard body of the bit/receive processing H(10) is executed. _Processing and Bit Nodes - Handling Both. This solution to the execution of ·, _峨 is actually reduced in size, and complexity. 615 can also be placed in another connection path between the complex number 34, the number of interrogation processors (10) and the message transfer memory. This embodiment. Bamboo,,,,,,,,,,,,,,,,,,,,,,,, Where is the location, the multiple digits/check processor (10), the bucket I shift 7 benefit 615, and the message transfer memory (4) can be operated in cooperation to execute the edge of the 聪崎收胄_low_目关~e geb to generate the defensive element Soft output. Then the soft output and hard decision corresponding to the decoded bit will be decoded. Generated after generation or when all syndromes are equal to zero, the supply to the face (static random access memory) _ (as shown by 5_0). These hard decisions stored in 3_660 are based on the initial reception of the decoded signal. ^, (4) The best estimate of the decoding ^. Before the last solution iteration or before all the syndromes are equal to zero, the coded bit is extracted to the _. The soft round of the decoded bit is provided to a group function block that cooperatively performs a correction+check by using a parity of an LDPC-matrix that originally generates an LDPC coded signal to read that the decoded bit is a part of a valid code word of the money. The output is then transferred from SRAM 660, which is passed through another barrel shifter called BS 662) and sent to syndrome calculation function block 664 (SYNCALC 664 as shown). If the syndrome passes (ie, the syndrome is calculated for the syndrome, all inputs are equal to zero), the controller 65 is informed ((10) 65〇 as shown) the iterative solution f, , , . bundle. More details of the 650 is in Further, the controller 650 can be implemented to provide a control signal 652 according to the selection #LDpc code 651. For example, the LDPC decoding functionality can be used to decode a plurality of LDpc encoded signals, including DVB-S2-compliant encoded signals. Examples of __ signals include 35 1326987 with VCM (variable coding and modulation) and ACM (adaptive coding and modulation) functionality. The coding rate (and modulation type) of the ldpc coded signal can be based on The training frame changes dynamically. That is, the 'say' first training frame uses the first coding rate and the first modulation type coding, and the second training frame uses the second coding rate and the second modulation type coding. Based on the selected LDPC code 651, the controller 650 provides the & appropriate decoding control signal 652 to other functional blocks within the LDPC ambiguity function 6 这 which ensures that the received I and q values are within the metric generator 603. Calculate the appropriate bit length. In addition, according to the decoding control signal 652, the plurality of bit/check processor 61〇, the bucket/shifting element 615, and the message transfer memory 62〇 can also generate signals according to the transmitting end of the communication channel. The LDPC decoding of the received signal is performed cooperatively, wherein the communication channel provides a continuous time signal, and the I, q values are ultimately extracted from the continuous time signal and provided to the LDPC decoding function 600 for subsequent decoding. The decode control signal 652 notifies the specific bit type/attribute to the plurality of bit/check processor 610, the barrel shifter 615, and the message transfer memory 62 to use the appropriate parity when decoding the received signal. Check matrix. The decode control signal detachment indicates that the bucket shifter 615 pairs the edge message Medgeb associated with the bit/meta-segment (and the side message Medgec associated with the check node - depending on when; j. LDPC decoding functionality _) Perform an appropriate level of shifting. Since the barrel shifter 615 performs the appropriate shift of the two side messages, the edge message Medgeb associated with the bit point (and the edge message MedgeO associated with the check node are stored in the message transfer memory in a manner The body 62 wipes, so that they can 'retrieve from it' in order to reduce the S/School turn, _ perform iterative decoding process - the follow-up step bribe makes the mind pay attention to, After the processing of the plurality of bits/check processing (4) 〇_check node, the next bit byte 36 丄: before the Z processing step, the barrel shifter 615 must not perform shifting on it. After the bit (10) can be dazzled (ie, multiple bits / check processor

1仃位70節點處理和校驗節點處理兩者。例如,解碼一組X ΓΓ時’如果在進行綱點㈣執行繼N,戦要執行Η 始移位’以在進行位元節點處理之前使被移位的位回到它們的初 假設有一組特定的_編碼訊號將请C解碼功能性刪進行 馬桶形移位盗615執行的移位量可在一個_ (唯讀記憶體)設 備中實現k在解碼實際訊號時能提供非常快速的運算和處理。存儲 j _内的移位值可基於產生聰編碼峨的二分圖中的位元 節點和校驗節點之間的邊的連接性來選擇。 控制器650的使用確保了 LDPC解碼功能性_可解碼各種咖 2碼訊號,遵從D職的訊號便是其中的—種。但是,_解碼功 月匕性600也可用來執行其他聰編碼訊號的解碼。另外,使用押制器 咖提供的功能’ LDPC解瑪功能_魏夠執行編碼率和/或(包 括鮮集形狀和映射)基於逐塊頻繁改變的_編碼訊號的解碼。例 如,-個區塊可視為-訓框内的一個符號群。在某些情況下,一訓框 ••可包括複數個區塊。遵從DVB—S2的訊號_般在一訓框内的所有符號具 ..有共同的編碼率和調變(包括群集形狀和映射),且編碼率和/或調u變 僅基於逐訓框改變。 口如上所述’複數個位元/校驗處理器61〇包括一組位元/校驗處理 器如BCP 611,…,和BCP 612。在複數個位元/校驗處理器_中實 37 1326987 現多少伽元/她處黯劲料麵擇。輯村根驗數細素 來選擇使用多少個位元/校驗處理器,包括被解碼的位隨量、複數個' 位元/校驗處翻_巾位元/概處理器魏量、理細吞吐速度以·. 及需要佔_總面積。選擇在位元/校驗處理㈣_實_多的位元 /校驗處理1§將導致更多的並行類處理。 還要注意的是’可實現宏塊699的幾個示例(如圖所示的關9) 來支援進-步的並行處理。在這個實_巾,宏塊_包括有兵兵存 儲結構605、複數個位元/校驗處理器⑽和消息傳送記憶體⑽。以 下將介紹的其他實施例中採用了宏塊的複數個示例來支援更有效的實 現而耗用更小的總面積。-般說來’選擇的宏塊的總數量應確保設備 的總面積盡可能最小。關於宏塊699,還粒意的是,其内不必實現. 桶形移位器615。在這個實施例中,桶形移位元器實際上實現在宏塊. 699外部,用來服務於複數個宏塊咖。但是,桶形移位器615也可在 宏塊内部實現而不麟本發_範圍和實質(如下述的其他實施例中 將會介紹)。但是,-般說來’最好將桶形移位元器阳放在宏塊_鲁 的外面,因為這樣不會拖延或減慢消息傳送記憶體⑽(可利用賴唯 讀記憶體)來實現)的存取時間。當桶形移位元器615位於宏塊6卯 外部時’需要使用管線寄存器(pipeline registe〇來保證至/從消 息傳送記憶體620的存取同步。 -‘ 而且’ LDPC解碼功能性_的各個功能塊實現(通過使用桶形 移位元器615、结合消息傳送記憶體62㈣單個功能塊)的方式,允許 消息傳送記憶體620使用單個埠的存儲設備;這必然佔用比雙埠存儲 38 1326987 設備更少的面積,同時也比雙埠存儲設備耗用更少的能量。 :如上所述’使用脈解碼功能性_可以解碼各種不同類型的 ‘ LDPC編碼減。町將提供-個位與字寬的具體例子,以及複數個位 元/校驗處理器⑽内的位元/校驗處理器的數量,以示出它們在特定 情況下的關係。提供給量度產生器603的卜Q值每個為7位。量度產 生器603使用7位I、Q值生成的位元量度每個為6位。因此,兩個單 獨的量度記憶體咖和6〇7中的每一個都運算職施6位的值;這 參需要DVB-S2區塊的長度為64, 800位。 在設計能夠解碼遵從DVB-S2訊號的結構時,從量度產生器63〇 輸出的位元量度需要有360x6位元;也就是說,有财同的值, •每個值為6位。位元量度可提供給並行配置的36〇解獨的位元/ ’校驗處理器。更具體地,該複數個位元/校驗處理$ _包括聊6ιι U 1個位校驗處理器),...,和BCP 612 (第·個位元/校驗處理 器)。從該360個單獨的位元/校驗處理器中輸出的邊消息為6位元值。 因此,360個單獨的位元/校驗處理器的總輸出是細沾位;每個位元 /校驗處理器輸出6位元的邊消息。類似地,桶轉位器615内的適當 移位元的邊消息也是每個6位元。因此,卿移位騎輸出也丘有 ,-編位。同樣’解碼遵從眺S2的訊號時,消息傳送記憶體咖將 ,·傳衫達792x360x6位的值。因此有360個解雜從__中輸出。 還要注意的是,上述描述中的位值僅僅是實現·解碼功能性 _的一個可能實施例。根據本發明,對上述實施例中的各個值使用 不同數量的錢,還可以實現魏個獨的實施例。 39 1326987 如圖7所示的實施例中脈;解碼功能性彻與圖6中的赋解 碼功能性_的完全類似’除了使用虛擬雙埠量度記憶體?〇5 (如圖. 所示的麵7〇5)代替兵兵存错結構啲。虛擬雙埠量度記憶體705 ' 可支援雙特儲管理,即使它是-個單埠存儲設備。通過使關?中 的虛擬雙蟑量度記憶體705代替圖6中的兵兵存儲結構6〇5 (包括雙 埠存儲結構)’與LDPC解碼功能性_相比,LDpc解碼功能性糊可 顯著即省空間。在圖7所示的實施例中,處理與圖6中的描述類似的 遵從DVB-S2的訊耕’虛擬雙埠量度記憶體7〇5運算⑽χ36〇χ6位的 值。 ’ 如圖8所示的實施例中LDPC解碼功能性800中,丨、Q輸入、量 度產生器803 (如圖所示的MG 803)、控制器850以及對應的基於選擇 的LDPC碼851的控制訊號852與圖6所示的LDpc解碼功能性6〇〇中 的非常相似。但是,與圖6中的宏塊699相比,LDPC解碼功能性8〇〇 包括一個稍微修改的宏塊899 (如圖所示的MB 899)。宏塊899可被複 製一定的次數,以協助提供比之前的實施例更有效的11)?(;:解碼功能着 性。宏塊899包括有所有的功能性,可被複製以實現更加並行的處理 結構。 圖8所示的實施例中,桶形移位元器815包括在宏塊8的内部。 這個實施例中的桶形移位器815與前述實施例中的桶形移位器615或. 捅形移位器715的不同之處在於,這個實施例中的桶形移位器815僅· 服務於它所在的實際宏塊899内的部件。相反,桶形移位器615或桶 形移位器715每個都服務於各自實施例中巨集塊699和巨集塊799的 ^26987 32。。因而桶形移位器815沒有摘形移位器6丨5或桶形移位器加 不同由ΓΓΓ移位器815的位置與桶形移位器615或桶形移位器715 & 息進行適當地移位元《便 处_0内的後續校驗節點處理或位元節點處理。同樣由於 ♦轉位器815的位置與桶形移位器615或桶形移位元器715不同, :要對桶形移位元器脱和贿86〇進行重新配置以相容這種順 序的處理。 、 一種能夠解碼遵從謂-S2峨的設計中包括18解獨的宏塊示 例提供給1度產生器8〇3的I>Q值每個7位。量度產生器顧使用 7位的I、Q值生成的位元量度是每個為6位的值。 但疋,圖8中宏塊899的每個塊的實現都與圖6中的宏塊6卯不 同。兵兵存儲結構8G5 (如圖所示的PPMS 8G5)包括有量度記憶體8〇6 矛807 (如圖所不的丽805和MM 807),在180x120位上運算。這120 個位每個都以20x6位實現;也就是說,有2〇個單獨的值,每個值6 位。從乒乓存儲結構805輸出的位元量度也具有12〇位(即,每個為 20x6 位)。 提供給複數個位/檢驗處理器810的這些位元量度可提供給位於 每個巨集塊内的並行配置的2〇個單獨的位元/校驗處理器。更具體 地,複數個位元/校驗處理器810包括BCP 811 (第1個位元/校驗處 理器)’…’以及BCP 812 (第20個位元/校驗處理器)。從這20個單 獨的位元/校驗處理器810中,適當地邊消息以120位元輸出(即,每 41 1326987 個為20x6位)。因此’每個宏塊内的2〇個單獨的位元/校驗處理 器共有120位的輸出(即,細位)。複數個位以校驗處理器削的. 20個位元/权驗處理态中的每一個均輸出6位元的邊消息。類似地, 桶形移位器815内適當移位元後的邊消息也是12〇位元(即,2〇χ6 位)。因此,桶形移位器815也共有12〇位(即,2〇幼位)的輸出。 同樣,解碼遵從DVB-S2的訊餅,消息傳送記髓需傳送792χΐ2〇 位的值。因而有12〇位(即,漏位)的解碼位從SARM_中輸出。 與其他實施例-樣’要注意的是,桶形移位器815可在任何宏塊 _的内部或外部實現。如果桶形移位元器815在宏塊_外部實現, 單個桶形移位ϋ可運算·x6位元的邊消息值,是,#桶形移位元 器815在宏塊899内部實現時’那麼將會有18個單獨的桶形移位器 (即,每一個宏塊899中一個),運算120位(即,2〇χ6位元)的邊 消息值。 還要注意的是’宏塊899的數量可進行選擇,以使LDpc解碼功能 性800的總面積盡可能小。例如,為了解碼遵從dvb_s2的訊號,巨集< 塊的數量乘以每健塊’的複數條元/校驗處理^ _位元/校驗 處理器的數量應該等於·。例如,可選擇刻個並行處理器來支援 解碼遵從DVB-S2的訊號所要求的翻量。為了支援更高的輸出量,需 要的並行處理器更多。 -· 如圖9所示的實施例中LDPC解碼功能性9〇〇中,I、q輸入、量· 度產生器903 (如圖所示的MG 903)、控制器95〇以及對應的基於選擇 的LDPC碼951的控制訊號952與圖7所示的y)PC解碼功能性7〇〇中 42 1326987 的非常相似。但是,與圖7中的含仏。 . 的衣塊799相比,LDPC解碼功能性9〇〇 .包括有讎修改後的宏塊_ (如圖所示的他㈣)。 • 如9所示的實施例中,摘开彡狡a _ 桶树位疋器915包括在宏塊_内 這個實施例中的桶形移位器915鱼於、+w b與則述實施例中的桶形移位器615 桶形移位器715的不同之處在於,、士加虫^ ,上 処隹於迫個實施例中的桶形移位器915 服務於它所麵實際_99 _卩件。相反,桶轉姑615或桶 形移位器715每個都服務於它們各自的實施例中的巨集塊咖和巨隹 塊799的所有示例。因而桶形移位器915沒有桶形移位器阳或桶= 移位器715那麼複雜。 ^ 纟於桶形移位器915的位置與桶形移位器615或桶形移位器715 不同’必須小心,以確保對邊消息進行適當地移位元以便複數個位元/ 校驗處理H 91〇 _後續校驗節點處理或位元節點處理。同樣,由於 桶形移位ϋ 915的位置與桶形移位器615或桶形移位元器715不同, 需要對桶形移位元器962和繼進行重新配置以相容這種不同順 零序的處理。 與圖8中的實施例相似,圖9中的宏塊999可被複製預定的次數, 以協助提供比之前的實施例更有效的LDPC解碼功能性。宏塊999包括 -有所有的功能,可被複製以實現更加並行的處理結構。 、 一種能夠解碼遵從DVB-S2訊號的設計中包括18個單獨的宏塊示 例。提供給量度產生器903的I、Q值每個7位。量度產生器9〇3使用 7位的I、Q值生成的位元量度是每個為6位的值。 但是,圖9中宏塊999的每個塊的實現都與圖7中的宏塊799不 43 1326987 同。虛擬雙埠量度記憶體905 (如圖所示的PDPMM 905)在180x120 位上運算。這120個位每個都以2〇X6位實現;也就是說,有2〇個單 獨的值,每個值6位。從虛擬雙埠量度記憶體905輸出的位元量度也,. 具有120位(即,每個為20x6位)。 提供給複數個位/檢驗處理器91〇的這些位元量度可提供給位於 母個巨集塊内的並行配置的2〇個單獨的位元/校驗處理器。更具體 地’複數個位元/校驗處理器910包括BCP 911 (第1個位元/校驗處 理器)’…,以及BCP 912 (第20個位元/校驗處理器)。從這2〇個單拳 獨的位元/校驗處理器910中,適當地邊消息以12〇位元輸出(即,每 個為20x6位)。因此,每個宏塊999内的2〇個單獨的位元/校驗處理 器共有120位的輸出(即,2〇χ6位)。複數個位元/校驗處理器的- 20個位元/校驗處理器中的每一個均輸出6位元的邊消息。類似地, 桶形移位器915内適當移位元後的邊消息也是120位元(即,2〇χ6 位)。因此,桶形移位器915也共有120位(即,20x6位)的輸出。 同樣,解碼遵從DVB-S2的訊號時,消息傳送記憶體92〇需傳送792χ12()鲁 位的值。因而有120位(即,2〇χ6位)的解碼位從SARM 960中輸出。 與其他實施例一樣,要注意的是,桶形移位器915可在任何宏塊 999的内部或外部實現。如果桶形移位元器915在宏塊999外部實現, 單個桶形移位器可運算360x6位元的邊消息值。但是,當桶形移位元_ 器915在在塊999内部實現時’那麼將會有18個單獨的桶形移位芎 (即,每一個宏塊999中一個),運算120位(即,20x6位元)的邊 消息值。 :326987 . 還要注意的是,宏塊999的數量可進行選擇,以使LDpc解瑪功能 性900的總面積盡可能小。例如’為了解碼遵從DVB-S2的訊號,巨集 塊的數量乘以每個宏塊999的複數個位元/校驗處理器内的位元/ 校驗處理器的數量應該等於360。例如,可選擇360個並行處理器來 支援解碼遵從DVB-S2的訊號所要求的輸出量。為了支援更高的輸出 量,需要的並行處理器更多。 這裏還要注意的是,上述各個實施例中的控制器給其他的每個解 鲁碼功能塊提供同步資訊。更具體地,這包括為每個對應的量度產生器、 量度記憶體、複數個位元/校驗處理器、桶形移位元器和消息傳送記憶 體生成定時訊號。這些定時訊號提供給這些功能塊中的每一個,不管 .這些功能塊在特定的實施例中是怎樣實現的。如果必要,可對這些定 時訊號進行適當的修改,以適合給定的功能塊的實現方式。例如,根 據桶形移位元器是否在宏塊内部或外部實現,需要對定時訊號進行不 同地處理。 鲁 囉’如上所述,上逑各實施例中每個不同的LDpc解碼功能性都 能夠處理和解碼不同類型的LDpc編碼訊號,包括使用不同的奇偶校驗 矩陣產生的LDPC編碼訊號,以及具有不同的編碼率和/或調變類型且 、會基於逐訓框甚至逐塊變化的LDPC編碼訊號。例如,一個區塊可視為 、訓框内的-個符號群。在某些情況下,一訓框可包括複數個區塊。 上述各實施例中的控制器還可對每個LDPC碼使用π編程和可選 擇的參數。這些可編程和可選擇的參數包括每個LDpc=分圖的位元節 點度和校驗節點度。此外,這些可編程和可選擇的參數還包括資訊傳 45 1^26987 遞兄憶體定址和桶形移位器選擇參數。 奇偶ΓΙ’對:資訊位元節點,為位元提供了校驗切。同樣’對於' Y儲在,為位切提供了校驗句。通過這樣做’可雜兩者·· ^子:在相同的存館設備中(例如,相同的娜中)。這是可能的,因 有任2ΓΓ節點的位+q是可容許的,因為它們是+ι或句值都沒 元: _在__中不使用)°奇偶校驗位元節點的位 ’f雜恤蝴_繼處理的複數 处擎的順序+卜例如,實現如上所述的解碼遵從DVB-S2 的訊號的實_時,可㈣魅彳丨細_讀域理。例如, 該_健行處理引擎將處理對應咖個校驗節點(即,G,q,2q, 扣’ ··.)的刻個資訊位元節點(例如,節點〇至節點359)。對於奇 偶校驗位元節點’這獅個處理引擎將處理刻個位元節點(例如,η, 吻,^ ’响’ .··)。這些奇偶校驗位節對應該36Η固校驗節點(例 m m+q响’ ra+3q ’ ..·)。通過這樣做,所有_個邊消息存储 在存儲設備的_位置内’可在校驗節點處理和位元節點處理過程中 使用。不這樣做,則需要2個單獨的存儲設備㈠固存儲設備存儲對 應貝訊位7〇_的邊、;肖息,另—個存儲設備存儲對應奇偶校驗位 點的邊消息)。 這種相容不同類型的LDpC編碼訊號的自適應性使得上述各種實· 施例中的LDPC解碼功能性都能夠解瑪遵從醒—%料跳、編碼訊號: 圖10疋根據本發明一個實施例的量度產生器功能性剛〇的示意 圖如圖所7F S度產生器(如圖所示的MG)接收將為之計算量度的 46 1326987 相關符號的I、Q值。該ϊ、Q分量是單獨分開的,並分別提供給符號 里度计算器功能塊(如圖所示的SMC)内的I處理通道和Q處理通道。 更具體地,接收的I分量(如圖所示的Rxj)提供給丨處理通道,接 收的Q分量(如圖所示的RX—Q)提供給Q處理通道。沿著這些各自的 處理通道,確定鋪與其制_數(與生成雜定符號使用的 適當地調變相關)之_差值。更具體地’在丨處理通道中,從接收 的I分量(即,Rx_I)中減去ί係數(如圖所示的LC〇efj)。類似地, ♦在Q處理通道中,從接收的q分量(即,Rx_Q)中減料係數(如圖 所示的Q—Coefjh然後將每一個生成的差值進行平方(即,自己與自 己相乘)。接下來將生成的這些平方差值相加,並使用方差因數(用 .上VF表示,其值等於1/(2σ2),其中4標準偏差雜訊係數)進行 調整。然後符號量度計算器功能塊輸出符號量度(如圖所示的 synunetric(i)) ’隨後將該符號量度提供給位元量度計算器功能塊。 將這些符號量度提供給位元量度計算器功能塊後,便可計算每個 期,的位(bitof interest)的位元量度。如圖所示為計算位^的位 兀罝度。首先’使用位值m為〇的所有生成的符號量度來執行咖處 理。同樣,也可以首先使用位值^ j的所有生成的符號量度來執行 、min*處理。一旦確定了每一個處理的結果後,接下來確定它們之 、間的差值。還要注意的是,可使用直接的_處理代替仙*處理。現 有技術中使用符號量度計算位元量度的方法未採用min處理或_處 理。這是與現有技術的方法的重要區別,這也使性能相對于現有技術 得到了更好的改善。 47 1326987 量度產生器執行的計算可用數學式表示。符號量度的計算 synunetric(i)按照下式執行·· sMtncCi)=l/(2^)x [(^ί^ΐ^ί^+(Κχ_〇_ρ_006ί〇2]; 运-計异在圖中所示的符號量度計算器功能塊(就)内發生。 然後,特定位m的位元量度計算如下: bit_metCbit m)=mmall sym_nietric(i) with bit m=0]-min*[all syin_metric(i) with bit m=l] 這-計算相中所補位元量度位元t度計算器功能塊⑽)内 發生。 胃 還要注意的是’位元量度位元量度計算器魏塊喊行的計算也 可以僅使用與min*處理相對的min處理來執行。 如上所述’在此描述的各種解碼實施例都適用於解碼各種不同類 型的LDPC編碼訊號,包括其調變和/或編碼率基於逐塊頻繁變化的 LDPC編碼訊號。這種LDPC編碼訊號包括遵從眺兑標準的鹏編 碼訊號 以下的4個圖示出了不同係數的使用,這些係數用來為與不同調 變(即’每-個都包括有—個群鄉狀和—個對應的其畴集點的映 射的調變)相關的符號計算合適的量度。 圖11是根據本發明一個實施例的QPSK(正交相移鍵控)群集u〇〇-及其對應的二進位映射和其内採用的QPSIU^、數的示意圖。 . 每個群集點(constellation point)被適當標記。例如,QPSK 群集圖上的群集點標記如下: 48 0群集點〇〇, 1群集點01, 2群集點10, 3群集點11。 圖中’、他群集點的標記可類似i也執行,並可在圖中示专 這些群集點中的每-個都可以使用係數表示,從 T出Both 1 70-node processing and check node processing. For example, when decoding a set of X ΓΓ 'if the execution of the outline (four) is followed by N, the initial shift is performed to make the shifted bits back to their initial hypothesis before the bit node processing has a specific set of The _coded signal will be C-decoded. The amount of shift performed by the toilet-shaped shift thief 615 can be implemented in a _ (read-only memory) device to provide very fast calculation and processing when decoding the actual signal. . The shift value stored in j_ may be selected based on the connectivity of the edge between the bit node and the check node in the bipartite graph that produces the Cong coded 峨. The use of the controller 650 ensures that the LDPC decoding functionality _ can decode various coffee 2 code signals, and the signals complying with the D job are among them. However, the _decoding power 600 can also be used to perform decoding of other Cong coded signals. In addition, the function provided by the controller is used to perform the decoding of the _coded signal which is frequently changed on a block-by-block basis by performing the coding rate and/or (including the fresh set shape and mapping). For example, a block can be considered as a symbol group within the training box. In some cases, a training box • can include multiple blocks. Compliance with DVB-S2 signals - all symbols in a training frame have a common coding rate and modulation (including cluster shape and mapping), and the coding rate and / or modulation is based only on the training box . As described above, the plurality of bit/check processors 61 includes a set of bit/check processors such as BCP 611, ..., and BCP 612. In a number of bits / check processor _ in the real 37 1326987 how many galax / she is in the face of the choice. The village roots check the number of fines to choose how many bits/checking processors to use, including the decoded bits, the number of bits, the number of bits, the number of bits, the number of bits, the number of bits, the amount of memory The throughput speed is .· and the required area is _ total area. Selecting the bit/check processing (4)_real_multiple bits/check processing 1§ will result in more parallel class processing. It is also noted that several examples of macroblocks 699 can be implemented (as shown in Figure 9) to support parallel processing of the ingress. In this case, the macroblock_ includes a soldier storage structure 605, a plurality of bit/check processors (10), and a message transfer memory (10). Other examples of macroblocks are used in other embodiments that will be described below to support more efficient implementations and consume a smaller total area. In general, the total number of macroblocks selected should be such that the total area of the equipment is as small as possible. Regarding the macroblock 699, it is also desirable that the barrel shifter 615 need not be implemented therein. In this embodiment, the barrel shifter is actually implemented outside of macroblock 699 to serve a plurality of macroblocks. However, the barrel shifter 615 can also be implemented within the macroblock without the scope and substance (as will be described in other embodiments below). However, it is better to say that it is better to place the barrel shifter on the outside of the macroblock _ Lu, because this will not delay or slow down the messaging memory (10) (which can be implemented using the memory) Access time. When the barrel shifter 615 is located outside the macroblock 6', it is necessary to use the pipeline register (pipeline registe〇 to ensure access synchronization to/from the message transfer memory 620. -' and 'each of the LDPC decoding functionality' The function block implementation (by using the bucket shifter 615, in conjunction with the messaging memory 62 (four) single function block), allows the messaging memory 620 to use a single port of storage; this inevitably occupies 38 1326987 devices than the dual port storage It has less area and consumes less energy than a dual-port storage device.: As described above, 'using pulse decoding functionality _ can decode various types of LDPC encoding minus. The town will provide - bit and word width A specific example, and the number of bit/check processors in a plurality of bit/check processors (10) to show their relationship in a particular case. The Q values provided to the metric generator 603 are each It is 7 bits. The metrics generated by the metric generator 603 using the 7-bit I and Q values are each 6 bits. Therefore, each of the two separate metric memory coffees and 6 〇 7 is operated with 6 bits. Value; this The length of the DVB-S2 block is 64,800 bits. When designing a structure that can decode DVB-S2 signals, the bit metric output from the metric generator 63〇 needs to have 360x6 bits; that is, there are The same value, • each value is 6. The bit metric can be supplied to the parallel configuration of the 36 〇 unique bit / 'check processor. More specifically, the multiple bits / check processing $ _ includes chat 6 ι U 1 bit check processor), ..., and BCP 612 (sixth bit / check processor). The side message output from the 360 individual bit/check processors is a 6-bit value. Thus, the total output of the 360 individual bit/check processors is a fine-grained bit; each bit/check processor outputs a 6-bit side message. Similarly, the edge message of the appropriate shifting element within bucket indexer 615 is also every 6 bits. Therefore, the Qing Shift ride output also has a hill, - the position. Similarly, when decoding the signal following 眺S2, the message transfer memory will be 792x360x6 bits. So there are 360 unmixes output from __. It is also noted that the bit values in the above description are just one possible embodiment of the implementation/decoding functionality. According to the present invention, different amounts of money are used for the respective values in the above embodiments, and it is also possible to implement a unique embodiment. 39 1326987 The mid-vein of the embodiment shown in Figure 7; the decoding functionality is exactly the same as the assignment function _ in Figure 6 except that virtual 埠 埠 记忆 memory is used? 〇5 (face 7〇5 as shown in Fig.) replaces the soldier's wrong structure. The virtual double 埠 metric memory 705 ' can support dual special storage management, even if it is a 單埠 storage device. By making it off? The virtual double 蟑 metric memory 705 replaces the soldier storage structure 〇5 (including the double 埠 storage structure) in FIG. 6 and the LDpc decoding functional paste can significantly save space. In the embodiment shown in Fig. 7, the value of the DVB-S2 compliant virtual double 埠 metric memory 7 〇 5 operation (10) χ 36 〇χ 6 bits is processed similarly to the description in Fig. 6. In the LDPC decoding function 800 of the embodiment shown in FIG. 8, the 丨, Q input, metric generator 803 (such as MG 803 as shown), the controller 850, and the corresponding control based on the selected LDPC code 851 The signal 852 is very similar to the LDpc decoding functionality shown in FIG. However, compared to macroblock 699 in Figure 6, LDPC decoding functionality 8 includes a slightly modified macroblock 899 (MB 899 as shown). Macroblock 899 can be copied a certain number of times to assist in providing 11% more efficient than the previous embodiment. (;: Decoding functionality. Macroblock 899 includes all the functionality that can be replicated to achieve more parallelism. Processing Structure In the embodiment shown in Fig. 8, the barrel shifter 815 is included inside the macro block 8. The barrel shifter 815 in this embodiment and the barrel shifter 615 in the foregoing embodiment. Or the 移位-shaped shifter 715 is different in that the barrel shifter 815 in this embodiment only serves the components within the actual macro block 899 in which it resides. Instead, the barrel shifter 615 or bucket The shape shifters 715 each serve the ^26987 32 of the macro block 699 and the macro block 799 in the respective embodiments. Thus the barrel shifter 815 has no pick-up shifter 6丨5 or barrel shift The difference between the position of the shifter 815 and the barrel shifter 615 or the barrel shifter 715 & is appropriately shifted by the subsequent check node processing or bit node in the _0 Also, since the position of the ♦ indexer 815 is different from the barrel shifter 615 or the barrel shifter 715: The shifting element removes and bribes 86〇 for reconfiguration to be compatible with this sequence of processing. A macroblock example that can decode the compliant-S2峨 design including 18 solutions is provided to the 1 degree generator 8〇3 The I>Q value is 7 bits each. The metric measure generated by the metric generator using the 7-bit I and Q values is a value of 6 bits each. However, each block of the macro block 899 in Fig. 8 The implementation is different from the macroblock 6卯 in Figure 6. The soldier storage structure 8G5 (PPMS 8G5 as shown) includes the measurement memory 8〇6 spear 807 (as shown in Figure 805 and MM 807). Operates on 180x120 bits. These 120 bits are each implemented as 20x6 bits; that is, there are 2 separate values, each value is 6 bits. The bit metric output from the ping pong storage structure 805 also has 12〇. The bits (i.e., each 20x6 bits). These bit metrics provided to the plurality of bit/verify processors 810 can be provided to 2 separate bits/checks of the parallel configuration located within each macroblock. More specifically, the plurality of bit/check processors 810 include BCP 811 (1st bit/check processor) '...' and BCP 812 (No. 20 bits/check processor. From these 20 separate bit/check processors 810, the appropriate side messages are output in 120 bits (ie, 20 x 6 bits per 41 1326987). Each of the 2 individual bit/check processors in each macroblock has a total of 120 bits of output (ie, fine bits). The complex bits are corrected by the processor. 20 bits/bit processing Each of the outputs outputs a 6-bit side message. Similarly, the side message after the appropriate shift in the barrel shifter 815 is also 12 bits (i.e., 2 〇χ 6 bits). Therefore, the barrel shifter 815 also has an output of 12 ( (ie, 2 〇 young). Similarly, the decoding conforms to the DVB-S2 message, and the message transmission key needs to transmit a value of 792 χΐ 2 。. Thus, the decoded bits of 12 bits (ie, the drain bits) are output from SARM_. It is to be noted that the barrel shifter 815 can be implemented inside or outside of any macro block _. If the barrel shifter 815 is implemented outside the macroblock_, a single bucket shift can calculate the side message value of the x6 bit, that is, when the #barrel shifter 815 is implemented inside the macroblock 899' Then there will be 18 separate barrel shifters (i.e., one of each macroblock 899) that computes the edge message value of 120 bits (i.e., 2 〇χ 6 bits). It is also noted that the number of macroblocks 899 can be selected such that the total area of the LDpc decoding functionality 800 is as small as possible. For example, to decode a signal that complies with dvb_s2, the number of macros < blocks multiplied by the number of complexes per check block 'checksum ^ _ bit / check processor should equal . For example, a parallel processor can be selected to support the decoding required to decode DVB-S2-compliant signals. In order to support higher output, more parallel processors are needed. - In the LDPC decoding functionality of the embodiment shown in FIG. 9, I, q input, quantity and degree generator 903 (MG 903 as shown), controller 95, and corresponding selection based on selection The control signal 952 of the LDPC code 951 is very similar to the y) PC decoding functionality shown in Figure 7 of 42 1326987. However, it is the same as that contained in Figure 7. Compared to the 799, the LDPC decoding functionality is 9 〇〇. It includes the modified macroblock _ (as shown in the figure (4)). • In the embodiment shown in Figure 9, the 彡狡a _ bucket tree position 915 is included in the macroblock _. The barrel shifter 915 in this embodiment is in the +wb embodiment. The barrel shifter 615 is different from the barrel shifter 715 in that it is the same as the barrel shifter 915 in the embodiment, serving the actual _99 _ Mail. Instead, the bucket 615 or barrel shifter 715 each serves all of the examples of the macroblocks and python blocks 799 in their respective embodiments. Thus the barrel shifter 915 is not as complicated as the barrel shifter positive or the bucket = shifter 715. ^ The position of the barrel shifter 915 is different from the barrel shifter 615 or the barrel shifter 715 'Must be careful to ensure that the edge message is properly shifted for multiple bits/check processing H 91〇_Subsequent check node processing or bit node processing. Also, since the position of the barrel shift ϋ 915 is different from the barrel shifter 615 or the barrel shifter 715, the barrel shifter 962 and subsequent reconfiguration are required to be compatible with this different zero. Order processing. Similar to the embodiment of Figure 8, macroblock 999 in Figure 9 can be copied a predetermined number of times to assist in providing LDPC decoding functionality that is more efficient than previous embodiments. Macroblock 999 includes - all functions that can be copied to achieve a more parallel processing structure. A design that can decode DVB-S2 compliant signals includes 18 separate macroblock examples. The I and Q values supplied to the metric generator 903 are each 7 bits. The metric measure generated by the metric generator 9 〇 3 using the 7-bit I and Q values is a value of 6 bits each. However, the implementation of each block of macroblock 999 in Figure 9 is the same as macroblock 799 in Figure 7 not 43 1326987. The virtual double 埠 metric memory 905 (PDPMM 905 as shown) operates on 180x120 bits. These 120 bits are each implemented with 2〇X6 bits; that is, there are 2 unique values, each with 6 bits. The bit metric output from the virtual double metric memory 905 also has 120 bits (ie, each is 20x6 bits). These bit metrics provided to a plurality of bit/verify processors 91A are provided to 2 separate bit/check processors in parallel configuration within the parent macroblock. More specifically, the plurality of bit/check processors 910 include BCP 911 (1st bit/check processor) '..., and BCP 912 (20th bit/check processor). From these two single-bit/check processors 910, the appropriate side messages are output in 12-bit units (i.e., each is 20x6 bits). Thus, 2 individual bit/check processors within each macroblock 999 have a total of 120 bits of output (i.e., 2 〇χ 6 bits). Each of the 20 bits/check processors of the plurality of bits/check processors outputs a 6-bit side message. Similarly, the side message after the appropriate shifting element in the barrel shifter 915 is also 120 bits (i.e., 2 〇χ 6 bits). Therefore, the barrel shifter 915 also has a total of 120 bits (i.e., 20 x 6 bits) of output. Similarly, when decoding a signal conforming to DVB-S2, the message transfer memory 92 does not need to transmit the value of the 792 χ 12 () lu bit. Thus, 120 bits (i.e., 2 〇χ 6 bits) of decoded bits are output from the SARM 960. As with the other embodiments, it is noted that the barrel shifter 915 can be implemented inside or outside of any macro block 999. If the barrel shifter 915 is implemented outside of the macroblock 999, a single barrel shifter can compute a side message value of 360x6 bits. However, when the bucket shifter 915 is implemented inside block 999, then there will be 18 separate bucket shifts (ie, one of each macroblock 999), which operates 120 bits (ie, Side message value of 20x6 bits). :326987. It is also noted that the number of macroblocks 999 can be selected such that the total area of the LDpc gamma function 900 is as small as possible. For example, in order to decode a DVB-S2-compliant signal, the number of macroblocks multiplied by the number of bits per macroblock 999/the number of bits/check processors in the check processor should be equal to 360. For example, 360 parallel processors can be selected to support the output required to decode DVB-S2-compliant signals. To support higher output, more parallel processors are needed. It should also be noted here that the controllers in the various embodiments described above provide synchronization information for each of the other unblocking function blocks. More specifically, this includes generating timing signals for each corresponding metric generator, metric memory, complex bit/check processor, barrel shifter, and messaging memory. These timing signals are provided to each of these functional blocks, regardless of how these functional blocks are implemented in a particular embodiment. If necessary, these timing signals can be appropriately modified to suit the implementation of a given function block. For example, depending on whether the barrel shifter is implemented inside or outside the macroblock, the timing signal needs to be processed differently. Recklessly, as described above, each of the different LDpc decoding functions in the various embodiments can process and decode different types of LDpc encoded signals, including LDPC encoded signals generated using different parity check matrices, and have different The coding rate and/or modulation type, and will be based on training boxes or even block-by-block LDPC coded signals. For example, a block can be thought of as a group of symbols within a training box. In some cases, a training box may include a plurality of blocks. The controller in each of the above embodiments may also use π programming and optional parameters for each LDPC code. These programmable and selectable parameters include the bit node and check node degrees for each LDpc = submap. In addition, these programmable and selectable parameters include information transfer and bucket shifter selection parameters. Parity ΓΙ' Pair: The information bit node provides a check cut for the bit. Similarly, for 'Y', a checksum is provided for the bit cut. By doing this, you can mix the two... in the same depository device (for example, the same Na Na). This is possible because the bits +q of any 2ΓΓ node are tolerable because they are +ι or the value of the sentence is not meta: _ is not used in __) the bit of the parity bit node 'f The order of the multiplexed _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ For example, the _ hingling process engine will process the engraved information bit nodes (e.g., node 〇 to node 359) corresponding to the check nodes (i.e., G, q, 2q, deductions). For the even parity bit node', the lion processing engine will process a bit node (eg, η, kiss, ^ 'ring' . . . ). These parity bits correspond to 36 校验 check nodes (for example, m m+q rings ' ra+3q ’ . . . ). By doing so, all _ side messages are stored in the _ location of the storage device and can be used during check node processing and bit node processing. If you don't do this, you need two separate storage devices. (1) The solid storage device stores the edge corresponding to the signal bit 7〇_; and the other storage device stores the edge message corresponding to the parity bit). The adaptability of such compatible LDpC coded signals allows the LDPC decoding functionality in the various embodiments described above to be interpreted as a wake-up, coded signal: FIG. 10A, in accordance with an embodiment of the present invention The schematic diagram of the functional generator is shown in Figure 7. The SF generator (the MG shown in the figure) receives the I and Q values of the 46 1326987 related symbols for which the metric will be calculated. The ϊ and Q components are separately separated and provided to the I processing channel and the Q processing channel in the symbol metric calculator function block (SMC as shown). More specifically, the received I component (Rxj as shown) is provided to the processing channel, and the received Q component (RX-Q as shown) is provided to the Q processing channel. Along these respective processing channels, the difference between the shop and its number (associated with the appropriate modulation used to generate the miscellaneous symbols) is determined. More specifically, in the 丨 processing channel, the ί coefficient (LC〇efj as shown) is subtracted from the received I component (i.e., Rx_I). Similarly, in the Q processing channel, the coefficient of subtraction is subtracted from the received q component (ie, Rx_Q) (Q-Coefjh as shown in the figure then squares each generated difference (ie, it is self-contained with itself) Multiply. Then add the resulting squared differences and use the variance factor (represented by VF, which is equal to 1/(2σ2), where 4 standard deviation noise coefficients). Then the symbol metric is calculated. The function block output symbol metric (synunetric(i) as shown) 'The symbol metric is then provided to the bit metric calculator function block. After providing these symbol metrics to the bit metric calculator function block, Calculate the bit metric of the bit of interest for each period. As shown in the figure, calculate the bit 兀罝 of the bit ^. First, use all generated symbol metrics whose bit value m is 〇 to perform coffee processing. It is also possible to first perform, min* processing using all generated symbol metrics of the bit value ^ j. Once the results of each processing are determined, the difference between them is determined next. Use direct _ The method of calculating the bit metric using symbol metrics in the prior art does not use min processing or _ processing. This is an important difference from the prior art method, which also makes the performance better than the prior art. Improvements 47 1326987 The calculations performed by the metric generator can be expressed in mathematical formulas. The calculation of the symbol metrics synunetric(i) is performed as follows: sMtncCi)=l/(2^)x [(^ί^ΐ^ί^+( Κχ_〇_ρ_006ί〇2]; The operation-counting occurs in the symbol metric calculator function block shown in the figure. Then, the bit metric of the specific bit m is calculated as follows: bit_metCbit m)=mmall sym_nietric( i) with bit m=0]-min*[all syin_metric(i) with bit m=l] This - occurs in the calculated bit metric metric bit t-degree calculator function block (10)). Stomach It should also be noted that the calculation of the 'bit metric metric metric calculator' can also be performed using only the min processing as opposed to the min* processing. The various decoding embodiments described herein are suitable for decoding various different types of LDPC coded signals, including LDPC coded signals whose modulation and/or coding rate is based on a block-by-block variation. The LDPC coded signal includes four graphs below the Peng coded signal that complies with the currency standard. The following figures show the use of different coefficients. These coefficients are used for different modulations (ie, each one includes a group of townships). The appropriate metric is calculated for the associated symbol with the corresponding modulation of the mapping of its domain set points. 11 is a diagram showing a QPSK (Quadrature Phase Shift Keying) cluster u〇〇- and its corresponding binary map and QPSIU^, numbers employed therein, in accordance with one embodiment of the present invention. Each cluster point is appropriately labeled. For example, the cluster points on the QPSK cluster map are labeled as follows: 48 0 cluster point 1, 1 cluster point 01, 2 cluster point 10, 3 cluster point 11. In the figure, the mark of his cluster point can be executed similarly to i, and can be shown in the figure. Each of these cluster points can be represented by a coefficient, from T

維圖的I、Q轴延伸。由於該群集形狀關於卜Q原點對稱:化者-兩個係數來表示圖中的所有群集點。因為這種對稱,這 而 作疋相同的值’但符號相反。因而描述QPSK形狀的群集内的戶可看 個點只需要兩個不同的綠值。 、所有4 更具體地,群集中每個點的笛卡爾座標形式可描述如下: 0群集點00今笛卡爾座標(PJ,PJ ), 1群集點01 +笛卡爾座標(PJ,P_3), 2群集點10+笛卡爾座標(p_3,P_1), 3群集點12->笛卡爾座標(p_3,P_3)。 圖12是根據本發明一個實施例的8 psK (相移鍵控)群集η卯 及其對應的二進位映射和其内使用的8 ?级係數的示意圖。 .這種群集中的每個點也可以使用係數表示,從丨、Q原點分別沿著 •二維圖的I、Q轴延伸。該8 PSK群集形狀也使用4個群集點,但這4 個群集點關於I、Q原點的位置比上圖中QpSK群集形狀内的要小。由 此可見,與前述實施例的QPSK調變内的一樣,也可以使用某些相同的 係數來插述8 PSK調變内的群集點❶描述8 PSK形狀的群集内的所有 49 1^26987 8個點只需要4個不同的系數值。 更具體地,該群集中每個點的笛卡爾座標可描述如下: 0群集點000>笛卡爾座標(P—1,P_1), 1群集點001今笛卡爾座標(PJJ,p_〇), 2群集點010->笛卡爾座標(〇,p_2), 3群集點011 +笛卡爾座標(p_3,p-3), 4群集點1〇〇">笛卡爾座標(〇,p_〇), 5群集點+笛卡爾座標(pj,P_3), 6群集點11〇+笛卡爾座標(ρ_3,ρ_ι), 7群集點111今笛卡爾座標(〇,p—2)。 圖13是根據本發明 -猫1貝例的16 QAM群集1300及其對應的十 ’、進位映射和其岐㈣16⑽絲的示意圖。 與上述的實施例類似,該群集中每個點也可以使用係數表示,從 1、撕伸。峨16 ⑽ __ 集内的所有罐Γ嗎鍵彻㈣咖形狀的群 更具體地’該群細每個.關笛卡縣標可描述如下: 〇群集點⑼盼笛卡爾座標(QJ,Q_l), 1群集點〇〇〇1~>笛卡爾座標(Q—卜Q—2), 2群集點_)+笛卡爾座標(〇,Q」), 3群集點0011·>笛卡爾座標(Q—〇 Q—〇), 4群集㈣騰笛相座標(q_3,qj), 50 1326987 5群集點0101 +笛卡爾座標(Q—2,Q—〇, 6群集點0110+笛卡爾座標(q_3,q—0), 7群集點0111·>笛卡爾座標(Q_2,q_0)。 8群集點1〇〇〇~>笛卡爾座標(q_3,q_3), 9群集點1001今笛卡爾座標(q_2,q_3), A群集點1010今笛卡爾座標(q_3,q_2), B群集點1011 +笛卡爾座標(q_2,q_2), C群集點1100;笛卡爾座標(qj,q_3), D群集點笛卡爾座標(q—〇,q_3), E群集點111〇·>笛卡爾座標(Qj,q_2), F群集點笛卡爾座標(q_〇,q—2)。 圖14是根據本發明一個實施例的16 APSK群集14〇〇及其對應的 十六進位映射和其内使用的16 APSK係數的示意圖。 與上述實施例類似,該群集内每個點也可以使用係數表示,從!、 L原點刀別沿者—維圖的丨、Q軸延伸。更具體地,該群集内每個點的 畜卡爾座標可描述如下: 〇群集點0000+笛卡爾座標(A 5 ,Α_5) 1群集點0001今笛卡爾座標(A 5 ,Α_7) 2群集點0010~>笛卡爾座標(a 7 ’A—5) 3群集點0011 +笛卡爾座標(a 7 ,A一7) 4群集點〇1〇〇~>笛卡爾座標(a 1 ,A_0) 5群集點〇1〇1·>笛卡爾座標(a 1 Ά_2) 51 1326987 6群集點0110+笛卡爾座標(A_3,A_0), 7群集點0111 +笛卡爾座標(A_3,A—2)。 · 8群集點1000_>笛卡爾座標(A_0,A_1), ' 9群集點1〇〇1>>笛卡爾座標(A_〇,a—3), A群集點1010+笛卡爾座標(A_2,Aj), B群集點1011~>笛卡爾座標(A—2,A_3), C群集點11〇〇«>笛卡爾座標(a」,A—4), D群集點1101_>笛卡爾座標(A_4, A—6), φ E群集點1110+笛卡爾座標(A_6,A—4), F群集點0111 +笛卡爾座標(A_6,A—6)。 也要注意的是,這些調變的每一種(QPSK、8 PSK、16 QAM以及16 * APSK)也可用在DVB-S2標準中。 . 圖15是根據本發明一個實施例的調變係數表的示意圖。這個表示 出了如何基於使用的調變選擇合適的係數來計算其中相關的量度。由 表可見’對於每種調變’選擇不同的值用作係數。因而可有多達^個麝 係數(例如’對於16 APSK調變),4個係數(對8视或Μ _調The I and Q axes of the Vittor extend. Since the cluster shape is symmetric about the origin of the Bu Q: the actor - two coefficients to represent all the cluster points in the graph. Because of this symmetry, this is the same value' but the opposite sign. Thus, a user who is in a QPSK-shaped cluster can only see two different green values. More specifically, the Cartesian coordinates of each point in the cluster can be described as follows: 0 cluster point 00 today Cartesian coordinates (PJ, PJ), 1 cluster point 01 + Cartesian coordinates (PJ, P_3), 2 Cluster point 10+ Cartesian coordinates (p_3, P_1), 3 cluster points 12-> Cartesian coordinates (p_3, P_3). Figure 12 is a diagram of an 8 psK (phase shift keying) cluster η 卯 and its corresponding binary map and the 8 级 coefficients used therein, in accordance with one embodiment of the present invention. Each point in this cluster can also be represented by a coefficient extending from the 丨 and Q origins along the I and Q axes of the 2D map. The 8 PSK cluster shape also uses 4 cluster points, but the locations of the 4 cluster points with respect to the I and Q origins are smaller than those in the QpSK cluster shape in the above figure. It can be seen that, as in the QPSK modulation of the previous embodiment, some of the same coefficients can be used to interpret the cluster points within the 8 PSK modulation. All of the clusters in the 8 PSK shape are described. Only four different coefficient values are needed for each point. More specifically, the Cartesian coordinates of each point in the cluster can be described as follows: 0 cluster point 000 > Cartesian coordinates (P - 1, P_1), 1 cluster point 001 today Cartesian coordinates (PJJ, p_〇), 2 cluster point 010-> Cartesian coordinates (〇, p_2), 3 cluster points 011 + Cartesian coordinates (p_3, p-3), 4 cluster points 1〇〇"> Cartesian coordinates (〇, p_ 〇), 5 cluster points + Cartesian coordinates (pj, P_3), 6 cluster points 11 〇 + Cartesian coordinates (ρ_3, ρ_ι), 7 cluster points 111 Descartes coordinates (〇, p - 2). Figure 13 is a schematic illustration of a 16 QAM cluster 1300 and its corresponding ten', carry map and its 四(iv) 16(10) filaments in accordance with the present invention. Similar to the embodiment described above, each point in the cluster can also be represented by a coefficient, which is torn from 1.峨16 (10) __ All the cans in the set? (4) The group of coffee-shaped groups is more specific 'The group is fine. Each can be described as follows: 〇 Cluster point (9) Descartes coordinates (QJ, Q_l) , 1 cluster point ~ 1~> Cartesian coordinates (Q-Bu Q-2), 2 cluster points _) + Cartesian coordinates (〇, Q), 3 cluster points 0011·> Cartesian coordinates ( Q—〇Q—〇), 4 clusters (four) whistle phase coordinates (q_3, qj), 50 1326987 5 cluster points 0101 + Cartesian coordinates (Q-2, Q-〇, 6 cluster points 0110+ Descartes coordinates (q_3 , q—0), 7 cluster point 0111·> Cartesian coordinates (Q_2, q_0). 8 cluster point 1〇〇〇~> Cartesian coordinates (q_3, q_3), 9 cluster point 1001 Descartes coordinates ( Q_2,q_3), A cluster point 1010 Descartes coordinates (q_3, q_2), B cluster point 1011 + Cartesian coordinates (q_2, q_2), C cluster point 1100; Cartesian coordinates (qj, q_3), D cluster point Cartesian coordinates (q_〇, q_3), E cluster point 111〇·> Cartesian coordinates (Qj, q_2), F cluster point Cartesian coordinates (q_〇, q-2). Figure 14 is in accordance with the present invention. 16 APSK cluster of one embodiment 14〇 〇 and its corresponding hexadecimal mapping and a schematic diagram of the 16 APSK coefficients used therein. Similar to the above embodiment, each point in the cluster can also be represented by a coefficient, from !, L origin. The 丨, Q axis extension of the graph. More specifically, the stagnation coordinates of each point in the cluster can be described as follows: 〇 Cluster point 0000 + Cartesian coordinates (A 5 , Α _5) 1 Cluster point 0001 Descartes coordinates (A 5, Α_7) 2 cluster point 0010~> Cartesian coordinates (a 7 'A-5) 3 cluster point 0011 + Descartes coordinates (a 7 , A-7) 4 cluster points 〇 1〇〇~> Descartes Coordinates (a 1 , A_0) 5 cluster points 〇1〇1·> Cartesian coordinates (a 1 Ά_2) 51 1326987 6 cluster points 0110 + Cartesian coordinates (A_3, A_0), 7 cluster points 0111 + Cartesian coordinates ( A_3, A-2) · 8 cluster points 1000_> Cartesian coordinates (A_0, A_1), '9 cluster points 1〇〇1>> Cartesian coordinates (A_〇, a-3), A cluster point 1010 + Cartesian coordinates (A_2, Aj), B cluster points 1011~> Cartesian coordinates (A-2, A_3), C cluster points 11〇〇«> Cartesian coordinates (a", A-4), D Cluster point 110 1_> Cartesian coordinates (A_4, A-6), φ E cluster point 1110 + Cartesian coordinates (A_6, A-4), F cluster point 0111 + Cartesian coordinates (A_6, A-6). It should also be noted that each of these modulations (QPSK, 8 PSK, 16 QAM, and 16 * APSK) can also be used in the DVB-S2 standard. Figure 15 is a schematic illustration of a modulation coefficient table in accordance with one embodiment of the present invention. This shows how to choose the appropriate coefficients based on the modulation used to calculate the relevant metrics. It can be seen from the table that 'different values' are selected for the coefficients for each modulation. Thus there can be as many as 麝 coefficients (eg 'for 16 APSK modulations'), 4 coefficients (for 8 or Μ _ 调

例如,當計算與具有QPSK 11十异與任何調變相關的量度,只要選擇 調變)用於量度的計算。 調變的一個符號相關的量度時,分別選 52 1326987 擇和C〇(3的值為p—i和p—3。類似地 •調變的符號相關的量度時,c〇efJ)、c〇eU、㈣ ^咖 ,可分別選擇為P〇、Pl、p2^p3 oe ~的值 w _ Μ和P-3對於表令描述的其他調變類型, 考慮到群集形狀和對應鱗定__變的映射,可峨賴似的方 式來選擇系數值(例如,C〇ef—〇至c〇ef—7)。通過使用這種方法’系 數值可基於想要的調變進行選擇’因而可以採用單個量度產生器社槿 來為多種霞麵執行纽計算。以下縣合_贿_量; 器結構的幾個實施例。 又 圖16,圖17,和圖18是根據本發明幾個實施例的量度產生 結構示意圖。 ° 、 如圖16所不的1度產生器結構16〇〇,其功能性可分成符號量度 計算器功能塊(如圖所示的SMC)和位元量度位元量度計算器功能^ (如圖所示的MC)。符號量度計算器功能塊計算複數個符號量度(如 圖所科synunetHes),低量度計算捕賊贿魏個符號量度 來計算複數個位元量度(如圖所示的bit metrics)。量度產生器結構 1600可以;^硬體,執行上述的鮮計算,並具有相容魏個不同的編 碼率和/或調變的能力。 . 根據本發明的可變編碼率功能性,為了支援多種編碼率和/或調 ,變,使用了複數個I、Q係數,接收符號的丨值(以—丨)與複數個I 係數(如圖所示的LCoef—O,…以及I_Coef—7)之間的“差值,,都被 同時計算。類似地,接收符號的q值(Rx_Q)與複數個Q係數(如圖 所示的Q—Coef—Ο,…以及Q 一 Coef_7)之間的“差值”都被同時計算。 53 1326987 在某些實施例中這些值的精度為9位。要注意的是,這些“差值,,都 通過使用上述群集的對稱性來計算,其中僅做加法,不做減法,從而, 節省了硬體。 . 然後對每-個這種紐(通過執行加法以及基於群獅狀的對稱 性合適選擇的係數生成)進行平方運算。在某些實施例中這些平方值 的精度為18位。隨後對這些平方值進行舍入運算。因而,在某些實施 例中廷些值的精度四捨五入至9位。然後,這些舍入後的值被傳送給 相應的寄存器(如圖所示的rEg)。 在其相應的寄存器内放置預定的時間後(例如,一個時鐘週期), 當從總的剩餘位數中選擇出預定數量的有效位時,每個寄存器的輪出 被傳送給相應的飽和功能塊(如圖所示的SAT)。每個飽和功能塊的 ·,Μ—yO。某些實施例中這些值的精歧7位。然後將 t輸出祕給平方輸出複用器⑽),或者平方輸出隨 示的SO MUX)。 、邓團所 從平方輸出MUX中選擇值,這種選擇由一個控制器(如圖所 N)提供的調變和/或編碼率支配。如上面的其他實施例中所描述的 根據被解碼的咖編碼訊轉軸碼率和/或調變來 控制跳解碼功能性的某些功能塊的操作。 巧變來· 在平方輸出MUX中通過使用控制器提 . 合適的項料摊φ miv丄 細射選擇後, 、付輸出職中輸出,並被選擇和相加 版歲㈣心,如圖中S(U〇〇ut所示,與項 項 54 丄 -Q Q_Coef』)2 ’如圖中Sq_q〇⑽所示,被相加。從平方輪出 •中輸出的1相關輪出指示出了 I轴距離’將接收訊號的ί分量與 彻獅織!係數^ 開。 ;、ϋ «平方輸出眶中輸出的Q相關輸出指示出了 〇轴距離, :訊说的Q刀里與對應基於適當編碼率和/或調變的適當群集的 群集點的預定q係數分開。 、' 、選擇來自平方輪出眶的適當輸出相加獲得的相加值,接下來被 的寄存器(如圖中REG所示)’並在寄存器中停留預定的時 服(例如,-個時鐘週期)。織對對應的每個值進行方差因數缩放 :中心㈤2)所示)並最後進行時五人,得有理想位精 涵值。σ疋接收的訊號的標轉簡標準偏差。 然後,符號量度計算器功能塊(如圖中寧-耐心所示)產生 從符號量度計算器功能塊中輪出’並提供給紅量度位元 异⑦功桃。位元量度位糖度計算器魏塊計算相應的位元 里又(如圖中IntjetAs所示)。對於符肋的每她元⑹,基 7碼率和/或調變(由控制器提供的訊號所確定和控制,如圖中· ·.所不),位元量度位元量度計算器功能塊對所有W的符號量度(即, ^ _伽。也_,位爾輸功能塊為 ::母!:元位置中位值為1的所有符號量度執行_。類似 地,位兀讀錢量财算器魏塊騎有W的符缝度(即, 机敝1C值)執行rain*處理。也就是說,位元量度計算器功能塊為 55 1326987 度執行min*處理。然 從而生成對應的位元 符號的每個位元位置中位值為〇的所有的符號量 後確定這兩個單獨的min*處理結果之間的差值, 量度(如圖中bitjnetrics所示)。 可選擇地,在其⑽實關巾,位元量度之計算器魏塊可執行 直接的min處理(沒有對數校正因數)。這種情況下,可確定這兩個單 獨的直接min處理結果之間的差值,從而生成對應的位元量度(如圖 中 bit_metrics 所示。) 如以下描述的兩個其他可能的量度產生器結構所示,還有許多其 他可能的方絲實現量度產生H功紐,而不脫離本發_範圍和精 神。每個這些不同的量度產±器結構都可支援變數編碼鉢/或調變訊 號。 在量度產生器結構麵中,對平方輸謂χ的輸出訊號執行方差 因數縮放。可選擇地’訊號因數縮放可在處理中更早階段執行。在某 些情況下,這種方法提供了更好和更有效的實現。 如圖Π所7F的里度產生器結構刪,符號量度計算器功能塊(如鲁 圖中SMC所示)的運算與前述實施例中的量度產生器結構麵不同。 位元塁度位元1_度4算器功能塊(如圖中騰所示)與前述實施例的 直度產生器結構1600類似。與前述實施例的量度產生器結構16〇〇類 似’ ®度產生器結構1700從-個控制器(如圖中c〇N所示)接收編碼‘ 率和/或調變控制訊號,以控制量度產生器結構·的不同功能塊的’ 操作。 與上述量度產生器結構1_的實施例類似,為了支援多種編瑪率 56 1326987 和/或調變’ $度產生H結構⑽使用了複數個〖、Q係數。接收訊號 的I值(Rx—I)和複數個I係數(如圖中Lad..以及LCod—7 .所示)之間的差值都被同時計算。類似地,接收訊號的卩值(㈣) 和複數個Q係數(如圖中Q—c〇efJ),...以及Q—c〇ef_7所示)之間的差 ,都被同時計算。在·實施财,這些值的精度是9位。要注意的 疋可通過使用上述群集的對稱性來計算所有的這些“差值”,其中 可僅執行加法,不執行減法,因而節省了硬體。 ’、、、:後對每個這種差值”(通過執行加法以及基於群集形狀的 對雛適當選擇的係數所生成)進行絕對值運算。之後,將這些值傳 遞給相應的寄存以如圖中_所示)。在其相應的寄存器内停留預定 的時間段後(例如’ -個時鐘週期),接下來對每個相應寄存器的輸出 進行西格馬因數縮放(如圖fSF(G 7(m/(7)所示)。西格馬,卜是 接收訊號的標準雜訊的標準偏差。進行西格馬縮放後,繼續對這些= 進行舍入運算’並隨後傳遞給寄存器(仍如圖中騰所示)。在寄存 中停留預定㈣·後(例如,—個時鐘職),每個輸出被傳遞給= 應的絕對值和付祕塊。應的簡值和平方魏塊的輪出 進行舍入運算,紐將之傳遞給減的寄抑(如圖中Μ所示)。— .個寄存器的輸出表示為!值(即,免厲心,.··^)以及㈣(即母 >-y〇’Sq一yl,...Sq_y7)。錢將這些輸出提供給平方輸出複用器, (ΜϋΧ)’或平方輸出MUX (如圖中s〇 MUX所示)。 從平方輸出眶中選擇值,這種選擇由一個控制器(如圖所 ⑽)提供的峨和/⑽碼率魏。如上面的其他實施例中所描述的 57 ㈣艮據被解碑的㈣編喝訊號的符號的編碼率和/或調變來 控制咖解细紐㈣些功麵賴作。 ’變來. 在平方輸出醜中通過使用控制器提供的訊號進行適當選擇 <的項從平方輸出Μυχ中輸出,並被選擇和相加。例如,項 (RXJ+LC〇(0以如圖中ScUO out所示,與項 、 Q— oef—〇) 2 ’如圖令Sq_Q〇 out所示,被相加。從平方輪出 中輸出的I相關輸出指不出了丨軸距離,將接收訊號的I分量與 對應基於適當編石馬率和/或調變的適當群集的群集點的預定!係數分 開。 類似地’從平方輸出顺十輸出的Q相關輸出指示出了 Q軸距離, 將接收訊號的Q刀畺與對應基於適當編碼率和/或調變的適當群集的 群集點的預定Q係數分開。 進行相加運算後,在從符號量料算H魏塊輸丨至位元量度位 元罝度計算器功能塊之前,對這些值進行相應的舍入操作。量度產生 器結構1700内的位元量度計算器功能塊的運算與前述實施例中量度鲁 產生器結構1600中的位元量度計算器功能塊的運算類似。 如圖18所示的量度產生器結構18〇〇,該符號量度計算器功能塊 (如圖8中SMC所示)與前述實施例的量度產生器結構16〇〇以及前述 實施例的量度產生器1700不同,位元量度位元量度計算器功能塊(如 圖8中BMC所示)的運算與前述實施例的量度產生器結構16〇〇以及前 述實施例的量度產生器1700類似。同樣與前述實施例的量度產生器結 構1600以及前述實施例的量度產生器1700類似的,量度產生器1800 58 1326987 •從一個控制器(如圖8中⑽所示)處接收編瑪率和/或調變控制訊號, 以控制i度產生器結構1800的不同功能塊的運算。 .—在量度產生器結構1800的中,接收的bQ值先進行西格馬因數 縮放。接收的I、Q值傳遞給寄存器(如圖中REG所示)。在寄存器内 停留預定的時間段後(例如,一個時鐘週期),對這些輸入】、Q值進 行西格馬因數縮放(如圖中_.7071/(7)所示)。其中西格馬,π, 是接收訊號的標準雜訊的標準偏差。在進行西格馬因_放後,對這 鲁些值進行舍入運算,並接下來被傳遞給寄存器(如圖中REG所示)。在 寄存器中停留預定的時間段後(例如,一個時鐘週期)’接下來將這些 縮放後的I、Q值傳遞給相應的求和塊。 與上述量度產生器結構1_的實施例以及量度產生器結構测 的實施例類似,為了支援多種編碼率和/或調變,量度產生器結構刪 使用了複數個縮放的I、⑽H收訊號的丨值(Rx—和複數個^ 係數(如圖中Ubefj),...以及7所示)之_差值都被同時 »計算。類似地,接收訊號㈣(Rx』)和複數個Q係數(如圖中 Q—Coef_0,...以及Q—c〇ef_7所示)之間的差值都被同時計算。在某些 實施例中’ 值的精度是9位。要注意的是,通過使用上述群集的 ·對稱性來計算財的這些“差值,,,其巾僅f執行加法,糊亍減法, 、因而節省了硬體。 然後對每-個這種“差值,,(通過執行加法以及基於群集形狀的 對稱性適當選擇的係數所生成)進行絕對值運算。之後,將這些值傳 遞給相應的寄存H(如圖中哪所示)。在其相應的寄存器内停留預定 59 傳:=::::鐘力週期)’接下來每個相應寄存器_被 塊的目應的絕對值和平方功能 4將之傳遞給相應的寄存ϋ (如圖中REG .- ::母個寄存器的輸出表示為『值(即,心。, 以及Q值(即,ς n c — 輸出複用器⑽χΓ,然後將這些輸出提供給平方 )或平方輪出MUX(如圖中SOMUX所示)。 _=方輸_中選擇值,這種選擇由一個控制器(如圖所示的For example, when calculating a metric that is related to any modulation with QPSK 11 as long as it is selected, modulation is used for the calculation of the metric. When modulating a symbol-dependent metric, select 52 1326987 and C 〇 (the values of 3 are p-i and p-3. Similarly, when modulating the symbol-related metric, c〇efJ), c〇 eU, (4) ^ coffee, can be selected as P〇, Pl, p2^p3 oe ~ values w _ Μ and P-3 for the other modulation types described by the table, taking into account the cluster shape and corresponding scale __ change The mapping can be chosen in a similar way (for example, C〇ef-〇 to c〇ef-7). By using this method, the value can be selected based on the desired modulation. Thus, a single metric generator can be used to perform the Newton calculation for a variety of aspects. The following county _ bribe _ volume; several embodiments of the structure. 16 , 17 , and 18 are schematic diagrams showing the structure of the metric generation in accordance with several embodiments of the present invention. °, as shown in Figure 16, the 1 degree generator structure 16〇〇, its functionality can be divided into the symbol metric calculator function block (SMC as shown) and the bit metric bit metric calculator function ^ MC) shown. The symbol metric calculator function block calculates a plurality of symbol metrics (such as the synunetHes), and calculates the metrics for the thief bribes to calculate a plurality of metrics (bit metrics as shown). The metric generator structure 1600 can; hardware, perform the above-described fresh calculations, and have the ability to be compatible with different code rates and/or modulations. According to the variable coding rate functionality of the present invention, in order to support multiple coding rates and/or modulations, a plurality of I and Q coefficients are used, the 丨 value of the received symbol (with 丨) and a plurality of I coefficients (eg, The "differences between LCoef-O, ... and I_Coef-7) shown in the figure are all calculated simultaneously. Similarly, the q-value (Rx_Q) of the received symbol and the complex Q-factor (Q as shown) The "difference" between -Coef - Ο, ... and Q - Coef_7) is calculated simultaneously. 53 1326987 The accuracy of these values is 9 bits in some embodiments. It should be noted that these "differences, They are all calculated by using the symmetry of the above cluster, in which only addition is performed, and no subtraction is performed, thereby saving hardware. Then squash each of these nucleus (generated by performing addition and coefficient selection based on the symmetry of the lion-like symmetry). In some embodiments these square values have an accuracy of 18 bits. These squared values are then rounded. Thus, in some embodiments the precision of some values is rounded to 9 bits. These rounded values are then passed to the corresponding registers (rEg as shown). After being placed in its corresponding register for a predetermined period of time (eg, one clock cycle), when a predetermined number of significant bits are selected from the total number of remaining bits, the round-out of each register is transferred to the corresponding saturated function block. (SAT as shown). ·, Μ-yO of each saturated function block. In some embodiments the values of these values are 7 bits. The t output is then secreted to the squared output multiplexer (10), or the squared output is shown in SO MUX). The Deng group selects the value from the squared output MUX. This choice is governed by the modulation and/or coding rate provided by a controller (as shown in Figure N). The operation of certain functional blocks that control hop decoding functionality is controlled according to the decoded coffee coded axis rate and/or modulation as described in other embodiments above. Ingenuity change · In the square output MUX by using the controller to mention. Appropriate item material distribution φ miv 丄 fine shot selection, pay output output output, and is selected and added version of the year (four) heart, as shown in the figure S (As shown by U〇〇ut, with item 54 丄-Q Q_Coef) 2 ' is added as shown by Sq_q 〇 (10) in the figure. From the square wheel out • The 1 related round of the output shows the I-axis distance'. The ί component of the received signal is matched with the lion! The coefficient ^ is on. ;, ϋ «The Q-related output of the output in the square output 指示 indicates the 〇-axis distance, which is separated from the predetermined q-factor of the cluster point corresponding to the appropriate cluster based on the appropriate coding rate and/or modulation. , ', select the added value obtained by adding the appropriate output from the square wheel, and then the register (shown as REG in the figure)' and stay in the register for a predetermined time (for example, - one clock cycle) ). The variance factor is scaled for each value corresponding to the weave: center (5) 2) and at the end of the five-person period, the ideal sufficiency value is obtained. The standard deviation of the standard value of the signal received by σ疋. Then, the symbol metric calculator function block (shown in Figure XI - Patience) is generated from the symbol metric calculator function block and is provided to the red metric bit. The bit metrics of the Brix calculator are calculated in the corresponding bits (as shown in IntjetAs in the figure). For each element (6) of the rib, the base 7 code rate and/or modulation (determined and controlled by the signal provided by the controller, as shown in the figure), the bit metric metric calculator function block For all W symbol metrics (ie, ^ _ gamma. Also _, the bit function block is :: mother!: all the symbol metrics with a median value of 1 in the meta-position are executed _. Similarly, the bit reading money The operator Wei block rides the W degree (ie, the machine 1C value) to perform the rain* process. That is, the bit metric calculator function block performs the min* process for 55 1326987 degrees, thereby generating the corresponding bit. The difference between the two separate min* processing results, as measured by bitjnetrics in the figure, is determined by the total value of each symbol in each bit position of the meta-symbol. The (10) real-cut towel, the measurement unit of the bit measure can perform direct min processing (without logarithmic correction factor). In this case, the difference between the two separate direct min processing results can be determined, thereby Generate the corresponding bit metric (as shown by bit_metrics in the figure.) As shown by the other possible metric generator structures, there are many other possible square wire implementation metrics that produce H-functions without departing from the scope and spirit of the present invention. Each of these different metric structures can support variables. Coding 钵//modulation signal. In the metric generator structure plane, the variance signal is scaled for the output signal of the squared input 。. Optionally, the signal factor scaling can be performed at an earlier stage in the process. In some cases This method provides a better and more efficient implementation. As shown in Figure 7F, the latitude generator structure is deleted, and the operation of the symbol metric calculator function block (as shown by SMC in the Lutu) is the same as in the previous embodiment. The metric generator has different structural planes. The bit twip bit 1 _ 4 controller function block (shown in the figure) is similar to the straightness generator structure 1600 of the previous embodiment. The metric generator of the previous embodiment The structure 16 is similar to the 'TM degree generator structure 1700 receiving a coded 'rate and/or modulation control signal from a controller (shown as c〇N in the figure) to control the different function blocks of the metric generator structure. 'Operation. Similar to the embodiment of the above-described metric generator structure 1_, in order to support multiple octave rates 56 1326987 and/or modulate '$ degrees, the H structure (10) uses a plurality of Q coefficients. The I value of the received signal (Rx - The difference between I) and the complex I coefficients (as shown in Lad.. and LCod-7) is calculated simultaneously. Similarly, the 卩 value of the received signal ((4)) and the complex Q coefficients (such as The difference between Q-c〇efJ), ... and Q_c〇ef_7 in the figure is calculated simultaneously. In the implementation of the financial, the accuracy of these values is 9 digits. It is important to note that all of these "differences" can be calculated by using the symmetry of the above cluster, in which only addition can be performed without subtraction, thus saving hardware. ',,,: After each such difference" (generated by performing the addition and the coefficients selected appropriately based on the cluster shape), the values are passed to the corresponding registers as shown in the figure. Medium_shows). After staying in its corresponding register for a predetermined period of time (eg '-clock cycles), the sigma factor scaling is then performed on the output of each corresponding register (see Figure fSF (G 7 ( m/(7)). Sigma, is the standard deviation of the standard noise of the received signal. After the sigma scaling, continue to round the = and then pass to the register (still as shown In the registration, it is shown in the registration (four)·after (for example, a clock), each output is passed to the absolute value of the = and the secret block. The simple value of the square and the round of the square block Rounding is performed, and the newton is passed to the subtraction of the subtraction (as shown in Figure )). The output of the register is expressed as a ! value (ie, free of gravity, .··^) and (4) (ie, mother >-y〇'Sq-yl,...Sq_y7). Money provides these outputs to the squared output Use the device, (ΜϋΧ)' or square output MUX (as shown in s〇MUX in the figure). Select the value from the square output ,, which is selected by a controller (as shown in (10)) / and / (10) code Rate Wei. As described in the other embodiments above, 57 (4) is based on the coding rate and/or modulation of the symbols of the (4) compiled signal to control the caliber (4). Come. In the square output ugly, use the signal provided by the controller to make the appropriate selection of the item <the output from the squared output ,, and select and add. For example, the item (RXJ+LC〇(0 is shown in the figure as ScUO) As shown by out, the term, Q_oef-〇) 2' is added as shown in the figure Sq_Q〇out. The I-related output output from the square wheel does not indicate the distance from the axis, and the signal will be received. The I component is separated from the predetermined! coefficient corresponding to the cluster point of the appropriate cluster based on the appropriate chore rate and/or modulation. Similarly, the Q correlation output from the square output sigma output indicates the Q-axis distance and will receive the signal. Q-knife with cluster points corresponding to appropriate clusters based on proper coding rate and/or modulation The predetermined Q coefficients are separated. After the addition operation, the values are rounded up before the value is calculated from the symbol quantity to the bit metric calculator function block. The operation of the bit metric calculator function block within structure 1700 is similar to the operation of the bit metric calculator function block in the metric lu generator structure 1600 of the previous embodiment. The metric generator structure 18 shown in FIG. The symbol metric calculator function block (shown as SMC in FIG. 8) is different from the metric generator structure 16A of the foregoing embodiment and the metric generator 1700 of the foregoing embodiment, and the bit metric bit metric calculator function block The operation (shown as BMC in Fig. 8) is similar to the metric generator structure 16A of the foregoing embodiment and the metric generator 1700 of the foregoing embodiment. Also similar to the metric generator structure 1600 of the previous embodiment and the metric generator 1700 of the previous embodiment, the metric generator 1800 58 1326987 • receives the arranging rate and/or from a controller (shown in (10) of FIG. 8). Or modulating the control signals to control the operation of different functional blocks of the i-degree generator structure 1800. . - In the metric generator structure 1800, the received bQ value is first scaled by the sigma factor. The received I and Q values are passed to the register (shown as REG in the figure). After staying in the register for a predetermined period of time (for example, one clock cycle), the sigma factor is scaled for these inputs and Q values (as shown in _.7071/(7) in the figure). Where Sigma, π, is the standard deviation of the standard noise of the received signal. After the sigma _ is released, the values are rounded and passed to the register (as shown by REG in the figure). After staying in the register for a predetermined period of time (e.g., one clock cycle), these scaled I and Q values are then passed to the corresponding summation block. Similar to the embodiment of the above-described metric generator structure 1_ and the metric generator structure measurement, in order to support multiple coding rates and/or modulations, the metric generator structure uses a plurality of scaled I, (10) H received signals. The 丨 value (Rx—and the plural ^ coefficients (as shown in Ubefj in the figure), ... and 7) are all calculated simultaneously. Similarly, the difference between the received signal (4) (Rx) and the plurality of Q coefficients (shown as Q-Coef_0, ... and Q_c〇ef_7 in the figure) is calculated simultaneously. In some embodiments the precision of the 'value is 9 bits. It should be noted that by using the symmetry of the above cluster to calculate these "differences", the wipes only perform f addition, paste subtraction, and thus save the hardware. Then for each such " The difference value, (generated by performing addition and a coefficient appropriately selected based on the symmetry of the cluster shape) performs an absolute value operation. These values are then passed to the corresponding register H (as shown in the figure). Stay in its corresponding register for a predetermined 59 pass: =:::: clock force period) 'Next each corresponding register _ is the absolute value of the block and the square function 4 to pass it to the corresponding register ϋ (eg The output of the REG.-:: mother register in the figure is represented as "value (ie, heart., and Q value (ie, ς nc - output multiplexer (10) χΓ, then provide these outputs to square) or square turn out MUX (as shown in SOMUX in the figure). _= square input _ select value, this choice is controlled by a controller (as shown

談料丨’期變和7或編碼率支配。如上_其他實酬巾所描述的,I 根據被解碼的LDpc編碼訊號的符號的編碼率和/或調變來 控机DPC解碼功能性的某些功能塊的操作。 來 在平方輸出MUX中通過使用控制器提供的訊號進行適當選擇 合適的項從平方輪出職中輪出,並被選擇和相加。例如,項 (Rx—I+I_Coef—〇) 2,如圖中 S(Ll〇 〇ut 所示,與項 2 ’ _中Sq—Q〇 —所示,被相加 MUX中輸出的I相關鈐山社―, 關輪出#日7F出了 I軸距離,將接收訊號的〖分量愈 對應基於適當編物/侧的適當群集的群编和係數分、 開。 類似地,從平方輸出Talk about the period change and 7 or the coding rate. As described above, the operation of certain functional blocks of the DPC decoding functionality is based on the encoding rate and/or modulation of the symbols of the decoded LDpc encoded signals. To make appropriate selections in the squared output MUX by using the signals provided by the controller. The appropriate items are rounded out from the square round and are selected and added. For example, the term (Rx - I + I_Coef - 〇) 2, as shown in S (Ll〇〇ut, and Sq-Q〇 in the item 2 ' _), is added to the I associated with the output of the MUX. Shanshe--, the turn-off #日7F out of the I-axis distance, the component of the received signal corresponds to the group and coefficient of the appropriate cluster based on the appropriate chore/side, and is divided. Similarly, the output from the square

MUX 〇 中輸出的Q相關輸出指示出了 Q軸距離: 將接收訊號㈣分量麵絲於適當編碼率和/朗變的適當 群集點的預定Q係數分開。 ” 進订相加運錢,在從符歸度計算$捕職红位元量度位 元量度計算H雜叙前,對這錄進行減的权齡。量度產生 1326987 器結㈣(K)⑽位元量度計算器魏塊的運算與前述實施例中量度 .產生。器結構1_巾驗元量度計算器魏塊以及前述實施例中量度 產生器結構1700中的位元量度計算器功能塊的運算類似。 一如上其他實施例所述,解碼聰編碼訊號時執行的迭代解碼處理 一般包括位元節點處理和校驗節點處理,二者可選擇地執行也可以連 續執行。位元節點處理包括更新和計算與位元節點相關的邊消息 Medgeb。在第-次迭代(在其中使用了預定值)的初始化後,朗最 雜近更新的與校驗節點相關的邊消息Medgec來執行與位元節點相關的邊 消息Medgeb的更新與計算。 校驗節點處理包括更新與計算與校驗節點Med脚相關的邊消自。 •使用最近更新的與位元節點相關的邊消息㈣物來執行與校驗節^ 關的邊消息Medgec的更新與計算。 在執行這些計算的過程中,硬體實現通常都在對數域(其中乘法 被商化成加法’除法被簡化成減法)中執行。以下將結合附圖詳細介 ®紹位元節點處理和校驗節點處理的各個不同實施例。 圖19疋根據本發明一個實施例的位元節點處理功能性μ卯的示 意圖。與校驗節點相關的邊消息Medgec以及位元量度(如圖中 •. bit—metrics所示)都被輸入到位元節點處理功能性19〇〇中。與校驗 ..節點相關的邊消息Medgec還同時提供給累加器(如圖中Acc所示)和 FIFO(先進先出)功能塊。位元量度也提供給累加器,在其内位元量度 被提供給多工器(如圖中累加器内的MUX所示)。在位元節點處理過程 中,第一次接收的與校驗節點相關的邊消息,如Medgec (〇),與位元 61 1326987 量度相加。之後,這次相加的和(例如,_龄⑻與 與第二次接收的與校驗節點相關的邊消息,如,崎e里又、和) =一個時鐘週期中,第二次相加的和_,_^ = ⑴與位μ度的和)與第三次接收的與校驗節點相關 =:⑵相加。顿娜,蝴挪㈣省一;= 兩個寄存器㈠目位於累加器師—個位於累加科)用來提供 ⑽和值’該總和值包括所有與校轉點相騎邊消息㈣物以及期望 的位4度(即,Σ (Med龄)+biUletric)。這個值,Σ (細㈣< 偏—metric,可被看作是位元節點處理功能性㈣内的軟輸出。缺 後將該軟輸出提供給最重要的位輪域理器(如圖中_ Qp所非、 曰然後將FIFO的輸出提供給減法功能塊,並從_的輸出(僅僅 是合適财的與校驗節點相關的邊消息脇抑)中減去軟輸出(由累 純、提供)。減法功能塊的輸出結果妓更新後的與位㈣點相關的邊 >息—物。該更新後的與位元節點相關的邊消息_物包括所有與 板驗啼點相關的邊消息Medgec (被計算的特殊邊消息除外)與位元量 度的和。在後續的迭代解碼處理過程中執行校驗節點處理時,這些更 新後的與位70節點相關的邊消息Medgeb由符號數值格式處理器(如圖 所示)以符號數值格式輸出,以便於min林處理。符號數值格 式處理器的輸出中最重要的位元指示符號,剩餘的位元指示實際值。· 與位70卽點相關的邊消息以符號數值格式存儲在記憶體中。要 的疋與校驗節點相關的邊消息Medgee以2的補數格式存儲,以 62 1326987 便於後續的迭代解碼處理過程中的位元節點處理。 如上所述,根據本發明, 處理功祕。 ^種〜辭段來實驗驗節點 ® _ 21、目22嘛简峨舰校驗料 處理功能性的示意圖。 …、 :圖20所示的校驗節點處理功能性麵中,通過與位元節點相 關的韻息Medgeb來更新與校驗節點相關的邊消息細物時,使用 ♦議林處理和mi养處理。最近更新的與位元節點相關的邊消編物 被同時,供給mir^處理功能塊和刪(先進先出)塊。隨著後續的 與位元節點相關的邊消息Medgeb提供給min林處理功能塊’一個寄存 •器(如圖中REG所示)和-個反饋通道被操作來執行所有與位元節點 .有關的邊消息Medgeb的min林處理。然後從另—個寄存器(如圖中reg 所示)輸出的min林處理的最後結果提供給min林—處理功能塊,且適 虽排序後的與位元節點相關的邊消息Medgeb也從ρ I f〇中提供給該 ,鲁min林-處理功能塊。mi养處理功能塊的輸出便是更新後的與校驗節 點相關的邊消息Medge<:。 如圖21所示的校驗節點處理功能性21〇〇中,通過與位元節點相 、關的邊消息Medgeb來更新與校驗節點相關的邊消息Medgec;時,使用了 .、_竹處理和ηώ小處理。最近更新的與位元節點相關的邊消息Medgeb 被同時提供給血竹處理功能塊和FIF〇 (先進先出)塊。隨著後續的與 位元郎點相關的邊消息Medgeb提供給minli·處理功能塊,一個寄存5| (如圖中REG所示)和一個反饋通道被操作來執行所有與位元節點有 63 1326987 關的邊消息Medgeb的mintt處理。然後從另一個寄存器(如圖中REG所 示)輸出的mmtt處理的最後結果提供給响彳·處理功能塊,且適當排序·· 後的與位元節點相關的邊消息Medgeb也從FIF〇中提供給該响彳·處理- 功能塊。姻-處理功能塊的輸出便是更新後的與校驗節點相關的邊消 息 MedgGc。 要注意的是,mintf功能塊的功能性可看成是執行一種帶有最小值 比較處理的min*處理。 以下將詳細介紹執行磁tt處理的實施例。還要注意的是,對於每籲 個宏塊的所有預定數量的處理器僅需要一個刚塊。也就是說,上述 每個實施例包括複數個支援LDPC解碼功能性的宏塊,這些實施例可利 用校驗節點處理功能性2_或校驗節點處理功能性測來實現,並 且每個實施例巾僅需要-個FIFG。在某些例子中,·解碼魏性的 每個宏塊中的所有20個處理器只需要一個刚。以下介紹的校驗節 點處理功紐22GG和校驗節轉理舰性·也是如此。 如圖22所示的校驗節點處理功能性22〇〇是實現校驗節點處理功 能性2000的一種可能的方式。 從更高的角度來看’校驗節點處理功能性22〇〇的功能性與校驗節 點處理功能性漏非常類似。圖22中提供了 _*處理功能塊和 mi养處理功能塊的更多轉處理魏塊接收與位元節點柏關·, 的邊消息Medgeb作為輸人’ Medgeb在时也表示為X。處理功能, 塊的運算包括計算兩個單獨崎數校正因數,如圖中MW_)和_ ln(l+e )所不’以及確定兩個單獨的值之間的最小值(即,X和丫 64 的最小值)。確定哪個值是兩個(x或y)中的最小值由多工器(匿) ••來執行。為此’ min林處理功能塊計算x_y和x+y這兩個單獨的值。然 ’後將這些值分供給其鶴的塊以計料對應崎數校正值。 ―林處理功能塊的輸出是該最小值(Uy)與兩個對數校正因 數的和。y值作為_林功能塊的輸出,反饋回給相同的_林功能塊 進行後續的計算。 mm林-處理功能塊的運算與_林處理功能塊有點類似。但是, # nun林-處理功能塊對min林處理功能塊的結果(其輸出示為幻以及 _提供的適當排序後的與位元節點相關的邊消息_物(如X所示) 進仃運算。值z可視為是所有與位元節點相關的邊消息的—**處理 結果(即,min**(all Medgeb))。 mi养處理魏塊的包括計算兩個單觸對數校正因數,如 圖中的MUe-㈣)和_ ln(1+e-w),以及確定兩個單獨值之間的最 小值(即,Z*x的最小值)。確定哪個值是兩個(z㈣中的最小 值由夕工器(祖)來執订。為此,處理功能塊計算和ζ+χ 的這兩麵’絲料錄分職餘撕朗塊轉紐應的對數 权正值。 .‘從mir^處理魏塊和mint處理魏塊的輸㈣最終結果便是 • •更新後的與校驗節點相關的邊消息Medge。。要注意的是,可 L嶋 詢表)來較· rain#處理魏塊和處理雜财的對數校 正值,該Π1Τ可使用-些其他類型的存儲結構來實現。為此,需在每 個_林處理功能塊和min林—處理功能财實現兩個單獨的服。 65 1326987 如圖23所示的校驗節點處理功能性23〇〇是實現校驗節點處理功 月匕!·生2100的-種可過的方式。該圖中使用論竹處理和喊處理通過 與位元㈣相關的邊>肖息Medgeb來更新與校驗節點相關的邊消息 Medge〇 ° 從更高的角度來看,校驗節點處理功能性纖的功能與校驗節點 處理功能性2100非常類似。圖23中提供了⑽處理功能塊和咖·處 理功能塊的更多細節。 在處理功能塊内,接收的與位元節點相關的邊消息脇物 立即進行絕雜較運算並轉触舰數值料,使得所有輸入的最 小值更容易找到。這個操作在數值比較功能塊(如_ CQM所示)内 進行。所有與位元節點相關的邊消息Medgeb的最小值(如_所示) 和最大值(如max所示)。所有與位元節點相關的邊消息Medgeb的最 大值彳之數值比較功能塊中輸出,然後傳遞給處理功能塊内的Μ# 處理功能塊。爾t處理功能塊的最終輸出便是所有與位元節點相關的 、邊消心Medgeb的min*處气_果(如Ms_aii所示)以及除最小暫入值 卜的所有與位元節點相關的邊消息Medgeb的m丨n*處理結果(如i n 所示)。 11111小處理功能塊接收每個m i η*處理結果(Ms_a 11和Ms jn i η)。mbt-处里力月b塊也攸FIFO接收x的絕對值,即I χ I。咖·處理功能塊内 、n處理功此塊對接收的X的絕對值即| χ |以及miatf·處理功能 鬼k供的所有與位元節點相關的邊消息^6(^05的min*處理結果(如 Ms—all所不)進行運算。响彳_處理功能塊内的min*處理功能塊的結 66 果提供給畔處理功能塊_ Μϋχ作為一個輸入,除最小輸入值外的 .所有/、位7L即點相關的邊消息歸脚的_*處理結果(如所 π)一作為另個輸入提供給_.處理功能塊内的·。眶的選擇輸出 表丁為t處理功症塊内的χ。兩個單獨的賦值用來從X值生成Υ和 其後的Ζ。 Υ fXifX^O l〇ifX< Ζ: 0 ί Y ifS^O l~YifS = l 終值 _ S疋FIF0提供的MSB (最高有效位)。基於上述的值γ和z的規則 、值S值可幫助確疋更新的與校驗節點相關的邊消息脇勝的最 述的各概仃;^驗㈣處舰實·驗節點處理魏性的實施 例都可以在包括有可用來解碼脈編碼訊號的聰解碼功能性的通 訊設備内實現。 =下的實施例將介紹幾種可用於執行校驗節點處理的計算的可能 =W效的方法。某些實施例4 了 ,這些設計經過稍微 以=改便可義於祕處理。這些微小的修改是為了與硬體相一致, .Ζ:想要類型的處理所必要的計算。上面已經介紹了幾種進行校驗 /理時採用的處理。例如,_*處理的不同實施例可很容易地用 it Lit類似地’⑽處理的不同實施例也可很容易地用 疋根據本發曰月個實施例的min*處理功能性2400的示意 67 丄jzoy»/ 丄jzoy»/ X和y進行運算。X和y之間的差 X和y還提供給MUX。X和y之間 X或y中哪—個是最小值(即 ,min 圖。圖中的min*處理對兩個輸入即 值z被確定(即z=x-y)。每個輸入 的差值MSB ’即z ’被用來選擇輸入 (x,y))。 同樣,確定的X和y之問的罢枯 值即z,也提供給對數校正因數 計算功能塊計算-ln⑽,;該對數校正值表示為㈣。最終 的細*處理結果為…巾的最小值與騎數校正值(即 的和。 一 圖25是根據本發明一個實施例的_對數表的示意圖。如上其 他=例所述’ LUT (查詢表)可用來基於z的健速提供預定(或預 先什异)的值。該表可基於之_差_2的不同值提供對數 校正因數兔_(二進位),還可以提供項—in〇+e如I)的實際值以 及該項的二進位賦值(1〇請t)。由此可見,當咖之間的差值Z 相對大於—鱗定的_ (即,树較大的正錄字)或相對小於一 個特疋的閾值(即,相對較大的負值數字)時,則請^的值飽和 並被設為咖。、本實施射的_*對數表㈣二進位心—⑽值的精 度為3位’ §然也可以朗其他的精度,而不脫離本發明的範圍和精 、表中有個l〇g_〇ut的增益區,該區中的值以Z的函數發生變化。 ,]田2從大約+1. 25變化至-1. 25時,log—out的值實際上以2的 函數發生改變。但是,當Z大视25時,⑽—Qut的鋪和。同樣/ 當z的值小於-U5時,i〇g—⑽的值也飽和。 由於對數校正值的這種特性,可以更有效、更快地實現處 68 1326987 •理’用於校驗節點處理過程中。類似地,各健可駭(或預先計算) 並存儲在使用不同類型的記憶體來實現的LUT中,以在使用LDPC解碼 功能性的通訊設射提供更_計算和處理,用於校驗節點處理中的 其他計算也從中受益。 圖26疋根據本發明另一個實施例的處理功能性漏的示意 圖圖26所不的功能性也能執行min*處理,但是採用了比前述實施 彳更决的方式。在某些方面’這個實施例與上面描述的實施例類似。 |但是,® 26巾採用了兩個單獨簡時·_數校正因數計算功能 塊。 、該圖中的mi猶理也對兩個輸人即X和y進行運算。X和y之間 的差值z被確定(即z=x-y )。每個輸入X和y還提供給腿。乂的值 是兩個其他值的和,即前次迭代中χ或y的最小值(如min(x,^旧 不)與前次迭代中的對數校正因數(1〇g_〇utk4)的和。X和y之間的 差值MSB ’即z ’被用來選擇輸入χ或y中哪一個是本次迭代的最小值 (即,min(x,y)k)。 同樣,確定的X和y之間的差值,即z,也分別提供給兩個單獨 的對數校正因數計算功能塊計算—ln(Ue-|z|)和七⑴e+|z|);這兩個 .單獨的對數校正因數計算功能塊的計算結果值被提供給另一個麵。χ ·,y之間的差值MSB ’即Z,被絲選擇這兩個單獨的對數校正因數計 算功能塊輸出的值中哪-個將被用作本次迭代的實際對數校正值。最 終選擇的本次迭代的對數校正值表示為log—outk。最後祕處理的結 果被看作是X或y中的最小值(即,rain(x,y)k)與對數校正值(即, 69 1326987 一…的和。但疋,在廷個實施例甲,這兩個值保持分開,便於 執行算步驟。如果需要的話,這兩個值可選擇性地加在一起。, 圖27疋根據本發明一個實施例的―*一處理功能性薦的示意, 圖。該圖中的功能性與min*處理功能性_有些類似。 圖中的nun木-處理對兩個輸入即叉和y進行運算。X和乂之間的差 值z被確定(即z=x_y)。每個輸入X和乂還提供給麵。X和y之間 的差值MSB ’即z ’被用來選擇輸入X或y中哪一個是最小值(即,_ (x,y)) 〇 同樣,確定的X和y之間的差值,即z,也提供給對數校正因數€ 計算功能塊計算韻!—e-u-y|);該對數校正絲示為i〇g—〇ut。最終 的mm*-處理結果為X或y中的最小值與該對數校正值(即,iQg—◦此) 的和。 圖28是根據本發明一個實施例的一對數表的示意圖。如上盆 他實補所述,LUT (查詢表)可用來基於z的值快速提供預定(或預 先計异),值。該表可基於x*y之_差值即z的不同值提供缝· 校正因數、log_〇ut(二進位)’還可以提供項_ln(1_e-u_y|)的實際值 以及該項的二進位賦值(lQg__Qut)。由此可見,當之間的差值 2相對大於-個特定的閾值(即,相對較大的正鎌字)或相對小於 -個特定的閾值(即,相對較大的紐數字)時,則1〇g—⑽的值飽· 和並被設為00000。本實施例中的min*對數表中的二進位1〇g—⑽值. 的精度為5位’當然也可以獅其他的精度,而不脫離本發明的範圍 和精神。表中有-個log一out的增益區,該區中的值以z的函數發生 1326987 ’交化。例如,當z從大約+ι· 5變化至_ι· 5時,i〇g_out的值實際上以 ,z的函數發生改變。但是,當z大於+1. 5時,i〇g—〇ut的值飽和。同 樣’當z的值小於-1. 5時,i0g—out的值也飽和。 關於min*-處理中i〇g—out的值,當z=〇時,則可使用__〇此 的預定值(如二進位01000所示,並用星號*標識)。這是由於如果對 數字0取自麟數(即,ln(Q))時將產生非法值。@此,這種情況下 將使用預定的較大值估計,如對數表中所示。 由於對數校正值的這種雜,可以更有效、更快地實現_*_處 理,用於校驗節點處理過程中。類似地,各種值可預定(或預先計算) 並存儲在使用不同類型的記憶體來實現的LUT中,以在使用[飢解碼 功能性的通訊設備中提供更快的計算和處理,用於校驗節點處理中的 其他計算也從中受益。 圖29和圖30是根據本發明實施例的min木一處理功能性的的示立 圖。 /思 丨 如圖29所示的min*-處理功能性簡,與_處理功能性_ 類似。圖29所示的功能性也能執行mi参處理,但是採用了比前述實 施例更快的方式。在某些方面,這個實施例與上面描述的執行祕_ .處理的實施例類似。但是’本實施例採用了兩個單獨且同 .數校正因數計算功能塊。 #、f 該圖中的min仁處理也對兩個輸入即χ和y進行運算。X和 縣值z被較(即m)。每個輸人χ和y還提供給。/的= 是兩個其他值的和’即前次迭代中x^y的最小值(如仙(ΜΗ所 1326987 不)與前次迭代中的對數校正因數(lQg_Gutk_〇的和。\和丫之間的 差值MSB ’即z ’被用來選擇輸人χ或y巾哪_個是本錢代的最小值— (即,min(x,y)k)。 , 同樣,確定的X和y之間的差值,即z,也分別提供給兩個單獨 的對數校正因數計算功能塊計算一lnU_e Μ)”·#);這兩個The Q-related output from the MUX 指示 indicates the Q-axis distance: Separate the received signal (4) component surface from the predetermined Q factor of the appropriate cluster point at the appropriate coding rate and / or lang. Adding and transferring money, the weight of the record is reduced before the calculation of the H-distribution metric of the red-point metric. The metric is 1326987 (4) (K) (10) The operation of the meta-metric calculator and the calculation of the bit metric calculator in the foregoing embodiment and the calculation of the bit metric calculator function block in the metric generator structure 1700 of the foregoing embodiment. Similarly, as described in other embodiments, the iterative decoding process performed when decoding the Cong-coded signal generally includes bit node processing and check node processing, which may alternatively be performed or continuously performed. The bit node processing includes updating and Calculating the edge message Medgeb associated with the bit node. After the initialization of the first iteration (in which the predetermined value is used), the edge message Medgec associated with the check node is updated to perform the bit node correlation Update and calculation of the edge message Medgeb. The check node processing includes updating and calculating the edge associated with the check node Med. • Using the most recently updated edge message related to the bit node (4) To perform the update and calculation of the edge message Medgec with the checksum. In the process of performing these calculations, the hardware implementation is usually performed in the logarithmic domain (where multiplication is commensurate into addition 'division is reduced to subtraction). The various embodiments of the bit node processing and check node processing will be described in detail below with reference to the accompanying drawings. Figure 19 is a schematic diagram of a bit node processing functional μ卯 according to an embodiment of the present invention. The edge message Medgec and the bit metric (shown in the figure • bit-metrics) are all input into the bit node processing functionality. The edge message Medgec associated with the checksum node is also provided to the accumulation. The device (shown as Acc in the figure) and the FIFO (first in, first out) function block. The bit metric is also provided to the accumulator, in which the bit metric is provided to the multiplexer (as shown in the MUX in the accumulator) In the processing of the bit node, the first received edge message related to the check node, such as Medgec (〇), is added to the bit 61 1326987. After that, the sum of the additions (for example, _ age (8) and The second received side message related to the check node, such as, and, in the clock cycle, the sum of the second sum, _, _^ = (1) and the sum of the bits μ) The third received is related to the check node =: (2) is added. Donna, the butterfly (four) saves one; = two registers (a) are located in the accumulator - one is accumulating) used to provide (10) and the value 'the sum The value includes all the riding information (4) and the expected position of 4 degrees (ie, 龄 (Med age) + biUletric). This value, Σ (fine (4) < metric - metric, can be regarded as a bit The node handles the soft output in the functional (4). After the absence, the soft output is provided to the most important bit wheel domain processor (as shown in the figure _ Qp, 曰 then the output of the FIFO is provided to the subtraction function block, and from _ The output (which is only the appropriate edge information suppression associated with the check node) is subtracted from the soft output (provided by the pure, provided). The output result of the subtraction function block is the updated edge > interest-object related to the bit (four) point. The updated edge message associated with the bit node includes the sum of all edge messages Medgec (except for the computed special side message) associated with the checkpoint and the bit metric. When the check node processing is performed during the subsequent iterative decoding process, the updated side message Medgeb associated with the bit 70 node is output by the symbol value format processor (as shown) in a symbol numerical format to facilitate the min forest. deal with. The most significant bit indicator in the output of the symbolic numeric format processor, the remaining bits indicating the actual value. • Edge messages associated with bit 70卽 are stored in memory in symbolic value format. The edge message Medgee associated with the check node is stored in a 2's complement format, with 62 1326987 facilitating bit node processing during subsequent iterative decoding processes. As described above, according to the present invention, the skill is handled. ^ species ~ vocabulary to test the node ® _ 21, head 22 峨 峨 ship calibration material processing functional diagram. ..., : In the check node processing functional plane shown in FIG. 20, when the side message detail related to the check node is updated by the charm Medgeb associated with the bit node, the ♦ forest processing and the mi management processing are used. . The recently updated edge-cancellation associated with the bit node is simultaneously supplied to the mir^ processing function block and the delete (first in first out) block. The subsequent edge message Medgeb associated with the bit node is provided to the min forest processing function block 'a registerer (shown as REG in the figure) and the feedback channels are operated to perform all the bits associated with the bit node. Side message Medgeb's min Lin processing. Then the final result of the min forest processing output from another register (shown as reg in the figure) is supplied to the min forest-processing function block, and the sorted edge message Medgeb associated with the bit node is also from ρ I The f〇 is provided to the Lumin Lin-processing function block. The output of the mi-processing function block is the updated side message Medge<: associated with the check node. In the check node processing function 21 shown in FIG. 21, the edge message Medgec related to the check node is updated by the edge message Medgeb associated with the bit node; when, the . And ηώ small processing. The recently updated edge message Medgeb associated with the bit node is provided to both the blood bamboo processing function block and the FIF〇 (first in first out) block. As the subsequent edge message Medgeb associated with the bit lang point is supplied to the minli processing function block, a register 5| (as shown in the REG) and a feedback channel are operated to perform all the bit nodes with 63 1326987 Off side message Medgeb's mintt processing. Then the final result of the mmtt processing output from another register (shown as REG in the figure) is supplied to the ringing processing function block, and the edge message Medgeb associated with the bit node after proper sorting is also from the FIF. Provided to the ringing · processing - function block. The output of the marriage-processing function block is the updated side message MedgGc associated with the check node. It should be noted that the functionality of the mintf function block can be thought of as performing a min* process with a minimum comparison process. An embodiment of performing magnetic tt processing will be described in detail below. It is also noted that only one rigid block is required for all predetermined numbers of processors per macroblock. That is, each of the above embodiments includes a plurality of macroblocks that support LDPC decoding functionality, and these embodiments may be implemented using check node processing functionality 2 or check node processing functionality, and each embodiment The towel only needs one FIFG. In some cases, all 20 processors in each macroblock of the decoding property need only one. The verification node processing function 22GG and the check section shipability described below are also the same. The check node processing functionality 22 shown in Figure 22 is one possible way to implement check node processing functionality 2000. From a higher perspective, the functionality of the check node processing functionality 22 is very similar to the check node processing functionality leak. In Fig. 22, more transition processing of the _* processing function block and the mi-processing function block is provided. The edge message Medgeb of the bit block reception and the bit node is as the input 'Medgeb' is also expressed as X. Processing function, the operation of the block involves calculating two individual odd-number correction factors, as shown in the figure MW_) and _ ln(l+e), and determining the minimum between two separate values (ie, X and 丫The minimum value of 64). Determining which value is the minimum of two (x or y) is performed by the multiplexer (•). For this, the 'min forest processing function block calculates two separate values, x_y and x+y. However, these values are then supplied to the block of the crane to calculate the corresponding Kasuga correction value. The output of the forest processing function block is the sum of the minimum value (Uy) and the two logarithmic correction factors. The y value is used as the output of the _forest function block and is fed back to the same _forest function block for subsequent calculations. The mm forest-processing function block is somewhat similar to the _forest processing function block. However, the #nun forest-processing function block computes the result of the min-block function block (its output is shown as illusion and _ provides the appropriate sorted edge message associated with the bit node_object (as indicated by X) The value z can be regarded as the result of all the edge messages associated with the bit node - ie, min**(all Medgeb). The mi-processing of the Wei block includes calculating two one-touch logarithmic correction factors, such as MUe-(iv)) and _ln(1+ew) in the figure, and determine the minimum between two separate values (ie, the minimum of Z*x). Determine which value is two (the minimum of z(four) is bound by the gong (the ancestor). For this purpose, the processing function block calculates the two sides of the ζ+χ's silk material. The positive logarithmic weight is .. 'Processing the Wei block from the mir^ and mint processing the Wei block. (4) The final result is • The updated edge message Medge related to the check node. Note that it can be L The query table is used to compare the logarithmic correction values of the Wei block and the processing of the miscellaneous money, which can be implemented using some other types of storage structures. To this end, it is necessary to implement two separate services in each of the _forest processing function blocks and the min forest-processing function. 65 1326987 The check node processing functionality shown in Figure 23 is a way to implement the check node processing power. In the figure, the use of bamboo processing and shouting processing updates the edge message associated with the check node by the edge associated with the bit (4) Medgeb. From a higher perspective, the check node processing functionality The function of the fiber is very similar to the check node processing functionality 2100. More details on the (10) processing function block and the coffee processing function block are provided in FIG. Within the processing function block, the received side message threats associated with the bit nodes are immediately subjected to the imperfect comparison and the ship's numerical values are made, making the minimum values of all inputs easier to find. This operation is performed in the value comparison function block (as shown in _ CQM). The minimum value (as indicated by _) and the maximum value (as indicated by max) of all edge messages Medgeb associated with the bit node. The value of all the edge messages Medgeb associated with the bit node 比较 is compared to the output in the function block and then passed to the Μ# processing function block in the processing function block. The final output of the processing block is the min* of the Medgeb associated with the bit node (as indicated by Ms_aii) and all the bit nodes associated with the minimum temporary value. The edge message Medgeb's m丨n* processing result (as shown in in). The 11111 small processing function block receives each m i η* processing result (Ms_a 11 and Ms jn i η). The mbt-where lib lib block also receives the absolute value of x, ie I χ I. In the coffee processing function block, the n processing function is the absolute value of the received X, ie, | χ | and the miatf·processing function, all the bit messages associated with the bit node ^6 (min* processing of ^05) The result (such as Ms-all does not) is calculated. The result of the min* processing function block in the _processing block is provided to the edge processing function block _ Μϋχ as an input, except for the minimum input value. The bit 7L is the point-related edge message _* processing result (such as π) one is provided as another input to the _. processing function block. The selection output table of the 为 is the t processing function block The two separate assignments are used to generate Υ and subsequent 从 from the X value. Υ fXifX^O l〇ifX< Ζ: 0 ί Y ifS^O l~YifS = l Final value _ S疋FIF0 MSB (Most Significant Bit). The rule based on the values γ and z above, the value S value can help to confirm the updated profile of the updated edge message related to the check node; Embodiments of the node processing process can be implemented in a communication device including a Cong decoding function that can be used to decode a pulse coded signal. The embodiment will describe several possible methods for performing the calculation of the check node processing. For some embodiments 4, these designs are slightly modified by the =. These minor modifications are for Consistent with the hardware, .Ζ: the calculations necessary for the type of processing. Several of the processes used for verification/reasoning have been introduced above. For example, different embodiments of _* processing can be easily used with it Different embodiments of Lit's similar '(10) processing can also be easily manipulated using the schematic 67 丄jzoy»/ 丄jzoy»/X and y of the min* processing functionality 2400 of the present embodiment. X The difference X and y between y and y is also supplied to the MUX. Which of X or y between X and y is the minimum value (ie, the min graph. The min* processing in the figure is determined for two inputs, ie, the value z (ie z=xy). The difference MSB of each input, ie z', is used to select the input (x, y). Similarly, the determined value of X and y, z, is also provided to the logarithm. The correction factor calculation function block calculates -ln(10), and the logarithmic correction value is expressed as (4). The final fine* processing result is the minimum of the towel Value and ride number correction value (ie, sum. Figure 25 is a schematic diagram of a _logarithm table according to one embodiment of the present invention. As described above, the 'LUT (query table) can be used to provide a reservation based on the speed of z ( Or pre-existing value. The table can provide a logarithmic correction factor rabbit _ (binary) based on the different values of _ difference_2, and can also provide the actual value of the item -in〇+e such as I) and the item Binary assignment (1 〇 t). It can be seen that the difference Z between the coffee makers is relatively larger than the _ _ (ie, the larger positron of the tree) or the threshold less than one characteristic (ie When the relatively large negative number is used, the value of ^ is saturated and set to coffee. The _* logarithmic table (4) binary position of the present implementation—the precision of the (10) value is 3 bits § However, other precisions can be used without departing from the scope of the invention and the fine, the table has a l〇g_〇 The gain region of ut, the value in this region changes as a function of Z. ,] Field 2 changed from approximately +1.25 to -1.25, the value of log_out actually changed by a function of 2. However, when Z is large, 25, (10) - Qut's shop. Similarly / When the value of z is less than -U5, the value of i〇g-(10) is also saturated. Due to this characteristic of the logarithmic correction value, it can be implemented more efficiently and faster. 68 1326987 • The rationale is used to verify the node processing. Similarly, each can be (or pre-computed) and stored in a LUT implemented using different types of memory to provide more computation and processing for communication setup using LDPC decoding functionality for check nodes Other calculations in the process also benefit from it. Figure 26 is a schematic diagram of processing functional leakage according to another embodiment of the present invention. The functionality of Figure 26 can also perform min* processing, but in a manner that is more versatile than the foregoing implementation. In some aspects this embodiment is similar to the embodiment described above. | However, the ® 26 towel uses two separate Jane _ number correction factor calculation blocks. The mi in the figure also operates on two inputs, X and y. The difference z between X and y is determined (i.e., z = x - y). Each input X and y is also provided to the leg. The value of 乂 is the sum of two other values, that is, the minimum value of χ or y in the previous iteration (such as min(x,^old) and the logarithmic correction factor (1〇g_〇utk4) in the previous iteration. And the difference between X and y, MSB 'ie z', is used to select which of the inputs χ or y is the minimum of this iteration (ie, min(x, y)k). Again, the determined X The difference between and y, z, is also provided to two separate logarithmic correction factor calculation function blocks, respectively - ln(Ue-|z|) and seven (1)e+|z|); these two separate logarithms The calculation result value of the correction factor calculation function block is supplied to the other side. χ ·, the difference MSB ′ between y, that is, Z, which one of the values output by the two separate logarithmic correction factors of the silk selection function block will be used as the actual logarithmic correction value of this iteration. The logarithmic correction value for this iteration of the final selection is expressed as log_outk. The result of the last secret treatment is considered to be the minimum of X or y (ie, rain(x, y)k) and the logarithmic correction value (ie, the sum of 69 1326987 one... but 疋, in the embodiment of A The two values are kept separate to facilitate the execution of the steps. If necessary, the two values can be selectively added together. Figure 27 is a schematic representation of the "-" processing functional recommendation in accordance with one embodiment of the present invention. The functionality in this figure is somewhat similar to the min* processing functionality. The nun wood-processing in the figure operates on two inputs, fork and y. The difference z between X and 乂 is determined (ie z =x_y) Each input X and 乂 are also supplied to the face. The difference between the X and y MSB 'ie z' is used to select which of the inputs X or y is the minimum value (ie, _ (x, y )) Similarly, the difference between the determined X and y, z, is also provided to the logarithmic correction factor. The calculation function calculates the rhyme!—euy|); the logarithmic correction is shown as i〇g—〇ut. The final mm*-processing result is the sum of the minimum value in X or y and the logarithmic correction value (i.e., iQg - ◦ this). 28 is a schematic illustration of a pair of numbers table in accordance with one embodiment of the present invention. As mentioned in the above table, the LUT (query table) can be used to quickly provide a predetermined (or pre-emptive) value based on the value of z. The table can provide the seam correction factor, log_〇ut (binary) based on the difference value of x*y, that is, the value of z, and can also provide the actual value of the item _ln(1_e-u_y|) and the item Binary assignment (lQg__Qut). It can be seen that when the difference 2 between the two is relatively greater than a specific threshold (ie, a relatively large positive ) word) or relatively less than a specific threshold (ie, a relatively large new number), then The value of 1〇g—(10) is saturating and is set to 00000. The precision of the binary 1 〇 g - (10) value in the min* logarithm table in this embodiment is 5 bits. Of course, other precisions of the lion can be used without departing from the scope and spirit of the present invention. There is a log-out gain region in the table, and the value in this region occurs as a function of z 1326987 ‘intersection. For example, when z changes from about +ι·5 to _ι·5, the value of i〇g_out actually changes as a function of z. However, when z is greater than +1.5, the value of i〇g_〇ut is saturated. Similarly, when the value of z is less than -1.5, the value of i0g_out is also saturated. Regarding the value of i〇g_out in min*-processing, when z=〇, the predetermined value of __〇 can be used (as indicated by binary 01000, and marked with an asterisk *). This is because an illegal value will be generated if the number 0 is taken from the number of threads (i.e., ln(Q)). @This, in this case, a predetermined larger value estimate will be used, as shown in the logarithm table. Due to this mismatch of logarithmic correction values, _*_processing can be implemented more efficiently and faster for verifying node processing. Similarly, various values can be predetermined (or pre-computed) and stored in LUTs implemented using different types of memory to provide faster calculations and processing in a communication device using [hundred decoding functionality] Other calculations in the processing of the node also benefit from it. 29 and 30 are diagrams showing the functionality of a min-ki processing according to an embodiment of the present invention. /Thinking The min*-processing functionality as shown in Figure 29 is similar to the _processing functionality_. The functionality shown in Fig. 29 can also perform the mi parameter processing, but adopts a faster manner than the foregoing embodiment. In some aspects, this embodiment is similar to the embodiment of the process described above. However, the present embodiment employs two separate and identical correction factor calculation function blocks. #, f The min kernel processing in this figure also operates on two inputs, χ and y. X and county value z are compared (ie m). Every loser and y are also provided. / is = the sum of two other values' ie the minimum value of x^y in the previous iteration (eg, Xian (1326987 not) and the logarithmic correction factor (lQg_Gutk_〇) in the previous iteration.\And 丫The difference between the MSB 'ie z' is used to select the input or the y towel which is the minimum value of the money generation - (ie, min(x, y)k). Similarly, the determined X and y The difference between them, z, is also provided to two separate logarithmic correction factor calculation function blocks to calculate an lnU_e Μ)"·#);

早獨的對數校正因數計算功能塊的計算結果值被提供給另—個霞。X 與y之間的差值MSB ’即z ’翻來選擇這兩個單獨的對數校正因數計 算功能塊輪出的值中哪一個將被用作本次迭代的實際對數校正值。最春 、、k擇的本次迭代的對數校正值表示為log—outk。最後處理的 …果被看作疋X或y中的最小值(即,min(x,y)k)與對數校正值(即, g—〇Utk)的和。但疋,在這個實施例中,這兩個值保持分開,便於 執行後續的計算步驟。 如圖30所示的min仁處理功能性3〇〇〇與min*_處理功能性29〇〇 ^類似除了接收X和y的值,從而y是前次迭代中X或y的最小 值(如mnO^yVi所示)與前次迭代中的對數校正因數(1〇g_〇utk i)鲁 的和的合併項’也就是說,y以y= min(x,y)H+ __。此1的形式接 收。 上述的各個不同實施例中的位數精度(bit degree precision) 可由設計者採用和選擇。雖然某些實施例中提供了位數精度,但是很 明顯還可以採用其他位數精度,而不脫離本發明的範圍和精神。 圖3丨是根據本發明一個實施例中校正子計算功能性3100的示意 Η對於執行LDPC解碼的各種不同方法來說,將解碼位的最近估計值 72 1326987 (partial syndrome check functional ,block)(如PSC所不)’以確定解瑪位的奇偶校驗。該解碼位的最近估 指被傳遞給爾⑽除外)邏輯門,並隨後傳遞給兩個順序連接的 寄存益(如REG所不)。第一個寄存器的輸出被反饋給顺邏輯門。然 後’將確定料偶校驗傳遞給後續的功能塊,_定是研有的校正 子(即’部分校正子校驗功能塊輸出的所有奇偶校驗)都等於零。當 所有的校正子實際上都等於零時,則通過該解碼位,且LDPC解碼功能 _性使職解碼㈣最近估計值作為触的最佳估計值。 圖32是根據本發明一個實施例的執行聰解碼方法_的流程 圖。在方框3220中,接收區塊!的j、Q值(例如,Rx/Ry)並生成區 塊1的位7L里度。該方法允許並行和同時處理接收的第一區塊的卜Q 值,同時執行第一區塊的位元量度計算。 、然後,在方框3230中,接收區塊2的!、Q值(例如,Rx/Ry), 並生成區塊2的位元量度。此外’如方框323()中所示,該方法同時包 Ρ括迭代解碼區塊1。這時,便能在迭代解碼前-接收區塊(例如,區 塊1)的同時並行和同時處理一個區塊(例如,區塊2)的接收和量度 計算。 .然後,在方框_中,該方法包括接收區塊3的丨、Q值(例如, ’ Rx/Ry) ’亚生成區塊3的位元量度。此外’如方框綱中所示,該方 法同時包括迭代解碼區塊2。與方框期令所示的操作一樣,紐代 解碼前-接收區塊(例如,區塊2)的同時並行和同時處理一個區塊 (例如,區塊3)的接收和量度計算。 73 1326987 圖33是根據本發日月一個實施例的迭代咖解碼方法綱的流程 圖:在方框3310中,該方法包括使用與校驗節點相關的邊消息崎匕 執订位4點處理,進行初始化’設置為預定的值。與校驗節點相關 的邊消息Med龄在某些實施例中可設置為〇值。 /接下來’執行迭代解碼處理操作。在迭代#1 3320中,該方法執 仃校驗節點處理和校正子計算,如箱繼所示。在迭傾删中, 該方法還執行位元節點處理,如方框3324所示。 在迭代#2 3330中,該方法執行校驗節點處理和校正子計算,如 方框3332所示。在迭代#2 中,該方法還執行位樣點處:,如 方框3334所示。 本發明可執行各歡數的解碼迭代,而视縣發_範圍和精 神。圖33中用省略號表示(即…)。 在最後的載_巾,财錄行校驗_處理和校正子計算, 如方框3342所示。在最後的迭代綱中,如果校正子通過(或者達 到解碼迭代的最大她),該方法職行位元節輯職輸出解瑪資 料’如方框3344所示。 要注意的是’社介紹的方法還可以在各種合適㈣統和/或設備 設計(通訊系、统、通訊發送機、通訊接收機、通訊收發機和/或其内的 功能性)中實現,而不脫離本發明的範圍和精神。 、 此外,還要注意的是’以上各個實施例巾介紹的各種功能性、系 統和/或設備設計和方法都可以執行各種對數域内的計算(例如,1〇、 域),從而可使用加法來執行乘法運算,使用減法來執行除法運算。0g 74 1326987 根據上述結合附圖和實施例對本發明的詳細介紹,很明顯還可以 對本發明作出其他修改和變更而不脫離本發明的精神和範圍。 ; 【圖式簡單說明】 圖1是根據本發明一個實施例的通訊系統的示意圖; 圖2是根據本發明另一個實施例的通訊系統的示意圖; 圖3是根據本發明一個實施例的[饥^編碼二分圖的示意圖; 圖4是根據本發明一個實施例使用位元量度的LDpc解碼操作的示意 • 圚, 圖5是根據本發明另一個實施例(當執行11次迭代時)使用位元量度 的LDPC解碼操作的示意圖; .圖6是根據本發明一個實施例的LDPC解碼的示意圖; -圖7是根據本發明一個實施例的LDPC解碼的示意圖; 圖8是根據本發明一個實施例的LDPC解碼的示意圖; 圖9是根據本發明一個實施例的LDPC解碼的示意圖; 鲁圖10是根據本發明一個實施例的量度產生器的示意圖; 圖11疋根據本發明-個實關的gpSK顯及其對_二1^位映射和 其内採用的QPSK係數的示意圖; 、 的二進位映射和 圖12是根據本發明一個實施例的8 PSK群集及其對應 其内使用的8 PSK係數的示意圖; 應的十六進位映 圖13是根據本發明一個實施例的16 QAM群集及其對 射和其内使用的16 QAM係數的示意圖; 圖14是根據本發明一個實施例的16APSK群集及其對應的十丄、 /、進位映 75 1326987 射和其内使用的16 APSK係數的示意圖; 圖15是根據本發明一個實施例的調變係數表的示意圖; 圖16是根據本發明一個實施例的量度產生器的結構示意圖; 圖Π是根據本發明一個實施例的量度產生器的結構示意圖; 圖18是根據本發明一個實施例的量度產生器的結構示意圖; 圖19是根據本發明一個實施例的位元節點處理的示意圖; 圖20疋根據本發明一個實施例的校驗節點處理的示意圖;The calculation result value of the early logarithmic correction factor calculation function block is supplied to another. The difference MSB ′ between X and y, i.e., z ′, selects which of the values rotated by the two separate log correction factor calculation blocks will be used as the actual logarithmic correction value for this iteration. The logarithmic correction value of this iteration of the most spring, and k is expressed as log_outk. The last processed result is treated as the sum of the minimum value in 疋X or y (i.e., min(x, y)k) and the logarithmic correction value (i.e., g_〇Utk). However, in this embodiment, the two values remain separate to facilitate subsequent computational steps. The min kernel processing functionality shown in Figure 30 is similar to the min*_ processing functionality 29〇〇^ except that the values of X and y are received, such that y is the minimum value of X or y in the previous iteration (eg mnO^yVi) is a combination with the logarithmic correction factor (1〇g_〇utk i) of the previous iteration. That is, y is y=min(x,y)H+__. This form of 1 is accepted. The bit degree precision in the various embodiments described above can be adopted and selected by the designer. While the number of bits is shown in some embodiments, it is apparent that other numerical precisions may be employed without departing from the scope and spirit of the invention. 3A is a schematic diagram of the syndrome calculation functionality 3100 in accordance with one embodiment of the present invention. For various methods of performing LDPC decoding, the most recent estimate of the decoded bits is 72 1326987 (partial syndrome check functional , block) (eg, The PSC does not) 'determine the parity of the gamma bits. The most recent estimate of the decoded bit is passed to the (10) exception logic gate and then passed to the two sequential connections (such as REG). The output of the first register is fed back to the logic gate. Then, it is determined that the parity parity is passed to the subsequent function block, and the syndrome that is determined to be developed (i.e., all the parity output by the 'partial syndrome verification function block) is equal to zero. When all the syndromes are actually equal to zero, then the decoding bit is passed, and the LDPC decoding function _ sex enables the most recent estimate of the fourth estimate as the best estimate of the touch. Figure 32 is a flow diagram of a method of performing a Cong decoding method, in accordance with one embodiment of the present invention. In block 3220, the block is received! The j, Q value (for example, Rx/Ry) and the bit 7L of the block 1 is generated. The method allows parallel and simultaneous processing of the received Bu Q value of the first block while performing the bit metric calculation of the first block. Then, in block 3230, block 2 is received! , Q value (eg, Rx/Ry), and generate a bit metric for block 2. Further, as shown in block 323(), the method includes the iterative decoding block 1 at the same time. At this time, the reception and metric calculation of one block (e.g., block 2) can be processed in parallel and simultaneously while iteratively decoding the pre-decoding block (e.g., block 1). Then, in block_, the method includes receiving the 量, Q value (e.g., 'Rx/Ry)' of the block 3 sub-generating block 3 metric. Furthermore, as shown in the box diagram, the method includes iterative decoding block 2 at the same time. As with the operation shown in the block order, Newton decodes the pre-receive block (e.g., block 2) simultaneously and simultaneously processes the reception and metric calculations of one block (e.g., block 3). 73 1326987 FIG. 33 is a flow diagram of an iterative coffee decoding method according to an embodiment of the present invention: in block 3310, the method includes using a side message associated with the check node to saturate the bit 4 point processing, Initialize 'set to a predetermined value. The side message Med age associated with the check node may be set to a threshold value in some embodiments. /Next' performs an iterative decoding processing operation. In iteration #1 3320, the method performs check node processing and syndrome calculations, as shown in the box. In the dumping, the method also performs bit node processing, as shown in block 3324. In iteration #2 3330, the method performs check node processing and syndrome calculation as shown in block 3332. In iteration #2, the method also performs a bit sample: as shown in block 3334. The present invention can perform the decoding iteration of each of the parameters, and the scope and spirit of the county. This is indicated by an ellipsis in Fig. 33 (i.e., ...). At the last load, the checksum processing and syndrome calculations are as shown in block 3342. In the final iteration, if the syndrome passes (or reaches the maximum of the decoding iteration), the method ranks the meta-section to output the solution' as shown in block 3344. It should be noted that the method described by the Society can also be implemented in various suitable (four) systems and/or device designs (communication systems, systems, communication transmitters, communication receivers, communication transceivers and/or functionalities therein). Without departing from the scope and spirit of the invention. In addition, it should be noted that the various functional, system and/or device designs and methods described in the various embodiments of the above embodiments can perform calculations in various logarithmic domains (eg, 1 〇, domain) so that additions can be used. A multiplication operation is performed, and a division operation is performed using subtraction. It is apparent that other modifications and changes can be made to the present invention without departing from the spirit and scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of a communication system according to an embodiment of the present invention; FIG. 2 is a schematic diagram of a communication system according to another embodiment of the present invention; FIG. 3 is a hunger according to an embodiment of the present invention. ^ Schematic diagram of a coded bipartite graph; FIG. 4 is a schematic illustration of an LDpc decoding operation using bit metrics in accordance with one embodiment of the present invention, and FIG. 5 is a use of bit bits in accordance with another embodiment of the present invention (when 11 iterations are performed) Schematic diagram of LDPC decoding operation of the measurement; Figure 6 is a schematic diagram of LDPC decoding according to an embodiment of the present invention; - Figure 7 is a schematic diagram of LDPC decoding according to an embodiment of the present invention; Figure 8 is a schematic diagram of LDPC decoding according to an embodiment of the present invention; FIG. 9 is a schematic diagram of LDPC decoding according to an embodiment of the present invention; FIG. 10 is a schematic diagram of a metric generator according to an embodiment of the present invention; FIG. 11 is a gpSK display according to the present invention. And a schematic diagram of the QPSK coefficients used therein and the QPSK coefficients employed therein; the binary mapping of FIG. and FIG. 12 is an 8 PSK cluster and its pair according to an embodiment of the present invention. Schematic diagram of the 8 PSK coefficients used therein; the hexadecimal map 13 is a schematic diagram of a 16 QAM cluster and its 16 QAM coefficients for use in and according to an embodiment of the present invention; FIG. 15 is a schematic diagram of a modulation coefficient table according to an embodiment of the present invention; FIG. 15 is a schematic diagram of a 16APSK cluster of an embodiment and its corresponding ten 丄, /, carry bitmap 75 1326987 shot; 16 is a schematic structural diagram of a metric generator according to an embodiment of the present invention; FIG. 18 is a schematic structural diagram of a metric generator according to an embodiment of the present invention; 19 is a schematic diagram of bit node processing according to an embodiment of the present invention; FIG. 20 is a schematic diagram of check node processing according to an embodiment of the present invention;

圖21是根據本發明一個實施例的校驗節點處理的示意圖; 圖22疋根據本發明一個實施例的校驗節點處理的示意圖; 圖23是根據本發明一個實施例的校驗節點處理的示意圖; 圖24是根據本發明一個實施例的min*處理的示意圖; 圖25是根據本發明一個實施例的min*對數表的示意圖; 圖26是根據本發明另一個實施例的min*處理的示意圖; 圖27是根據本發明一個實施例的min*_處理的示意圖;21 is a schematic diagram of a check node process according to an embodiment of the present invention; FIG. 22 is a schematic diagram of check node processing according to an embodiment of the present invention; FIG. 23 is a schematic diagram of check node processing according to an embodiment of the present invention. Figure 24 is a schematic illustration of a min* process in accordance with one embodiment of the present invention; Figure 25 is a schematic illustration of a min* logarithm table in accordance with one embodiment of the present invention; Figure 26 is a schematic illustration of a min* process in accordance with another embodiment of the present invention; Figure 27 is a schematic illustration of min*_ processing in accordance with one embodiment of the present invention;

圖28疋根據本發明一個實施例的min*-對數表的示意圖. 圖29是根據本發明另一個實施例的min*-處理的示意圖· 圖30是根據本發明又一個實施例的min*-處理的示意圖. 圖31是根據本發明一個實施例的校正子計算功能塊的示专圖 圖32是根據本發明一個實施例的LDPC解碼方法的流程圖· 程圖。 圖33是根據本發明一個實施例的迭代LDPC解碼方法的流 【主要元件符號說明】 通訊系統 100 通訊設備 110 76 1326987 發送器 112 編碼器 114 :接收器 116 解碼器 118 费 -通訊通道 199 通訊設備 120 接收器 122 解碼器 124 發送器 126 編碼器 128 衛星通訊通道 130 衛星電視天線 132Ί34 無線通訊通道 140 塔 142、144 ϋ有線通訊通道 150 本地天線 152Ί54 光纖通訊通道 160 電-光介面 162 光-電介面 164 通訊糸統 200 ' 資訊位元 201 編碼信號位元 202 ' 離散值調變符號序列 203 連續時間發送訊號 204 濾波後連續時間發送訊號205 連續時間接收訊號 206 濾波後連續時間接收訊 號207 離散時間接收訊號 208 •符號量度 209 最佳估算 210 編碼器和符號映射器 符號映射器 220 編碼器 222 224 發送驅動器 230 -數位類比轉換器 ,類比前端 232 發送濾波器 234 260 接收濾波器 262 類比數位轉換器 解碼器 264 量度產生器 270 通訊通道 280 發送器 297 299 變數節點 310 77 1326987 位元節點 312 校驗節點 322 I、Q值 401 符號量度 411 位元量度 421 位元節點位元節點處理器 430 軟輸出 435 邊消息 441 迭代解碼處理 450 校正子計算器 470 位元量度 500 乒乓存儲結構 605 位元/校驗處理器 610 桶形移位器 615 控制器 650 控制訊號 652 桶形移位器 662 宏塊 699 量度產生器 803 位元/校驗處理器 810 控制器 850 控制訊號 85228 is a schematic diagram of a min*-logarithm table according to an embodiment of the present invention. FIG. 29 is a schematic diagram of min*-processing according to another embodiment of the present invention. FIG. 30 is a min*- according to still another embodiment of the present invention. Figure 31 is a flowchart of a syndrome calculation function block according to an embodiment of the present invention. Figure 32 is a flowchart of a LDPC decoding method according to an embodiment of the present invention. 33 is a flow of an iterative LDPC decoding method according to an embodiment of the present invention. [Main component symbol description] Communication system 100 Communication device 110 76 1326987 Transmitter 112 Encoder 114: Receiver 116 Decoder 118 Fee-communication channel 199 Communication device 120 Receiver 122 Decoder 124 Transmitter 126 Encoder 128 Satellite Communication Channel 130 Satellite TV Antenna 132Ί34 Wireless Communication Channel 140 Tower 142, 144 ϋ Wired Communication Channel 150 Local Antenna 152Ί54 Optical Fiber Communication Channel 160 Electro-Optical Interface 162 Optical-Electrical Interface 164 Communication System 200 'Information Bit 201 Coded Signal Bit 202 ' Discrete Value Modulation Symbol Sequence 203 Continuous Time Transmit Signal 204 Filtered Continuous Time Transmit Signal 205 Continuous Time Receive Signal 206 Filtered Continuous Time Receive Signal 207 Discrete Time Reception Signal 208 • Symbol metric 209 Best estimate 210 Encoder and symbol mapper Symbol mapper 220 Encoder 222 224 Transmit driver 230 - digital analog converter, analog front end 232 Transmit filter 234 260 Receive filter 262 Analog to digital converter solution 264 Measurer 270 Communication Channel 280 Transmitter 297 299 Variable Node 310 77 1326987 Bit Node 312 Check Node 322 I, Q Value 401 Symbol Measure 411 Bit Measure 421 Bit Node Bit Node Processor 430 Soft Output 435 Side Message 441 Iterative Decoding Process 450 Corrector Calculator 470 Bit Measure 500 Ping Pong Storage Structure 605 Bit/Check Processor 610 Barrel Shifter 615 Controller 650 Control Signal 652 Barrel Shifter 662 Macroblock 699 Measure Generator 803 bit/check processor 810 controller 850 control signal 852

校驗節點 320 邊 330 量度產生器 410 符號節點計算器功能塊 420 位元量度位元量度計算器 422 邊消息 431 校驗節點處理器 440 功能塊 442 硬限幅器 460 位元估計值 471 量度產生器 603 量度記憶體 606、607 位元/校驗處理器 611---612 記憶體 620 LDPC 碼 651 靜態隨機存取記憶體 660 校正子計算功能塊 664 虛擬雙埠量度記憶體 705 量度記憶體 806 、 807 桶形移位元器 815 LDPC 碼 851 桶形移位元器 862 78 1326987 宏塊 899 量度產生器 903 位元/校驗處理器 911,912 控制器 950 控制訊號 952 宏塊 999 量度產生器結構 1600 位元/校驗處理器 811,812 位元/校驗處理器 910 桶形移位元器 915 LDPC 碼 951 SARM 960 量度產生器結構 1700 量度產生器結構 1800 79Check node 320 edge 330 metric generator 410 symbol node calculator function block 420 bit metric bit metric calculator 422 side message 431 check node processor 440 function block 442 hard limiter 460 bit estimate 471 metric generation 603 Measure Memory 606, 607 Bit/Check Processor 611---612 Memory 620 LDPC Code 651 SRAM 660 Calibrator Computation Function Block 664 Virtual Binary Metric Memory 705 Metric Memory 806 807 Barrel Shift Element 815 LDPC Code 851 Barrel Shift Element 862 78 1326987 Macro Block 899 Measure Generator 903 Bit/Check Processor 911, 912 Controller 950 Control Signal 952 Macro Block 999 Measure Generator Structure 1600 Bit/Check Processor 811, 812 Bit/Check Processor 910 Bucket Shift Element 915 LDPC Code 951 SARM 960 Measure Generator Structure 1700 Measure Generator Structure 1800 79

Claims (1)

1326987 +'申請專利範圍: 所述解碼器包括: 1種解碼LDPC編碼訊號的解碼器, 量度產生器,用於: 並從中生成第一組 接收對應LDPC編碼訊號第—符號的第—丨、q值, 複數個位元量度; Q值,並從中生成第二組 接收對應LDPC編碼訊號第二符號的第二 複數個位元量度; 量度記憶體,用於: 存儲所述第-組概條元量度和賴第二喊數恤元量度; 支板雙埠=體管理’從而在從所缝度赶器触所述第二組複數 個位7G量度的畴輸出所述第—組複數個位元量度; 支援雙埠記鍾管理,從而姐纽產生雖彳H魄數個位 70量度的同時輸出所述第二組複數個位元量度; 複數個位元/校驗處理器,用於: 連續地接收所述第-組複數條元量度、所述第二組複數她元量度 和所述第三組複數個位元量度;‘ 執打位TLff點處理,包括更新與複數恤元_相_複數個邊消 息’和校驗節點處理,包括更新與複數個校驗節點相關的複數個 邊消息; 消息傳送記憶體,用於: 在所述複數個位元/校驗處理器内經過位元節點處理後,存儲所述與複 數個位元節點相關的複數個邊消息; 1326987 、在所述複數個位邊驗處理器内經過校驗節點處理後,存 • 數個校驗節點相關的複數個邊消息; 後 •桶形移位器,用於: 相關的複數 對從所述消息傳送記憶體中讀_所述與複數個位元節點 個邊消息進行移位; 將所述細_毅條蛛_ _魏姉肖_給所述複 數個位元/校驗處理ϋ進行隨後的校驗節點處理; 對從所述消惠 個邊消息嫩她錄軸關的複數 將所述移錄的與複數倾驗_目_概姉肖息提供給所述複 數個位it/校驗處理n進行_的位元節點處理。 2、 如申請專利範圍第1項所述的解碼器,進—步包括: 輸出處理益’用於從對應最近更新的與所述複數個位元節點相關的複 數個邊消息的所述複數條元/校驗處_中接錄輸出,並隨後 作出硬判決,從而生成所述_編碼訊號第一符號和第二符號中 的至少一個的位元最佳估計值。 3、 如申請專利範圍第i項所述的解碼器,進—步包括: -校正子#功能塊,祕從與最近更新的與所述複數個位元節點相關 ‘的複數個邊消息相對應的所述複數個位元/校驗處理器中接收軟 輸出,並決定是否用於生成LDPC編碼訊號的複數個校正子中的每 一個是否等於0。 4如申%專利範圍第1項所述的解碼器,其中: 81 1326987 所述量度記憶體、所述複數個位元/校驗處理器以及所述消息傳送記憶 體形成複數個巨集塊中的第一個巨集塊; ’ 所述複數個巨集塊中的每-個巨集塊還包括有對應的量度記憶體、對、 應的複數個位元/校驗處理器以及對應的消息傳送記憶體; 所述桶形移位器與所述複數個巨集塊中的每_個巨集塊内的每一個對 應的消息傳送§己憶體通訊連接。 ' 5、一種解碼LDPC編碼訊號的解碼器,所述解碼器包括: 複數個位元/校驗處理器,用於: 接收複數個位元量度; < 執行位元節點處理’包括更新與魏個位元__的複數個邊消 息’和校驗節點處理,包括更新與複數個校驗節點相關的複數個 邊消息; 消息傳送記憶體,用於: 在所述複數個位元/校驗處理糾經過位元節點處理後,存儲所述與複 數個位元郎點相關的複數個邊消息; 在所述複_侃/紐處理如朗驗_喊_,存騎述與複1 數個校驗節點相關的複數個邊消幸、; 桶形移位器,用於: 對從所_傳送記舰中讀_述與複數個位元節點相_賴. 個邊消息進行移位; -· 將所述移位後的與複數個位元節點相關的複數個邊消息提供給所述複 數個位元/校驗處理H進行隨後的校驗節點處理; 82 1326987 對從所述消息傳送記憶體㈣出的所述與複數做驗節點細的複數 個邊消息進行移位; 將所述移位後的與複數個校驗節點相關的複數個邊消息提供給所述複 數個位元/校驗處理器進行隨後的位元節點處理。 6、 如申請專利範圍第5項所述的解碼器,進一步包括: 量度產生器’接收對應LDPC編碼訊號的複數個符號的jQ值,並從 中生成複數個位元量度。 7、 如申請專利範圍第5項所述的解碼器,進—步包括: 輸出處理器,用於從對應最近更新的與所述複數個位元節點相關的複 數個邊消息的所述複數個位元/校驗處黯巾接收軟輸出,並隨後 作出硬判決,從而生成所述LDPC編瑪訊號第一符號和第二符號中 的至少一個的位元最佳估計值。 8 種解碼LDPC編碼訊號的方法,包括: 接收對應LDPC編碼訊號第一符號的第—丨、Q值,並從中生成第—組 複數個位元量度; 、 、卩值,並從中生成第二組 -組複數個位元量度; •組複數個位元量度的同時 接收對應LDPC編碼訊號第二符號的第二 複數個位元量度; 存儲所述第-組複數個位元量度和所述第 支援雙埠#憶體管理,從而在接收所述第 輸出所述第一組複數個位元量度; 支援又棒5己憶體管理,從而在接收第-知V-备 弟二組後數個位元量度的同時輸出 所述第二組複數個位元量度; 83 上326987 連續地接收所述第-組複數個位元量度、所述第二組減個位元量度 和所述第三組複數個位元量度; 執行包括位元節點處理,更新與複數個位元節點相關的複數個邊消 息,和杈驗節點處理,包括更新與複數個校驗節點相關的複數個 邊消息; 經過位卩點處理後,存儲所述與複數個位元節__複數個邊消 息; 、、二過权驗㈣處理後,存麟賴紐個機_點相_複數個邊消 息; 將所述與複數條元節助_複數個邊消息移錄合翻配置以進 行隨後的校驗節點處理; 將所述與複數個校驗節點相關的複數個邊消息移位至合適的配置以進 行隨後的位元節點處理。 9、如申請專利範圍第8項所述的方法,進一步包括: 接收對應最近更新的與所述複數餘元節助_複數個邊消息的軟 輸出’並隨後作出硬判決,從而生成·_編碼訊號第一符號 和第二符號中的至少一個的位元最佳估計值。 1〇、如申請專利範圍第8項所述的方法,進—步包括: 子應最近更新的與所述複數個位元節點相關的複數個邊消息的軟 輪出; 確定用於生成LDPG編碼訊躺LDPG碼的概個校正子巾的每一個θ 否等於零。 疋 841326987 + 'Application Patent Range: The decoder includes: 1 decoder for decoding an LDPC coded signal, and a measure generator for: generating a first group of first to receive a corresponding symbol of the LDPC coded signal - 丨, q a value, a plurality of bit metrics, and a second plurality of metrics for receiving a second set of symbols corresponding to the second symbol of the LDPC coded signal; the metric memory for: storing the first set of singular elements Measuring and relying on the second singularity metric; the slab sputum = body management' to output the first plurality of bits in a domain sized from the stitching of the second plurality of bits 7G Measure; support double-clicking bell management, so that Sister New produces the second set of bit metrics while 彳H魄s 70 bits; multiple bits/checking processors for: continuous Receiving the first set of complex dollar metrics, the second set of complex female metrics, and the third set of plural metrics; 'the TLff point processing, including updating and plural ___ Multiple side messages 'and check nodes The method includes: updating a plurality of side messages related to the plurality of check nodes; and message transfer memory, configured to: store the plurality of check nodes after processing by the bit nodes in the plurality of bit/check processors a plurality of edge messages related to the bit node; 1326987, after processing by the check node in the plurality of bit edge check processors, storing a plurality of side messages related to the check nodes; And the related complex pair is read from the message transfer memory, and the plurality of bit node side messages are shifted; and the fine _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ The bit/verification process is performed by the subsequent check node processing; the plural number of the recorded and the plural check is provided for the plural number from the side of the message The bit node processing of _ is performed on the plurality of bit it/check processing n. 2. The decoder of claim 1, wherein the method further comprises: outputting a processing benefit from the plurality of side messages corresponding to the most recently updated plurality of side messages associated with the plurality of bit nodes The meta/checksum_records the output and then makes a hard decision to generate a bit-optimal estimate of at least one of the first symbol and the second symbol of the _coded signal. 3. The decoder as claimed in claim i, wherein the step comprises: - a syndrome # function block, the secret corresponding to a plurality of side messages associated with the most recently updated plurality of bit nodes The plurality of bit/check processors receive the soft output and determine whether each of the plurality of syndromes used to generate the LDPC encoded signal is equal to zero. 4. The decoder of claim 1, wherein: 81 1326987 the metric memory, the plurality of bit/check processors, and the message transfer memory form a plurality of macroblocks The first macroblock; 'each of the plurality of macroblocks further includes a corresponding metric memory, a pair of corresponding bits/check processors, and corresponding messages Transmitting a memory; the bucket shifter and the message corresponding to each of the macroblocks of the plurality of macroblocks transmit a § memory communication connection. 5. A decoder for decoding an LDPC coded signal, the decoder comprising: a plurality of bit/check processors for: receiving a plurality of bit metrics; < performing bit node processing 'including updating and Wei a plurality of side messages of the bit __ and check node processing, including updating a plurality of side messages associated with the plurality of check nodes; message transfer memory for: at the plurality of bits/checks After processing the correction through the bit node processing, storing the plurality of side messages related to the plurality of bit positions; in the complex _侃/纽 processing, such as Lang _ shouting _, storing and resuming a plurality of side messages Checking the number of edges associated with the node; the barrel shifter is used to: shift the read-by-segment and the plurality of bit nodes from the ship to the ship; • providing the shifted plurality of side messages associated with the plurality of bit nodes to the plurality of bit/check processing H for subsequent check node processing; 82 1326987 for transferring memory from the message a plurality of the details of the body (4) and the plurality of test nodes The side message is shifted; the shifted plurality of side messages associated with the plurality of check nodes are provided to the plurality of bit/check processors for subsequent bit node processing. 6. The decoder of claim 5, further comprising: the metric generator' receiving the jQ value of the plurality of symbols corresponding to the LDPC coded signal and generating a plurality of bit metrics therefrom. 7. The decoder of claim 5, wherein the method further comprises: an output processor for using the plurality of side messages corresponding to the most recently updated plurality of bit nodes associated with the plurality of bit nodes The bit/checksum wipe receives the soft output and then makes a hard decision to generate a bit best estimate of at least one of the first symbol and the second symbol of the LDPC coded signal. 8 methods for decoding an LDPC coded signal, comprising: receiving a first 丨, a Q value corresponding to a first symbol of an LDPC coded signal, and generating a first plurality of bit metrics therefrom; and a threshold value, and generating a second group therefrom - a plurality of bit metrics; a plurality of bit metrics corresponding to the second symbol of the LDPC coded signal while receiving the plurality of bit metrics; storing the first plurality of bit metrics and the first support Double-receiving the memory, so as to receive the first output of the first group of multiple bit metrics; support the five-fold memory management, so that after receiving the first-known V-professional two groups Simultaneously outputting the second set of plurality of bit metrics; 83 326987 continuously receiving the first set of plural bit metrics, the second set of reduced bit metrics, and the third set of complex numbers a bit metric; performing a bit node process, updating a plurality of side messages associated with a plurality of bit nodes, and awaiting node processing, including updating a plurality of side messages associated with the plurality of check nodes; point After the processing, storing the plurality of bit sections __ a plurality of side messages; and, after the second pass (4) processing, the stalking _ _ _ phase _ a plurality of side messages; a plurality of side message shifting configurations for subsequent check node processing; shifting the plurality of side messages associated with the plurality of check nodes to a suitable configuration for subsequent bit nodes deal with. 9. The method of claim 8, further comprising: receiving a soft output corresponding to the most recently updated and a plurality of side messages, and then making a hard decision, thereby generating a code. A bit best estimate of at least one of the first symbol and the second symbol of the signal. 1. The method of claim 8, wherein the method further comprises: a soft round of a plurality of side messages associated with the plurality of bit nodes that have been recently updated; determining to generate an LDPG code Each θ of the calibrated sub-blade of the LDPG code is equal to zero.疋 84
TW94133698A 2004-10-04 2005-09-28 Efficient design to implement ldpc (low density parity check) decoder TWI326987B (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US61572204P 2004-10-04 2004-10-04
US63036004P 2004-11-22 2004-11-22
US63223704P 2004-12-01 2004-12-01
US63492304P 2004-12-10 2004-12-10
US64057904P 2004-12-31 2004-12-31
US64133105P 2005-01-04 2005-01-04

Publications (1)

Publication Number Publication Date
TWI326987B true TWI326987B (en) 2010-07-01

Family

ID=36923611

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94133698A TWI326987B (en) 2004-10-04 2005-09-28 Efficient design to implement ldpc (low density parity check) decoder

Country Status (2)

Country Link
CN (1) CN1822509B (en)
TW (1) TWI326987B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9385752B2 (en) 2011-05-09 2016-07-05 Sony Corporation Encoder and encoding method providing incremental redundancy

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100425000C (en) * 2006-09-30 2008-10-08 东南大学 Double-turbine structure low-density odd-even check code decoder
CN101364809B (en) * 2007-08-06 2011-09-07 美国博通公司 Decoder
TWI487290B (en) 2011-03-29 2015-06-01 Mstar Semiconductor Inc Readdressing decoder for quasi-cyclic low-density parity-check and method thereof
CN106301389B (en) * 2015-06-05 2019-09-20 华为技术有限公司 Interpretation method and equipment
KR20190022987A (en) * 2017-08-25 2019-03-07 에스케이하이닉스 주식회사 Data storage device and operating method thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2816773B1 (en) * 2000-11-10 2004-11-26 France Telecom MODULE, DEVICE AND METHOD FOR HIGH-SPEED DECODING OF A CONCATENE CODE

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9385752B2 (en) 2011-05-09 2016-07-05 Sony Corporation Encoder and encoding method providing incremental redundancy
TWI562560B (en) * 2011-05-09 2016-12-11 Sony Corp Encoder and encoding method providing incremental redundancy

Also Published As

Publication number Publication date
CN1822509A (en) 2006-08-23
CN1822509B (en) 2011-06-08

Similar Documents

Publication Publication Date Title
US7587659B2 (en) Efficient front end memory arrangement to support parallel bit node and check node processing in LDPC (Low Density Parity Check) decoders
US8516347B1 (en) Non-binary LDPC extrinsic calculation unit (LECU) for iterative decoding
US9385753B2 (en) Systems and methods for bit flipping decoding with reliability inputs
US8230298B2 (en) Overlapping sub-matrix based LDPC (low density parity check) decoder
US20060085720A1 (en) Message passing memory and barrel shifter arrangement in LDPC (Low Density Parity Check) decoder supporting multiple LDPC codes
US7395487B2 (en) Common circuitry supporting both bit node and check node processing in LDPC (Low Density Parity Check) decoder
US7409628B2 (en) Efficient design to implement LDPC (Low Density Parity Check) decoder
US7500172B2 (en) AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US7174495B2 (en) LDPC decoder, corresponding method, system and computer program
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
CN107919874B (en) Syndrome computation basic check node processing unit, method and computer program
US7895500B2 (en) Systems and methods for reduced complexity LDPC decoding
TWI326987B (en) Efficient design to implement ldpc (low density parity check) decoder
CN107404321B (en) Method and apparatus for error correction code decoding
CN107979445B (en) Syndrome decoding based on basic check nodes using pre-ordered inputs
US9614548B1 (en) Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes
CN111034055A (en) Simplified check node processing in non-binary LDPC decoders
Zhang et al. A dual-rate LDPC decoder for china multimedia mobile broadcasting systems
US20190165810A1 (en) Method and apparatus for efficient data decoding
TWI407703B (en) Multi-code ldpc (low density parity check) decoder
CN112470405A (en) Variable node processing method and apparatus for message passing decoding of non-binary codes
Shayegh et al. Efficient soft decoding of Reed–Solomon codes based on sphere decoding
Liu et al. Efficient Decoding of Parity-Check Concatenated RS Codes
Babalola Soft-decision decoding of moderate length binary cycle codes based on parity-check transformation
Blad Early-decision decoding of LDPC codes

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees