基于ieee802.11a鏈路仿真專(zhuān)業(yè)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  通信與信息工程學(xué)院 </p><p><b>  專(zhuān)業(yè)課程設(shè)計(jì)B報(bào)告</b></p><p>  專(zhuān)業(yè)班級(jí): </p><p>  學(xué)生姓名: </p><p>  學(xué)號(hào)(班內(nèi)序號(hào)): </p><p>  201

2、4 年 04 月 11 日</p><p>  題目:基于IEEE802.11a鏈路仿真</p><p><b>  設(shè)計(jì)目的:</b></p><p>  熟練掌握通信原理的基本知識(shí);</p><p>  熟練運(yùn)用數(shù)字信號(hào)處理課程的基本知識(shí);</p><p>  熟練掌握無(wú)線編碼與

3、調(diào)制過(guò)程;</p><p>  了解OFDM技術(shù)原理;</p><p>  熟練運(yùn)用matlab工具;</p><p><b>  設(shè)計(jì)原理:</b></p><p>  802.11a物理層標(biāo)準(zhǔn)及OFDM技術(shù)</p><p><b>  1.PPDU幀結(jié)構(gòu)</b></

4、p><p>  圖1為PPDU的幀格式,包括OFDM PLCP前導(dǎo)碼、OFDM PLCP頭、PSDU、尾比特和填充比特。PLCP報(bào)頭包括:信號(hào)段的速率位(RATE)、長(zhǎng)度位(LENGTH)、保留比特、奇偶檢驗(yàn)比特以及服務(wù)(SERVICE)字段。從調(diào)制角度看,長(zhǎng)度、速率、預(yù)留比特和奇偶比特(加上6個(gè)‘0’尾比特)組成了一個(gè)獨(dú)立的OFDM符號(hào),記為信號(hào)(SIGNAL)字段,該字段以可靠的BPSK調(diào)制及1/2編碼率發(fā)送。P

5、LCP報(bào)頭的SERVICE字段與PSDU(加上6個(gè)‘0’尾比特和填充比特)一起,標(biāo)記為DATA字段,以RATE字段中指示的數(shù)據(jù)速率進(jìn)行發(fā)送,并且可能組成多個(gè)OFDM符號(hào)。在接收SIGNAL字段內(nèi)的尾比特后可立即解碼出RATE和LENGTH字段,這兩者對(duì)于解碼出該分組中的DATA是必須的。此外,即使接收方不支持接收的分組中的數(shù)據(jù)速率,通過(guò)從分組中的DATA和LENGTH的內(nèi)容中推測(cè)出分組的持續(xù)時(shí)間。</p><p>

6、;  圖1 PPDU幀結(jié)構(gòu)</p><p>  2.OFDM的符號(hào)結(jié)構(gòu)</p><p>  如圖所示,OFDM的前導(dǎo)訓(xùn)練序列包括10個(gè)短訓(xùn)練序列、2個(gè)長(zhǎng)訓(xùn)練序列。前導(dǎo)訓(xùn)練序列用來(lái)做系統(tǒng)的同步、信道估計(jì)、頻偏估計(jì)、自適應(yīng)控制(AGC)等。前導(dǎo)訓(xùn)練序列后面是Signal段,再后面是Data區(qū)。</p><p>  圖2 OFDM的符號(hào)結(jié)構(gòu)</p><

7、p>  其中t1-t10表示短訓(xùn)練符號(hào),T1和T2表示長(zhǎng)訓(xùn)練符號(hào),總的訓(xùn)練時(shí)間為16us。圖中的虛線表示邊界代表傅里葉逆變換的周期性引起的循環(huán)。</p><p>  3.OFDM技術(shù)簡(jiǎn)介</p><p>  OFDM(Orthogonal Frequency Division Multiplexing,正交頻分復(fù)用)是一種特殊的多載波調(diào)制技術(shù),它利用載波間的正交性進(jìn)一步提高頻譜利用率

