浙大通信原理大作業(yè)_第1頁(yè)
浙大通信原理大作業(yè)_第2頁(yè)
浙大通信原理大作業(yè)_第3頁(yè)
浙大通信原理大作業(yè)_第4頁(yè)
浙大通信原理大作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)報(bào)告課程名稱:通信原理 指導(dǎo)老師:鄧焰 陳宏 成績(jī):_實(shí)驗(yàn)名稱:偽隨機(jī)序列 編碼及解碼 實(shí)驗(yàn)類型:基礎(chǔ)規(guī)范型 同組學(xué)生姓名: 一、實(shí)驗(yàn)?zāi)康暮鸵螅ū靥睿┒?shí)驗(yàn)內(nèi)容和原理(必填)三、主要儀器設(shè)備(必填)四、操作方法和實(shí)驗(yàn)步驟五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理六、實(shí)驗(yàn)結(jié)果與分析(必填)七、討論、心得裝 訂 線0 實(shí)驗(yàn)要求:1、環(huán)境與工具適應(yīng);2、偽隨機(jī)編碼,含5級(jí)m序列、M序列;3、歸零碼、差分碼的編碼與解碼;4、雙相碼、CMI的編碼與解碼;5、AMI、PST、HDB3的編碼與解碼。1 5級(jí)m序列:實(shí)驗(yàn)原理:查找本原多項(xiàng)式表,得到5級(jí)m序列的本原多項(xiàng)式為x5+x2+1,即有C0=C2=C5=1,C1=C

2、3=C4=0對(duì)照課本P380圖12-4,以邏輯運(yùn)算“異或”表示加法器的“加”運(yùn)算,則可以得到以下的電路圖:其中,上圖中右下角BNAND6器件的使用是為了避免序列“00000”的出現(xiàn)。當(dāng)只有為全零時(shí),BNAND6輸出才為1,此時(shí)5個(gè)D觸發(fā)器的置位端有效,將“00000”置為“11111”仿真結(jié)果:上圖兩條粗線間恰為一個(gè)周期,共有31us,而一個(gè)狀態(tài)占1us,即為31個(gè)狀態(tài),這與5級(jí)m序列的總狀態(tài)數(shù)N=25-1=31相等。此外,經(jīng)檢驗(yàn)有 從而得以驗(yàn)證結(jié)果的正確性。實(shí)驗(yàn)波形:2 5級(jí)M序列:實(shí)驗(yàn)原理:查找本原多項(xiàng)式表,得到5級(jí)m序列的本原多項(xiàng)式為x5+x2+1,即有C0=C2=C5=1,C1=C3=

3、C4=0對(duì)照課本P380圖12-4,以邏輯運(yùn)算“異或”表示加法器的“加”運(yùn)算,并在此基礎(chǔ)上增加一條支路(a4、a3、a2、a1的或非)引到加法器,則可以得到以下的電路圖:下圖中左下角BAND6即為在5級(jí)m序列基礎(chǔ)中新增的支路,其中多余的2個(gè)端口直接接地。仿真結(jié)果:上圖兩條粗線間恰為一個(gè)周期,共有31us,而一個(gè)狀態(tài)占1us,即為31個(gè)狀態(tài),這與5級(jí)M序列的總狀態(tài)數(shù)N=25-1=31相等。此外,經(jīng)檢驗(yàn)符合課本P391遞推方程(12.2-47),從而得以驗(yàn)證結(jié)果的正確性。此外,上圖虛線框中為全零序列“00000”。實(shí)驗(yàn)波形:3 單極性歸零碼:實(shí)驗(yàn)原理:為方便起見(jiàn),取占空比為50%。當(dāng)原碼為1,則編

