基于VHDL的4PSK調(diào)制器設(shè)計(jì)與仿真
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前.?dāng)?shù)字調(diào)制正逐漸取代模擬調(diào)制。許多調(diào)制都使用多進(jìn)制數(shù)字調(diào)制.四進(jìn)制數(shù)字相位調(diào)制是利用載波的4種不同相位來表征數(shù)字信息調(diào)制的.相位調(diào)制具有誤碼性能好,節(jié)省帶寬。信息傳輸速率高等優(yōu)點(diǎn)。采用Altera的開發(fā)工具M(jìn)AX+plusII設(shè)計(jì)調(diào)制器便于仿真,它可根據(jù)仿真結(jié)果分析電路是否正確。提高電路設(shè)計(jì)的靈活性和準(zhǔn)確性。利用VHDL硬件描述語言來描述硬件電路的功能。根據(jù)信號連接關(guān)系及定時(shí)關(guān)系的語言能有效表示硬件電路特性。
2 4PSK原理
移相鍵控即受鍵控的載波相位調(diào)制是按基帶脈沖改變的一種數(shù)字調(diào)制方式。其中,四相移相鍵控制(4PSK)的應(yīng)用廣泛,它是用4種不同相位代表4種不同相位的信息,因此對于輸入的二進(jìn)制數(shù)字序列應(yīng)該先分組,將每兩個(gè)比特編為一組;然后用4種不同的相位對其表征。例如,若輸入的二進(jìn)制數(shù)字信息序列為10110010…,則可將他們分成10,11,00,10,…,然后用4種不同的相位對其表征。該系統(tǒng)設(shè)計(jì)采用相位選擇法產(chǎn)生4PSK信號,以實(shí)現(xiàn)4PSK調(diào)制器的設(shè)計(jì)。其框圖如圖1所示。
3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
采用相位選擇法實(shí)現(xiàn)4PSK調(diào)制器,其系統(tǒng)設(shè)計(jì)框圖如圖2所示。整個(gè)系統(tǒng)分為分頻器、m序列產(chǎn)生器、串,并轉(zhuǎn)換電路、跳變檢測、邏輯選相電路、正弦信號發(fā)生器和D/A轉(zhuǎn)換器等部分。
3.1 序列發(fā)生器
序列以其具有隨機(jī)特性、預(yù)先可確定性、循環(huán)特性而廣泛應(yīng)用于通信領(lǐng)域。該調(diào)制系統(tǒng)的輸入是采用4級移位寄存器得到的一串長度為24一1=15的m序列。設(shè)4個(gè)移位寄存器的輸出排列依次為m(0),m(1),m(2),m(3),則m序列的反饋邏輯H}為m(O)=m(3)0m(2)。如果根據(jù)該反饋邏輯,運(yùn)行過程中則進(jìn)入死循環(huán),無法自啟動(dòng)。需將狀態(tài)0000轉(zhuǎn)換為1000。此時(shí),能自啟動(dòng)的反饋邏輯為:
m序列的仿真結(jié)果如圖3所示。其中CO(ierate為碼元速率;code為m序列。
3.2 串/并轉(zhuǎn)換器
串/并轉(zhuǎn)換器可將m序列中的奇數(shù)碼與偶數(shù)碼分離,變成奇偶分列、時(shí)序一致的碼序列。串/并轉(zhuǎn)換電路由奇數(shù)碼和偶數(shù)碼兩部分提取電路組成,采用奇數(shù)碼提取電路時(shí),奇數(shù)碼元延遲一個(gè)碼元時(shí)間,以達(dá)到與偶數(shù)碼元同時(shí)輸出。為此,奇數(shù)碼提取電路由兩級移位寄存器組成,分別是同相時(shí)鐘觸發(fā)和反相時(shí)鐘觸發(fā)。然而偶數(shù)碼提取電路是一個(gè)一級移位寄存器.為了與奇數(shù)碼提取電路同步,則采用反向時(shí)鐘觸發(fā)。因此.通過串/并轉(zhuǎn)換后的碼元速率變成原來的50%。串/并轉(zhuǎn)換電路框圖如圖4所示。
圖5為串/并轉(zhuǎn)換電路的仿真結(jié)果。c為由c(0)和c(1)二進(jìn)制數(shù)字碼元組成的雙比特碼元;code為m序列;coderate為碼元速率。
3.3 正弦信號發(fā)生器
該調(diào)制系統(tǒng)以連續(xù)的模擬信號正弦波作為載波。該模擬信號在數(shù)字通信系統(tǒng)中傳輸,需經(jīng)過抽樣、量化、編碼轉(zhuǎn)換成數(shù)字信號。
根據(jù)抽樣定理對采樣點(diǎn)處得到的采樣值進(jìn)行5位量化,5位二進(jìn)制碼元的變化范圍為00000~11111,即從0~31。若選中間值15作為1/2峰峰值,考慮到波峰與波谷的對稱性,所以選擇O作為正弦波形的波谷值,30作為波峰值。各采樣點(diǎn)的采樣值為:
式中:Va/ue為采樣值;n為所采樣的16個(gè)點(diǎn)中的一個(gè),式(2)中加1是為了避免Value值出現(xiàn)負(fù)值。
圖6為VHDL語言產(chǎn)生正弦波的仿真波形。其中,一個(gè)周期內(nèi)有16個(gè)采樣點(diǎn),countl6為采樣點(diǎn)計(jì)數(shù)變量;value為采樣值變量。
3.4 分頻器
由于對正弦信號每周期取16個(gè)采樣點(diǎn),即正弦波采樣點(diǎn)的輸出頻率應(yīng)該是m序列的16倍.因此該系統(tǒng)頻率需設(shè)計(jì)2個(gè)頻率,即正弦波發(fā)生器的時(shí)鐘頻率sinclk和碼元速率頻率coderate,其中,coderate是由sinclk的16分頻,16分頻指sinclk有16個(gè)時(shí)鐘上升沿或下降沿觸發(fā);coderate只有一個(gè)上升沿或下降沿觸發(fā)。
設(shè)置一個(gè)計(jì)數(shù)變量d8,計(jì)數(shù)范圍0~7,當(dāng)sinclk每來一個(gè)上升沿時(shí),d8加1。當(dāng)ds=7時(shí),coderate跳變。此時(shí),d8變?yōu)?,繼續(xù)計(jì)數(shù)。圖7為用VHDL語言實(shí)現(xiàn)波形的仿真結(jié)果。
3.5 跳變檢測器
在產(chǎn)生正弦波時(shí)引入跳變檢測,可在每次基帶碼元上升沿或下降沿到來時(shí),對應(yīng)輸出波形位于sin0°,sin90°,sinl80°或sin270°處。
串/并轉(zhuǎn)換后的碼元c由二進(jìn)制碼元c(0)和c(1)組成。當(dāng)碼元c無變化時(shí)。輸出的正弦波相位繼續(xù)按原來的采樣順序采樣:當(dāng)碼元c發(fā)生變化時(shí),輸出的正弦波相位發(fā)生變化,此時(shí)需要重新選擇起始采樣點(diǎn),該起始采樣點(diǎn)即在sin0°,sin90°,sinl80°或sin270°處。并與變化的碼元起始位置相對應(yīng)。
跳變檢測器用來檢測碼元c的變化,只要分別判斷c(0)和c(1)中的一個(gè)發(fā)生變化,就可以判斷碼元c是否發(fā)生變化。圖8給出信號跳變檢測電路框圖。圖9為用jump對碼元c跳變檢測的波形仿真結(jié)果。
3.6 邏輯選項(xiàng)電路
邏輯選相電路根據(jù)雙比特碼元c的不同,選擇輸出不同相位的正弦波,它是從數(shù)字信息到波形轉(zhuǎn)換的核心器件,接收端正是根據(jù)這些相位來恢復(fù)所發(fā)送的消息。
該調(diào)制系統(tǒng)的雙比特碼元c與載波相位的對應(yīng)關(guān)系為:00→0°,01°→90°,11→180°,10→270°。
由于不同相位對應(yīng)不同的起始采樣點(diǎn),而這4種不同的相位可通過不同采樣順序表示。因此,根據(jù)雙比特碼元c選相位,即選擇采樣的起始點(diǎn)。
3.7 4PSK仿真波形
綜合以上各部分程序可得,圖10所示的MAX+plusII環(huán)境下的4PSK仿真波形。其中,sinclk為正弦波發(fā)生器時(shí)鐘,即抽樣頻率;coderate為碼元速率,它由sinclk 16分頻得到;code是由m序列產(chǎn)生器產(chǎn)生的m序列:c是由code經(jīng)過串/并轉(zhuǎn)換后形成的雙比特碼元;iump用于檢測雙比特碼元c是否發(fā)生變化,以使碼元c與輸出的正弦波形起始點(diǎn)相對應(yīng);countl6為正弦波形一個(gè)周期的采樣點(diǎn),每個(gè)周期采樣16個(gè)點(diǎn):data為正弦波形采樣點(diǎn)的采樣值。
4 結(jié)語
結(jié)合相位選擇法提出了4PSK調(diào)制器的系統(tǒng)設(shè)計(jì),利用VHDL語言對該系統(tǒng)硬件描述和設(shè)計(jì),由系統(tǒng)總的仿真圖可知,該調(diào)制系統(tǒng)完全符合設(shè)計(jì)要求,并選用MAX7000系列中的EPM7032LC44—6進(jìn)行實(shí)現(xiàn)。實(shí)驗(yàn)結(jié)果表明,利用VHDL語言設(shè)計(jì)的4PSK調(diào)制器具有低誤碼率的良好特性。