基于MATLAB的擴(kuò)頻通信仿真_第1頁
基于MATLAB的擴(kuò)頻通信仿真_第2頁
基于MATLAB的擴(kuò)頻通信仿真_第3頁
基于MATLAB的擴(kuò)頻通信仿真_第4頁
基于MATLAB的擴(kuò)頻通信仿真_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于MATLAB的擴(kuò)頻通信仿真 1. 仿真原理擴(kuò)展頻譜通信具有很強(qiáng)的抗干擾性,其多址能力、保密、抗多徑等功能也倍受人們的關(guān)注,被廣泛的應(yīng)用于軍事通信和民用通信中。擴(kuò)頻技術(shù),將信號(hào)擴(kuò)展到很寬的頻譜上,在接收端對(duì)擴(kuò)頻信號(hào)進(jìn)行相關(guān)處理即帶寬壓縮,恢復(fù)成窄帶信號(hào)。對(duì)干擾信號(hào)而言,由于與擴(kuò)頻信號(hào)不相關(guān),則被擴(kuò)展到一個(gè)很寬的頻帶上,使之進(jìn)入信號(hào)通頻帶內(nèi)的干擾功率大大的降低,具有很強(qiáng)的對(duì)抗能力。MATLAB是由美國mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能

2、集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式。使用MATLAB進(jìn)行通信仿真有兩種方式,分別是使用m文件編寫程序和用SIMULINK進(jìn)行可視化建模。長(zhǎng)期以來,人們總是想法使信號(hào)所占頻譜盡量的窄,以充分利用十分寶貴的頻譜資源。為什么要用這樣寬頻帶的信號(hào)來傳送信息呢? 簡(jiǎn)單的回答就是主要為了通信的安全可靠。擴(kuò)頻通信的基本特點(diǎn)是傳輸信號(hào)所占用的頻帶寬度(W )遠(yuǎn)大于原始信息本身實(shí)際所需的最小(有效)帶寬(DF) ,其比值稱為處理增益Gp:Gp =W /F

3、 (1)眾所周知,任何信息的有效傳輸都需要一定的頻率寬度,如話音為1. 7kHz3. 1kHz,電視圖像則寬到數(shù)兆赫。為了充分利用有限的頻率資源,增加通路數(shù)目,人們廣泛選擇不同調(diào)制方式,采用寬頻信道(同軸電纜、微波和光纖等) ,和壓縮頻帶等措施,同時(shí)力求使傳輸?shù)拿浇橹袀鬏數(shù)男盘?hào)占用盡量窄的帶寬。因現(xiàn)今使用的電話、廣播系統(tǒng)中,無論是采用調(diào)幅、調(diào)頻或脈沖編碼調(diào)制制式, Gp值一般都在十多倍范圍內(nèi),統(tǒng)稱為“窄帶通信”。而擴(kuò)頻通信的Gp值,高達(dá)數(shù)百、上千,稱為“寬帶通信”。擴(kuò)頻通信的可行性,是從信息論和抗干擾理論的基本公式中引伸而來的。信息論中關(guān)于信息容量的香農(nóng)( Shannon)公式為:C =Wlo

4、g2 (1 + P /N ) (2)其中:C信道容量(用傳輸速率度量) ,W 信號(hào)頻帶寬度, 信號(hào)功率, N 白噪聲功率。式( 2)說明,在給定的傳輸速率C不變的條件下, 頻帶寬度W和信噪比P /N 是可以互換的。即可通過增加頻帶寬度的方法,在較低的信噪比P /N (S /N)情況下, 傳輸信息。擴(kuò)展頻譜換取信噪比要求的降低,是擴(kuò)頻通信的重要特點(diǎn),并由此為擴(kuò)頻通信的應(yīng)用奠定了基礎(chǔ)。擴(kuò)頻通信與一般的通信系統(tǒng)相比,主要是在發(fā)射端增加了擴(kuò)頻調(diào)制,而在接收端增加了擴(kuò)頻解調(diào)的過程,擴(kuò)頻通信按照其工作方式不同主要分為直接序列擴(kuò)頻系統(tǒng)、跳頻擴(kuò)頻系統(tǒng)、跳時(shí)擴(kuò)頻系統(tǒng)、現(xiàn)行調(diào)頻系統(tǒng)和混合調(diào)頻系統(tǒng)?,F(xiàn)以直接序列擴(kuò)頻