8、,而且可以抗窄帶干擾和抗多徑衰落。OFDM通過(guò)多個(gè)正交的子載波將串行數(shù)據(jù)并行傳輸,可以增大碼元的寬度,減少單個(gè)碼元占用的頻帶,抵抗多徑引起的頻率選擇性衰落,可以有效克服碼間串?dāng)_,降低系統(tǒng)對(duì)均衡技術(shù)的要求,非常適合移動(dòng)場(chǎng)合中的高速傳輸。</p><p>  圖3 OFDM系統(tǒng)原理圖</p><p><b>  設(shè)計(jì)內(nèi)容:</b></p><p>

9、  802.11a鏈路設(shè)計(jì)總流程:</p><p>  1、802.11a前導(dǎo)生成原理</p><p>  產(chǎn)生PLCP前導(dǎo)碼字段,本字段由10個(gè)重復(fù)的‘段訓(xùn)練序列’(用于自動(dòng)增益集中控制、分集選擇、定時(shí)捕獲和接收機(jī)粗略頻率捕獲)和兩個(gè)重復(fù)的‘長(zhǎng)訓(xùn)練序列’(用于信道估計(jì)和接收機(jī)精確頻率捕獲)組成,前面為保護(hù)間隔(GI)。</p><p>  OFDM短訓(xùn)練序列由調(diào)制

10、過(guò)的12個(gè)子載波組成。調(diào)制因子s=sqrt(13/6)*[0,0,1+j,0,0,0,-1-j,0,0,0,i+j,0,0,0,-1-j,0,0,0,-1-j,0,0,0,1+j,0,0,0,0,0,0,-1-j,0,0,0,-1-j,0,0,0,1+j,0,0,0,1+j,0,0,01+j,0,0,0,1+j,0,0,0];將52個(gè)子載波中的12個(gè)子載波的能量歸一化,并進(jìn)行IFFT傅里葉逆變換,最后進(jìn)行0.8微秒的矩形時(shí)間加窗。OFD

11、M長(zhǎng)訓(xùn)練序列由調(diào)制過(guò)的53個(gè)子載波組成。調(diào)制因子L=[1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,1,1];同樣進(jìn)行IFFT傅里葉逆變換,最后進(jìn)行0.8微秒、幅度為1的矩形時(shí)間加窗。</p><p><b>

12、  2、擾碼及解擾碼</b></p><p>  幀同步加擾器使用以下的生成多項(xiàng)式:S(X)=X7+X4+1。為了進(jìn)行正確有效的解擾,加擾發(fā)送數(shù)據(jù)和解擾接收數(shù)據(jù)使用同一個(gè)擾碼器。發(fā)送時(shí),加擾器初始狀態(tài)設(shè)置為偽隨機(jī)非0態(tài)。在加擾前,SERVI CE字段的7個(gè)低有效比特置0,這樣在接收端解擾時(shí)就可以以7個(gè)0被擾后的結(jié)果作為收端擾碼器的初始狀態(tài),從而進(jìn)行有效正確的解擾。 </p><p

13、>  將移位寄存器4和7中的數(shù)據(jù)進(jìn)行異或,再進(jìn)行左移數(shù)據(jù)后送給移位寄存器,一般我們默認(rèn)產(chǎn)生的比特序列大于127,所以對(duì)大于127的比特序列和127進(jìn)行取整且循環(huán)取整的次數(shù),這時(shí)得到比特序列再和輸入的序列進(jìn)行異或。</p><p><b>  卷積編碼和解卷積</b></p><p>  卷積編碼器使用工業(yè)標(biāo)準(zhǔn)的生成多項(xiàng)式,g0=133(8),g1=171(8),

14、R=1/2,即都用8進(jìn)制表示。標(biāo)記為“A”的比特在從編碼器輸出時(shí)位于比特“B”之前。</p><p>  隨機(jī)產(chǎn)生一組1行n列的二進(jìn)制數(shù),利用卷積編碼器進(jìn)行卷積編碼。</p><p><b>  交織及解交織</b></p><p>  交織器中進(jìn)行兩次置換:第一次置換將相鄰的編碼比特映射到不相鄰的子載波上,第二次置換確保相鄰編碼比特被交替映射

