基于Matlab的CDMA通信系統(tǒng)仿真_第1頁
基于Matlab的CDMA通信系統(tǒng)仿真_第2頁
基于Matlab的CDMA通信系統(tǒng)仿真_第3頁
基于Matlab的CDMA通信系統(tǒng)仿真_第4頁
基于Matlab的CDMA通信系統(tǒng)仿真_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1緒 論課題背景及目的20世紀(jì)60年代以來,隨著民用通信事業(yè)的發(fā)展,頻帶擁擠問題日益突出。CDMA(CodeDiveisionMultipleAccess,碼分多址)通信,在使用相同頻率資源的情況下理論上CDMA移動網(wǎng)比模擬網(wǎng)容量大20倍,實際使用中比模擬網(wǎng)大10倍,比GSM要大4~5倍,所以在通信領(lǐng)域中起著非常重要的作用。CDMA的基本原理是利用互相正(或盡可能正交的不同編碼分配給不同用戶調(diào)制信號實現(xiàn)多用戶同時使用同一頻率接入系統(tǒng)和網(wǎng)絡(luò)的通信。由于利用互相正交(或盡可能正交)的編碼去調(diào)制信號,會將原信號的頻譜帶寬擴展,因此,這種通信方式,又稱為擴頻通信。本論文所完成的CDMA通信仿真系統(tǒng),是結(jié)合CDMA的實際通信情況,利用MATLAB的通信工具箱—SIMULINK 組建出完整的CDMA通信系統(tǒng)完成整體設(shè)計方案實現(xiàn)完整的發(fā)送到接收的端到端的CDMA無線通信系統(tǒng)的建模、仿真和分析。教學(xué)實踐表明,該系統(tǒng)的完成使得比較抽象的概念得以直接表示,煩瑣的計算得以大大簡化,提高上機效率,在通信原理課程教學(xué)中起到良好的輔助作用。課題研究方法為了研究CDMA(m序列和正交序列)經(jīng)過衰落信道后再解擴,通過比較兩種擴頻碼的誤比特率與信噪比的關(guān)系PNCDMA和實現(xiàn)多用戶同時在同一頻率互不干擾進(jìn)行通信而誤比特率性能不隨著用戶數(shù)的增加而惡化這樣的目的進(jìn)行仿真實驗。2 CDMA基礎(chǔ)及原理CDMA以實現(xiàn)信息通信。擴頻通信受、解擴及恢復(fù)所傳信息數(shù)據(jù)。擴頻通信理論基礎(chǔ)香農(nóng)公式 :C=Wlog(1+S/N)21CWS/N的。即可通過增加頻帶寬度的方法,在較低的信噪比情況下,傳輸信息。2頻通信的應(yīng)用奠定了基礎(chǔ)。擴頻通信系統(tǒng)的分類直接序列擴頻(DS)跳頻擴頻(FH)跳時擴頻(TH)(4)混合方式(以上三種基本方式的不同組合)CDMA實驗中主要研究直接序列擴頻技術(shù)。直接序列擴頻DS-SS是直接用具有高碼率的擴頻碼序列在發(fā)送端去擴展信號的頻譜。而在收端,用相同的擴頻碼序列去進(jìn)行解擴,把展寬的擴頻信號還原成原始的信息。二進(jìn)制信息 擴調(diào)

數(shù)據(jù) 信調(diào)制

數(shù)據(jù) 解解調(diào)

恢復(fù)信息擴頻碼發(fā)生器

載波發(fā)生器

載波發(fā)生器

解擴碼發(fā)生器圖2-1直接序列擴頻的發(fā)射機和接收機框圖擴頻碼序列在擴頻系統(tǒng)中,信號頻譜的擴展是通過擴頻碼實現(xiàn)的,擴頻系統(tǒng)的性能與擴頻碼的性能有很大的關(guān)系,對擴頻通常提出下列要求:易于產(chǎn)生;具有隨機性;擴頻碼應(yīng)該具有盡可能長的周期,使干擾者難以從擴頻碼的一小段中重建整個碼MGOLD序列、WALSHMGOLDPN碼CDMAPNPNCDMAPNmM序列是最長線性移位寄存器序列的簡稱,它通常是由反饋移位寄存器產(chǎn)生的具有像隨機噪聲波形的周期性二元序列。GoldmGoldmm2GoldGold0,數(shù)。3 DS-CDMA通信系統(tǒng)仿真DS-CDMA通信系統(tǒng)原理圖圖3-1DS-CDMA通信系統(tǒng)原理圖MGold頻后的數(shù)據(jù)通過脈沖成型濾波器后通過信道同時到達(dá)接收端,在接收端分別對不同用戶信息數(shù)據(jù)進(jìn)行解擴,恢復(fù)各個用戶的原始信息。仿真流程設(shè)計與介紹仿真設(shè)計步驟1、mDS-CDMAAWGN2GoldDS-CDMAAWGN3AWGNmGold4、為了證明這一結(jié)論,把兩種PN碼再經(jīng)過Rayleigh衰落信道下的性能進(jìn)行驗證。(代碼見附錄)程序編程設(shè)計最外層循環(huán)的時候是信噪比,根據(jù)每種信噪比下,首先產(chǎn)生各個用戶的發(fā)射Gray4-QAMspread1如果通過瑞利衰落信道后,我們還需要進(jìn)行一個信道補償。最后通過脈沖成形濾despread4-QAMGrayMGold1、4、7,擴頻碼分別選擇的是MGold最后畫出仿真得到的誤比特率。4仿真結(jié)果分析4.1實驗仿真運行結(jié)果m序列在AWGN信道下的性能user=1user=4user=710user=1user=4user=710-1EB率特比誤10-210-30

1 2 3 4 5 6信噪比

7 8 9 104-1MDS_CDMAAWGN4-1m0,因此隨著用戶數(shù)的增加(戶的解調(diào)產(chǎn)生干擾,干擾越來越大,導(dǎo)致系統(tǒng)的誤碼率性能下降。正交序列在AWGN信道下的性能user=1user=4user=710user=1user=4user=710-1EB率 特比誤10-310-40

1 2 3 4 5信噪比

6 7 8 9圖4-2正交Gold序列在AWGN下的性能4-2Gold0,因此其BER246GoldMGoldAWGN減比,序列要小。為證明這一結(jié)論進(jìn)行了下面的實驗(4-34-4。100

m序列在Rayleigh信道下的性能user=1user=4user=7Euser=1user=4user=7率 特比誤10-20

1 2 3 4 5 6信噪比

7 8 9 10圖4-3M序列在Rayleigh衰落信道下的性能4-14-3,M信道下的性能要差。正交序列在Reyleigh信道下的性能user=1user=4user=710user=1user=4user=7EB率 特比誤10-20

1 2 3 4 5 6信噪比

7 8 9 10圖4-4正交Gold序列在Rayleigh衰落信道下的性能GoldAWGN可以看出,DS-CDMARayelighAWGN差。4-34-4Goldm總結(jié)對于本仿真而言,已基本完成了設(shè)計任務(wù)書的設(shè)計和研究目的,通過用MATLABDS-CDMADS-CDMAPN仿真結(jié)果中波形的直觀方式,更讓我們了解到了系統(tǒng)衰減的規(guī)律。但是在本設(shè)計中也存在著缺陷與不足1、在本設(shè)計中過程中可能由于程序過于復(fù)雜,信息本身所占用的帶寬偏大,用來傳輸信息的帶寬相對不夠大,造成結(jié)果并不明顯,信息衰減嚴(yán)重。2要想應(yīng)用于實際中,必須加入各種噪聲來考慮,以實現(xiàn)真實系統(tǒng)的設(shè)計。3成消耗過大,浪費帶寬的結(jié)果,實際應(yīng)用中是不實用的。只能作為仿真,進(jìn)行研究。即使如此,在本次設(shè)計的整個過程中,以上的結(jié)果已經(jīng)令我們受益匪淺。以及網(wǎng)絡(luò)系統(tǒng)的大量應(yīng)用,顯得越來越重要。致謝在本次仿真設(shè)計中,感謝指導(dǎo)老師在論文選題、設(shè)計任務(wù)書中對我的無私幫感謝我組同學(xué)的團(tuán)結(jié)協(xié)作,在設(shè)計過程中,共同商討,共同去圖書館查閱相關(guān)參考資料,使我組能夠抓緊寶貴的時間,完成論文的寫作。在此,謹(jǐn)對所有在論文寫作中幫助過我的老師、同學(xué)表示衷心的感謝和由衷的敬意!謝謝大家!參考文獻(xiàn)劉學(xué)勇,編著.通信系統(tǒng)建模與仿真(電子工業(yè)出版社)鄧薇,編著.MATALB(人民郵電出版社)【美】WilliamC.Y.Lee,著.移動通信工程理論和應(yīng)用(第二版(出版社)王華奎,李艷萍等編著.移動通信原理與技術(shù)(清華大學(xué)出版社)附錄(各部分編程):1、M序列function[mout]=mseq(n,taps,inidata,num)%****************************************************************%n :n%taps 反饋寄存器的連接位置%inidata 寄存器的初始值序列%num m序列的個數(shù)%mout mnum>1,m序列%****************************************************************ifnargin<4num=1;endmout=zeros(num,2^n-1);fpos=zeros(n,1);fpos(taps)=1;forii=1:2^n-1mout(1,ii)=inidata(n); %寄存器的輸出值temp =mod(inidata*fpos,2); %計算反饋數(shù)據(jù)end

inidata(2:n)=inidata(1:n-1); %寄存器移位一次inidata(1) =temp; %1個寄存器ifnum>1 序列,生成其他m序列forii=2:nummout(ii,:)=shift(mout(ii-1,:),1);endend關(guān)于shift函數(shù)的代碼:function[outregi]=shift(inregi,shiftr)%****************************************************************%inrege 輸入序列%shiftr 循環(huán)右移的位數(shù)%outregi 輸出序列%****************************************************************v=length(inregi);outregi=inregi;shiftr=rem(shiftr,v);ifshiftr>0outregi(:,1:shiftr)=inregi(:,v-shiftr+1:v); outregi(:,1+shiftr:v)=inregi(:,1:v-shiftr);elseifshiftr<0outregi(:,1:v+shiftr)=inregi(:,1-shiftr:v);outregi(:,v+shiftr+1:v)=inregi(:,1:-shiftr);end%*********************endoffile********************************2、Gold序列:function[gout]=goldseq(m1,m2,num)%****************************************************************%m1:1%m2:2%num:生成的Gold序列個數(shù)%gout:生成的Gold序列輸出%****************************************************************ifnargin<3 %Goldnum=1;endgout=zeros(num,length(m1));forii=1:num GoldGoldgout(ii,:)=xor(m1,m2);m2 =shift(m2,1);end%**********************endoffile********************************其shift函數(shù)代碼同M序列3、仿真部分主程序:%直接序列擴頻主程序代碼function[ber]=dscdma(user,seq)%user:同時進(jìn)行擴頻通信的用戶數(shù)%seq:1:M-序列序列3:正交Gold序列%ber:該用戶數(shù)下的誤碼率%**************************初始化部分*****************************sr =25600.0; %符號速率nSymbol=1000; %每種信噪比下發(fā)送的符號M =4; %4-QAM調(diào)制br =sr*log2(M); 比特速率graycode=[0132]; %Gray編碼規(guī)則EbNo=0:2:10; %Eb/No變化范圍%**********************脈沖成形濾波器參數(shù)**************************delay =10; %升余弦濾波器時Fs =8; 濾波器過采樣數(shù)rolloff =0.5; 升余弦濾波器滾降因子rrcfilter=rcosine(1,Fs,'fir/sqrt',rolloff,delay);%設(shè)計根升余弦濾波器%**********************擴頻碼產(chǎn)生參數(shù)**********************%user=user1;用戶數(shù)%stage=3;%m序列的階數(shù)ptap1=[13];%m序列1的寄存器連接方式ptap2=[23];%m序列2的寄存器連接方式regi1=[111];%m序列1的寄存器初始值regi2=[111];%m序列2的寄存器初始值%********************擴頻碼的生成*********************switchseqcase1 %M-序列code=mseq(stage,ptap1,regi1,user);case2 %Gold序列m1=mseq(stage,ptap1,regi1);m2=mseq(stage,ptap2,regi2);code=goldseq(m1,m2,user);case3 正交Gold序列m1 =mseq(stage,ptap1,regi1);m2 =mseq(stage,ptap2,regi2);code=[goldseq(m1,m2,user),zeros(user,1)];endcode=code*2-1;clen=length(code);%**************************衰落信道參數(shù)**************************ts =1/Fs/sr/clen; %信道采樣時間間t=(0:nSymbol*Fs*clen-1+2*delay*Fs)*ts; %每種信噪比下的符號傳輸時間%fd =160;%h=rayleigh(fd,t);

多普勒頻%

[Hz]%****************************仿真開始****************************forindx=1:length(EbNo)indx%**************************發(fā)射端********************************data=randsrc(user,nSymbol,[0data1=graycode(data+1);:3]);%產(chǎn)生各個用戶的發(fā)射數(shù)據(jù)%Gray編碼data1=qammod(data1,M);%4-QAM調(diào)制[out]=spread(data1,code);%擴頻out1=rcosflt(out.',sr,Fs*sr,'filter',rrcfilter);%通過脈沖成形濾波器spow=sum(abs((out1)).^2)/nSymbol; %計算每個用戶信號功率ifuser>1 %1時,所有用戶數(shù)據(jù)相加out1=sum(out1.');elseend

out1=out1.';%********************通過瑞利衰落信道******************************%out1=h.*out1;%*************************接收端*********************************sigma=sqrt(0.5*spow*sr/br*10^(-EbNo(indx)/10));%根據(jù)信噪比計算高斯白噪聲方差y=[];forii=1:usert1))); 加入高斯白噪聲%y(ii,:)=y(ii,:)./h;假設(shè)理想信道估計endy=rcosflt(y.',sr,Fs*sr,'Fs/filter',rrcfilter);%通過脈沖成形濾波器進(jìn)行濾波y=downsample(y,Fs); 降采樣forii=1:usery1(:,ii)=y(2*delay+1:end-2*delay,ii);endyd=despread(y1.',code); 數(shù)據(jù)解擴demodata=qamdemod(yd,M); %4-QAM解調(diào)demodata=graycode(demodata+1); %編碼逆映[err,ber(indx)]=biterr(data,demodata,log2(M)); %統(tǒng)計誤比特率end主程序中spread函數(shù)的代碼:%擴頻函數(shù)function[out]=spread(data,code)%****************************************************************% data 輸入數(shù)據(jù)序列% code 擴頻碼序列% out 擴頻后的輸出數(shù)據(jù)序列%****************************************************************switchnargincase{0,1} 如果輸入?yún)?shù)個數(shù)不對,提示錯誤'end[hn,vn]=size(data);[hc,vc]=size(code);ifhn>hc endout=zeros(hn,vn*vc);forii=1:hnout(ii,:)=reshape(code(ii,:).'*data(ii,:),1,vn*vc);end%****************************endoffile*************************解擴函數(shù)despread的代碼:%信號解擴functionout=despread(data,code)%****************************************************************% data 輸入數(shù)據(jù)序列% code 解擴使用的擴頻碼序列% out 解擴后的輸出數(shù)據(jù)序列%****************************************************************switchnargin case{0,1}'end[hn,vn]=size(data);[hc,vc]=size(code);out =zeros(hc,vn/vc);fori

溫馨提示

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

評論

0/150

提交評論