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

正文內(nèi)容

基于c54xdsp的viterbi譯碼技術(shù)(編輯修改稿)

2024-07-24 17:11 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 分支(因?yàn)檩斎?或1),同時(shí),跳傳到不同的兩個(gè)狀態(tài)中去,將兩條相應(yīng)的輸出和實(shí)際接收到的輸出比較,量度值大的拋棄(也就是比較結(jié)果相差大的),留下來(lái)的就叫做幸存路徑,將幸存路徑加上上一時(shí)刻幸存路徑的量度然后保存,這樣64條幸存路徑就增加了一步。在譯碼結(jié)束的時(shí)候,從64條幸存路徑中選出一條量度最小的,反推出這條幸存路徑(叫做回溯),得出相應(yīng)的譯碼輸出。卷積碼概率譯碼的基本思路是:以接收碼流為基礎(chǔ),逐個(gè)計(jì)算它與其他所有可能出現(xiàn)的、連續(xù)的網(wǎng)格圖路徑的距離,選出其中可能性最大的一條作為譯碼估值輸出。概率最大在大多數(shù)場(chǎng)合可解釋為距離最小,這種最小距離譯碼體現(xiàn)的正是最大似然的準(zhǔn)則。卷積碼的最大似然譯碼與分組碼的最大似然譯碼在原理上是一樣的,但實(shí)現(xiàn)方法上略有不同。主要區(qū)別在于:分組碼是孤立地求解單個(gè)碼組的相似度,而卷積碼是求碼字序列之間的相似度?;诰W(wǎng)格圖搜索的譯碼是實(shí)現(xiàn)最大似然判決的重要方法和途徑。用網(wǎng)格圖描述時(shí),由于路徑的匯聚消除了樹(shù)狀圖中的多余度,譯碼過(guò)程中只需考慮整個(gè)路徑集合中那些使似然函數(shù)最大的路徑。如果在某一點(diǎn)上發(fā)現(xiàn)某條路徑已不可能獲得最大對(duì)數(shù)似然函數(shù),就放棄這條路徑,然后在剩下的“幸存”路徑中重新選擇路徑。在整個(gè)viterbi譯碼過(guò)程中一般是一下幾個(gè)步驟[10]:(1) 量化。將接收機(jī)接收的模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào)。(2) 碼同步。檢測(cè)碼元幀的邊界以及碼元標(biāo)志。(3) 分支度量計(jì)算。計(jì)算各個(gè)狀態(tài)的接收碼元和本地碼元的漢明距離。(4) 狀態(tài)度量更新。用各個(gè)狀態(tài)新的路徑度量代替前一時(shí)刻的路徑度量。(5) 幸存路徑存儲(chǔ)。將Viterbi譯碼所需的網(wǎng)格圖上所走過(guò)的路徑記錄下來(lái)。(6) 輸出判決。根據(jù)幸存路徑存儲(chǔ)的信崽,產(chǎn)生譯碼序列的輸出。根據(jù)以上的步驟,不難知道看出在譯碼過(guò)程中將會(huì)有兩種信號(hào):數(shù)字信號(hào)處理部分和模擬信號(hào)處理部分,當(dāng)信號(hào)被接收后先經(jīng)過(guò)模擬信號(hào)部分進(jìn)行量化,然后在進(jìn)行數(shù)字信號(hào)部分的處理,最終用路徑回溯輸出方法將譯碼信息序列輸出。 viterbi譯碼流程圖若以上節(jié)所說(shuō)的(2,1,3)卷積碼為例,假設(shè)輸入的信息序列仍為U= (1011100),編碼器輸出C= (11,10, 00, 01, 10, 01, 11),通過(guò)BSC信道送入譯碼器的的序列R=(10,10, 00, 01, 11, 01, 11)出現(xiàn)兩個(gè)錯(cuò)誤,現(xiàn)在利用Viterbi算法來(lái)求U的估值序列U39。圖中畫(huà)出了各時(shí)刻進(jìn)入每一狀態(tài)的的留選路徑和其度量值d〔這里是最小漢明距離),以及相應(yīng)的譯碼估計(jì)信息序列U39。到了第七時(shí)刻,留選路徑就剩一條,相應(yīng)的信息估值序列為U39。= (1011100)[11],接收時(shí)的兩個(gè)錯(cuò)誤得到糾正。 Viterbi譯碼器接收序列R的過(guò)程 3 viterbi譯碼器根據(jù)上面的算法。從圖中可以看出整個(gè)譯碼器按照功能主要分成7個(gè)模塊。主要由路徑計(jì)算模塊(BMG,Branch Metric Generation),加比選模塊(ACS,Addition Comparison Selection),狀態(tài)路徑存儲(chǔ)管理模塊(MMU,Metric Memory Management Unit),路徑回溯模塊(TB,Traceback),路徑存儲(chǔ)模塊(SMU,Survivor Memory Management Unit),輸入輸出模塊再加上一個(gè)控制電路模塊組成。 viterbi譯碼系統(tǒng)框圖,下面將詳細(xì)介紹這些模塊的具體作用[12]。輸入輸出模塊:輸入輸出部分提供譯碼器與外部的接口。在無(wú)線通信中,接收端從信道中接收到信息序列,然后通過(guò)輸入端傳入譯碼器。經(jīng)過(guò)解碼之后,最后得到的解碼序列從輸出端送出,在經(jīng)過(guò)其他處理輸出。ACS模塊:Add Compare Select 模塊,即“加比選”模塊。它是Viterbi譯碼器中運(yùn)算量最大的部分,大量的運(yùn)算都是在這個(gè)模塊完成的。ACS接收原來(lái)的狀態(tài)度量和當(dāng)前的度量路徑值,每一狀態(tài)都有兩條路徑可以到達(dá),對(duì)每一狀態(tài)的兩條路徑的對(duì)應(yīng)值相加,將得到的兩個(gè)結(jié)果進(jìn)行比較,從中選取較小的一條,將它作為當(dāng)前的狀態(tài)度量。BMG模塊:Branch Metric Generator模塊,即路徑度量模塊。這個(gè)模塊計(jì)算每一時(shí)刻各個(gè)狀態(tài)的路徑度量的,在BSC信道的硬判決Viterbi譯碼過(guò)程中,就是計(jì)算接收值與期望值之間的漢明距離。TB模塊:Traceback模塊,路徑回溯模塊。這個(gè)模塊當(dāng)譯碼開(kāi)始一段序列后,按照路徑回溯算法,歷經(jīng)各個(gè)狀態(tài),得到譯碼輸出。MMU模塊:Metric Memory Management Unit,路徑度量存儲(chǔ)管理模塊。這個(gè)模塊主要負(fù)責(zé)對(duì)路徑度量的存取進(jìn)行管理,負(fù)責(zé)幸存路徑的存儲(chǔ)和讀取。SMU模塊:Survivor Memory Management Unit,幸存路徑存儲(chǔ)管理模塊。這個(gè)模塊負(fù)責(zé)對(duì)幸存路徑RAM進(jìn)行管理,負(fù)責(zé)幸存路徑的存儲(chǔ)和讀取。Control模塊:控制電路模塊,主要負(fù)責(zé)提供各種控制信號(hào)給各個(gè)模塊,以保證時(shí)鐘上同步,流水線不堵塞,提高系統(tǒng)并行能力。由于在卷積碼的譯碼過(guò)程中,viterbi譯碼算法的復(fù)雜度和寄存器狀態(tài)數(shù)成正比,與約束長(zhǎng)度成指數(shù)增長(zhǎng)關(guān)系。因此解決計(jì)算復(fù)雜度大的問(wèn)題是關(guān)鍵,所以整個(gè)譯碼器的重點(diǎn)是在ACS模塊、MMU模塊、SMU模塊和TB模塊上?;贒SP的viterbi譯碼實(shí)現(xiàn)過(guò)程分為歐幾里德計(jì)算(其中硬判決中計(jì)算漢明距離)、尋找最短距離、計(jì)算累加距離、跟蹤回溯路徑、微分等步驟。 在viterbi譯碼實(shí)現(xiàn)過(guò)程中,用軟判決與硬判決的區(qū)別在于加比選部件(ACS),路徑計(jì)算部件(BMG)以及度量?jī)?chǔ)存模塊或者寄存器模塊的不同。當(dāng)然具體的軟判決與硬判決的優(yōu)缺點(diǎn)在本文中將不會(huì)涉及。本文主要介紹viterbi算法及其譯碼流程以及在C54X DSP上的實(shí)現(xiàn)。綜合以上,不難發(fā)現(xiàn)viterbi譯碼器設(shè)置的主要模塊是:加比選模塊、路徑度量存儲(chǔ)管理模塊、幸存路徑存儲(chǔ)管理模塊、路徑回溯模塊上,在下面的viterbi譯碼過(guò)程中重點(diǎn)考慮。 4 基于DSP的viterbi譯碼技術(shù)目前,卷積碼編碼和Viterbi算法的實(shí)現(xiàn)主要由兩種方法:數(shù)字信號(hào)處理器(DSP)實(shí)現(xiàn)和可編程專(zhuān)用集成電路(ASIC)實(shí)現(xiàn)。ASIC屬于硬件實(shí)現(xiàn),可以完成非常高速的Viterbi譯碼器的設(shè)計(jì)。DSP實(shí)現(xiàn)屬于軟件實(shí)現(xiàn),其運(yùn)算和存儲(chǔ)是按指令周期順序執(zhí)行,速度較專(zhuān)用集成電路要慢,但靈活性大,使用廣泛。 DSP芯片TMS320VC5409簡(jiǎn)介MS320VC5409是TI公司生產(chǎn)的低功耗、高性能的定點(diǎn)可編程DSP芯片,其主要應(yīng)用是無(wú)線通信系統(tǒng)等。其主要特點(diǎn)包括[14][16]:(1)運(yùn)算速度快。指令周期為lOns,運(yùn)算能力為100MIPS。(2)優(yōu)化的CPU結(jié)構(gòu)。采用改進(jìn)的哈佛結(jié)構(gòu),1條程序總線(PB),3條數(shù)據(jù)總線(CB、DB、EB),4條地址總線(PAB、CAB、DAB、EAB)和2個(gè)地址產(chǎn)生器;40位的算術(shù)邏輯單元(ALU)以及一個(gè)40位的桶形移位器和兩個(gè)40位的累加器(A、B) ,支持32位或雙16位的運(yùn)算;17位x17位的硬件乘法器與一個(gè)40位專(zhuān)用加法器相連,構(gòu)成乘法器/加法器單元,可以在一個(gè)流水線周期內(nèi)完成一次乘法和累加(MAC)運(yùn)算;專(zhuān)用的指數(shù)編碼器(EXP encoder)能夠在一個(gè)周期內(nèi)完成累加器中40位數(shù)值的指數(shù)運(yùn)算;單獨(dú)的數(shù)據(jù)地址產(chǎn)生單元(DAGEN)和程序地址(PAGEN)產(chǎn)生單元,能夠同時(shí)進(jìn)行三個(gè)讀操作和一個(gè)寫(xiě)操作。此外,比較、選擇和存儲(chǔ)等單元能夠加速維特比譯碼的執(zhí)行。先進(jìn)的DSP結(jié)構(gòu)可高效地實(shí)現(xiàn)無(wú)線通信系統(tǒng)中的許多功能。(3) 大的存儲(chǔ)空間。TMS320VC5409有192K字16位的存儲(chǔ)器空間:64K字的程序空間,64K字的數(shù)據(jù)空間和64K字的I/O空間。(4)智能片內(nèi)外設(shè)。TMS320VC5409還提供了3個(gè)多通道緩沖串行口McBSP( Multichannel Buffered Serial Port)和1個(gè)增強(qiáng)的8位主機(jī)接口(HPI8),方便與外部器件的數(shù)據(jù)傳輸。 matlab環(huán)境下viterbi譯碼仿真實(shí)驗(yàn)MATLAB是美國(guó)Mathworks公司開(kāi)發(fā)的新一代科學(xué)計(jì)算軟件;MATLAB是英文MATrix LABoratory(矩陣實(shí)驗(yàn)室);MATLAB是一個(gè)專(zhuān)門(mén)為科學(xué)計(jì)算而設(shè)計(jì)的可視化計(jì)算器。利用這個(gè)計(jì)算器中的簡(jiǎn)單指令,能很快速完成其他高級(jí)語(yǔ)言只有通過(guò)復(fù)雜編程才能實(shí)現(xiàn)的數(shù)值計(jì)算和圖形顯示。 matlab簡(jiǎn)介MATLAB[13]是一種既可交互使用又能解釋執(zhí)行的計(jì)算機(jī)編程語(yǔ)言。所謂交互使用,是指用戶輸入一條語(yǔ)句后立即就能得到該語(yǔ)句的計(jì)算結(jié)果,而無(wú)需像C語(yǔ)言那樣首先編寫(xiě)源程序,然后對(duì)之進(jìn)行編譯、連接,才能最終形成可執(zhí)行文件。MATLAB語(yǔ)言可以用直觀的數(shù)學(xué)表達(dá)式來(lái)描述問(wèn)題,從而避開(kāi)繁瑣的底層編程,并把有限的時(shí)間和精力更多的花在要解決的問(wèn)題上,因此可大大提高工作效率。MATLAB的編程語(yǔ)法與交互使用是一致的,因此交互使用時(shí)輸入的代碼能夠很方便地轉(zhuǎn)化為可重用的函數(shù)或過(guò)程。MATLAB是解決工程技術(shù)問(wèn)題的計(jì)算平臺(tái)。利用它能夠輕松完成復(fù)雜的數(shù)值計(jì)算、數(shù)據(jù)分析、符號(hào)計(jì)算和數(shù)據(jù)可視化等任務(wù)。其中,符號(hào)計(jì)算能夠得到符號(hào)表達(dá)式的符號(hào)解和任意精度數(shù)值解。相對(duì)于數(shù)值計(jì)算,符號(hào)計(jì)算不會(huì)帶來(lái)任何機(jī)器誤差,但是需要耗費(fèi)更多的計(jì)算機(jī)內(nèi)存和時(shí)間。另外,利用MATLAB軟件包中的Simulink等組件,能夠?qū)Ω鞣N動(dòng)態(tài)系統(tǒng)進(jìn)行仿真分析,并且能為多種實(shí)時(shí)目標(biāo)生成可執(zhí)行代碼,這顯然有利于縮短軟硬件系統(tǒng)的研發(fā)周期。MATLAB軟件是由主包和各種工具箱構(gòu)成。其中,主包基本上是一個(gè)用C/C++等語(yǔ)言編寫(xiě)成的函數(shù)庫(kù)。該函數(shù)庫(kù)提供矩陣(或數(shù)組)的各種算法以及建立在此基礎(chǔ)上的各種應(yīng)用函數(shù)和一些相關(guān)的用戶友好操作界面。而工具箱則從深度和廣度上大大擴(kuò)展了MATLAB主包的功能和應(yīng)用領(lǐng)域。從使用角度看,這些工具箱可分為功能性工具箱和學(xué)科性工具箱兩大類(lèi)。前一類(lèi)工具箱通用于各個(gè)學(xué)科領(lǐng)域,如“符號(hào)工具箱”;后一類(lèi)工具箱則與專(zhuān)門(mén)學(xué)科密切相關(guān),如“信號(hào)處理工具箱”、“神經(jīng)網(wǎng)絡(luò)工具箱”、“金融分析工具箱”等。此外,市場(chǎng)上還有大量不斷涌現(xiàn)的基于MATLAB的第三方軟硬件產(chǎn)品。本次viterbi譯碼的程序主要將用到關(guān)于卷積的庫(kù)函數(shù),這樣大大減少了程序代碼的書(shū)寫(xiě)以及資源的浪費(fèi)。 matlab仿真本文主要將用到matlab中的函數(shù)庫(kù)主要程序是:Viterbi的編碼函數(shù):Trellis=poly2trellis(7,[133,171])。Code=convenc(m1,trellis)。 其中m1為輸入,code為輸出,poly2trellis為matlab自帶的函數(shù)庫(kù),convenc為matlab自帶的卷積運(yùn)算函數(shù)。Viterbi譯碼函數(shù):Codeout=vitdec(code,trellis,tbl,39。term39。,39。hard3
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1