5、系統(tǒng)為例說明擴(kuò)頻通信的實(shí)現(xiàn)方法。下圖1為直接序列擴(kuò)頻系統(tǒng)的原理框圖。圖1 直接序列擴(kuò)頻系統(tǒng)原理圖由直擴(kuò)序列擴(kuò)頻系統(tǒng)原理圖可以看出,在發(fā)射端,信源輸出的信號(hào)與偽隨機(jī)碼產(chǎn)生器產(chǎn)生的偽隨機(jī)碼進(jìn)行模2加,產(chǎn)生一速率與偽隨機(jī)碼速率相同的擴(kuò)頻序列,然后再用擴(kuò)頻序列去調(diào)制載波,這樣得到已擴(kuò)頻調(diào)制的射頻信號(hào)。在接收端,接受到的擴(kuò)頻信號(hào)經(jīng)高放和混頻后,用與發(fā)射端同步的偽隨機(jī)序列對(duì)擴(kuò)頻調(diào)制信號(hào)進(jìn)行相關(guān)解擴(kuò),將信號(hào)的頻帶恢復(fù)為信息序列的頻帶,然后進(jìn)行解調(diào),恢復(fù)出所傳輸?shù)男畔ⅰ?SIMULINK模型建立基于MATLAB/Simulink所建立的擴(kuò)頻通信系統(tǒng)的仿真模型,能夠反映擴(kuò)頻通信系統(tǒng)的動(dòng)態(tài)工作過程,可進(jìn)行波形觀察

6、、品剖分析和性能分析等,同時(shí)能根據(jù)研究和設(shè)計(jì)的需要擴(kuò)展仿真模型,實(shí)現(xiàn)以擴(kuò)頻通信為基礎(chǔ)的現(xiàn)代通信的模擬仿真,為系統(tǒng)的研究和設(shè)計(jì)提供強(qiáng)有力的平臺(tái)。圖2為基于MATLAB/Simulink的擴(kuò)頻通信系統(tǒng)的仿真模型。圖2 基于Simulink 的擴(kuò)頻通信系統(tǒng)的仿真模型2.1 隨機(jī)整數(shù)發(fā)生器(Random Integer genarator)隨機(jī)整數(shù)發(fā)生器(Randon Integer generator)作為仿真系統(tǒng)的信源,隨機(jī)整數(shù)發(fā)生器產(chǎn)生二進(jìn)制隨機(jī)信號(hào),采用時(shí)間、初始狀態(tài)可自由設(shè)置,從而滿足擴(kuò)頻通信系統(tǒng)所需信源的要求。2.2 PN序列發(fā)生器(PN Sequence Generator)用PN序列發(fā)

7、生器(PN Sequence Generator)產(chǎn)生偽隨機(jī)碼,對(duì)基帶信號(hào)進(jìn)行擴(kuò)頻。擴(kuò)頻過程通過信息碼與PN碼進(jìn)行雙極性變換后相乘加以實(shí)現(xiàn)。解擴(kuò)過程與擴(kuò)頻過程相同,即將接收的信號(hào)用PN碼進(jìn)行第二次擴(kuò)頻處理。2.3 最小相移鍵控調(diào)制(M-PSK Modulator Passband)對(duì)基帶信號(hào)進(jìn)行數(shù)字調(diào)制,將頻譜從基帶搬移至頻帶,以實(shí)現(xiàn)遠(yuǎn)距離傳輸?shù)男Ч?.4 加性高斯白噪聲信道(AWGN Channel)信號(hào)通過加性高斯白噪聲信道,以達(dá)到對(duì)信號(hào)的傳輸后進(jìn)行再進(jìn)行解擴(kuò)解調(diào)的目的。改信道信噪比參數(shù)設(shè)置為負(fù)數(shù),可驗(yàn)證擴(kuò)頻通信系統(tǒng)具有良好的抗噪聲能力。2.5 最小相移鍵控解調(diào) (M-PSK Demod

8、ulator Passband)對(duì)解擴(kuò)后的信號(hào)進(jìn)行解調(diào),恢復(fù)基帶信號(hào)。2.6 誤碼率分析儀(Error Rate Calculation)在誤碼率計(jì)算中,接收到的信號(hào),由于經(jīng)過擴(kuò)頻解擴(kuò)、調(diào)制解調(diào)、相關(guān)統(tǒng)計(jì)等處理,會(huì)存在一個(gè)延遲,在誤碼儀模塊的對(duì)話框中要設(shè)置一個(gè)合適的延遲。2.7 其他設(shè)置2.7.1 RELAY 的設(shè)置2.7.1 product的設(shè)置2.7.3 display 的設(shè)置2.7.4 頻譜分析儀(spectrum scope)的設(shè)置系統(tǒng)中有四個(gè)頻譜分析儀器,分別命名為:baseband、mod、SS和DSS。其中,baseband能觀察基帶信號(hào)的頻譜;mod能觀察到基帶信號(hào)調(diào)制到頻帶后

