新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 運用MATLAB及EPROM簡化擴頻電路設(shè)計

運用MATLAB及EPROM簡化擴頻電路設(shè)計

作者: 時間:2012-03-23 來源:網(wǎng)絡(luò) 收藏

摘 要: 提出一種直接序列電路的設(shè)計方案,即利用軟件的仿真功能來產(chǎn)生若干偽噪聲序列,然后以數(shù)據(jù)文件的形式將其存儲在中并在地址發(fā)生器的作用下輸出偽噪聲序列。還提供了該方案設(shè)計的具體電路,最后給出了仿真信號波形和實驗信號波形。

本文引用地址:http://m.butianyuan.cn/article/149357.htm

關(guān)鍵詞: 直接序列 仿真

目前,擴頻技術(shù)因其良好的隱蔽性和抗干擾性,從而在通信和測控領(lǐng)域得到了廣泛。直接序列擴頻是擴頻的一種主要方式,它是用PN碼和二元信息數(shù)字序列模2相加后成復(fù)合碼去調(diào)制載波1。在一些使用長序列PN碼擴頻的場合,如統(tǒng)一擴頻測控及圖象傳輸系統(tǒng)中,PN碼即用來對上行遙控指令進行擴頻,又用來作為上行測距碼2。為了實現(xiàn)無模糊測距所使用的PN 碼的碼長較長,若用寄存器及其反饋支路來構(gòu)成PN碼發(fā)生器,則所需寄存器級數(shù)較多,且電路做好后,所產(chǎn)生的PN碼就固定了。這一點對于某些保密性要求很高的通信或測控系統(tǒng)來說很不方便,因為在這種系統(tǒng)中往往需要多組PN碼序列備用,以便隨時更換擴頻碼增強保密性。解決這一問題的簡單方法就是將所有的PN碼存儲在中,以供隨時調(diào)用。但由于PN碼的碼長較長或個數(shù)較多,將這些數(shù)據(jù)燒錄進中也比較麻煩。如果利用軟件來產(chǎn)生所需的PN碼序列,并通過簡單的矩陣變化,形成一個.hex文件,將其下載到EPROM中,就使得這一過程大大。

1 擴頻電路框圖及波形

圖1(a)為PN碼直接序列擴頻電路框圖。首先從數(shù)據(jù)流中提取位同步時鐘,經(jīng)分頻后送往計數(shù)器作為記數(shù)脈沖,計數(shù)器就是EPROM的地址產(chǎn)生器。由EPROM輸出的PN碼對數(shù)據(jù)進行擴頻。圖1(a)中各點波形如圖1(b)所示。

圖1(b)中波形a為輸入數(shù)據(jù),波形b為從數(shù)據(jù)中提取的位同步時鐘,經(jīng)分頻后得到如波形c所示的PN碼chip時鐘(計數(shù)器的記數(shù)脈沖),波形d為從EPROM中讀出的PN碼序列。從圖1中可以看出,用EPROM存儲PN碼序列,以計數(shù)器作為地址碼產(chǎn)生器所構(gòu)成的直接序列擴頻電路,其結(jié)構(gòu)非常簡單。
2 用MATLAB產(chǎn)生PN碼及數(shù)據(jù)文件
若PN序列碼長較長,直接用手工錄入EPROM中容易出錯,且要花費較多的時間。如果用仿真軟件MATLAB中的SIMULINK模塊來構(gòu)成PN碼發(fā)生器(也可用編程的方法),并將其產(chǎn)生的PN序列燒錄進EPROM中,就可以大大這一過程。SIMULINK是實現(xiàn)動態(tài)系統(tǒng)建模、仿真的一個集成環(huán)境。它的存在使MATLAB的功能得到進一步擴展,即實現(xiàn)了可視化建模和多工作環(huán)境間文件互用和數(shù)據(jù)交換。
下面以r =11的PN碼發(fā)生器為例加以說明。
圖2是一個用SIMULINK模塊組成的m序列發(fā)生器,對應(yīng)的本原多項式為:F x =1+x2+x1
PN碼的初始狀態(tài)可根據(jù)需要進行設(shè)置,即將移位寄存器設(shè)置為相應(yīng)的初始狀態(tài)(1或0)。若輸出到MATLAB工作空間的PN碼應(yīng)是完整的一周期序列,且將移位寄存器的取樣時間定為1單位時間,那么仿真時間就應(yīng)設(shè)為N-1個單位時間(N為碼長),依上例則應(yīng)設(shè)為2046個單位時間進行仿真。圖中To Workspace模塊的作用是將仿真后得到的PN序列以列向量的形式輸出到MATLAB工作空間。
PN= 10101010101110... ′2047
只要將該PN序列存儲到EPROM中連續(xù)2r-1(r=11)個單元的同一BIT位,即可在計數(shù)器(地址產(chǎn)生器)的作用下從該BIT位輸出這個PN碼序列。那么一片EPROM就可以同時輸出8個PN碼,用n片EPROM就可以同時輸出nX8個PN碼。在實際中可選擇其一用來對信息數(shù)字序列進行擴頻。怎樣將PN碼序列組下載到一片EPROM中呢?如前所述,先用SIMULINK模塊分別組成8個(或者更多,視EPROM的存儲長度或數(shù)量而定)PN碼發(fā)生器,仿真后將各自的PN碼序列輸出到MATLAB工作空間,得到8組列向量。
通過矩陣變換將這8個列向量合成一個新矩陣,矩陣的列就由這8個列向量組成。
PN=PN1,PN2,PN3,PN4,PN5,PN6,PN7,PN8
PN=
用reshape指令將矩陣變維,得到一個(4094X4)的矩陣,再將每一個行向量用一個十六進制數(shù)表示,最后用fprintf指令形成一個 .hex文件3直接將該文件下載到EPROM中就可以由EPROM同時提供8個PN碼。
3 實際電路和波形
在實際中采用了HC4040(12bit) 計數(shù)器和CD6740(EPROM)組成了一個PN碼發(fā)生器。發(fā)生器電路圖如圖3所示。
4040在5V電壓下最高輸入時鐘頻率為3.5MHz,在15V電壓下可達(dá)到12MHz,滿足一般情況下的PN碼速率要求。由于將PN碼碼長定為2047,因此當(dāng)Q1~Q11均為高電平時將計數(shù)器清0。圖中D觸發(fā)器的作用是對輸出數(shù)據(jù)起整形作用以去掉數(shù)據(jù)流中的毛刺。通過讓EPROM的高位地址線A12、A13分別接高、低電平,能夠使該電路產(chǎn)生32組不同的PN碼序列。
圖4(a)中的圖是本文提出的擴頻方案所得到的實驗電路輸出的PN碼波形(包括PN碼時鐘波形),圖4 b 是SIMULINK仿真波形。二者選取了PN序列中的同一段以便對照。
本文所提出的直接序列擴頻電路方案有三個特點:①PN碼的產(chǎn)生及固化迅速而準(zhǔn)確。②電路結(jié)構(gòu)簡單,幾乎不需要調(diào)試。③使用方便,即可根據(jù)實際需要同時輸出多組PN碼序列,也可以從若干PN碼序列中選取一組輸出。
參考文獻(xiàn)
1 沈允春編著.?dāng)U譜技術(shù).北京:國防工業(yè)出版社.1995年
2 楊士中.周祥生等.飛行器的測控及遙感圖象傳輸體制與系統(tǒng).電子學(xué)報1998 26 4 
3 張志涌等編著.掌握和精通MATLAB.北京:北京航空航天大學(xué)出版社.1997 負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