(完整版)OFDM仿真_第1頁
(完整版)OFDM仿真_第2頁
(完整版)OFDM仿真_第3頁
(完整版)OFDM仿真_第4頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、教師評閱意見:簽名:年月日實驗成績:一、題目OFDM 系統(tǒng)的 Matlab 仿真二、仿真要求要求一: OFDM 系統(tǒng)的數(shù)據(jù)傳輸傳輸?shù)臄?shù)據(jù)隨機產(chǎn)生;調(diào)制方式采用16QAM ;必須加信道的衰落必須加高斯白噪聲接收端要對信道進行均衡。要求二:要求對BER 的性能仿真設計仿真方案,得到在數(shù)據(jù)傳輸過程中不同信噪比的BER 性能結(jié)論,要求得到的 BER 曲線較為平滑。三、仿真方案詳細設計(一)基于 IFFT/FFT 實現(xiàn)的 OFDM 系統(tǒng)方框圖:(二)詳細設計方案:1 確定參數(shù)需要確定的參數(shù)為:子信道,子載波數(shù), FFT 長度,每次使用的 OFDM 符號數(shù),調(diào)制度水平,符號速率,比特率,保護間隔長度,信噪

2、比,插入導頻數(shù),基本的仿真可以不插入導頻,可以為 0。2 產(chǎn)生數(shù)據(jù)使用 個隨機數(shù) 產(chǎn)生 器產(chǎn) 生二進制數(shù)據(jù) ,每 次產(chǎn)生的數(shù)據(jù) 個數(shù) 為 carrier_count * symbols_per_carrier * bits_per_symbol。3 編碼交織交織編碼可以有效地抗突發(fā)干擾。4 子載波調(diào)制OFDM 采用 BPSK、QPSK、16QAM 、 64QAM4 種調(diào)制方式。按照星座圖,將每個子信道上的數(shù)據(jù),映射到星座圖點的復數(shù)表示,轉(zhuǎn)換為同相Ich 和正交分量 Qch。其實這是一種查表的方法,以 16QAM 星座為例, bits_per_symbol=4,則每個 OFDM 符號的每個子信道

3、上有 4 個二進制數(shù) d1,d2,d3,d4, 共有 16 種取值,對應星座圖上 16 個點,每個點的實部記為 Qch。為了所有的映射點有相同高的平均功率,輸出要進行歸一化,所以對應 BPSK,PQSK,16QAM,64QAM ,分別乘以歸一化系數(shù)系數(shù) 1, 1 2 , 1 10 , 1 42 .輸出的復數(shù)序列即為映射后的調(diào)制結(jié)果。5 串并轉(zhuǎn)換 。將一路高速數(shù)據(jù)轉(zhuǎn)換成多路低速數(shù)據(jù)6 IFFT 。對上一步得到的相同分量和正交分量按照(Ich+Qch*i )進行 IFFT 運算。并將得到的復數(shù)的實部作為新的Ich,虛部作為新的Qch。在實際運用中,信號的產(chǎn)生和解調(diào)都是采用數(shù)字信號處理的方法來實現(xiàn)的

4、,此時要對信號進行抽樣,形成離散時間信號。由于 OFDM 信號的帶寬為 B=N ·f , 信號必須以t=1/B=1/(N · f) 的時間間隔進行采樣。采樣后的信號用sn,i表示, i = 0, 1, N-1 ,則有1N 1j2 ik / Nsn,iSn, keN k 0從該式可以看出,它是一個嚴格的離散反傅立葉變換(IDFT )的表達式。 IDFT 可以采用快速反傅立葉變換 (IFFT) 來實現(xiàn)7 加入保護間隔。由 IFFT 運算后的每個符號的同相分量和正交分量分別轉(zhuǎn)換為串行數(shù)據(jù), 并將符號尾部 G 長度的數(shù)據(jù)加到頭部,構(gòu)成循環(huán)前綴。如果加入空的間隔,在多徑傳播的影響下,

5、會造成載波間干擾 ICI 。保護見個的長度G 應該大于多徑時的擴張的最大值。子載波 1延遲的子載波 2子載波 2對子載波 1的干擾部分保護時間FFT積分時間OFDM 符號周期圖 1-2多徑情況下,空閑保護間隔在子載波間造成的干擾復 制IFFT保 護IFFT 輸 出保 護IFFT間 隔間 隔時 間TgT FFTTs符號N1符 號N符號N1圖 1-3 保護間隔的插入過程8 加窗加窗是為了降低系統(tǒng)的 PAPR,滾降系數(shù)為 1/32。通過這種方法, 可以顯著地改善 OFDM 通信系統(tǒng)高的 PAPR 分布,大大降低了峰值信號出現(xiàn)的概率以及對功率放大器的要求,節(jié)約成本。經(jīng)常被采用的窗函數(shù)是升余弦窗0.50