9、的頻譜;SS能觀察擴(kuò)頻后的頻譜;DSS能觀察解擴(kuò)解調(diào)后的接受端輸出信號(hào)的頻譜。這四個(gè)頻譜分析儀的參數(shù)設(shè)置大致一致,其前方的零階保持器的采樣時(shí)間略有不同。頻譜分析儀名稱BasebandModSSDSS采樣時(shí)間(s)0.0011/300000.001/310.0013. M文件編寫仿真程序用m文件編寫的MATLBA程序來實(shí)現(xiàn)觀察系統(tǒng)在不同信噪比下的誤碼率變化情況。此仿真要實(shí)現(xiàn)擴(kuò)頻碼的產(chǎn)生、發(fā)射機(jī)部分、接收機(jī)部分、信道仿真部分以及誤碼分析部分,此外還有進(jìn)行循環(huán)仿真以達(dá)到繪出信噪比與誤碼率見的函數(shù)圖。3.1 擴(kuò)頻碼的產(chǎn)生選取m序列作為仿真系統(tǒng)的擴(kuò)頻碼,產(chǎn)生函數(shù)如下:function mout = ms

10、eq(stg, taps, inidata, n) %變量含義說明 % stg m序列階數(shù)% taps 線性移位寄存器的系數(shù)% inidata 序列的初始化% n 輸出序列的數(shù)目 % mout 輸出的m序列if nargin < 4 n = 1; end mout = zeros(n,2stg-1); fpos = zeros(stg,1); fpos(taps) = 1; for ii=1:2stg-1 mout(1,ii) = inidata(stg); % 輸出數(shù)據(jù)的存儲(chǔ) num = mod(inidata*fpos,2); % 反饋數(shù)據(jù)的計(jì)算 inidata(2:stg) = i

11、nidata(1:stg-1); % 線形移位寄存器的一次移位 inidata(1) = num; % 返回反饋值 end if n > 1 for ii=2:n mout(ii,:) = shift(mout(ii-1,:),1,0); end end3.2 發(fā)射機(jī)部分發(fā)射機(jī)部分包括擴(kuò)頻和調(diào)制兩部分。3.2.1 QPSK調(diào)制部分此處采用QPSK調(diào)制,相比SIMULINK的M-PSK調(diào)制的實(shí)現(xiàn)要求要低一些。function iout,qout=qpskmod(paradata,para,nd,ml) %各變量含義說明 % paradata 輸入數(shù)據(jù)% iout 輸出的實(shí)部數(shù)據(jù)% qout

12、 輸出的虛部數(shù)據(jù)% para 并行信道數(shù)% nd 輸入數(shù)據(jù)個(gè)數(shù)% ml 調(diào)制階數(shù) m2=ml./2; paradata2=paradata.*2-1; count2=0; for jj=1:nd isi = zeros(para,1); isq = zeros(para,1); for ii = 1 : m2 isi = isi + 2.( m2 - ii ) .* paradata2(1:para),ii+count2); isq = isq + 2.( m2 - ii ) .* paradata2(1:para),m2+ii+count2); end iout(1:para),jj)=is

