版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)業(yè)課程設(shè)計(jì)
- 專(zhuān)業(yè)課程設(shè)計(jì)
- 液壓專(zhuān)業(yè)課程設(shè)計(jì)
- 鑄造專(zhuān)業(yè)課程設(shè)計(jì)
- 《專(zhuān)業(yè)課程設(shè)計(jì)[料]》課程簡(jiǎn)介
- 通信系統(tǒng)專(zhuān)業(yè)課程設(shè)計(jì)
- 冶金專(zhuān)業(yè)課程設(shè)計(jì)模板
- 采煤專(zhuān)業(yè)課程設(shè)計(jì)大綱
- 物流管理專(zhuān)業(yè)課程設(shè)計(jì)
- 工商管理專(zhuān)業(yè)課程設(shè)計(jì)
- ieee802.11a無(wú)線局域網(wǎng)基于per的鏈路自適應(yīng)算法的研究
- ieee802.11a移動(dòng)應(yīng)用phy仿真與實(shí)驗(yàn)研究
- 核科學(xué)與工程專(zhuān)業(yè)課程設(shè)計(jì)
- [學(xué)習(xí)]電信專(zhuān)業(yè)課程設(shè)計(jì)-proteus介紹
- 電氣工程專(zhuān)業(yè)課程設(shè)計(jì)報(bào)告
- 機(jī)械制造專(zhuān)業(yè)課程設(shè)計(jì)示例
- 材料成型與控制專(zhuān)業(yè)課程設(shè)計(jì)
- 基于ieee802.11a的無(wú)線鏈路簽名測(cè)量系統(tǒng)的設(shè)計(jì)與建模
- 電氣專(zhuān)業(yè)課程設(shè)計(jì)綜合設(shè)計(jì)題目
- 專(zhuān)業(yè)課程設(shè)計(jì)-蒸汽發(fā)生器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論