15、到星座的高有效位和低有效位比特,因而避免了可靠性比特的長(zhǎng)期存在。 實(shí)現(xiàn)逆過(guò)程的交織器也由兩步置換完成。當(dāng)交織的程度越深,突發(fā)性錯(cuò)誤越強(qiáng),信道譯碼器的性能將由此得到提升。</p><p>  5、星座映射及逆映射</p><p>  BPSK利用數(shù)字信號(hào)來(lái)控制載波的相位,具有較好的抗噪性能和較高的頻譜利用率。BPSK解調(diào)時(shí),必須有與此同頻同相的同步載波。</p><p&g

16、t;<b>  設(shè)計(jì)流程:</b></p><p><b>  前導(dǎo)生成流程</b></p><p><b>  擾碼生成流程</b></p><p><b>  卷積編碼生成流程</b></p><p>  N

17、 N</p><p>  Y Y</p><p><b>  交織生成流程</b></p><p><b>  星座映射生成流程</b></p><p><b>  設(shè)計(jì)總結(jié):</b></

18、p><p>  Matlab學(xué)習(xí)心得:首先是對(duì)matlab有了一個(gè)全新的認(rèn)識(shí),其次是對(duì)matlab的更多操作和命令的使用有了更高的掌握。徹底掌握了相關(guān)的命令操作和處理方法以及命令窗口和.m文件的不同效果的運(yùn)用。對(duì)同一模塊的相關(guān)功能和技術(shù)指標(biāo)分析和性能分析非常重要,真正的分析和了解原理是非常重要的。Matlab真的是個(gè)非常強(qiáng)大和有用的工具,真正把它學(xué)懂學(xué)透的話還是需要下非常大的功夫和努力的。</p>&l

19、t;p>  前導(dǎo)設(shè)計(jì)心得:前導(dǎo)碼的設(shè)計(jì)都具有低峰值到平均功率比,這樣就能最小化剪輯信號(hào)或信號(hào)分辨率的問(wèn)題。在程序設(shè)計(jì)的時(shí)候,對(duì)長(zhǎng)短序列的加窗理解的不夠到位,使得實(shí)驗(yàn)一開(kāi)始就落下了進(jìn)度。</p><p>  擾碼:其實(shí)擾碼的作用主要就是對(duì)隨機(jī)產(chǎn)生的錯(cuò)誤進(jìn)行糾正,剛開(kāi)始編寫(xiě)程序的時(shí)候我們考慮了小于127的比特序列,其實(shí)在實(shí)際中我們用到的都是大于127的比特序列。</p><p>  卷積

20、碼:卷積碼的糾錯(cuò)能力隨著N的增大而增大,在編碼器復(fù)雜程度相同的情況下卷積碼的性能優(yōu)于分組碼,卷積編碼當(dāng)前的輸出不僅與當(dāng)前的輸入有關(guān),而且與它之前的(V-1)個(gè)輸入有關(guān)。在程序的設(shè)計(jì)過(guò)程中,我較好的利用了matlab中的卷積函數(shù),算是在幾個(gè)程序設(shè)計(jì)中效率較高。</p><p>  交織:交織是對(duì)突發(fā)性的錯(cuò)誤進(jìn)行糾正,交織的程序重點(diǎn)就是對(duì)兩次比特位位置的置換的正確理解和應(yīng)用。</p><p>

21、  BPSK調(diào)制:通過(guò)本次練習(xí),我進(jìn)一步了解了BPSK調(diào)制的過(guò)程,理解了無(wú)碼間串?dāng)_的意義。是把模擬信號(hào)轉(zhuǎn)換成數(shù)據(jù)值的方法之一,表現(xiàn)信息鍵控相移方式的一種。</p><p>  我坦誠(chéng)的說(shuō)自己掌握的還是十分有限,但是老師給我們講解的相關(guān)原理方法是十分有效果的,對(duì)自己以后的要求需要更高,現(xiàn)在真正掌握的知識(shí)皮毛,想取得更大的成績(jī)就得不斷地去努力學(xué)習(xí)。</p><p><b>  參考文