13、i; qout(1:para),jj)=isq; count2=count2+ml; end3.2.2 擴(kuò)頻部分function iout, qout = spread(idata, qdata, code1) %變量含義說明 % idata 輸入序列實(shí)部 % qdata 輸入序列虛部 % iout 輸出序列實(shí)部 % qout 輸出序列虛部% code1 擴(kuò)頻碼序列switch nargin case 0 , 1 error('lack of input argument'); case 2 code1 = qdata; qdata = idata; end hn,vn = s

14、ize(idata); hc,vc = size(code1); if hn > hc error('lack of spread code sequences'); end iout = zeros(hn,vn*vc); qout = zeros(hn,vn*vc); for ii=1:hn iout(ii,:) = reshape(rot90(code1(ii,:),3)*idata(ii,:),1,vn*vc); qout(ii,:) = reshape(rot90(code1(ii,:),3)*qdata(ii,:),1,vn*vc); end3.3 信道仿真部分

15、實(shí)現(xiàn)高斯白噪聲代碼函數(shù)function iout, qout = comb2(idata, qdata, attn) %各變量含義說明% idata 輸入序列實(shí)部% qdata 輸入序列虛部 % iout 輸出序列實(shí)部 % qout 輸出序列虛部% attn 根據(jù)信噪比得到的信號(hào)衰減水平 v = length(idata); h = length(attn); iout = zeros(h,v); qout = zeros(h,v); for ii=1:h iout(ii,:) = idata + randn(1,v) * attn(ii); qout(ii,:) = qdata + rand