4、碼為10;當(dāng)原碼為0,則編碼恒為0。比對(duì)上述偽隨機(jī)序列仿真結(jié)果的時(shí)鐘脈沖序列和5級(jí)m(或M)序列,發(fā)現(xiàn)單極性歸零碼可以通過(guò)兩者進(jìn)行邏輯“與”得到,示意圖如下所示?;诖丝梢缘玫綒w零碼的編碼電路。 至于解碼電路的得到,比對(duì)上圖左下角的原碼(也即解碼)和右下角的編碼并結(jié)合時(shí)鐘脈沖,不難發(fā)現(xiàn),若將時(shí)鐘脈沖作為上升沿觸發(fā)而將編碼作為輸入則可以得到原碼波形。在此需要注意的是,雖然數(shù)電課程中講的是上升沿觸發(fā)要看觸發(fā)前的狀態(tài),但由于實(shí)際器件存在延時(shí),故在Quartus2仿真及實(shí)驗(yàn)過(guò)程中均是由觸發(fā)后的狀態(tài)決定,這一點(diǎn)已在實(shí)踐中得到證明。由此借助上升沿觸發(fā)的D觸發(fā)器進(jìn)行歸零碼的解碼。其中,之所以在解碼時(shí)又使用與

5、門將時(shí)鐘脈沖和5級(jí)m序列進(jìn)行“與”運(yùn)算而非直接從編碼輸出引出的原因,是從編碼輸出引出的相位和編碼直接輸出的相位差了180度,盡管兩者都是同一點(diǎn)上的波形。仿真結(jié)果:實(shí)驗(yàn)波形:原碼編碼編碼解碼4 差分碼:實(shí)驗(yàn)原理:CP原碼編碼差分碼是以跳變來(lái)表示高電平,以不變表示低電平,即01和10表示高電平;00和11表示低電平。編碼過(guò)程如上所示,由編碼規(guī)則不難發(fā)現(xiàn),編碼中要發(fā)生跳變就必須當(dāng)原碼為1時(shí)。因而,可以借助T觸發(fā)器來(lái)實(shí)現(xiàn)。其中,CP脈沖作為上升沿觸發(fā),原碼作為T端口輸入。當(dāng)然,也可以借助于D觸發(fā)器,以下采用的是同組同學(xué)的電路圖,思想是通過(guò)D觸發(fā)器保存前一個(gè)狀態(tài),并將與當(dāng)前狀態(tài)進(jìn)行異或運(yùn)算。顯然,若前后

6、兩個(gè)狀態(tài)不同,異或后得到“1”,否則為“0”,這與差分的編碼思想一致,只是此方法會(huì)至少滯后1個(gè)周期?;诖吮憧傻玫讲罘执a的編碼電路圖。至于解碼過(guò)程,若仍采用上述編碼的后一種思想,則解碼與編碼同效。這是因?yàn)榻獯a的差分碼便是原碼,可以說(shuō)是兩者處于相同的地位。當(dāng)然,這也可以從“異或”邏輯運(yùn)算的特點(diǎn)得到。因此,仍將編碼的前后狀態(tài)進(jìn)行“異或”運(yùn)算便得到解碼,只不過(guò)又至少滯后編碼一個(gè)周期以上。正是因?yàn)樵摲椒ǖ木幋a和解碼必然會(huì)有較大的延時(shí)滯后,故電路圖上右上角存在兩個(gè)為減少滯后時(shí)間而采用的D觸發(fā)器,當(dāng)然這其中的性價(jià)比不高。仿真結(jié)果:實(shí)驗(yàn)波形:編碼原碼原碼解碼5 雙相碼:實(shí)驗(yàn)原理:雙相碼的編碼規(guī)則是當(dāng)原碼為1

7、時(shí),則編碼為10;當(dāng)原碼為0時(shí),則編碼為01。具體的波形表示為CP原碼編碼由上面波形圖,不難發(fā)現(xiàn),編碼為CP脈沖與原碼的“同或”,且解碼為CP脈沖與編碼的“同或”運(yùn)算?;诖丝傻玫诫娐穲D如下所示。仿真結(jié)果:實(shí)驗(yàn)波形:原碼編碼原碼解碼6 CMI:實(shí)驗(yàn)原理:CMI的編碼規(guī)則為當(dāng)原碼為1,編碼為11與00相互交替;當(dāng)原碼為0,編碼為01。由此可見(jiàn),CMI碼為1B2B碼。由于當(dāng)原碼為1時(shí)存在交替現(xiàn)象,因此考慮采用VHDL語(yǔ)言進(jìn)行編碼。其中,設(shè)定一個(gè)變量用于記錄“1”出現(xiàn)的狀態(tài),以此判別輸出為11還是00。其中,編碼為位于右下角偏上模塊而解碼為其下方的模塊,具體VHDL語(yǔ)言在下文給出。仿真結(jié)果:實(shí)驗(yàn)波形

