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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

52C=C=C,C=C=C=0025134對照課本P380圖12-4,以邏輯運算“異或”表示加法器的“加”運算,則可以得到以BNAND6器件的使用是為了避免序列“00000全零時,BNAND6輸出才為1,此時5個D00000”置為“11111”上圖兩條粗線間恰為一個周期,共有31us,而一個狀態(tài)占1us,即為31個狀態(tài),這與5aaa級m序列的總狀態(tài)數(shù)N=2-1=31相等。此外,經檢驗有從而得以驗證結果的正543052C=C=C,C=C=C=0025134對照課本P380圖12-4,以邏輯運算“異或”表示加法器的“加”運算,并在此基礎上增加一條支路(、a3、、a1的或非)引到加法器,則可以得到以下的電路圖:下圖中左下角BAND6即為在5級m序列基礎中新增的支路,其中多余的2個端口直接接地。上圖兩條粗線間恰為一個周期,共有31us,而一個狀態(tài)占1us,即為31個狀態(tài),這與5級M序列的總狀態(tài)數(shù)N=2-1=31相等。此外,經檢驗符合課本P391遞推方程(12.2-47),從而得以驗證結果的正確性。此外,上圖虛線框中為全零序列“00000”。實驗波形:實驗原理:為方便起見,取占空比為50%。當原碼為1,則編碼為1→0;當原碼為0,則編碼恒為0。比對上述偽隨機序列仿真結果的時鐘脈沖序列和5級m(或M)序列,發(fā)現(xiàn)單極性歸零碼可以通過兩者進行邏輯“與”得到,示意圖如下所示。基于此可以得到歸零碼的編碼電路。至于解碼電路的得到,比對上圖左下角的原碼(也即解碼)和右下角的編碼并結合時鐘脈沖,不難發(fā)現(xiàn),若將時鐘脈沖作為上升沿觸發(fā)而將編碼作為輸入則可以得到原碼波形。在此需要注意的是,雖然數(shù)電課程中講的是上升沿觸發(fā)要看觸發(fā)前的狀態(tài),但由于實際器件存在延時,故在Quartus2仿真及實驗過程中均是由觸發(fā)后的狀態(tài)決定,這一點已在實踐中得到證明。由此借助上升沿觸發(fā)的D觸發(fā)器進行歸零碼的解碼。其中,之所以在解碼時又使用與門將時鐘脈沖和5級m序列進行“與”運算而非直接從編碼輸出引出的原因,是從編碼輸出引出的相位和編碼直接輸出的相位差了180度,盡管兩者都是同一點上的波形。仿真結果:實驗原理:差分碼是以跳變來表示高電平,以不變表示低電平,即0→1和10表示高電平;0→0和1→1表示低電平。編碼過程如上所示,由編碼規(guī)則不難發(fā)現(xiàn),編碼中要發(fā)生跳變就必須當原碼為1時。因而,可以借助T觸發(fā)器來實現(xiàn)。其中,CP脈沖作為上升沿觸發(fā),原碼作為T端口輸入。當DD觸發(fā)器保存前一個狀態(tài),并將與當前狀態(tài)進行異或運算。顯然,若前后兩個狀態(tài)不同,異或后得到“1否則為“01個周期?;诖吮憧傻玫讲罘执a的編碼電路圖。至于解碼過程,若仍采用上述編碼的后一種思想,則解碼與編碼同效。這是因為解碼的差分碼便是原碼,可以說是兩者處于相同的地位。當然,這也可以從“異或”邏輯運算的特點得到。因此,仍將編碼的前后狀態(tài)進行“異或”運算便得到解碼,只不過又至少滯后編碼一個周期以上。正是因為該方法的編碼和解碼必然會有較大的延時滯后,故電路圖上右上角存在兩個為減少滯后時間而采用的D觸發(fā)器,當然這其中的性價比不高。編碼原碼實驗原理:雙相碼的編碼規(guī)則是當原碼為1時,則編碼為1→0;當原碼為0時,則編碼為0→1。具體的波形表示為由上面波形圖,不難發(fā)現(xiàn),編碼為CP脈沖與原碼的“同或”,且解碼為CP脈沖與編碼的“同或”運算。基于此可得到電路圖如下所示。實驗原理:CMI的編碼規(guī)則為當原碼為1編碼為11與00相互交替;當原碼為0,編碼為01。由由于當原碼為1時存在交替現(xiàn)象,因此考慮采用VHDL語言進行編碼。其中,設定一個變量用于記錄“1”出現(xiàn)的狀態(tài),以此判別輸出為11還是00。VHDL語言在下文給出。仿真結果:編碼解碼USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYCMI_decodeISPORTUSEieee.std_logic_unsigned.ALL;PORT(Clk:instd_logic;CP:instd_logic;DataInput:instd_logic;DataOutput:outstd_logic);ENDCMI_code;ARCHITECTURECMIdecodeOFCMI_decodeISsignalControlSig:std_logic;--CMI碼元控制信號signalcount:std_logic;--'00''11'signalDataBuffer:std_logic_vector(1downto0);--CMI碼元寄存beginARCHITECTURECMIcodeOFCMI_codeISsignalControlSig:std_logic;--CMI碼元控制信號signalcount:std_logic;--'00''11'signalDataBuffer:std_logic_vector(1downto0);--CMI碼元寄存beginprocess(Clk)--CMI碼元輸出進程beginprocess(CP)--CMI編碼進程beginifCP'eventandCP='1'thenCASEDataInputISDataBuffer(1)<=DataInput;ControlSig<='0';WHEN'0'=>DataBuffer<="01";DataOutput<=DataBuffer(1)xnorDataBuffer(0);elseWHEN'1'=>基帶信號為'1'則交替編為"11"和"00";DataBuffer(0)<=DataInput;ControlSig<='1';endif;elseendif;endprocess;endCMIdecode;endif;ENDCASE;endif;endprocess;endprocess;endCMIcode;AMI的編碼規(guī)則為當原碼為1時,編碼為+1與-1相互交替;當原碼為0時,編碼為0表示-1;而(+)與(-)均為零電平時,表示0。因此,可以將三電平碼AMI的編解碼化為兩路二電平碼的編解碼。為避免兩路二電平碼VHDL語言對AMI二電平碼進行“異或”運算得到。LIBRARYieee;WHEN'1'=>ifcount='0'thenENDCASE;DataOutput1<=DataBuffer(1);DataOutput0<=DataBuffer(0);endif;process(Clk)begin其中,編碼時需要設置一個變量用于記錄此次編碼所采用的模式。在該狀態(tài)變量已決定所采用的編碼模式后,對兩位二進制原碼進行相應的編碼,這就是編碼乃至解碼部分所基于的思想。USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;ENTITYPST_codeISENTITYPST_decodeISPORTDataInput0:instd_logic;DataOutput:outstd_logic);ARCHITECTUREPSTcodeOFPST_codeISARCHITECTUREPSTdecodeOFPST_decodeISsignalcount:std_logic;--'01''10'signalcount:std_logic;signalDBuffer0:std_logic_vector(1downto0);signalDataBuffer:std_logic_vector(1downto0);signalDataBuffer1:std_logic_vector(1downto0);signalDbuffer:std_logic_vector(1downto0);signalDataBuffer0:std_logic_vector(1downto0);signalc1:std_logic;signalc2:std_logic;signalDBuffer1:std_logic_vector(1downto0);beginsignalDBuffer11:std_logic_vector(1downto0);process(Clk)beginbeginprocess(Clk)ifClk'eventandClk='1'thenbeginifcount='0'thenifClk'eventandClk='1'thenDbuffer<=DataBuffer;DataBuffer(1)<=DataInput;ifcount='0'thencount<='1';DBuffer11<=DBuffer1;DBuffer1<=DataBuffer1;count<='1';elseDataBuffer1(1)<=DataInput1;DataBuffer1(0)<=DataInput0;DataBuffer(0)<=DataInput;count<='0';elseendif;DBuffer0<=DataBuffer0;DataBuffer0(1)<=DataInput1;ifcount='0'thenDataBuffer0(0)<=DataInput0;count<='0';CASEDbufferISendif;WHEN"00"=>DataOutput1<='0';DataOutput0<='1';ifcount='0'thenWHEN"01"=>DataOutput1<='0';DataOutput0<='0';ifDBuffer1="01"andDBuffer0="10"thenDataOutput<='0';WHEN"10"=>endif;ifc1='0'thenDataOutput1<='1';DataOutput0<='0';c1<='1';if(DBuffer1="00"andDBuffer0="10")or(DBuffer1="00"elseandDBuffer0="01")thenDataOutput<='0';DataOutput1<='0';DataOutput0<='1';c1<='0';endif;endif;if(DBuffer1="10"andDBuffer0="00")or(DBuffer1="01"WHEN"11"=>andDBuffer0="00")thenDataOutput<='1';DataOutput1<='1';DataOutput0<='0';endif;ENDCASE;ifDBuffer1="10"andDBuffer0="01"thenDataOutput<='1';elseendif;CASEDbufferISendif;WHEN"00"=>DataOutput1<='1';DataOutput0<='0';ifcount='1'thenWHEN"01"=>ifDBuffer11="01"andDBuffer0="10"thenDataOutput<='0';ifc2='0'thenendif;DataOutput1<='1';DataOutput0<='0';c2<='1';if(DBuffer11="00"andDBuffer0="10")or(DBuffer11="00"elseandDB

溫馨提示

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

評論

0/150

提交評論