6、.5costTs0tTsw t1.0TstTs0.50.5costTsTsTst1Ts(1-2)圖 1-9經(jīng)過加窗處理后的OFDM 符號示意圖9 通過信道。信道分為多徑實驗信道和高斯白噪聲信道。多徑時延信道直射波河延遲波對于標準時間按照固定比率遞減,因此多徑時延信道參數(shù)為比率和對大延遲時間。10 同步。同步是決定 OFDM 系統(tǒng)高性能十分重要的方面,實際 OFDM 系統(tǒng)都有同步過稱。主要同步方法有使用導頻,循環(huán)前綴,忙算法三種。研究目的為同步的可以詳細實現(xiàn)本步,基本的方針可以略過此步,假設接收端已經(jīng)于發(fā)射端同步。11 去掉保護間隔。根據(jù)同步得到的數(shù)據(jù),分別見給每個符號的同相分量和正交分量開頭的

7、保護間隔去掉。12 并串轉(zhuǎn)換。將每個符號分布在子信道上的數(shù)據(jù),還原為一路串行數(shù)據(jù)。13 FFT 。對每個符號的同相分量和正交分量按照(Ich+Qch*i )進行 FFT 運算。并將得到的實部作為新的 Ich,虛部作為新的 Qch。與發(fā)端相類似, 上述相關運算可以通過離散傅立葉變換(DFT)或快速傅立葉變換 (FFT)來實現(xiàn), 即:Rn,k1 N 1rn ,i e j 2ik / NN i 014 子載波解調(diào)FFT 后的同相粉臉感和正交分量兩組數(shù)據(jù)在星座圖上對飲高的點,由于噪聲和信道的影響,不再是嚴格的發(fā)送端的星座圖。將得到的星座圖上的點按照最近原則判決為原星座圖上的點,并按映射規(guī)則還原為一組數(shù)