8、:原碼編碼解碼原碼編 碼 解 碼LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY CMI_code ISPORT( Clk : in std_logic; CP : in std_logic;DataInput : in std_logic; DataOutput : out std_logic);END CMI_code;ARCHITECTURE CMIcode OF CMI_code IS signal ControlSig : std_logic;-CMI碼元控制信號(hào) signa

9、l count: std_logic;-'00''11' signal DataBuffer : std_logic_vector(1 downto 0);-CMI碼元寄存 begin process(CP)-CMI編碼進(jìn)程 begin if CP'event and CP = '1' then CASE DataInput IS WHEN '0'=> DataBuffer <= "01" WHEN '1' => -基帶信號(hào)為'1' 則交替編為"

10、;11" 和 "00" if count = '0' then DataBuffer <= "11" count<='1' else DataBuffer <= "00" count<='0' end if; END CASE; end if; end process; process(Clk)-CMI碼元輸出進(jìn)程 begin if Clk'event and Clk = '1' then if ControlSig = '

11、;1' then DataOutput<= DataBuffer(0); ControlSig<= '0' else DataOutput<= DataBuffer(1); ControlSig <= '1' end if; end if; end process; end CMIcode;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY CMI_decode ISPORT( Clk : in std_logic; CP

12、: in std_logic; DataInput : in std_logic; DataOutput : out std_logic );END CMI_decode;ARCHITECTURE CMIdecode OF CMI_decode IS signal ControlSig : std_logic;-CMI碼元控制信號(hào) signal count: std_logic;-'00''11' signal DataBuffer : std_logic_vector(1 downto 0);-CMI碼元寄存 begin process(Clk)-CMI碼元輸

13、出進(jìn)程 begin if Clk'event and Clk = '1' then if ControlSig = '1' then DataBuffer(1)<= DataInput; ControlSig<= '0' DataOutput<=DataBuffer(1) xnor DataBuffer(0); else DataBuffer(0)<= DataInput; ControlSig <= '1' end if; end if; end process; end CMIdecode

14、;7 AMI:實(shí)驗(yàn)原理:AMI的編碼規(guī)則為當(dāng)原碼為1時(shí),編碼為+1與-1相互交替;當(dāng)原碼為0時(shí),編碼為0保持不變。由于AMI為三電平碼,故可以通過(guò)兩路二電平碼來(lái)表示,如下所示:CP原碼編碼(+)(-) 其中,當(dāng)(+)為高電平、(-)零電平時(shí),表示+1;當(dāng)(+)為零電平、(-)高電平時(shí),表示-1;而(+)與(-)均為零電平時(shí),表示0。 因此,可以將三電平碼AMI的編解碼化為兩路二電平碼的編解碼。為避免兩路二電平碼的不同步造成編碼、解碼出錯(cuò),故采用VHDL語(yǔ)言對(duì)AMI進(jìn)行編碼,而解碼部分則直接由兩路二電平碼進(jìn)行“異或”運(yùn)算得到。仿真結(jié)果:實(shí)驗(yàn)波形:原碼編碼原碼解碼編 碼 LIBRARY ieee;

15、USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY AMI_code ISPORT( Clk : in std_logic; DataInput : in std_logic; DataOutput1 : out std_logic; DataOutput0 : out std_logic );END AMI_code;ARCHITECTURE AMIcode OF AMI_code IS signal count: std_logic;-'01''10' signal DataB