22、獻(xiàn):</b></p><p><b>  附件:(主要程序)</b></p><p><b>  總程序</b></p><p>  function [signal,data,code,data_in]=communication()</p><p><b>  %SIGNA

23、L序列</b></p><p>  signal=randint(1,24,2),%隨機(jī)產(chǎn)生24個(gè)二進(jìn)制數(shù)</p><p>  code=convolutional(signal);%卷積編碼</p><p>  RE=interweave(code);%交織</p><p>  mod_out=BPSK_t(RE);%BPSK調(diào)

24、制</p><p>  mod_ofdm_syms = Add_Pilot(mod_out);%插入導(dǎo)頻</p><p>  time_syms= IFFT64(mod_ofdm_syms);%傅里葉變換</p><p>  time_signal = Add_CP(time_syms); %增加CP</p><p><b>  %

25、DATA序列</b></p><p>  data=randint(1,24,2),</p><p>  data_out=scramble(data);%加擾</p><p>  data_out=data_out*1;</p><p>  code=convolutional(data_out);</p><

26、;p>  RE=interweave(code);</p><p>  mod_out=BPSK_t(RE);</p><p>  mod_ofdm_syms = Add_Pilot(mod_out);</p><p>  time_syms= IFFT64(mod_ofdm_syms);</p><p>  time_data = A

27、dd_CP(time_syms); </p><p>  preamble=qd();%生成前導(dǎo)</p><p>  ppdu=[preamble time_signal time_data];%PPDU幀</p><p>  [freq_tr_syms, freq_data_syms, freq_pilot_syms] = FFT64(ppdu); e=freq_

28、data_syms;</p><p>  signal=e(1:48);</p><p>  data=e(49:96);</p><p><b>  %SIGNAL</b></p><p>  mod_in=BPSK_jt(signal);</p><p>  record_in=deinter

29、leaver(mod_in);</p><p>  code=deconvolution(record_in),</p><p><b>  %DATA</b></p><p>  mod_in=BPSK_jt(data);%BPSK解調(diào)</p><p>  record_in=deinterleaver(mod_in)

30、;%解交織</p><p>  code=deconvolution(record_in);%解卷積</p><p>  data_in=descramble(code),%解擾</p><p><b>  前導(dǎo)</b></p><p>  function preamble=qd()</p><p&

31、gt;  b=[1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,1,1,1,1];</p><p>  s=sqrt(13/6)*[0,0,1+j,0,0,0,-1-j,0,0,0,i+j,0,0,0,-1-j,0,0,0,-1-

32、j,0,0,0,1+j,0,0,0,0,0,0,-1-j,0,0,0,-1-j,0,0,0,1+j,0,0,0,1+j,0,0,01+j,0,0,0,1+j,0,0,0];</p><p>  time_syms=IFFT64(s);</p><p><b>  g=1;</b></p><p>  for w=1:16</p>

33、<p>  x(g)=time_syms(w);</p><p><b>  g=g+1;</b></p><p><b>  end</b></p><p>  short=[x,x,x,x,x,x,x,x,x,x];</p><p>  %short(1)=short(1)*0.5;&

34、lt;/p><p>  short(160)=short(160)*0.5;</p><p>  time_syms=IFFT64(b);</p><p><b>  g=1;</b></p><p>  for w=33:64</p><p>  y(g)=time_syms(w);</p&g

35、t;<p><b>  g=g+1;</b></p><p><b>  end</b></p><p>  long=[y,time_syms,time_syms];</p><p>  %long(1)=long(1)*0.5;</p><p>  long(160)=long(1

36、60)*0.5;</p><p>  %short(160)=short(160)+long(1);</p><p>  %long(1)=[];</p><p>  preamble=[short,long];</p><p><b>  擾碼</b></p><p>  function da

37、ta_out=scramble(data_in)</p><p>  D_init=[1,1,1,1,1,1,1];</p><p>  for k=1:127</p><p>  EX=xor(D_init(4),D_init(7));</p><p>  D_init=circshift(D_init,[1,1]);</p>

