




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄第一章緒論11.1卷積碼及卷積編碼技術(shù)的應(yīng)用1卷積碼概述1卷積碼技術(shù)的應(yīng)用21.2可編程器件概述21.2.1 FPGA概述31.2.2 FPGA設(shè)計(jì)51.2.3 FPGA技術(shù)的發(fā)展趨勢5第二章卷積碼的編碼研究72.1卷積編碼的基本原理72.2卷積碼的生成矩陣82.3卷積編碼的FPGA實(shí)現(xiàn)92.3.1 MAX+PLUSSII應(yīng)用簡介92.3.2 基于MAX+PLUSSII平臺實(shí)現(xiàn)卷積碼編碼11第三章卷積碼的譯碼研究173.1卷積譯碼的基本方法173.1.1 碼樹173.1.2 狀態(tài)圖18網(wǎng)格圖183.2 Viterbi譯碼算法193.2.1 最大似然算法原理193.2.2 Viterbi譯碼
2、基本原理203.3卷積碼的Viterbi譯碼FPGA實(shí)現(xiàn)2230第四章研究小結(jié)與心得體會314.1分析小結(jié)314.2收獲體會31參考文獻(xiàn)32第一章 緒 論1.1卷積碼及卷積編碼技術(shù)的應(yīng)用卷積碼又稱連環(huán)碼,它是麻省理工學(xué)院的P.Elias于1955年發(fā)明的一種非分組碼,它和分組碼有著明顯的區(qū)別。在同等碼率和相似的糾錯(cuò)能力下,卷積碼的實(shí)現(xiàn)往往要比分組碼簡單,但卷積碼沒有分組碼那樣嚴(yán)密的數(shù)學(xué)分析手段,目前大多是通過計(jì)算機(jī)進(jìn)行好碼的搜索,卷積碼主要應(yīng)用于前向糾錯(cuò)FEC數(shù)據(jù)通信系統(tǒng)中。1.1.1卷積碼概述對輸入的碼元序列編成長度為k的段,每段附上r (r=n-k) 個(gè)監(jiān)督位,此監(jiān)督位僅與本組的k個(gè)信息位
3、有關(guān),而與其他碼組無關(guān),也就是說各個(gè)碼組間是沒有約束關(guān)系的,即監(jiān)督碼只監(jiān)督本碼組中的碼元有沒有錯(cuò)碼,解碼時(shí)也是分組進(jìn)行解碼,這樣的碼制我們稱之為分組碼,n在這里代表的是碼組長度。而卷積碼不同,在任何一段規(guī)定時(shí)間內(nèi)編碼器產(chǎn)生的n個(gè)碼元,不僅取決于這段時(shí)間中的k個(gè)信息碼元,而且還取決于前N-1(m)段規(guī)定時(shí)間內(nèi)的信息碼元,所以監(jiān)督位監(jiān)督著這N段時(shí)間內(nèi)的信息。換句話說,各個(gè)碼內(nèi)的監(jiān)督元不僅對本子碼有監(jiān)督作用,而且對前面m個(gè)子碼內(nèi)的信息元也是有監(jiān)督作用的。一般來說,卷積碼的結(jié)構(gòu)是:“信息元,監(jiān)督元,信息元,監(jiān)督元”??梢杂茫╪,k,m)表示卷積碼,k,n通常是比較小的整數(shù),m稱為編碼記憶(或編碼存儲)
4、,它反映了輸入的信息元在編碼器中需要存儲的時(shí)間長短;N稱為卷積碼的約束度,它是相互約束的子碼的個(gè)數(shù);N*n稱為約束長度,它表明約束的二進(jìn)制碼元的個(gè)數(shù)。用下圖1-1-1來說明卷積碼編碼器的一般結(jié)構(gòu):圖1-1-1 卷積編碼器結(jié)構(gòu)它包括:一個(gè)由N段組成的輸入移位寄存器,每段有k級,共Nk位寄存器;一組n個(gè)模2和加法器;一個(gè)由n級組成的輸出移位寄存器。對應(yīng)于每段k個(gè)比特的輸入序列,輸出n個(gè)比特。由圖可知,n個(gè)輸出比特不但與當(dāng)前的k個(gè)輸入比特有關(guān),而且與以前的(N-1)k個(gè)輸入比特有關(guān)。整個(gè)編碼過程可以看成是輸入信息序列與由移位寄存器模2和連接方式所決定的另一個(gè)序列的卷積,故稱為卷積碼。卷積碼技術(shù)的應(yīng)用
5、在數(shù)字通信衛(wèi)星中,卷積碼的性能要優(yōu)于分組碼,因而能夠得到廣泛的應(yīng)用,卷積碼的維特比譯碼在譯碼約束度較小,一般在N<10的情況下計(jì)算速度快,效率高,譯碼器也較簡單,隨著微電子技術(shù)的發(fā)展和PLD技術(shù)的普遍使用,在軟件開發(fā)工具的幫助下,維特比譯碼器由硬件來實(shí)現(xiàn)已成為可能。同時(shí)在數(shù)字通信過程中,降低誤碼率,提高通信質(zhì)量是很關(guān)鍵的問題,衛(wèi)星通信是遠(yuǎn)距離傳送數(shù)據(jù),需要很高的能量來降低各方面的干擾,而衛(wèi)星體積是受限的,功率很難達(dá)到理想的狀況,采用卷積碼維特比譯碼可以降低誤碼率,實(shí)現(xiàn)強(qiáng)大的糾錯(cuò)能力,突破衛(wèi)星信道功率受限的弱點(diǎn),改善通信效率。另外,卷積碼在碼分多址(CDMA)和數(shù)字蜂窩移動(dòng)個(gè)人通信網(wǎng)(PC
6、N)中也有廣泛的應(yīng)用。在PCN中,IS95標(biāo)準(zhǔn)1建議對信息傳輸?shù)牟铄e(cuò)控制采用大約束度(K=9)卷積編碼和最大似然的Viterbi譯碼方案,而滿足IS95標(biāo)準(zhǔn)的Viterbi譯碼器至今沒有面市。研究用現(xiàn)場可編程門陣列(FPGA)來實(shí)現(xiàn)K=9的差錯(cuò)控制器的問題是重中之重。因?yàn)?一旦用FPGA研制成功,就可進(jìn)行低功耗超大規(guī)模電路集成(VLSI),制成高性能單片差錯(cuò)控制器,應(yīng)用于PCN;另一方面,VLSI方案具有高得多的處理速率,適用于更為廣泛的數(shù)字通信場合?;贔PGA的卷積碼譯碼器是充分利用了FPGA的資源豐富的特點(diǎn),設(shè)計(jì)特定的模塊使的幸存路徑的選擇更加快捷和有效。1.2可編程器件概述可編程器件P
7、LD(Programable Logic Device)是80年代發(fā)展起來的新型器件,PLD是一種由用戶根據(jù)自己的需要來設(shè)計(jì)邏輯功能并對此器件進(jìn)行編程后實(shí)現(xiàn)的。數(shù)字電路的集成電路通常是標(biāo)準(zhǔn)的小規(guī)模、中規(guī)模、大規(guī)模的器件,而這些器件的邏輯功能是出廠時(shí)已經(jīng)由廠商設(shè)計(jì)好了,用戶只能根據(jù)其提供的功能及管腳進(jìn)行設(shè)計(jì)其需要的電路,由于這些通用器件考慮到其通用性,其在使用時(shí)有許多功能是多余的,并且由于管腳的排布是固定的,在設(shè)計(jì)PCB時(shí)給電路的連線帶來了極大不便,而PLD其內(nèi)部具有大量組成數(shù)字電路的最小單元門電路,而這些門電路并沒有固定怎樣連接,并且輸入/輸出腳的連接可自己設(shè)置,而這些門電路的連接是通過編程的
8、方法加以設(shè)計(jì),故這種電路給我們帶來了極大的方便。(1)提高了功能的集成度PLD器件較中小規(guī)模集成芯片具有更高的功能集成度,一般來說一片PLD器件可替代420片的中小規(guī)模集成芯片,而更大規(guī)模的PLD(如CPLD、FPGA)一般采用最新的集成電路生產(chǎn)工藝及技術(shù),可達(dá)到極大的規(guī)模,這些器件的出現(xiàn)降低了電子產(chǎn)品的成本和縮小了電子產(chǎn)品的體積。(2)加快了電子系統(tǒng)的設(shè)計(jì)速度一方面由于PLD器件集成度的提高,減小了電子產(chǎn)品設(shè)計(jì)中的布線時(shí)間及器件的安裝時(shí)間;另一方面由于PLD器件的設(shè)計(jì)是利用計(jì)算機(jī)進(jìn)行輔助設(shè)計(jì)的,其可以通過計(jì)算機(jī)的輔助設(shè)計(jì)軟件對設(shè)計(jì)的電路進(jìn)行仿真和模擬,減小了傳統(tǒng)設(shè)計(jì)過程中的調(diào)試電路的時(shí)間,另
9、外由于PLD器件是可擦除和可編程的,故即使設(shè)計(jì)有問題修改也是很方便的。(3)高的性能由于PLD器件在生產(chǎn)過程中采用了最新的生產(chǎn)工藝及技術(shù),故通過PLD器件的性能優(yōu)于一般通用的器件,其速度一般比通用器件速度高一到兩個(gè)數(shù)量級,另外由于器件數(shù)量的減少,降低的電路的總功耗。(4)高可靠性系統(tǒng)的可靠性是數(shù)字系統(tǒng)的一項(xiàng)重要指標(biāo)。根據(jù)可靠性理論可知器件的數(shù)量增加,系統(tǒng)的可靠性將下降;反之將提高。采用了PLD器件可減少器件的數(shù)量,器件的減少還導(dǎo)致PCB的布線減少,同時(shí)也減少了器件之間的交叉干擾和可能產(chǎn)生的噪聲源,使系統(tǒng)運(yùn)行更可靠。(5)成本低由于PLD器件的上述優(yōu)點(diǎn)將導(dǎo)致電子產(chǎn)品在設(shè)計(jì)、安裝、調(diào)試、維修、器件
10、品種庫存等方面的成本下降,從而使電子產(chǎn)品的總成本降低,提高了產(chǎn)品的競爭力。1.2.1 FPGA概述FPGA是Field Programmable Gate Array(現(xiàn)場可編程門陣列)的縮寫,代表的是一種可編程邏輯器件,它可以在制造完成后由用戶根據(jù)自己的需要定義其邏輯功能。FPGA包含了一個(gè)邏輯單元(可以是門,也可以是查找表RAM)的陣列、觸發(fā)器以及可編程的互連線。除此之外,現(xiàn)在的一些大規(guī)模FPGA還包含了片內(nèi)RAM、嵌入式CPU、高速收發(fā)器等資源。FPGA 的顯著特點(diǎn)是有一個(gè)窄輸入的邏輯單元,使用分布式互連方案,相對于傳統(tǒng)的諸如PAL和PLA之類的可編程邏輯器件來說,F(xiàn)PGA的設(shè)計(jì)更加靈活
11、。FPGA是PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn),是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。FPGA在現(xiàn)代數(shù)字電路設(shè)計(jì)中發(fā)揮著越來越重要的作用。從設(shè)計(jì)簡單的接口電路到設(shè)計(jì)復(fù)雜的狀態(tài)機(jī),甚至設(shè)計(jì)“System On Chip(片上系統(tǒng))”,F(xiàn)PGA所扮演的角色已經(jīng)不容忽視。FPGA所具有的靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改,這樣就極大地提高了電子系統(tǒng)
12、設(shè)計(jì)的靈活性和通用性,縮短了產(chǎn)品的上市時(shí)間并降低了電子系統(tǒng)的開發(fā)成本?;诖?,F(xiàn)PGA設(shè)計(jì)技術(shù)受到了世界范圍內(nèi)廣大電子工程師的普遍歡迎,現(xiàn)已成為電子工程師必須掌握的一項(xiàng)基本技能之一。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分??膳渲眠壿嬆KCLB是實(shí)現(xiàn)各種邏輯功能的基本單元,其中包括組合邏輯單元,時(shí)序邏輯,RAM及各種運(yùn)算功能。CLB是以nn陣列形式分布在FPGA中,同
13、一系列中的不同F(xiàn)PGA,其陣列規(guī)模也不同;輸入輸出模塊IOB是芯片外部引腳數(shù)據(jù)與內(nèi)部數(shù)據(jù)進(jìn)行交換的接口電路,通過編程可將I/O引腳設(shè)置成輸入,輸出和雙向等不同的功能;金屬導(dǎo)線以縱橫交錯(cuò)的格柵狀結(jié)構(gòu)分布在兩個(gè)層面,有關(guān)的交叉點(diǎn)上連接著可編程開關(guān)或可編程開關(guān)陣列,通過對可編程開關(guān)和可編程開關(guān)矩陣的編程實(shí)現(xiàn)CLB與CLB之間,CLB與IOB之間,以及全局信號與CLB和IOB之間的連接。FPGA的基本特點(diǎn)主要有:1.采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2.FPGA可做其它全定制或半定制ASIC電路的中試樣片。3.FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。4.FPGA是AS
14、IC電路設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5.FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)
15、需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此FPGA的使用非常靈活。FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對其編程。FPGA設(shè)計(jì)(1)設(shè)計(jì)流程設(shè)計(jì)輸入:主要有原理圖輸入和HDL輸入兩種方式,一般開發(fā)軟件都能夠同時(shí)支持這兩種輸入方式。還有的甚至提供更多的輸入方式,如Xilinx公司的ISE6.0就提供四種輸入方式,包括EDIF網(wǎng)表輸入。 設(shè)計(jì)仿真:包含功
16、能仿真和時(shí)序仿真兩項(xiàng)主要內(nèi)容,功能仿真忽略了綜合和布局布線導(dǎo)致的時(shí)延等因素,僅僅從邏輯上進(jìn)行仿真,這對設(shè)計(jì)思路的驗(yàn)證是有幫助的,但必須通過時(shí)序仿真作進(jìn)一步驗(yàn)證,發(fā)現(xiàn)并修正時(shí)序問題。 設(shè)計(jì)綜合:將HDL語言生成用于布局布線的網(wǎng)表和相應(yīng)的約束。綜合效果直接導(dǎo)致設(shè)計(jì)的性能和邏輯門的利用效率,因此,許多開發(fā)軟件都支持第三方綜合和仿真工具,著名的有:Synplicity、Synopsys和ModelSim等。 布局布線:工具利用綜合生成的網(wǎng)表,在FPGA內(nèi)部進(jìn)行布局布線,并生成可用于配置的比特流文件(有了比特流文件就下載到板子里了)。布局布線工具與可編程邏輯器件工藝及其布線資源密切相關(guān),一般由可編程邏輯
17、器件開發(fā)商直接提供。 (2)FPGA設(shè)計(jì)時(shí)注意的問題本人在使用Altera公司開發(fā)的MAX+PLUS II軟件進(jìn)行電路圖輸入的設(shè)計(jì)過程中,體會到有些問題是初學(xué)FPGA設(shè)計(jì)的同學(xué)要注意的:1.異步邏輯主要用組合邏輯來實(shí)現(xiàn)控制,容易因時(shí)鐘傳遞延時(shí)不一致而產(chǎn)生毛刺,建議盡量改成同步邏輯,當(dāng)輸出信號用于RESET,CLEAR,PRESET時(shí)最好改成同步。2.組合邏輯容易設(shè)計(jì),但要注意處理好毛刺,最好分析出毛刺產(chǎn)生的原因,然后重新設(shè)計(jì)新的電路。3.選擇模塊可以節(jié)省設(shè)計(jì)時(shí)間,但不是必須所有的過程都使用。FPGA技術(shù)的發(fā)展趨勢隨著微電子技術(shù)、EDA技術(shù)、以及應(yīng)用系統(tǒng)需求的發(fā)展,F(xiàn)PGA正在逐漸成為數(shù)字系統(tǒng)開
18、發(fā)的平臺,并朝著以下方面發(fā)展和提高:1.高集成度、大容量、低成本、低電壓、低功耗;2.資源多樣化;3.適用于片上系統(tǒng):處理器、高速串行I/O DSP等等;4.深亞微米工藝的使用,基于90nm工藝的FPGA已經(jīng)商用,正在向65nm挺進(jìn);5.各種軟硬IP庫的發(fā)展和完善;6.動(dòng)態(tài)可重構(gòu)技術(shù)實(shí)用化;新FPGA器件在復(fù)雜設(shè)計(jì)、增加總的邏輯資源、改進(jìn)布線與軟件以及在系統(tǒng)中對器件進(jìn)行編程的能力方面正在仿照ASIC。深亞微米技術(shù)使可編程器件的邏輯單元更小。另一個(gè)明顯的發(fā)展趨勢是一些產(chǎn)品采用部分存儲器結(jié)構(gòu)作為專用存儲器而不僅作為邏輯切換驅(qū)動(dòng)器。此外,可編程密度已在傳統(tǒng)上限制了性能和密度。這促使一些廠商考慮將AS
19、IC和FPGA技術(shù)混合,以生產(chǎn)出能按用戶編程定制的高性能、高密度的混合功能器件。 同時(shí)FPGA工具組也在升級,這種從邏輯級向以語言為基礎(chǔ)的設(shè)計(jì)變遷,意味著綜合技術(shù)利用的增加。從這一點(diǎn)看,F(xiàn)PGA工具與設(shè)計(jì)流程的通用性越多,從可編程器件向硬件連線ASIC轉(zhuǎn)移就越容易。FPGA的發(fā)明和在全球范圍內(nèi)的廣泛使用是電子設(shè)計(jì)領(lǐng)域的一場革命,目前正處于高速發(fā)展階段。每年都有高集成度的新產(chǎn)品投入市場,同時(shí)也有支持它們的強(qiáng)大的EDA工具的問世。FPGA不但使電子系統(tǒng)的性能得到了增強(qiáng),更重要的是它使電子系統(tǒng)的設(shè)計(jì)發(fā)生了根本性變革,使得一切設(shè)計(jì)仿真測試工作能夠在個(gè)人電腦和開發(fā)平臺(EDA工具)的支持下通過模擬仿真的
20、形式通過。FPGA作為一個(gè)比較新的領(lǐng)域,在最近幾年中有很大的發(fā)展和進(jìn)步。各個(gè)廠家的FPGA不斷推陳出新,工藝越來越高、速度越來越快、功能越來越多,價(jià)格卻越來越便宜。各種依靠FPGA技術(shù)設(shè)計(jì)的芯片已在信號糾錯(cuò),總線接口,高速數(shù)據(jù)采集,通信領(lǐng)域編解碼,嵌入式系統(tǒng),數(shù)字圖象處理,數(shù)字信號處理得到了廣泛的應(yīng)用。隨著FPGA成本的進(jìn)一步降低和規(guī)模的增加,在未來幾年中FPGA應(yīng)該有更加寬廣的應(yīng)用領(lǐng)域。第二章卷積碼的編碼研究2.1卷積編碼的基本原理以下圖2-1-1的(2,1,2)卷積編碼器為例來分析卷積碼的編碼原理和編碼方法。圖2-1-1 原理框圖(2,1,2)卷積編碼器是由2個(gè)移位寄存器,2個(gè)模2加法器和
21、開關(guān)電路組成。在編碼前,對每一級的移位寄存器進(jìn)行清零,每輸入一個(gè)信息碼元,將會輸出C1,C2各一次,即1比特的信息輸入將有2比特的信息輸出。其中輸入與輸出之間的編碼關(guān)系可用下面的式子表示出來:C1=S1S2S3C2=S1S3S1是當(dāng)前的輸入的信息位,S2, S3是移位存儲器前兩個(gè)信息位。輸出信息的順序是信息位在前,監(jiān)督位在后,即輸出的碼元以“信息位,監(jiān)督位,信息位,監(jiān)督位,監(jiān)督位,信息位,監(jiān)督位, , 信息位,監(jiān)督位,監(jiān)督位”的形式表示。本人在初始編碼時(shí),每一級的移位寄存器的狀態(tài)全部清零,輸入1101000此時(shí)編碼器輸出狀態(tài)如下表2-1-1表示:表2-1-1 輸入輸出狀態(tài)列表輸入(S1)110
22、1000S20111000S30010110c11000110c21110010經(jīng)過(2,1,2)卷積編碼器的編碼后輸出的信號碼元將會是“11,01,01,00,10,11,00”2.2卷積碼的生成矩陣卷積碼是線性碼,因此它完全可以由生成矩陣和校驗(yàn)矩陣來確定。以比較簡單的(2,1,2)卷積碼編碼器為例闡述生成矩陣的規(guī)律,見圖2-2-4。mjmj-2mj-1圖2-2-4 生成矩陣輸出碼元可以用下面的表達(dá)式來表示: Cj1 = mjmj-1 mj-2Cj2 = mjmj-2輸入信息位是(m0,m1,m2,mj),輸出位C0,C1,C2,C3,C4可以用下面形式表示出來 C0:C01=m0 C1:
23、C11=m0m1 C2: C21 =m0m1m2C02=m0C12 =m1 C22 =m0m2C3:C31=m1m2m3 C4: C41=m2m3m4C32=m1m3 C42=m2m4輸出碼元(C01,C02,C11,C12,C21,C22,C31,C32,C41,C42, ) 用矩陣形式表示: C01,C02,C11,C12,C21,C22,C31,C32,C41,C42, 1110110000.001110110000001110110000001110=m0,m1,m2,m3,m4, 由卷積碼生成矩陣定義可得(2,1,2)卷積碼的生成矩陣是:11101100000011101100000
24、01110110000001110從生成矩陣可以找出以下規(guī)律:1.第二行是由第一行右移2位(一個(gè)子碼的長度)得到,第三行是由第二行右移2位得到,依次類推。2.除第一行前6個(gè)數(shù)字外,以后的數(shù)字全部是0,這前6個(gè)數(shù)字組成基本生成矩陣,如果基本生成矩陣給定的話,就有可能得到整個(gè)編碼序列。2.3卷積編碼的FPGA實(shí)現(xiàn) MAX+PLUSSII應(yīng)用簡介(1)MAX+PLUSSII概述Max+plus是Altera公司提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件的供應(yīng)商之一。Max+plus界面友好,使用便捷,被譽(yù)為業(yè)界最易用易學(xué)的EDA軟件。在Max+plus上可以完成設(shè)計(jì)
25、輸入、元件適配、時(shí)序仿真和功能仿真、編程下載整個(gè)流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,是設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。Max+plus開發(fā)系統(tǒng)的特點(diǎn)開放的界面Max+plus支持與Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。與結(jié)構(gòu)無關(guān)Max+plus系統(tǒng)的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可編程邏輯器件,提供了世界上唯一真正與結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計(jì)環(huán)
26、境。完全集成化Max+plus的設(shè)計(jì)輸入、處理與較驗(yàn)功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可以加快動(dòng)態(tài)調(diào)試、縮短開發(fā)周期。豐富的設(shè)計(jì)庫Max+plus提供豐富的庫單元供設(shè)計(jì)者調(diào)用,其中包括74系列的全部器件和多種特殊的邏輯功能(Macro-Function)以及新型的參數(shù)化的兆功能(Mage-Function)。模塊化工具設(shè)計(jì)人員可以從各種設(shè)計(jì)輸入、處理和較驗(yàn)選項(xiàng)中進(jìn)行選擇從而使設(shè)計(jì)環(huán)境用戶化。硬件描述語言(HDL)Max+plus軟件支持各種HDL設(shè)計(jì)輸入選項(xiàng),包括VHDL、Verilog HDL和Altera自己的硬件描述語言AHDL。Opencore特征Max+plus軟件具有開放核的特點(diǎn)
27、,允許設(shè)計(jì)人員添加自己認(rèn)為有價(jià)值的宏函數(shù)。(2)設(shè)計(jì)流程:使用Max+plus軟件設(shè)計(jì)流程由以下幾部分組成。如圖2-3-1所示。1、設(shè)計(jì)輸入:可以采用原理圖輸入、HDL語言描述、EDIF網(wǎng)表輸入及波形輸入等幾種方式。2、編譯:先根據(jù)設(shè)計(jì)要求設(shè)定編譯參數(shù)和編譯策略,件的如器選擇、邏輯綜合方式的選擇等。然后根據(jù)設(shè)定的參數(shù)和策略對設(shè)計(jì)項(xiàng)目進(jìn)行網(wǎng)表提取、邏輯綜合和器件適配,并產(chǎn)生報(bào)告文件、延時(shí)信息文件及編程文件,供分析仿真和編程使用。3、仿真:仿真包括功能仿真、時(shí)序仿真和定時(shí)分析,可以利用軟件的仿真功能來驗(yàn)證設(shè)計(jì)項(xiàng)目的邏輯功能是否正確。4、編程與驗(yàn)證:用經(jīng)過仿真確認(rèn)后的編程文件通過編程器(Progra
28、mmer)將設(shè)計(jì)下載到實(shí)際芯片中,最后測試芯片在系統(tǒng)中的實(shí)際運(yùn)行性能。在設(shè)計(jì)過程中,如果出現(xiàn)錯(cuò)誤,則需重新回到設(shè)計(jì)輸入階段,改正錯(cuò)誤或調(diào)整電路后重復(fù)上述過程。圖2-3-2是Max+plus編譯設(shè)計(jì)主控界面,它顯示了Max+plus自動(dòng)設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、編譯網(wǎng)表提取、數(shù)據(jù)庫建立、邏輯綜合、邏輯分割、適配、延時(shí)網(wǎng)表提取、編程文件匯編(裝配)以及編程下載9個(gè)步驟。圖2-3-1 開發(fā)流程圖2-3-2 編譯主控界面 基于MAX+PLUSSII平臺實(shí)現(xiàn)卷積碼編碼仍以(2,1,2)卷積碼編碼器為例來描述卷積碼編碼譯碼的FPGA 實(shí)現(xiàn)。整個(gè)FPGA的電路搭建和仿真模擬都是在MA
29、X+PLUSSII的平臺上來完成的。(2,1,2)的卷積編碼譯碼器實(shí)現(xiàn)起來較為簡單和方便,同時(shí)它的應(yīng)用也很廣泛,在查閱了很多的相關(guān)資料后發(fā)現(xiàn)(2,1,2)卷積碼編碼譯碼器在水下無線通信傳輸系統(tǒng)和衛(wèi)星通信領(lǐng)領(lǐng)域應(yīng)用最為普遍。(1) 編碼器的FPGA實(shí)現(xiàn)過程分析(2,1,2)卷積編碼器是在一個(gè)碼元輸入后將會有兩個(gè)碼元輸出,我們根據(jù)上面提到的編碼表示方法中的狀態(tài)圖可以把卷積碼的編碼器看作是一個(gè)簡單的狀態(tài)機(jī)。假設(shè)某個(gè)時(shí)刻編碼器的狀態(tài)為10,即狀態(tài)c,在輸入端,如果輸入的信息序列是0,則下一時(shí)刻編碼器的狀態(tài)是a,對應(yīng)的輸出為11;如果輸入信息序列為1,則下一時(shí)刻編碼器狀態(tài)為b,對應(yīng)的輸出為00。根據(jù)各個(gè)
30、狀態(tài)之間的關(guān)系可以得出狀態(tài)轉(zhuǎn)移圖,用寄存器保存對應(yīng)的狀態(tài)。我們也可以根據(jù)輸入與輸出之間的簡單模2加的關(guān)系來實(shí)現(xiàn)編碼過程,這里提到的狀態(tài)機(jī)是對于輸入輸出較為復(fù)雜的情況時(shí)效率要高,本人采用的是根據(jù)輸入輸出之間的關(guān)系的方法來實(shí)現(xiàn)編碼的。每位信息碼元送入編碼模塊后,編碼模塊立即進(jìn)行編碼,編碼結(jié)束后保存新的狀態(tài)變量,同時(shí)得到并行輸出的碼元,(2,1,2)卷積編碼器的編碼效率R=1/2,表明如果僅僅用一個(gè)時(shí)鐘的話,編碼的輸入和輸出不能同步起來,在設(shè)計(jì)的過程中,加上一個(gè)分頻模塊,達(dá)到編碼器的輸出控制時(shí)鐘是輸入控制時(shí)鐘頻率的2倍的效果??紤]到現(xiàn)在得到的是并行輸出的數(shù)據(jù),需要加入一個(gè)并串轉(zhuǎn)換模塊來保證碼元串行輸
31、出,這個(gè)模塊可以用移位寄存器來實(shí)現(xiàn),也可以根據(jù)具體的卷積碼來選擇合適的電路實(shí)現(xiàn)并串轉(zhuǎn)換功能。(2) 編碼器的原理圖一般卷積編碼器原理框圖見圖2-3-3并串轉(zhuǎn)換模塊編碼模塊串并轉(zhuǎn)換模塊圖2-3-3 編碼器原理框圖卷積碼編碼器主要由移位寄存器構(gòu)成,輸入數(shù)據(jù)經(jīng)串并變換器后形成k bit一幀的并行數(shù)據(jù)送到編碼模塊中去,這里的編碼模塊是線性邏輯單元和移位寄存器,每讀入一個(gè)新的數(shù)據(jù)幀,舊的數(shù)據(jù)幀就向右移一幀,編碼模塊根據(jù)當(dāng)前輸入的數(shù)據(jù)幀和存放在數(shù)據(jù)幀寄存器中以前消息數(shù)據(jù)進(jìn)行線性邏輯運(yùn)算后得到n (bit)的編碼輸出,再經(jīng)過并串模塊轉(zhuǎn)換成串行輸出的數(shù)據(jù)。串并轉(zhuǎn)換模塊是把串行輸入的數(shù)據(jù)轉(zhuǎn)換成并行輸出的數(shù)據(jù)輸入
32、到編碼模塊中,由于我設(shè)計(jì)的是(2,1,2)卷積編碼器,這里k=1,因此這一個(gè)串并轉(zhuǎn)換的模塊在整個(gè)編碼器中就不需要考慮,信息碼元可以直接輸入到編碼模塊中去。編碼模塊是由D觸發(fā)器組成的移位寄存器和異或門組成,D觸發(fā)器在上升沿到來時(shí)是有效的,其他輸入端的信息詳見狀態(tài)表2-3-1表2-3-1 (Qo*: level of Q before Clock pulse)InputsOutputCLRNPRNENADCLKQLHXXXLHLXXXHLLXXXIllegalHHLXXQo*HHHLLHHHHHHHXXLQo*編碼模塊在Max+plus中電路圖見圖2-3-4圖2-3-4 編碼模塊編碼后的波形圖見下
33、圖2-3-5圖2-3-5 編碼后的波形圖從仿真的波形圖上我們可以看出,當(dāng)輸入的信息是1101000時(shí),得到的輸出信號C1是1000110,輸出信號C2是1110010。由于這里的(2,1,2)卷積編碼器的輸出是兩個(gè)碼元,所以選擇了2位數(shù)據(jù)選擇器來把輸入到并串轉(zhuǎn)換模塊的信息碼元以串行的形式把數(shù)據(jù)輸出,這樣在信息碼元一個(gè)時(shí)鐘周期內(nèi)將會有C1,C2兩個(gè)碼元數(shù)據(jù)輸出,其中前半個(gè)時(shí)鐘周期輸出C1,后半個(gè)時(shí)鐘周期輸出C2,OUT端輸出的就是串行數(shù)據(jù)。并串轉(zhuǎn)換模塊在Max+plus中電路見圖2-3-6。圖2-3-6 并串轉(zhuǎn)換模塊編碼模塊和并串轉(zhuǎn)換模塊連在一起的電路見圖2-3-7圖2-3-7編碼器輸出碼元的仿
34、真波形圖2-3-8見輸出端OUT,我們明顯可以看到在一個(gè)時(shí)鐘周期內(nèi)有兩個(gè)碼元輸出,最后的輸出結(jié)果是“11,01,01,00,10,11,00”圖2-3-8仿真波形圖第三章 卷積碼的譯碼研究3.1卷積譯碼的基本方法卷積譯碼分為代數(shù)譯碼和概率譯碼。代數(shù)譯碼是根據(jù)卷積碼的本身代數(shù)結(jié)構(gòu)進(jìn)行譯碼,譯碼時(shí)不考慮信道的統(tǒng)計(jì)特性,該方法的硬件實(shí)現(xiàn)簡單,但性能較差,主要方法是大樹邏輯譯碼(門限譯碼);概率譯碼在計(jì)算時(shí)不僅利用了卷積碼的代數(shù)結(jié)構(gòu),而且還要考慮信道的統(tǒng)計(jì)特性,這種譯碼是建立在最大似然準(zhǔn)則的基礎(chǔ)上,提高了譯碼性能,但增加了硬件實(shí)現(xiàn)的復(fù)雜度,常用的譯碼方法有Viterbi和序列譯碼。3.1.1 碼樹碼樹
35、描述的是在數(shù)據(jù)序列輸入時(shí),碼字所有可能的輸出對應(yīng)于(2,1,2)卷積編碼器,碼樹圖可用下圖2-2-1來表示,在圖中每一個(gè)節(jié)點(diǎn)對應(yīng)于一個(gè)輸入碼元,當(dāng)輸入是0時(shí),走上分支;輸入是1時(shí),走下分支,編碼器的輸出碼元C1,C2標(biāo)在每個(gè)分支的上面。圖中的a,b,c,d表示S3,S2的狀態(tài),狀態(tài)的編碼規(guī)則如表3-1-1:表3-1-1 狀態(tài)編碼規(guī)則 圖3-1-1(2,1,2)卷積編碼器碼樹圖(2,1,2)卷積碼的碼樹圖狀態(tài)S3,S2a00b01c10d11從碼樹圖上可以看出:從第四條支路開始,碼樹的各節(jié)點(diǎn)從上面開始重復(fù)出現(xiàn)a,b,c,d四種狀態(tài),并且碼樹的上半部分和下半部分是完全相同的,這就是表明從第4位輸入
36、碼元開始,無論輸入的第一位信息碼元是0或1,編碼輸出是沒有影響的,輸出碼元已和輸入的碼元已經(jīng)沒有關(guān)系了,定義約束度N=3的含義也就在于此。 狀態(tài)圖卷積碼的狀態(tài)圖給出的是編碼器當(dāng)前狀態(tài)和下一個(gè)狀態(tài)之間的關(guān)系,如下圖3-1-2所示(虛線表示輸入碼元是1的路徑,實(shí)線表示輸入碼元是0的路徑,圈內(nèi)的字母表示此時(shí)的編碼器狀態(tài),路徑上的數(shù)字是輸出的碼元)圖3-1-2 (2,1,2)卷積編碼器狀態(tài)圖網(wǎng)格圖在碼樹圖中,從同一個(gè)節(jié)點(diǎn)出發(fā)的分支都相同,可以把狀態(tài)相同的節(jié)點(diǎn)合并在一起得到更加緊湊的表示方法,這個(gè)圖示的作用在卷積碼的譯碼過程中可以得到充分的體現(xiàn)(圖中每一個(gè)節(jié)點(diǎn)表示的是a,b,c,d四種狀態(tài),對應(yīng)于輸入碼
37、元是0的情況,用實(shí)線表示;對應(yīng)于輸入碼元是1的情況,用虛線表示)見圖3-1-3圖3-1-3 網(wǎng)格圖圖2-4 網(wǎng)格圖Viterbi譯碼在卷積碼的約束長度較小時(shí),比序列譯碼的方法效率更高,速度更快,譯碼器的設(shè)計(jì)也較簡單,目前已經(jīng)廣泛應(yīng)用于各種數(shù)字通信系統(tǒng)中。3.2 Viterbi譯碼算法Viterbi譯碼是一種最大似然算法,最大似然算法的基本思路是,把接受碼字與所有可能的碼字比較,選擇碼距最小的碼字作為解碼輸出。Viterbi譯碼同時(shí)也是在最大似然算法的基礎(chǔ)上對其進(jìn)行了簡化,它把接受碼字分段累計(jì)處理,每接受一段碼字,需要計(jì)算,比較一次,保留碼距小的路徑,直到譯碼完所有的序列。 最大似然算法原理下圖
38、3-2-1是一個(gè)卷積編碼譯碼的系統(tǒng)模型,信息碼元M經(jīng)過卷積碼編碼器后成為發(fā)送序列C,發(fā)送序列C經(jīng)過DMC(離散無記憶信道),在接受端,譯碼器接受經(jīng)DMC后的序列R,譯碼輸出序列M圖 3-2-1 系統(tǒng)模型圖3-2-1 卷積編碼譯碼的系統(tǒng)模型輸入碼元序列為C,輸出為R的概率為:P(R/C)=對上面的式子取對數(shù)得到:log P(R/C)=是信道的轉(zhuǎn)移概率,log P(R/C)是C序列的似然概率,由貝葉斯公式,log P(R/C)= 取對數(shù)后得到:log P(R/C)=logP(R)+logP(C/R)-logP(C)式子中,P(R)是接受序列R的概率,P(C/R)是C的后驗(yàn)概率,P(C)是發(fā)送序列為
39、C的概率,在發(fā)送序列為等概率的情況下,最大似然譯碼就等于最大后驗(yàn)概率譯碼。在二進(jìn)制對稱信道下,最大似然譯碼就是最小漢明距離譯碼,也就等于最大后驗(yàn)概率譯碼。 Viterbi譯碼基本原理譯碼器接受到R序列后,按照最大似然法則尋找編碼器在網(wǎng)格圖上走過的路徑,也就是尋找最大度量的路徑,對于二進(jìn)制對稱信道,就是尋找與R由最小漢明距離的路徑。最大似然譯碼只是一種譯碼準(zhǔn)則,實(shí)現(xiàn)起來有一定困難,因?yàn)樽g碼器每接受一個(gè)序列R就要計(jì)算很多的似然函數(shù)才可以做出譯碼判決,維特比針對這個(gè)實(shí)現(xiàn)的困難提出了一種算法,后來稱為維特比算法。維特比算法的基本思想是接受一段信息碼元后就進(jìn)行計(jì)算和比較,在每個(gè)狀態(tài)時(shí)選擇最可能進(jìn)入該狀態(tài)
40、的分支,這樣可以留下與R距離最小的路徑(幸存路徑),而去掉其它可能的路徑,同時(shí)把幸存路徑按逐分支地存儲起來,幸存路徑的數(shù)目等于狀態(tài)數(shù)。歸納維特比算法的基本步驟如下:(1)在第j(jm)時(shí)刻以前,譯碼器計(jì)算所有的長為m個(gè)分支的部分路徑值,對進(jìn)入2km個(gè)狀態(tài)的每一條路徑進(jìn)行保留;(2)第m個(gè)時(shí)刻開始,對進(jìn)入每一個(gè)狀態(tài)的部分路徑值進(jìn)行計(jì)算,這樣的路徑有2k條,挑選具有最大部分路徑值的部分路徑為留選路徑,刪除進(jìn)入該狀態(tài)的其它路徑,然后,留選路徑向前前延長一個(gè)分支;(3)重復(fù)第(2)部的計(jì)算,比較和判決過程;(4)如果進(jìn)入某個(gè)狀態(tài)的部分路徑中有兩條相同的部分路徑值,則可以選擇其中一條作為幸存路徑。本人仍
41、以(2,1,2)碼為例說明整個(gè)譯碼的基本思想:設(shè)發(fā)送序列為全零序列,而接受序列為R=01,00,00,10,00,00,假設(shè)譯碼器的初始狀態(tài)全為零,在第0個(gè)時(shí)刻時(shí),接受序列的第0個(gè)分支R001進(jìn)入譯碼器,從網(wǎng)格圖可以看出從a狀態(tài)有2個(gè)分支,它們是00和11,R0和這兩個(gè)分支進(jìn)行比較,比較的結(jié)果和到達(dá)的狀態(tài)如下表3-2-1。表3-2-1幸存路徑第0個(gè)分支的距離第1個(gè)分支的距離001S0111S1第1個(gè)時(shí)刻態(tài)進(jìn)入譯碼器的接受碼組R1=00將和此時(shí)刻出發(fā)的四條分支進(jìn)行比較,比較結(jié)果和到達(dá)的狀態(tài)如下表3-2-2。表 3-2-2上次距離留選路徑延長分支本分支距離累加距離到達(dá)狀態(tài)1000001a1123b
42、1111012c0112d第1個(gè)時(shí)刻到第2個(gè)時(shí)刻共有4條路徑,到達(dá)狀態(tài)a,b,c,d。在第二個(gè)狀態(tài)以前譯碼器不做任何的選擇和判決,路徑選擇存儲器存儲此刻的留選路徑:0000,0011,1110,1101,并且路徑存儲器存儲此時(shí)刻到達(dá)該狀態(tài)的幸存路徑累加值。從第2個(gè)時(shí)刻起,第2個(gè)接受碼組R2=00進(jìn)入譯碼器,從網(wǎng)格圖上看出,從第2個(gè)時(shí)刻到第3個(gè)時(shí)刻,進(jìn)入每個(gè)狀態(tài)的分支有兩個(gè),譯碼器將接受碼組R2與進(jìn)入每個(gè)狀態(tài)的兩個(gè)分支進(jìn)行比較和判決,選擇一個(gè)累加距離最小的路徑作為進(jìn)入該狀態(tài)的留選路徑,比較和判決的過程見表3-2-3。表 3-2-3上次距離留選路徑延長分支本分支距離累加距離到達(dá)狀態(tài)10000000
43、1a1123b300111014c0114d211101124a0002b211010113c1013d上面介紹的是以最小漢明距離為度量的譯碼器是硬判決譯碼器,適合于二進(jìn)制對稱信道,在實(shí)際應(yīng)用的過程中為了提高譯碼的可靠性,充分利用信道輸出信號的有關(guān)信息,把輸出的信號進(jìn)行Q電平的量化,然后再輸?shù)骄S特比譯碼器里進(jìn)行譯碼,這樣的譯碼器是軟判決譯碼器,適合于離散無記憶信道。軟判決維特比譯碼算法和硬判決維特比譯碼算法的譯碼過程很相似,唯一的差別是軟判決不應(yīng)用漢明距離,它使用的是歐氏距離。維特比譯碼算法解碼簡單,計(jì)算快,已經(jīng)得到了廣泛應(yīng)用,特別是在衛(wèi)星通信和蜂窩網(wǎng)通信系統(tǒng)中的應(yīng)用。3.3卷積碼的Viter
44、bi譯碼FPGA實(shí)現(xiàn)在Viterbi譯碼算法的FPGA實(shí)現(xiàn)設(shè)計(jì)中,譯碼器有6個(gè)模塊組成,它們分別是支路度量模塊,加法比較選擇模塊,最大似然判決模塊,回溯模塊,路徑度量存儲器,幸存路徑存儲器。其中加法比較選擇模塊是譯瑪器中的關(guān)鍵環(huán)節(jié),它的設(shè)計(jì)好壞在一定程度上決定了卷積碼譯碼器的復(fù)雜程度和工作效率的高低。同時(shí)法比較選擇是運(yùn)算最多的環(huán)節(jié),度量的保存和路徑的保存都會用到很大的RAM空間,需要選擇合適的FPGA來完成。Viterbi譯碼FPGA實(shí)現(xiàn)的總體框圖見圖3-3-1。支路度量模塊:對于每一時(shí)刻的輸入碼元,為每一個(gè)狀態(tài)生成相應(yīng)的支路度量,也就是說它用于產(chǎn)生接受序列與狀態(tài)轉(zhuǎn)移分支上的編碼輸出數(shù)據(jù)之間的
45、距離。由于分支度量運(yùn)算過程中沒有平方運(yùn)算,可以將狀態(tài)轉(zhuǎn)移分支上的編碼輸出數(shù)據(jù)(比特度量值)存儲在查找表內(nèi),這樣只需要進(jìn)行加減和查找表運(yùn)算,可以降低計(jì)算的復(fù)雜度,軟判決在FPGA中一般可以用查找表來實(shí)現(xiàn)。在硬判決支路度量模塊中,度量值的計(jì)算只需要一個(gè)判決門限,即對輸出進(jìn)行判決。 加法比較選擇模塊:根據(jù)Viterbi譯碼算法原理,將支路度量和前一個(gè)時(shí)刻存儲的路徑度量相加比較,得到這一時(shí)刻的路徑度量和相應(yīng)的判決。對于(2,1,2)卷積碼來說有4個(gè)狀態(tài),也就是每一次轉(zhuǎn)換中需要計(jì)算多個(gè)路徑度量值,需要4個(gè)加法比較選擇模塊,每個(gè)一個(gè)加法比較選擇模塊由2個(gè)加法器,1個(gè)比較器和1個(gè)選擇器組成,這樣由8個(gè)加法器
46、,4個(gè)比較器和4個(gè)選擇器可以完成一次狀態(tài)的轉(zhuǎn)換。同時(shí)加法比較選擇模塊決定著譯碼速度,并行性越好,譯碼速度就越高。圖3-3-2表示一個(gè)加法比較選擇模塊。圖3-3-3表示加法比較選擇模塊內(nèi)部的加法器,比較器,選擇器與路徑度量存儲器,幸存路徑存儲器之間的具體連接示意圖。最大似然模塊:在所有狀態(tài)的路徑度量中找出最大值,具有最大路徑度量的幸存路徑便是最大似然路徑,在某一時(shí)刻,最大似然模塊判決最大似然路徑,將其末端節(jié)點(diǎn)狀態(tài)送入回溯模塊存儲起來。回溯模塊:回溯模塊也是譯碼器中的一個(gè)關(guān)鍵模塊,它結(jié)合最大似然模塊挑出最大似然路徑。在控制信號的控制下根據(jù)地址信息到幸存路徑寄存器中提取比特信息,在找出最大似然路徑的
47、時(shí)候產(chǎn)生一個(gè)最小狀態(tài)信號,最小狀態(tài)信號和提取出的最小路徑信號比特進(jìn)行邏輯組合后最后產(chǎn)生譯碼輸出。路徑度量存儲器:用于存儲每一狀態(tài)的路徑度量值,取出的結(jié)果與前一個(gè)時(shí)刻的路徑度量值在加法比較選擇模塊中的加法器完成相加功能。幸存路徑存儲器:設(shè)計(jì)完成幸存路徑的選擇,交換,存儲等功能,在FPGA中用特定的RAM來作為存儲器。接口電路1:連接加法比較選擇模塊與路徑度量存儲器之間的模塊。接口電路2:連接最大似然模塊與幸存路徑存儲器之間的模塊。本人重點(diǎn)以加法比較選擇模塊和最大似然模塊為基礎(chǔ)來闡述Viterbi譯碼算法的基本思想。由于總體電路圖比較復(fù)雜,分成3部分來描述:第一部分(見圖3-3-4)是每一時(shí)刻每一
48、狀態(tài)的比較部分,通過模2加運(yùn)算相同比特為0,不同比特為1的原則,如果產(chǎn)生一個(gè)高電平,則完成一次計(jì)數(shù),全部計(jì)數(shù)完成后得到這一時(shí)刻每一個(gè)狀態(tài)的漢明距離。在第一部分電路圖中的3add表示的是3位同步加計(jì)數(shù)器,它是由3個(gè)JK觸發(fā)器組成(內(nèi)部電路見圖3-3-5)圖3-3-4 前3時(shí)刻狀態(tài)的比較圖 3-3-5 3位同步加計(jì)數(shù)器第一部分可以看作是計(jì)算路徑度量值的模塊,相當(dāng)于支路度量模塊,這里計(jì)算出的是每一個(gè)時(shí)刻每一個(gè)狀態(tài)的漢明距離。本人以輸出碼元是“00,00,00”為例來描述這一部分的功能。a狀態(tài)到達(dá)b狀態(tài)這一狀態(tài)轉(zhuǎn)換的輸出碼元序列是“11”,與輸出碼元“00”比較后計(jì)數(shù)器的輸出應(yīng)該是2,即漢明距離是2。
49、驗(yàn)證的波形見圖3-3-6。圖3-3-6 波形驗(yàn)證從波形圖里可以看出計(jì)數(shù)器從000到001再到010,表明計(jì)數(shù)器計(jì)數(shù)的結(jié)果是2,意味著漢明距離是2。第二部分是加法器部分,由于只考慮了3個(gè)時(shí)刻漢明距離的累加,累加和最大是6,因此選擇多個(gè)3位加法器即可實(shí)現(xiàn)(一個(gè)3位的加法器見圖3-3-7)圖3-3-7 3位加法器其中hadd是半加法器(圖3-3-8),fadd是全加法器(圖3-3-9) 圖3-3-8 半加器圖3-3-9 全加器第二部分的完整電路圖見圖3-3-10,它由12個(gè)3位加法器加法器組成,完成的輸入碼元進(jìn)入譯碼器后前3個(gè)時(shí)刻8條路徑漢明距離的累加。圖 3-3-10 漢明距離的累加第一部分和第二
50、部分電路圖完成8條路徑漢明距離的計(jì)算,兩部分和在一起的電路圖見3-3-11。圖3-3-11 解碼器部分的實(shí)現(xiàn)在假定輸出碼元在前3個(gè)時(shí)鐘周期是“00,00,00”的情況下,從c2.0J2.0的8條路徑的漢明距離計(jì)算的結(jié)果見圖3-3-12。圖 3-3-12 漢明距離從波形圖中可以看出,在譯碼輸出為“00,00,00”的情況下,8條路徑中的最小漢明距離是0(000),最大漢明距離是5(101)。漢明距離最小的路徑有一條,它的狀態(tài)轉(zhuǎn)換過程是a-a-a-a;漢明距離最大的路徑也只有一條,它的狀態(tài)轉(zhuǎn)換路徑是a-b-c-a。最后的目標(biāo)就是需要把最小漢明距離的那條路徑選出并存儲,并把相關(guān)信息提供給回溯模塊,最終把輸入的碼元譯出。第三部分是8位比較器74684作為比較器部分,第二部分中的加法器輸出接4864,可以比較出輸入數(shù)據(jù)的大小,產(chǎn)生信息位把漢明距離最小的那條路徑存儲在幸存路徑存儲器中。74684和其狀態(tài)表見圖3-3-13圖3-3-13 74684從狀態(tài)表中可以看出假如輸入的數(shù)據(jù)P比數(shù)據(jù)Q小,輸出信號P_GR_QN有高電平信號產(chǎn)生,此高電平信號輸入到幸存路徑寄存器中用于指示漢明距離小的路徑。所有漢明距離小的路徑在最大似然模塊中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清華大學(xué)《醫(yī)學(xué)機(jī)能學(xué)實(shí)驗(yàn)(Ⅱ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北工程學(xué)院《網(wǎng)絡(luò)空間安全學(xué)科前沿(創(chuàng)新創(chuàng)業(yè)教育)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南通科技職業(yè)學(xué)院《計(jì)算機(jī)圖形圖像技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州食品工程職業(yè)學(xué)院《新聞采訪寫作實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 福建師范大學(xué)協(xié)和學(xué)院《人力資源管理數(shù)據(jù)分析與運(yùn)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西水利電力職業(yè)技術(shù)學(xué)院《無機(jī)及分析化學(xué)(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆高三化學(xué)三輪沖刺 用反應(yīng)勢能圖理解多重平衡體系 課件
- 安徽師范大學(xué)皖江學(xué)院《微波電路》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京中醫(yī)藥大學(xué)翰林學(xué)院《計(jì)算機(jī)繪圖基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州電子信息職業(yè)技術(shù)學(xué)院《小學(xué)英語課程標(biāo)準(zhǔn)與教學(xué)設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 兒科腎病綜合征課件
- VDA6.3-2023過程審核檢查表
- DBJ33-T 1095-2024 預(yù)拌砂漿應(yīng)用技術(shù)規(guī)程
- 幼兒園安全《身體警報(bào)》
- 預(yù)防醫(yī)學(xué)(安徽中醫(yī)藥大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年安徽中醫(yī)藥大學(xué)
- 2024年天津市和平區(qū)中考二模語文試卷
- DB32T3956-2020化工企業(yè)安全風(fēng)險(xiǎn)分區(qū)分級規(guī)則
- 中國痔病診療指南(2020版)
- 數(shù)字貿(mào)易學(xué) 課件 第2章 數(shù)字貿(mào)易的產(chǎn)生與發(fā)展
- 第四章教師的權(quán)利與義務(wù)課件
- (高清版)DZT 0004-2015 重力調(diào)查技術(shù)規(guī)范(150 000)
評論
0/150
提交評論