16、uffer : std_logic_vector(1 downto 0);begin process(Clk) begin if Clk'event and Clk = '1' then CASE DataInput IS WHEN '0'=> DataBuffer <= "00" WHEN '1' => if count = '0' then DataBuffer <= "01" count<='1' else DataBuffer &

17、lt;= "10" count<='0' end if; END CASE; DataOutput1 <=DataBuffer(1); DataOutput0 <=DataBuffer(0); end if; end process; end AMIcode;8 PST:實(shí)驗(yàn)原理:PST為2B1T碼,其編碼規(guī)則如下所示,實(shí)驗(yàn)要求正負(fù)模式無(wú)條件輪流切換。其中,編碼時(shí)需要設(shè)置一個(gè)變量用于記錄此次編碼所采用的模式。在該狀態(tài)變量已決定所采用的編碼模式后,對(duì)兩位二進(jìn)制原碼進(jìn)行相應(yīng)的編碼,這就是編碼乃至解碼部分所基于的思想。仿真結(jié)果:編 碼 解 碼LI

18、BRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY PST_code ISPORT( Clk : in std_logic; DataInput : in std_logic; DataOutput1 : out std_logic; DataOutput0 : out std_logic);END PST_code;ARCHITECTURE PSTcode OF PST_code IS signal count: std_logic;-'01''10' si

19、gnal DataBuffer : std_logic_vector(1 downto 0); signal Dbuffer : std_logic_vector(1 downto 0); signal c1:std_logic; signal c2:std_logic;begin process(Clk) begin if Clk'event and Clk = '1' then if count = '0' then Dbuffer<=DataBuffer; DataBuffer(1) <= DataInput; count<=&#

20、39;1' else DataBuffer(0) <= DataInput; count<='0' end if; if count = '0' then CASE Dbuffer IS WHEN "00" => DataOutput1 <='0' DataOutput0 <='1' WHEN "01" => DataOutput1 <='0'DataOutput0 <='0' WHEN "10

21、" => if c1='0' then DataOutput1 <='1'DataOutput0 <='0'c1<='1' else DataOutput1 <='0'DataOutput0 <='1'c1<='0' end if; WHEN "11" => DataOutput1 <='1'DataOutput0 <='0' END CASE; else CAS

22、E Dbuffer IS WHEN "00" =>DataOutput1 <='1'DataOutput0 <='0' WHEN "01" => if c2='0' then DataOutput1 <='1'DataOutput0 <='0'c2<='1' else DataOutput1 <='0'DataOutput0 <='1'c2<='0' e

23、nd if ; WHEN "10" =>DataOutput1 <='0'DataOutput0 <='0' WHEN "11" => DataOutput1<='0'DataOutput0 <='1' END CASE; end if; end if; end process; end PSTcode;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTI

24、TY PST_decode ISPORT( Clk : in std_logic;DataInput1 : in std_logic; DataInput0 : in std_logic;DataOutput : out std_logic);END PST_decode;ARCHITECTURE PSTdecode OF PST_decode ISsignal count: std_logic; signal DBuffer0: std_logic_vector(1 downto 0);signal DataBuffer1 : std_logic_vector(1 downto 0);sig

25、nal DataBuffer0 : std_logic_vector(1 downto 0);signal DBuffer1: std_logic_vector(1 downto 0);signal DBuffer11: std_logic_vector(1 downto 0);begin process(Clk) begin if Clk'event and Clk = '1' then if count = '0' then DBuffer11<=DBuffer1; DBuffer1<=DataBuffer1; count<=

26、9;1' DataBuffer1(1) <=DataInput1; DataBuffer1(0) <= DataInput0; else DBuffer0<=DataBuffer0;DataBuffer0(1) <= DataInput1; DataBuffer0(0) <= DataInput0; count<='0' end if; if count = '0' then if DBuffer1="01" and DBuffer0="10" then DataOutput&l

27、t;='0' end if; if (DBuffer1="00" and DBuffer0="10") or (DBuffer1="00" and DBuffer0="01") then DataOutput<='0' end if; if (DBuffer1="10" and DBuffer0="00") or (DBuffer1="01" and DBuffer0="00") then DataOutput<='1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論