38、<p>  D_init(1)=EX;</p><p>  data(k)=EX;</p><p><b>  end</b></p><p>  len=length(data_in);</p><p>  n=mod(len,127);</p><p><b>  if

39、n==0</b></p><p>  data=repmat(data,1,floor(len/127));</p><p>  data_out=xor(data_in,data);</p><p><b>  else</b></p><p><b>  for m=1:n</b>&

40、lt;/p><p>  d(m)=data(m);</p><p><b>  end</b></p><p>  data=repmat(data,1,floor(len/127));</p><p>  r=[data,d];</p><p>  data_out=xor(data_in,r);&

41、lt;/p><p><b>  end</b></p><p><b>  解擾</b></p><p>  function data_in=descramble(data_out)</p><p>  D_init=[1,1,1,1,1,1,1];</p><p>  for

42、 k=1:127</p><p>  EX=xor(D_init(4),D_init(7));</p><p>  D_init=circshift(D_init,[1,1]);</p><p>  D_init(1)=EX;</p><p>  data(k)=EX;</p><p><b>  end&l

43、t;/b></p><p>  len=length(data_out);</p><p>  n=mod(len,127);</p><p><b>  if n==0</b></p><p>  data=repmat(data,1,floor(len/127));</p><p>  

44、data_in=xor(data_out,data);</p><p><b>  else</b></p><p><b>  for m=1:n</b></p><p>  d(m)=data(m);</p><p><b>  end</b></p><

45、;p>  data=repmat(data,1,floor(len/127));</p><p>  r=[data,d];</p><p>  data_in=xor(data_out,r);</p><p><b>  end</b></p><p><b>  卷積</b></p&

46、gt;<p>  function code=convolutional(msg)</p><p>  t=poly2trellis(7,[133 171]); %定義trellis(產(chǎn)生碼字的卷積編碼器)</p><p>  code = convenc(msg,t); %卷積編碼</p><p><b>  解卷積</b>&l

47、t;/p><p>  function msg=deconvolution(code)</p><p>  t=poly2trellis(7,[133 171]); %定義trellis(產(chǎn)生碼字的卷積編碼器)</p><p>  msg = vitdec(code,t,1,'trunc','hard');</p><

48、p><b>  交織</b></p><p>  function RE=interweave(record_in)</p><p>  NB=1;NC=48;s=max(NB/2,1);</p><p>  for k=0:NC-1</p><p>  zz(k+1)=(NC/16)*mod(k,16)+floo

49、r(k/16);</p><p>  T_zz(k+1)=s*floor(zz(k+1)/s)+mod(zz(k+1)+NC-floor(16*zz(k+1)/NC),s);</p><p><b>  end</b></p><p>  for n=1:48</p><p>  RE(T_zz(n)+1)=record

50、_in(n);</p><p><b>  End</b></p><p><b>  解交織</b></p><p>  function record_in=deinterleaver(RE)</p><p>  NB=1;NC=48;s=max(NB/2,1);</p><

51、p>  for k=0:NC-1</p><p>  zz(k+1)=s*floor(k/s)+mod(k+floor(16*k/NC),s);</p><p>  t_zz(k+1)=16*zz(k+1)-(NC-1)*floor(16*zz(k+1)/NC);</p><p><b>  end</b></p><

52、p>  for n=1:48</p><p>  record_in(t_zz(n)+1)=RE(n);</p><p><b>  end</b></p><p><b>  BPSK調(diào)制</b></p><p>  function mod_out=BPSK_t(mod_in)</p

53、><p>  for i=1:length(mod_in)</p><p>  if mod_in(i)==0</p><p>  mod_out(i)=-1;</p><p><b>  else</b></p><p>  mod_out(i)=1;</p><p><

54、;b>  end</b></p><p><b>  end</b></p><p><b>  BPSK解調(diào)</b></p><p>  function mod_in=BPSK_jt(mod_out)</p><p>  for i=1:length(mod_out)</

55、p><p>  if mod_out(i)<0</p><p>  mod_in(i)=0;</p><p><b>  else</b></p><p>  mod_in(i)=1;</p><p><b>  end</b></p><p>&l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論