【文章內(nèi)容簡介】
CLK240: buffer STD_LOGIC。 用于產(chǎn)生一個(gè) 的正弦波信號(hào) CLK120: buffer STD_LOGIC。 用于產(chǎn)生一個(gè) 的正弦波信號(hào) VALUE: out std_logic_vector (7 DOWNTO 0)。 正 弦波的采樣點(diǎn)峰值 M_CODE:BUFFER STD_LOGIC)。 輸出 m 序列 END PSKFSK。 ARCHITECTURE PSKFSK_ARCH OF PSKFSK IS SIGNAL COUNT100:INTEGER RANGE 0 TO 99。 記錄 100 個(gè)狀態(tài) SIGNAL COUNT50: INTEGER RANGE 0 TO 49。 記錄 50 個(gè)狀態(tài) SIGNAL COUNT: INTEGER RANGE 1 TO 10。 記錄 10 個(gè)狀態(tài),實(shí)現(xiàn) 12M 分頻到 240KHz 得到CLK240 時(shí)鐘信號(hào) SIGNAL SINCLK,CODERATE: STD_LOGIC。 正弦波信號(hào)的頻率以及隨機(jī)序列的編碼速率 SIGNAL TEMP,JUMP_HIGH,JUMP_LOW: STD_LOGIC。 0, 1 跳變標(biāo)志 SIGNAL M: std_logic_vector (2 DOWNTO 0)。 m 序列 BEGIN PROCESS(CLOCK) 分頻為 240KHz 的 CLK240 信號(hào) BEGIN IF (CLOCK39。EVENT AND CLOCK = 39。139。) THEN IF (COUNT = 10) THEN COUNT=1。 計(jì)數(shù)滿時(shí)計(jì)數(shù)回復(fù)初值 CLK240=NOT CLK240。 輸出時(shí)鐘翻轉(zhuǎn)一次 13 ELSIF (COUNT=5) THEN COUNT=COUNT+1。 CLK240 = NOT CLK240。輸出時(shí)鐘翻轉(zhuǎn)一次 ELSE COUNT=COUNT+1。 END IF。 END IF。 END PROCESS。 PROCESS(CLK240) 分頻為 120KHz 的 CLK120 信號(hào) BEGIN IF (CLK24039。EVENT AND CLK240 = 39。139。) THEN CLK120=NOT CLK120。 END IF。 END PROCESS。 PROCESS(CLK120) LOAD_CLK1 100 分頻得到 CODERATE 碼元速率 BEGIN IF (CLK12039。EVENT AND CLK120= 39。139。) THEN IF(COUNT50=49) THEN COUNT50=0。 CODERATE=NOT CODERATE。 ELSE COUNT50=COUNT50+1。 END IF。 END IF。 END PROCESS。 M_SEQUENCE_FORM: 產(chǎn)生 1110010m 序列 PROCESS(CODERATE) BEGIN IF(CODERATE39。EVENT AND CODERATE= 39。139。) THEN M(0)=M(1)。 實(shí)現(xiàn)移位功能 M(1)=M(2)。 14 END IF。 END PROCESS。 PROCESS(CODERATE) BEGIN IF(CODERATE39。EVENT AND CODERATE= 39。139。) THEN M(2)=(M(1) XOR M(0)) OR (NOT (M(0) OR M(1) OR M(2)))。 邏輯表達(dá)式跟上面的移位功能產(chǎn)生 m 的隨機(jī)序列“ 1110010” END IF。 END PROCESS。 M_CODE=M(0)。 PROCESS(MODE,CLK240,CLK120,M_CODE) BEGIN IF (MODE=39。039。 AND M_CODE=39。039。) THEN SINCLK=CLK120。 ELSE SINCLK=CLK240。 選擇正弦信號(hào)波產(chǎn)生器的時(shí)鐘頻率 END IF。 END PROCESS。 JUMP_HIGH=(NOT TEMP) AND M_CODE。 0 到 1 跳變 JUMP_LOW=(NOT M_CODE) AND TEMP。 1 到 0 跳變 PROCESS(SINCLK) 2FSK 與 2PSK 對跳變的不同處理 BEGIN IF(SINCLK39。EVENT AND SINCLK= 39。139。) THEN TEMP=M_CODE。 IF((COUNT100=99) OR (JUMP_HIGH=39。139。)) THEN COUNT100=0。 波形輸出 ELSIF((JUMP_LOW=39。139。) AND (MODE=39。139。)) THEN COUNT100=50。 ELSE COUNT100=COUNT100+1。 15 END IF。 END IF。 END PROCESS。 PROCESS(COUNT100) 產(chǎn)生 sin 周期波形的 1 個(gè)周期內(nèi)的 100 個(gè)樣點(diǎn)值 BEGIN CASE COUNT100 IS when 0=value=01111111。 when 1=value=10000111。 when 2=value=10001111。 when 3=value=10010111。 when 4=value=10011111。 when 5=value=10100110。 when 6=value=10101110。 when 7=value=10110101。 when 8=value=10111100。 when 9=value=11000011。 when 10=value=11001010。 when 11=value=11010000。 when 12=value=11010110。 when 13=value=11011100。 when 14=value=11100001。 when 15=value=11100110。 when 16=value=11101011。 when 17=value=11101111。 when 18=value=11110010。 when 19=value=11110110。 when 20=value=11111000。 when 21=value=11111010。 when 22=value=11111100。 16 when 23=value=11111101。 when 24=value=11111110。 when 25=value=11111111。 when 26=value=11111110。 when 27=value=11111101。 when 28=value=11111100。 when 29=value=11111010。 when 30=value=11111000。 when 31=value=11110110。 when 32=value=11110010。 when 33=value=11101111。 when 34=value=11101011。 when 35=value=11100110。 when 36=value=11100001。 when 37=value=11011100。 when 38=value=11010110。 when 39=value=11010000。 when 40=value=11001010。 when 41=value=11000011。 when 42=value=10111100。 when 43=value=10110101。 when 44=value=10101110。 when 45=value=10100110。 when 46=value=10011111。 when 47=value=10010111。 when 48=value=10001111。 when 49=value=10000111。 when 50=value=01111111。 when 51=value=01110111。 when 52=value=01101111。 17 when 53=value=01100111。 when 54=value=01011111。 when 55=value=01011000。 when 56=value=01010000。 when 57=value=01001001。 when 58=value=01000010。 when 59=value=00111011。 when 60=value=00110100。 when 61=value=00101110。 when 62=value=00101000。 when 63=value=00100010。 when 64=value=00011101。 when 65=value=00011000。 when 66=value=00010011。 when 67=value=00001111。 when 68=value=00001100。 when 69=value=00001000。 when 70=value=00000110。 when 71=value=00000100。 when 72=value=00000010。 when 73=value=00000001。 when 74=value=00000000。 when 75=value=00000000。 when 76=value=00000000。 when 77=value=00000001。 when 78=value=00000010。 when 79=value=00000100。 when 80=value=00000110。 when 81=value=00001000。 when 82=value=00001100。 18 when 83=value=00001111。 when 84=value=00010011。 when 85=value=00011000。 when 86=value=00011101。 when 87=value=00100010。 when 88=value=00101000。 when 89=value=00101110。 when 90=value=00110100。 when 91=value=00111011。 when 92=value=01000010。 when 93=value=01001001。 when 94=value=01010000。 when 95=value=01011000。 when 96=value=01011111。 when 97=value=01100111。 when 98=value=01101111。 when 99=value=01110111。 when others=NULL。 END CASE。 END PROCESS。 END PSKFSK_ARCH。 14 大學(xué)本科生畢業(yè)設(shè)計(jì) (論文) 撰寫規(guī)范 本科生畢業(yè)設(shè)計(jì)(論文)是學(xué)生在畢業(yè)前提