• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA 的HDB4 設(shè)計(jì)與實(shí)現(xiàn)

      2023-12-31 10:31:52王善斌孟慶志
      科技創(chuàng)新與應(yīng)用 2023年36期
      關(guān)鍵詞:譯碼寄存器移位

      王善斌,孟慶志

      (山東理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東淄博 255200)

      在實(shí)際的數(shù)字基帶通信系統(tǒng)中,為了減少碼間串?dāng)_和噪聲干擾使信息能夠在基帶中順利傳輸,一般將不歸零碼(NRZ)信號(hào)編碼成適合基帶傳輸?shù)拇a元信號(hào)。由于噪聲干擾和其他原因,如取果在接收的數(shù)字序列中出現(xiàn)較長(zhǎng)的連零,便可能導(dǎo)致定時(shí)信息的消失,使正常的數(shù)據(jù)接收失效,這是數(shù)字通信系統(tǒng)不能容忍的。在傳輸碼的選擇中,常常需要設(shè)計(jì)出滿足信道各種特性的碼型,其中,HDB3編碼因?yàn)槠鋬?yōu)點(diǎn)較多且改進(jìn)了AMI編碼關(guān)于“連零”問題而成為常見的碼型之一。HDB3的編碼規(guī)則變化在當(dāng)檢測(cè)到4個(gè)連零時(shí),會(huì)加入破壞字節(jié)。但編碼后連零數(shù)只有3個(gè),導(dǎo)致編碼效率和傳輸效率過低。本文基于此,旨在通過FPGA設(shè)計(jì)出一種HDB4的編碼,增加了對(duì)零的“容忍度”,增加了編碼和傳輸?shù)男?。HDB4具有如下特點(diǎn):①不含直流,且低頻分量少;②具有豐富的定時(shí)信息,利于提取定時(shí)信號(hào);③功率譜主瓣寬度變小,提高了頻帶利用率;④具有檢錯(cuò)能力;⑤編譯碼簡(jiǎn)單,傳輸時(shí)延小等。

      1 HDB4 編碼模塊設(shè)計(jì)

      1.1 HDB4 編碼設(shè)計(jì)原理

      HDB4 的基本原理同HDB3 基本一樣,數(shù)據(jù)“1”正負(fù)交替,當(dāng)檢測(cè)到連零狀態(tài)后,插入破壞節(jié),其整體數(shù)據(jù)“V”碼單獨(dú)交替,“1”碼和“B”碼交替。HDB4 碼的編碼規(guī)則為:①取代。當(dāng)信息遇到5 個(gè)連“0”二進(jìn)制信息碼用取代節(jié)“0000V”或“B000V”代替。取代的原則:簡(jiǎn)記為“V 奇數(shù)V”,即2 個(gè)“V”碼之間“1”碼的個(gè)數(shù)為奇數(shù)。②加符號(hào)。“V”碼與前一非零碼相同,其他相反。③畫波形。HDB4 碼波形的占空比為0.5。

      HDB4 的編碼主要分為三大模塊,插入“V”碼模塊,負(fù)責(zé)“V”碼的插入,并將信號(hào)進(jìn)行“拓展”,1 位數(shù)據(jù)變?yōu)? 位數(shù)據(jù);插入“B”碼模塊,對(duì)數(shù)據(jù)“1”進(jìn)行計(jì)數(shù),通過奇偶來判斷是否需要插入“B”碼,并在合適的時(shí)候插入;極性變換模塊,將傳輸過來的信號(hào)進(jìn)行類AMI編碼。HDB4 設(shè)計(jì)的總體框架如圖1 所示。

      圖1 HDB4 框架

      1.2 插入“V”碼

      插入“V”碼是數(shù)據(jù)傳輸?shù)牡谝徊竭^程。其基本設(shè)計(jì)流程如圖2 所示。

      圖2 插入“V”碼流程

      輸入數(shù)字信號(hào)后,根據(jù)輸入的數(shù)據(jù)分別執(zhí)行不同的程序。當(dāng)輸入為“1”時(shí),令輸出為“01”,并將檢測(cè)連零數(shù)的計(jì)數(shù)器歸零。如果輸入為“0”時(shí),則同時(shí)執(zhí)行計(jì)數(shù)器加1 操作和計(jì)數(shù)器的判斷操作,當(dāng)檢測(cè)到計(jì)數(shù)器計(jì)數(shù)為4 時(shí),此時(shí)已經(jīng)輸入為第五個(gè)零,將第五個(gè)數(shù)據(jù)輸入為零的輸出設(shè)為11,并將計(jì)數(shù)器清零,其他情況則輸出00。

      經(jīng)過此模塊的數(shù)據(jù)比原數(shù)據(jù)均多一位,數(shù)字信息0 對(duì)應(yīng)著00 和代表“V”碼的11,數(shù)字信息1 對(duì)應(yīng)著01。

      1.3 插入“B”碼

      插入“B”碼是數(shù)據(jù)傳輸?shù)牡诙竭^程。其基本設(shè)計(jì)流程如圖3 所示。

      圖3 插入“B”碼流程

      這里采用5 位移位寄存器是根據(jù)HDB3 碼編碼規(guī)則的特點(diǎn)決定的,經(jīng)插“V”后,連零串中的第5 個(gè)“0”變成“V”碼,代碼中的連零個(gè)數(shù)最多是4 個(gè),而插入“B”碼的操作是把在由“0”碼變成“V”碼之前的第一個(gè)非零碼之后的“0”變換成“B”碼,由此可見,得整個(gè)過程中信息數(shù)一定不超過5 個(gè)“0”,因此只需要5 個(gè)一位寄存器就可以通過輸入狀態(tài)來決定是否應(yīng)插入“B”碼。將信息代碼中輸出的信號(hào)一位一位地放進(jìn)自己定義好的移位寄存器中,接下來進(jìn)行判斷:如果輸入的是“00”,則自己設(shè)的判偶寄存器count 保持不變,5 個(gè)移位寄存器正常往后存信號(hào);如果輸入的是“01”,則判偶寄存器count 加1,5 個(gè)移位寄存器正常往后存信號(hào);如果輸入的是“11”,判斷是否為第一個(gè)“11”輸入,如果是,則將標(biāo)志寄存器firstv 置為1,5 個(gè)移位寄存器正常往后存信號(hào),如果不是,則判斷判偶寄存器count 是否為偶數(shù),如果不是,則將判偶寄存器count 置0,5 個(gè)移位寄存器正常往后存信號(hào),否則,將這5 位移位寄存器的最低位寄存器賦值為“10”(這里面的“00”代表0,“01”代表“1”,“11”代表“V”)。

      1.4 極性變換

      將信號(hào)雙極性變換是數(shù)據(jù)傳輸?shù)牡谌竭^程。其基本設(shè)計(jì)流程如圖4 所示。

      圖4 雙極性變換流程

      將插“B”碼后的信號(hào)一位一位輸入進(jìn)去,判斷是否為“01”或“10”碼,如果是則判斷標(biāo)志位flag1b 是否為1,如果是,則輸出“01”并且將flag_b 置0,若不是,則輸出“10”,并將flag_b 置1;如果判斷不是“01”或“10”碼,則判斷輸入是否為“11”,如果不是則輸出“00”,保持標(biāo)志位flag 不變,如果是,則判斷flag_v 是否為1,不是則輸出“01”,是則輸出“10”(此輸出中的“10”代表正電平,“01”代表負(fù)電平,“00”代表零電平)。

      2 HDB4 譯碼模塊設(shè)計(jì)

      2.1 譯碼器的設(shè)計(jì)原理

      HDB4 的譯碼原理主要為發(fā)現(xiàn)取代節(jié)然后把取代節(jié)替換為5 個(gè)連零。其具體實(shí)現(xiàn)如下:在接收端收到的數(shù)據(jù)經(jīng)過移位寄存器分別與寄存器A(存儲(chǔ)“10000V”)和寄存器B(存儲(chǔ)“B000V”)相異或,結(jié)果為零把“10000V”改成“100000”、把“B000V”改成“00000”輸出。異或結(jié)果不為零正常輸出。其譯碼原理方框圖如圖5 所示。在FPGA 收到已經(jīng)譯好的HDB3 碼(雙相碼)后,根據(jù)是否為“XX 00 00 00 00 XX”或“ XX 00 00 00 XX ”的碼型來進(jìn)行扣“V”扣“B”的操作,最后在輸出時(shí)將雙相碼轉(zhuǎn)換為0 和1 碼輸出出去,方框圖如圖5 所示。流程圖如圖6 所示。

      圖5 譯碼器設(shè)計(jì)方框圖

      圖6 譯碼器設(shè)計(jì)流程圖

      2.2 譯碼器相關(guān)主要代碼分析

      if((data [9:0]==10'b0100000001)||(data [9:0]==10'b1100000011))

      begin

      data[1:0]〈=messagein;

      //messagein 為輸入雙相碼信息

      data[3:2]〈=2'b00;

      data[5:4]〈=data[3:2];

      data[7:6]〈=data[5:4];

      data[9:8]〈=data[7:6];

      data[11:10]〈=2'b00;

      end//對(duì)B000V 碼型進(jìn)行扣B 扣V 操作

      if((data[11:0]==12'b010000000001)||(data[11:0]==12'b110000000011))

      begin

      data[1

      :0]〈=messagein;

      data[3:2]〈=2'b00;

      data[5:4]〈=data[3:2];

      data[7:6]〈=data[5:4];

      data[9:8]〈=data[7:6];

      data[11:10]〈=data[9:8];

      end//對(duì)10000V 碼型進(jìn)行扣V 操作

      case(data[11:10])

      2'b00:begin temp〈=1'b0; end

      2'b01,2'b11:begin temp〈=1'b1; end

      default:begin temp〈=1'bz; end

      endcase

      //將寄存器高兩位轉(zhuǎn)換成0 碼或1 碼并輸出

      3 FPGA 總體設(shè)計(jì)與仿真結(jié)果

      3.1 FPGA 的總體設(shè)計(jì)

      HDB4 編碼原理RTL 框圖如圖7 所示,輸入為一位的消息信號(hào)、時(shí)鐘信號(hào)以及復(fù)位信號(hào),經(jīng)插V 模塊、插B 模塊、雙極性變換模塊以及譯碼模塊這4 個(gè)模塊后輸出一位的譯碼信號(hào)。

      圖7 HDB4 編碼原理RTL 框圖

      3.2 HDB4 編譯碼模塊仿真分析

      下面對(duì)該HDB4 模塊進(jìn)行仿真驗(yàn)證,仿真時(shí)鐘設(shè)置為32 MHz,先進(jìn)行復(fù)位再開始進(jìn)行消息的傳輸,傳輸是在時(shí)鐘的每個(gè)上升沿進(jìn)行的(也就意味著一個(gè)時(shí)鐘發(fā)送一個(gè)消息)。在總模塊開始時(shí),輸入信息為“1000010000110000000011”,圖8 中,第一行為時(shí)鐘信號(hào);第二行為復(fù)位信號(hào);第三行為消息信號(hào);第四行為插V 后的信號(hào);第五行為插B 后的信號(hào);第六行為雙極性變換后的信號(hào);第七行為譯碼后的信號(hào)。

      圖8 綜合模塊仿真圖

      4 結(jié)論

      本文所設(shè)計(jì)的HDB4 編碼模塊簡(jiǎn)單易懂,在數(shù)字處理上利用FPGA 相較于單片機(jī)具有很高的靈活性,其可以集成到不同的通信系統(tǒng)中,提高系統(tǒng)設(shè)計(jì)的速度。

      在本次設(shè)計(jì)之中也有一些需要注意的地方,比如寫仿真文件在時(shí)鐘信號(hào)最開始的時(shí)候一定要設(shè)置為1,否則將會(huì)在復(fù)位結(jié)束時(shí)比正常情況多發(fā)一個(gè)時(shí)鐘的信息導(dǎo)致消息錯(cuò)亂;在譯碼傳輸數(shù)據(jù)時(shí)如果要對(duì)數(shù)據(jù)進(jìn)行改動(dòng)的話要直接對(duì)該寄存器的傳輸數(shù)據(jù)對(duì)象的寄存器進(jìn)行改動(dòng),否則時(shí)序會(huì)錯(cuò)位,導(dǎo)致譯碼錯(cuò)誤。

      猜你喜歡
      譯碼寄存器移位
      基于校正搜索寬度的極化碼譯碼算法研究
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
      大型總段船塢建造、移位、定位工藝技術(shù)
      Σ(X)上權(quán)移位算子的不變分布混沌性
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      從霍爾的編碼譯碼理論看彈幕的譯碼
      新聞傳播(2016年3期)2016-07-12 12:55:27
      多指離斷手指移位再植拇指25例
      LDPC 碼改進(jìn)高速譯碼算法
      基于概率裁剪的球形譯碼算法
      芷江| 阿克陶县| 石楼县| 安图县| 巴林右旗| 桃江县| 岳池县| 西乡县| 莎车县| 梓潼县| 丹阳市| 岳阳市| 仙桃市| 正安县| 龙岩市| 富顺县| 泸西县| 大同市| 新干县| 阿尔山市| 伊春市| 海丰县| 沙洋县| 秦皇岛市| 嘉善县| 呼和浩特市| 出国| 松阳县| 南充市| 永昌县| 上蔡县| 永春县| 水城县| 吐鲁番市| 崇左市| 商水县| 乐都县| 盐城市| 镇平县| 江永县| 永胜县|