16、n(1,v) * attn(ii); end 3.4 接收機(jī)部分3.4.1 接收機(jī)的解擴(kuò)部分函數(shù)function iout, qout = despread(idata, qdata, code1) %各變量含義說明% idata 輸入序列實(shí)部 % qdata 輸入序列虛部 % iout 輸出序列實(shí)部 % qout 輸出序列虛部 % code1 擴(kuò)頻碼序列 switch nargin case 0 , 1 error('lack of input argument'); case 2 code1 = qdata; qdata = idata; end hn,vn = size(

17、idata); hc,vc = size(code1); vn = fix(vn/vc); iout = zeros(hc,vn); qout = zeros(hc,vn); for ii=1:hc iout(ii,:) = rot90(flipud(rot90(reshape(idata(ii,:),vc,vn)*rot90(code1(ii,:),3); qout(ii,:) = rot90(flipud(rot90(reshape(qdata(ii,:),vc,vn)*rot90(code1(ii,:),3); end3.4.2 接收機(jī)解調(diào)部分的函數(shù)function demodata=q

18、pskdemod(idata,qdata,para,nd,ml) %各變量含義說明% idata 輸入數(shù)據(jù)的實(shí)部 % qdata 輸入數(shù)據(jù)的虛部% demodata 解調(diào)后的數(shù)據(jù)% para 并行的信道數(shù)% nd 輸入數(shù)據(jù)個(gè)數(shù)% ml 調(diào)制階數(shù)demodata=zeros(para,ml*nd); demodata(1:para),(1:ml:ml*nd-1)=idata(1:para),(1:nd)>=0; demodata(1:para),(2:ml:ml*nd)=qdata(1:para),(1:nd)>=0; 3.5 誤碼計(jì)算和繪圖部分%誤碼率分析 noe2 = sum(s

19、um(abs(data-demodata); nod2 = user * nd * ml; noe = noe + noe2; nod = nod + nod2; % fprintf('%dt%en',ii,noe2/nod2); end %數(shù)據(jù)文件 ber = noe / nod; fprintf('%dt%dt%dt%en',ebn0,noe,nod,noe/nod); fid = fopen('BER.dat','a'); fprintf(fid,'%dt%et%ft%ftn',ebn0,noe/nod,no

20、e,nod); fclose(fid); err_rate_final(ebn0+6)=ber;end%性能仿真圖 figuresemilogy(SNR,err_rate_final,'b-*'); xlabel('信噪比/dB')ylabel('誤碼率')axis(-5,10,0,1)grid on3.6 初始化設(shè)置以及仿真循環(huán)設(shè)置Main函數(shù)為clear all;clc sr = .0; % 符號(hào)速率ml = 2; % 調(diào)制階數(shù) br = sr * ml; % 比特速率 nd = 100; % 符號(hào)數(shù)SNR=-5:1:10; % Eb/No

21、%*擴(kuò)頻碼初值設(shè)定* user = 1; % 用戶數(shù)stage = 3; % 序列階數(shù) ptap1 = 1 3; % 第一個(gè)線性移位寄存器的系數(shù)disp('-start-');%*擴(kuò)頻碼的產(chǎn)生*for ebn0=-5:1:10 % m序列code = mseq(stage,ptap1,regi1,user); code = code * 2 - 1; clen = length(code); %*仿真運(yùn)算開始* nloop = 1000; % 仿真循環(huán)次數(shù)noe = 0; nod = 0; for ii=1:nloop %*發(fā)射機(jī)* data = rand(user,nd*ml

22、) > 0.5; ich, qch = qpskmod(data,user,nd,ml); % QPSK 調(diào)制 ich1,qch1 = spread(ich,qch,code); % 擴(kuò)頻 ich2 = ich1; qch2 = qch1; %*接收機(jī)* ich3,qch3 = comb2(ich2,qch2,attn); % 添加高斯白噪聲(AWGN) sampl = irfn * IPOINT + 1; ich4 = ich3(:,sampl:IPOINT:IPOINT*nd*clen+sampl-1); qch4 = qch3(:,sampl:IPOINT:IPOINT*nd*cl

23、en+sampl-1); ich5 qch5 = despread(ich4,qch4,code); % 解擴(kuò) demodata = qpskdemod(ich5,qch5,user,nd,ml); % QPSK解調(diào)%*誤碼率分析* noe2 = sum(sum(abs(data-demodata); nod2 = user * nd * ml; noe = noe + noe2; nod = nod + nod2; %*數(shù)據(jù)文件* ber = noe / nod; fprintf('%dt%dt%dt%en',ebn0,noe,nod,noe/nod); fid = fope

24、n('BER.dat','a'); fprintf(fid,'%dt%et%ft%ftn',ebn0,noe/nod,noe,nod); fclose(fid); err_rate_final(ebn0+6)=ber;%*性能仿真圖*figuresemilogy(SNR,err_rate_final,'b-*');xlabel('信噪比/dB')ylabel('誤碼率')axis(-5,10,0,1)grid ondisp('-end-'); 4. 仿真結(jié)果與分析4.1.1 Simu

25、link仿真結(jié)果l 基帶信號(hào)的頻譜如下l 經(jīng)調(diào)制后頻譜如下l 擴(kuò)頻后頻譜如下l 接收端恢復(fù)后的輸出信號(hào)頻譜如下l 誤碼計(jì)算儀的結(jié)果4.1.2 Simulink仿真結(jié)果分析可以看出,基帶信號(hào)的頻率分量主要是在-100Hz到100Hz,這與信號(hào)源所設(shè)置的頻率相符合?;鶐盘?hào)進(jìn)過M-PSK調(diào)制后,正頻域的頻率分量集中在2.9KHz-3.1KHz處,可看出載波頻率為3KHz,這個(gè)結(jié)果與M-PSK調(diào)制器所設(shè)置的載波頻率一致。頻帶信號(hào)經(jīng)過與PN碼相乘擴(kuò)頻后,觀察其信號(hào)的頻譜可以看出,正頻域的頻率分量主要集中在0Hz到20KHz這主瓣中,帶寬擴(kuò)展了約20倍。此時(shí)信號(hào)將經(jīng)過模擬信道的AWGN信道模塊,來到接收端。在接收端處,先經(jīng)過解擴(kuò)(即與擴(kuò)頻PN碼同步的PN碼相乘),得到解擴(kuò)后的頻帶信號(hào),再經(jīng)過解調(diào)模塊,恢復(fù)成基帶信號(hào)。觀察恢復(fù)后的信號(hào)的頻譜,與信源處的信號(hào)基本一致。再看系統(tǒng)的誤碼率

溫馨提示

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

評(píng)論

0/150

提交評(píng)論