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

正文內(nèi)容

基于fpga的hdb3碼的編譯碼器與譯碼器設(shè)計(軟件設(shè)計)(編輯修改稿)

2024-07-24 17:59 本頁面
 

【文章內(nèi)容簡介】 為“1”,用B脈沖表示。這時破壞節(jié)變?yōu)椤癇00V”形式。B脈沖極性與前一“1”脈沖極性相反,而B脈沖極性和V脈沖極性相同。如: NRZ碼:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 AMI碼:1 0 0 0 0 +1 0 0 0 0 1 +1 0 0 0 0 1 +1 HDB3碼:1 0 0 0 V +1 0 0 0+V1 +1–B 0 0 V +1 1 HDB3碼的譯碼規(guī)則 HDB3碼的譯碼是編碼的逆過程,其譯碼相對于編碼較簡單。從其編碼的原理可知,每一個破壞符號V總是與前一個非0符號同極性,因此,在HDB3碼序列中,容易識別V符號,同時也肯定V符號及其前面的3個符號必是連0符號,這樣就恢復(fù)成了4個連0碼,然后再將所有的1變成+1后便得到了原消息代碼。: HDB3碼的譯碼規(guī)則HDB3+1010+110001+100+110+1破壞符V,B1V+B+V譯碼0101100000000101 HDB3碼的檢錯能力HDB3碼具有較強的檢錯能力,當(dāng)數(shù)據(jù)序列用HDB3碼傳輸時,若傳輸過程中出現(xiàn)單個誤碼,其極性交替變化規(guī)律將受到破壞,因而在接收端根據(jù)HDB3碼這一獨特規(guī)律特性,可檢出錯誤并糾正錯誤,同時HDB3碼方便提取位定時信息。因而HDB3碼作為數(shù)據(jù)傳輸?shù)囊环N碼型,應(yīng)用廣泛,成為ITU推薦使用的碼型之一。第三章 HDB3編碼器的FPGA實現(xiàn) HDB3碼編碼器的實現(xiàn)分析在數(shù)字基帶傳輸系統(tǒng)中,從信號源輸出的信號一般是用“0”和“1”兩種狀態(tài)表示的單極性NRZ碼。因此看來,HDB3編碼器的主要轉(zhuǎn)換對象就是NRZ碼。由HDB3碼的編碼規(guī)則可知,編碼器的主要工作就是按AMI碼對信號進(jìn)行編碼,判斷是否應(yīng)該加入破壞符V,V加入后是否應(yīng)該補B,由于需要檢查到四位連“0”才能進(jìn)行加V補B的操作,這樣用于存放數(shù)據(jù)的移位寄存器就不能少。這個設(shè)計的難點在于加V和補B的判決。 HDB3碼編碼器的設(shè)計思路 4連‘0’的檢出加V及判‘1’極性當(dāng)輸入遇到4連“0”時,按編碼規(guī)則,須以000V或B00V取代。因此需要先有一個4連“0”檢出模塊。該模塊檢出4連“0”時,產(chǎn)生一個加V信號,把V取代最后一個“0”,同時根據(jù)前一個“1”的極性判斷下一個V的極性。當(dāng)輸入為“1”時,就按AMI碼判斷其極性。 取代節(jié)的選取 當(dāng)檢出4連“0”時,除了加V外,還須考慮是要用B取代第一個“0”,還是保持第一個“0”不變地輸出。可以在加入的兩個V之間去判斷“1”的個數(shù)是奇數(shù)個還是偶數(shù)個,去判斷加B還是保持“0”碼。若須要加B,則進(jìn)行加B的操作,同時判斷B的極性。其極性可根據(jù)B00V來決定,因為B00V中B跟V是同極性的而與前一個“1”極性是相反的。 HDB3編碼器實現(xiàn)原理框圖加B00V還是000V, 取代節(jié)極性判決V的前一個“1”的極性++V的極性++兩個V之間“1”奇偶個的數(shù)的判斷偶數(shù)個偶數(shù)個奇數(shù)個奇數(shù)個取代節(jié) B00V BOOV 000V 000V 由于HDB3碼是雙極性的,而FPGA只能進(jìn)行單極性處理。因此須把HDB3碼的雙極性變換為單極性,以便FPGA器件對其進(jìn)行處理。將HDB3碼的“+1”、“0”、“1”用數(shù)字信號1,0重新編碼,用01編碼“+1”,用00編碼“0”,用11編碼“1”。,其中低位與其本來數(shù)值相符,高位則以0來標(biāo)識“+”,用1來標(biāo)識“”。 HDB3的碼元重新編碼 HDB3碼元自定單極性標(biāo)識+101000111 因此在最后,還須接外部電路,把單極性轉(zhuǎn)換為雙極性輸出。比如利用一個四選一的數(shù)據(jù)選擇器CC4052(),二維數(shù)組作為CC4052的的選擇地址,在輸出端out可以得到符合規(guī)則的“+1”、“1”、“0”變化波形 CC4052功能表輸入導(dǎo)通通道INHA1A0LLL/……O/ILLH/……O/ILHL/……O/ILHH/……O/IHXX無把得到的兩個輸出的分別接到A1,A0作地址控制端,便可使其輸出相應(yīng)電平。“V”碼模塊設(shè)計及仿真插“V”碼實際就是對消息代碼里的的連0串進(jìn)行檢測,當(dāng)出現(xiàn)四個連0串的第四個“0”碼變換成“V”碼,其它碼元保持消息代碼的原樣輸出。由于信號插“V”之后不僅有“0”、“1”還有破壞符“V”,因此需要兩個比特位來進(jìn)行編碼,在本模塊中用“00”表示碼元“0”,用“01”表示碼元“1”,“10”表示“V”信碼。 插“V”碼模塊連接圖以下給出實現(xiàn)添加破壞符號“V”功能的源程序代碼Library ieee。Use 。Use 。Entity hdb3plusv isPort(clk :in std_logic。 系統(tǒng)時鐘輸入 Datain :in std_logic。 基帶信號輸入 Plusvout :out std_logic_vector(1 downto 0)。 插“V”處理后輸出End hdb3plusv。Architecture behave of hdb3plusv is Signal plusvregh : std_logic_vector(3 downto 0)。 Signal plusvreg1 : std_logic_vector(3 downto 0)。 Signal dataregn : std_logic_vector(2 downto 0)。BeginProcess(clk)Begin If clk’event and clk=’1’ then If datain=’1’ then Dataregn=’0’ amp。 dataregn(2 downto 1)。 ElseDataregn=’1’ amp。 dataregn(2 downto 1)。 End if。 End process。 Process(clk) Begin If cld’event and clk=’1’ then 在編碼中,基帶信號的“0”,用“00”來表示 基帶信號的“1”,用“01”來表示 插“V”符號,用“10”來表示 檢測到4個連0,則轉(zhuǎn)化為“10” If (datain=’0’) and (dataregn=”111”) and (plusvregh(3 downto 1)=”000” then Plusvregh=’1’ amp。 plusvregh(3 downto 1)。 Plusvreg1=’0’ amp。 plusvregh(3 downto 1)。否則,如果是“1”,則轉(zhuǎn)化為“01” Elsif datain=’1’ then Plusvregh=’0’ amp。 plusvregh(3 downto 1)。 Plusvreg1=’1’ amp。 plusvreg1(3 downto 1)。如果是“0”,則轉(zhuǎn)化為“00” Elsif datain=’0’ then Plusvregh=’0’ amp。 plusvregh(3 downto 1)。 Plusvreg1=’0’ amp。 plusvreg1(3 downto 1)。End if。End if。End process。插“V”輸出進(jìn)程Process(clk)Begin If clk’event and clk=’1’ then Plusvout=plusvregh(0) amp。 plusvreg1(0)。 End if。End process。End behave。仿真結(jié)果圖“V”符號仿真波形圖,當(dāng)datain為0且datain出現(xiàn)4個連續(xù)的“0”時,plusvout信號為“10”代表“V”,HDB3編碼的插“V”操作得到驗證,否則,當(dāng)datain為“1”時,plusvout信號為“01”,當(dāng)datain為“0”時,plusvout信號為“00”?!癇”碼模塊設(shè)計及仿真HDB3編碼器的插“B”碼就是對HDB3編碼器的插“V”碼模塊的輸出信號plusvout進(jìn)行判決,如果相鄰的兩個“V”碼之間的“1”的個數(shù)為偶數(shù)個,則把最后一個“V”碼前的第1個0變換成一個“B”碼;否則保持plusvout的碼型不變。由于碼元“B”相對于“V”是過去的信息,因此,必須對當(dāng)前碼元進(jìn)行存儲,使用FPGA中的移位寄存器來實現(xiàn),定義2個五位寄存器,寄存器從高往低移位,如果寄存器的第4位判斷出需要進(jìn)行插“B”碼時,同時改變寄存器的第1位的值,達(dá)到以現(xiàn)在的情況改變過去的值。碼元“B”用“11”表示。“B”模塊連接圖?!癇”模塊連接圖以下給出添加符號“B”模塊的源程序代碼Library ieee。Use 。Use 。Entity hdb3plusb isPort(clk : in std_logic。 系統(tǒng)時鐘輸入 Plusvin : in std_logic_vector(1 downto 0)。插“V”信號輸入 Plusbout : out std_logic_vector(1 downto 0)。插“B”信號輸入 End hdb3plusb。 Architecture behave of hdb3plusb is Signal parity : std_logic。 Signal startflag : std_logic_vector(2 downto 0)。 Signal hdb3plusbregh : std_logic_vector(4 downto 0)。 Signal hdb3plusbreg1 : std_logic_vector(4 downto 0)。 Begin 對兩個連續(xù)“V”之間的非“0”符號進(jìn)行奇偶判斷parity為“0”表示兩個連續(xù)“V”之間的非“0”符號位偶數(shù)個,需要進(jìn)行插“V”操作 parity為“1”表示兩個連續(xù)“V”之間的非“0”符號位奇數(shù)個,不需要進(jìn)行插“V”操作Process(clk)BeginIf clk’event and clk=’1’ then If plusvin=”10” then Parity=’0’。Elsif plusvin=”01” then Parity=not parity。End if。End if。End process。當(dāng)兩個連續(xù)“V”之間的非“0”符號為偶數(shù)個,進(jìn)行插“B”操作符號“B”由“11”來表示Process(clk)Begin If clk’event and clk=’1’ then If(plusvin=”10”) and (parity=’0’) then。 Hdb3plusbregh(4)=’1’。 Hdb3plusbregh(3)= hdb3plusbregh(4) Hdb3plusbregh(2)= hdb3plusbregh(3) Hdb3plusbregh(1)=’1’。如果需要插“B”,則改變?nèi)ミ^第1位的值 Hdb3plusbregh(0)= hdb3plusbregh(1) Hdb3plusbreg1(4)=’0’。 Hdb3plusbreg1(3)= hdb3plusbreg1(4)。 Hdb3plusbreg1(2)= hdb3plusbreg1(3)。 Hdb3plusbreg1(1)=’1’。如果需要插“B”,則改變?nèi)ミ^第1位的值 Hdb3plusbreg1(0)= hdb3plusbreg1(1)。 Else Hdb3plusbregh=plusvin(1) amp。 hdb3plusbregh(4 downto 1)。 Hdb3plusbregl=plusvin(0) amp。 hdb3plusbregl(4 downto 1)。End if。End if。End process。Process(clk)Begin If clk’event and clk=’1’ then Plusbout(1)=hdb3plusbregh(0)。 Plusbout(0
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1