8、據(jù)。15 解碼解交織。按照編碼交織對應解碼,解交織的方法,還原為原始數(shù)據(jù),并進行糾錯處理。16 計算誤碼率。比較第 2 步產(chǎn)生的數(shù)據(jù)和接收到的數(shù)據(jù),計算誤碼率BER17 統(tǒng)計誤碼率使用 for循環(huán),將 SNR從 0dB 到 30dB 逐五變化,運行主函數(shù),統(tǒng)計誤碼率,畫出誤碼率曲線。四、仿真結(jié)果及結(jié)論)stlov(edtuilpmA)stlov(edtuilpmA16QAM調(diào)制后星座圖43210-1-2-3-4-3-2-101234-4循 環(huán) 前 后 綴 不 疊 加 的 OFDM Time Signal0.50-0.501000 2000 3000 4000 5000 6000 7000 80

9、00 Time (samples)循 環(huán) 前 后 綴 疊 加 的 OFDM Time Signal0.50-0.501000 2000 3000 4000 5000 6000 7000 8000 Time (samples)Bd(edtuingaM加窗的發(fā)送信號頻譜20100-10-20-30-4000.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Normalized Frequency (0.5 = fs/2)極坐標下的接收信號的星座圖9061206041503021800210330240300270XY坐標接收信號的星座圖43210-1-2-3-

10、4-3-2-101234-4輸出待調(diào)制的二進制比特流10.500102030405060708090100接收解調(diào)后的二進制比特流10.500102030405060708090100010Rayleigh fading-110reB-210-310051015SNR1該函數(shù)基本能實現(xiàn)本次實驗的要求,概括了OFDM主要的實現(xiàn)過程,能畫出每一個步驟的圖像,更具體形象地反應了OFDM的過程。同時也能統(tǒng)計并繪制出在不同信噪比情況下的誤碼率曲線。五、總結(jié)與體會本程序沒有添加信道估計部分,與峰均值仿真,如果添加了將更加完善對OFDM的研究。且通過本次仿真實驗,讓我更加清楚地明白了OFDM調(diào)制技術(shù)的過程與

11、其優(yōu)缺點。OFDM 技術(shù)的優(yōu)點主要有:(1) OFDM 調(diào)制方式適用于多徑和衰落信道中的高速數(shù)據(jù)傳輸。當信道因為多徑的影響出現(xiàn)頻率選擇性衰落時,只有落在頻率凹陷處的載波及其攜帶的信息受到影響,其它子載波未受損害;。(2)在 OFDM 調(diào)制方式中,通過插入保護間隔,可以很好地克服符號間干擾(ISI) 和載波間干擾 (ICI)(3) 由于 OFDM 各子載波相互正交,允許各子載波有 1/2 重疊,因此可以大大提高頻譜利用率:(4) 由于深度衰落而丟失的一些子載波可通過編碼、交織等措施來很好的恢復,提高系統(tǒng)抗誤碼性能,且通過各子載波的聯(lián)合編碼,具有很強的抗衰落能力;(5) OFDM 技術(shù)抗脈沖及窄帶

12、干擾的能力很強,因為這些干擾僅僅影響到很小一部分的子信道;(6) 與單載波系統(tǒng)相比,對采樣定時偏移不敏感。OFDM 技術(shù)的缺點主要有:(1) 由于要求各子載波正交,所以對頻率偏移和相位噪聲很敏感;(2) 由于各子載波相互獨立,峰值功率與均值功率比相對較大,且隨子載波數(shù)目的增加而增加。高峰均比信號通過功放時,為了避免信號的非線性失真和帶外頻譜再生,功放需要具有較大的線性范圍,導致射頻放大器的功率效率降低。六、主要仿真代碼clear all;close all;carrier_count=200;% 子載波數(shù)symbols_per_carrier=12;% 每子載波含符號數(shù)bits_per_sym

13、bol=4;% 每符號含比特數(shù),16QAM 調(diào)制IFFT_bin_length=512;%FFT點數(shù)PrefixRatio=1/4;%保護間隔與OFDM數(shù)據(jù)的比例1/61/4GI=PrefixRatio*IFFT_bin_length ;%每一個OFDM符號添加的循環(huán)前綴長度為1/4*IFFT_bin_length即保護間隔長度為128beta=1/32;% 窗函數(shù)滾降系數(shù)GIP=beta*(IFFT_bin_length+GI);%循環(huán)后綴的長度20SNR=15; % 信噪比dB%=%=信號產(chǎn)生 =baseband_out_length = carrier_count * symbols_p

14、er_carrier * bits_per_symbol;%所輸入的比特數(shù)目carriers = (1:carrier_count) + (floor(IFFT_bin_length/4)- floor(carrier_count/2);%共軛對稱子載波映射數(shù)數(shù)據(jù)對應的IFFT 點坐標conjugate_carriers = IFFT_bin_length - carriers + 2;%共軛對稱子載波映射共軛復數(shù)對應的IFFT 點坐標baseband_out=round(rand(1,baseband_out_length);% 輸出待調(diào)制的二進制比特流%=16QAM調(diào)制 =復complex

15、_carrier_matrix=qam16(baseband_out);% 列向量complex_carrier_matrix=reshape(complex_carrier_matrix',carrier_count,symbols_per_carrier)'%symbols_per_carrier*carrier_count矩陣figure(1);plot(complex_carrier_matrix,'*r');%16QAM調(diào)制后星座圖title('16QAM調(diào)制后星座圖 ')axis(-4, 4, -4, 4);grid on%=IFFT

16、=IFFT_modulation=zeros(symbols_per_carrier,IFFT_bin_length);%添 0 組成 IFFT_bin_length IFFT運算IFFT_modulation(:,carriers ) = complex_carrier_matrix ;%未添加導頻信號,子載波映射在此處IFFT_modulation(:,conjugate_carriers ) = conj(complex_carrier_matrix);%共軛復數(shù)映射%=signal_after_IFFT=ifft(IFFT_modulation,IFFT_bin_length,2);%

17、OFDM調(diào)制即IFFT變換time_wave_matrix =signal_after_IFFT;%映射在其內(nèi),每一行即為一個OFDM時域波形矩陣,行為每載波所含符號數(shù),列符號ITTF點數(shù), N個子載波%=%=添加循環(huán)前綴與后綴=XX=zeros(symbols_per_carrier,IFFT_bin_length+GI+GIP);for k=1:symbols_per_carrier;for i=1:IFFT_bin_length;XX(k,i+GI)=signal_after_IFFT(k,i);endfor i=1:GI;XX(k,i)=signal_after_IFFT(k,i+IF

18、FT_bin_length-GI);%添加循環(huán)前綴endfor j=1:GIP;XX(k,IFFT_bin_length+GI+j)=signal_after_IFFT(k,j);%添加循環(huán)后綴endendtime_wave_matrix_cp=XX;%添加了循環(huán)前綴與后綴的時域信號矩陣,此時一個OFDM符號長度為IFFT_bin_length+GI+GIP=660%=OFDM符號加窗 =windowed_time_wave_matrix_cp=zeros(1,IFFT_bin_length+GI+GIP); for i = 1:symbols_per_carrierwindowed_time

19、_wave_matrix_cp(i,:) = real(time_wave_matrix_cp(i,:).*rcoswindow(beta,IFFT_bin_length+GI)'% 加窗 升余弦窗end%=生成發(fā)送信號,并串變換=windowed_Tx_data=zeros(1,symbols_per_carrier*(IFFT_bin_length+GI)+GIP); windowed_Tx_data(1:IFFT_bin_length+GI+GIP)=windowed_time_wave_matrix_cp(1,:); for i = 1:symbols_per_carrier-

20、1 ;windowed_Tx_data(IFFT_bin_length+GI)*i+1:(IFFT_bin_length+GI)*(i+1)+GIP)=windowed_time_wave_matri x_cp(i+1,:);% 并串轉(zhuǎn)換,循環(huán)后綴與循環(huán)前綴相疊加end%=Tx_data=reshape(windowed_time_wave_matrix_cp',(symbols_per_carrier)*(IFFT_bin_length+GI+GIP),1)'%加窗后循環(huán)前綴與后綴不疊加的串行信號%=temp_time1 = (symbols_per_carrier)*(IF

21、FT_bin_length+GI+GIP);%加窗后循環(huán)前綴與后綴不疊加發(fā)送總位數(shù)figure (2)subplot(2,1,1);plot(0:temp_time1-1,Tx_data );% 循環(huán)前綴與后綴不疊加 發(fā)送的信號波形 grid onylabel('Amplitude (volts)')xlabel('Time (samples)')title(' 循環(huán)前后綴不疊加的OFDM Time Signal')temp_time2 =symbols_per_carrier*(IFFT_bin_length+GI)+GIP;subplot(2

22、,1,2);plot(0:temp_time2-1,windowed_Tx_data);%循環(huán)后綴與循環(huán)前綴相疊加grid onylabel('Amplitude (volts)')xlabel('Time (samples)')發(fā)送信號波形title(' 循環(huán)前后綴疊加的OFDM Time Signal')%=加窗的發(fā)送信號頻譜=symbols_per_average = ceil(symbols_per_carrier/5);% 符號數(shù)的1/5, 10 行avg_temp_time = (IFFT_bin_length+GI+GIP)*sym

23、bols_per_average;%點數(shù), 10 行數(shù)據(jù), 10 個符號averages = floor(temp_time1/avg_temp_time);average_fft(1:avg_temp_time) = 0;% 分成 5 段for a = 0:(averages-1)subset_ofdm = Tx_data(a*avg_temp_time)+1):(a+1)*avg_temp_time);% 利用循環(huán)前綴后綴未疊加的串行加窗信號計算頻譜subset_ofdm_f = abs(fft(subset_ofdm);% 分段求頻譜average_fft = average_fft +

24、 (subset_ofdm_f/averages);% 總共的數(shù)據(jù)分為endaverage_fft_log = 20*log10(average_fft);figure (3)subplot(2,1,2)plot(0:(avg_temp_time-1)/avg_temp_time,average_fft_log)%歸一(avg_temp_time-1)/avg_temp_time5 段,分段進行FFT,平均相加化0/avg_temp_time:hold onplot(0:1/IFFT_bin_length:1, -35, 'rd')grid onaxis(0 0.5 -40 m

25、ax(average_fft_log)ylabel('Magnitude (dB)')xlabel('Normalized Frequency (0.5 = fs/2)')title(' 加窗的發(fā)送信號頻譜')%=添加噪聲 =Tx_signal_power = var(windowed_Tx_data);%發(fā)送信號功率linear_SNR=10(SNR/10);% 線性信噪比noise_sigma=Tx_signal_power/linear_SNR;noise_scale_factor = sqrt(noise_sigma);% 標準差 sig

26、manoise=randn(1,(symbols_per_carrier)*(IFFT_bin_length+GI)+GIP)*noise_scale_factor;%產(chǎn)生正態(tài)分布噪聲序列Rx_data=windowed_Tx_data +noise;% 接收到的信號加噪聲%=接 收 信號串/并變換去除前綴與 后綴=Rx_data_matrix=zeros(symbols_per_carrier,IFFT_bin_length+GI+GIP);for i=1:symbols_per_carrier;Rx_data_matrix(i,:)=Rx_data(1,(i-1)*(IFFT_bin_length+GI)+1:i*(IFFT_bin_length+GI)+GIP);%串并變換endRx_data_complex_matrix=Rx_data_matrix(:,GI+1:IFFT_bin_length+GI);%去除循環(huán)前綴與循環(huán)后綴,得到有用信號矩陣%=%OFDM 解碼16QAM 解碼%=FFT變換 =Y1=fft(Rx_data_complex_matrix,IFFT_bin_length,2);%OFDM解碼 即 FFT 變換Rx_carriers=Y1(:,carriers);%除去 IFFT/FFT變換添加的0,選出映射的子載波Rx_phase =ang

溫馨提示

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

最新文檔

評論

0/150

提交評論