freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于modelsim的turbo編譯碼器的設(shè)計學(xué)士學(xué)位論文(文件)

2025-08-05 16:54 上一頁面

下一頁面
 

【正文】 hematical Theory of the Communication》的著名論文,在這一論文中, Shannon 提出的理論為信息編碼以及現(xiàn)代通信理論糾錯碼的奠定了基礎(chǔ),它的發(fā)表標志著信息與編碼這一學(xué)科的創(chuàng)立。像 825 NS8250、 NSl6550 等都是常用的 UART 芯片,但是這些專用的串行接口芯片的缺點是數(shù)據(jù)傳輸速率比較慢,難以滿足高速率數(shù)據(jù)傳輸?shù)膱龊希匾木褪撬鼈兌季哂胁豢梢浦残?,因此要利用這些芯片來實現(xiàn) PC 機和 FPGA 芯片之間的通信,勢必會增加接口連線的復(fù)雜程度以及降低整個系統(tǒng)的穩(wěn)定性和有效性。 I 摘 要 Turbo 碼將卷積碼和隨機交織器結(jié)合在一起,巧妙地實現(xiàn)了隨機編碼的思想,同時采用軟輸出迭代譯碼來逼近最大似然譯碼。 本課題就是針對 UART 的特點以及 FPGA 設(shè)計具有可移植性的優(yōu)勢,提出了一種基于 FPGA 芯片的嵌入式 UART設(shè)計方法,其中主要包括狀態(tài)機的描述形式以及自頂向下的設(shè)計方法,利用硬件描述語言來編制 UART 的各個子功能模塊以及頂層模塊,之后將其集成到 FPGA 芯片的內(nèi)部,這樣不僅能解決傳統(tǒng) UART 芯片的缺點而且同時也使整個系統(tǒng)變得更加具有緊湊性以及可靠性。該論文從數(shù)學(xué)的角度出發(fā),定義了信源的嫡和信道容量,并且給出這樣的證明,認為只要信源的嫡和信道容量相比要小,則存在某種差錯控制編碼方法,能夠使信道輸出的錯誤概率減小為 任意小,從而在噪聲信道上實現(xiàn)質(zhì)量較好的可靠通信 [1]。 從上世紀 40 年代末開始,人們就不斷地努力試圖找出 Shannon 所說的“好碼”。格狀編碼調(diào)制在帶限信道下能夠比較接近Shannon 極限,因此 TCM 的提出成為信道編碼領(lǐng)域的一個重要里程碑 。 Berrou 等人使用約束長度為 5 的子碼,長度為 65536 的交織器,碼率為 1/2 的 Turbo 碼,經(jīng)過 18 次迭代譯碼之后,在 AWGN 信道上當 Eb/No 時的誤比特率 (BER) 105,達到了近 Shannon 限的性能 ( 1/2 碼率的 Shannon 限為 0dB) 。在信道編碼中, Turbo 碼在低信噪比情況下優(yōu)勢十分明顯。 國內(nèi)外研究現(xiàn)狀 自從 1993 年 Claude Berrou 教授等人提出 Turbo 碼以來,在編碼領(lǐng)域引起了轟動,研究的人越來越多,并且取得了很大的成果。不僅是這些, Perez 教授還對距離譜加深一步理解和研究,得出了 Turbo 碼譯碼過程中產(chǎn)生誤碼底限的原因。主要包括 MAP 類與 SOVA 類譯碼算法。南澳大利亞大學(xué) Small World 通信研究組最先開始開發(fā) Turbo 編譯碼器并推出了 Turbo 碼產(chǎn)品,新加坡 Oki公司推出了用于 Turbo編解碼的專用芯片 EMIK07 , Advanced Hardwar 推出了單芯片 Turbo 乘積碼 (TCP)編解碼器 Astro LE,世界上兩大著名的 FPGA 供應(yīng)商 Xilinx 和 Altera 公司都推出了基于自己FPGA 芯片的 Turbo 碼編譯碼器的 IP Core。 Hagenauer 等利用對數(shù)似然比對存在的軟輸入 /軟輸出算法進行分析。但是采用此算法計算量大,譯碼復(fù)雜度高,在實際中應(yīng)用起來比較困難。因此,如何消除 MAP 算法中的指數(shù)和乘法運算成為簡化算法的首要任務(wù)。實際上,為簡單起見,采用迭代譯碼的 Turbo 碼信息位幀長度一般與 5 交織器的交織深度一致,而交織深度的選取多半根據(jù)所需支持的通信業(yè)務(wù)的性質(zhì)及其要求達到的誤碼率等因素決定。 由于 Turbo 碼是面向第三代移動通信的糾錯編碼,因此需要高速率的傳輸數(shù)據(jù)信息并且功率消耗要小,針對高碼率的 Turbo 碼,有相應(yīng)的譯碼方法,同時人們對如何減小譯碼的功率損耗也提出了相應(yīng)的譯碼算法 [4]。目前正研究將 Turbo譯碼思想進一步推廣到更為廣泛的檢測和譯碼結(jié)構(gòu)中,如串行級聯(lián)譯碼、均衡、編碼調(diào)制、多用戶檢測、聯(lián)合信源與信道譯碼等。 第 2 章 介紹 Turbo 碼編譯碼 原理以及 算法 。 6 2 Turbo 碼編譯碼器的原理及算法 Turbo 碼編碼原理 Turbo 碼 編碼器 包含一個交織器分成的兩組卷積碼,由圖 所示,生成的碼是兩組同碼率的二進制組合碼。 Turbo 碼的出現(xiàn)對信道編碼理論和技術(shù)的研究產(chǎn)生了深遠的影響,結(jié)束了長 期以來將信道截止速率作為實際容量限的歷史,從原先的基于代數(shù)的構(gòu)造和譯碼方法轉(zhuǎn)變?yōu)榛诟怕实能浥袥Q譯碼方法,從之前的編碼方法之間的相對比較變成了與 Shannon 限進行比較等等。兩個分量編 7 碼器采用的都是 RSC( 遞歸系統(tǒng)卷積 )碼。 交織器的使用是實現(xiàn) Turbo 碼近似隨機編碼的關(guān)鍵。 規(guī)則交織器 分組交織器的一種結(jié)構(gòu)如表 所示。當分量編碼器歸零時,則不存在尾效應(yīng)。與分組交織器相比,由于其交織后相鄰碼元之間產(chǎn)生的距離較大,則在去相關(guān)性方面更優(yōu)于分組交織器。所以這時有必要引入刪余機制,周期性的刪除選定的比特,以減少編碼信息0 1 2 3 4 5 6 7 8 9 的冗余度,提高碼率。矩陣中每一行分別與兩個分量編碼器相對應(yīng),其中 “ 0” 表示相應(yīng)位置上的校驗比特被刪除,而“ 1”表示保留相應(yīng)位置上的校驗比特。 偽隨機交織器的映射規(guī)則不是具體的而是隨機生成的。完成交織過程。 和 是兩個獨立同分布的高斯噪聲樣值,并且它們的均值為 0,方差為 δ2= 。為此 1993年提出 Turbo 碼的同時提出了一類新的遞歸型系統(tǒng)卷積碼 (RSC, Recursive Systematic Convolutional ),該碼在高碼率時比最好的 NSC 還要好。舉例來說,采用兩個碼率 R=1/2 的系統(tǒng)卷積碼時,如果不采用截余,系統(tǒng)信息位加兩個編碼器的各一個校驗位將產(chǎn)生碼率 R=1/3的碼流。對于 Turbo 碼這樣的并行級聯(lián)碼,如果分量譯碼器的輸出為硬判決,則不可能實現(xiàn)分量譯碼器之間軟信息的交換,從而限制了系統(tǒng)性能的進一步提高。 SISO 譯碼模塊 由于 Turbo 碼譯碼需要采用分量譯碼器之間的軟信息的交換來提高譯碼性能,所以分量譯碼器必須能接受軟信息以及能輸出軟信息,即需要采用軟輸入軟輸出 (SISO)譯碼器。 在這里首先給出遵循的變量名及下標使用規(guī)則。 ( | ) √ ( ( ) ) () 其中, 為每個傳輸比特的能量, 為噪聲方差, a 為信道的衰落幅度(對于無衰落的 AWGN 信道, a=1)。經(jīng)過研究表明,當解調(diào)器采用軟判決譯碼時,得到的編碼增益要比采用硬判決譯碼時高出 2dB 左右。 圖 SOVA算法的 Turbo 碼譯碼器 SOVA 算法是在 Viterbi 算法的基礎(chǔ)上,使其具有提供軟判決輸出和利用外部信息能力的一種算法。 S O V A 1 S O V A 2解 交 織交織器解復(fù)用交織器解交織Y t 14 計算軟判決值 時刻 k 路徑 m 的概率由公式 () ( ) , (2,4) 式中 C 為常數(shù)。BRSOVA 比 HRSOVA 的性能要好,但是算法的復(fù)雜度要增加不少,所以實際中經(jīng)常使用的是 HRSOVA。 15 SOVA 算法較 MAP 算法性能下降的原因之一是 SOVA 的輸出軟判決值偏大,或者說對判決可信度的估計過高,限幅 SOVA 通過設(shè)置門限對軟判決值進行限制來解決這一問題。 SOVA 算法譯碼時,可以按正向或者反向的網(wǎng)格圖進行。目前,在各種 SOVA 改進算法中,雙向 SOVA 的性能最好,但是由于引入了正反兩個方向的計算,所以譯碼復(fù)雜度增加較大。 借鑒量化中的非均勻量化提高量化信噪比的思想,引入軟判決值修正函數(shù) H( ),其特性應(yīng)類似于非均勻量化中的 A 律或群律壓縮特性曲線。 修正函數(shù) H( )的選取直接影響譯碼性能。它由兩個相同的寄存器長度是 4 的 RSC 編碼器組成。 Turbo 碼編碼器輸入的原始信息由偽隨機序列發(fā)生器產(chǎn)生,本文采用移位寄存器來實現(xiàn)偽隨機序列發(fā)生器,其結(jié)構(gòu)如圖 所示。 令交織器長度 , 參數(shù) , ( 相對數(shù)值 ) 由 k 的大小決定,如表 所示 : 表 交織器參數(shù)選取 幀數(shù)據(jù)信息比特長度 1784 8 223 3568 8 223*2 7136 8 223*4 8902 8 223*5 16384 待定 接著作后面的步驟,若 s=1 到 k 可以獲得更換順序的數(shù)字 π(s),這里 s 指的是輸入到第二個編碼器 RSC2 的第 S 位數(shù)據(jù),而 π(s)是初始幀的比特數(shù)字。在 Turbo 碼編碼與譯碼的過程中都會用到交織器,且數(shù)據(jù)交織一般是通過控制數(shù)據(jù) RAM 的讀寫地址來實現(xiàn),即只要獲得數(shù)據(jù)的交織地址就可完成交織和解交織過程。 圖 偽隨機交織器結(jié)構(gòu)圖 256 位順序地址 Wad 由計數(shù)器產(chǎn)生,作為數(shù)據(jù)寫入 RAM 的地址,計數(shù)器產(chǎn)生 Cr信號控制選擇器產(chǎn)生讀、寫數(shù)據(jù)的使能信號一,分別為 Ren 和 Wen,選擇器控制隨機地址產(chǎn)生器產(chǎn)生 256 位隨機地址 Rad,并發(fā)出寫使能信號 Wen 控制數(shù)據(jù)按照順序地址 Wad寫入 RAM 中,然后當 Ren 使能時,按照隨機地址產(chǎn)生器產(chǎn)生的地址 Rad 讀出數(shù)據(jù),完成交織過程。由于采用了 8 級移位寄存器設(shè)計的 m序列發(fā)生器,則 交織深度為 256bit。 use 。 // 0 時刻選中狀態(tài) selTrans: in ARRAY8b。 // 在 (l 1)時刻的 4 種可能狀態(tài) selTransL2: out std_logic_vector(1 downto 0) // 在 (l 2)時刻選擇過度 )。 begin process (clk, rst) variable free : std_logic_vector(7 downto 0)。 variable current_state : INT3BIT。 variable state_l1 : INT2BIT。039。 end loop。 selStateL2 = (others = 39。039。 end loop。 and clk39。 free(pathId(i)) := 39。 22 for i in 0 to 7 loop current_state:= i。 freeBeg(pathId(i)) := 39。 else if free(0) = 39。 if free(1 downto 0) = 10 then freePathId := 1。 if free(3 downto 0) = 1000 then freePathId := 3。 if free(5 downto 0) = 100000 then freePathId := 5。 if free(7 downto 0) = 10000000 then freePathId := 7。 pathIdReg(current_state) = freePathId。 end loop。 outState_l1(1 downto 0) := std_logic_vector(conv_unsigned(state_l1, 2))。 end loop。 交織器 2 library ieee。 24 entity trellis2 is port ( clk: in std_logic。 // 在 (l 1)時刻的 4 種可能狀態(tài) selTrans: in ARRAY8b。 // 負復(fù)位 selState: in std_logic_vector(2 downto 0)。 use 。 end process。 selStateL2 = outState_l2。 state_l2:=reg((TREL
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1