?最近也是晴多霧少。最痛苦的是下周OFDM的通信系統測試。想必同學的腦洞都比我大,很多同學問我這個OFDM怎麽做。我也簡單說說高斯信道下的OFDM系統,其實我也說說瑞利和萊斯信道下的OFDM。不過別問了,有點難。
他們跟我們溝通就是裝修寬帶和電線,其實不是。是該拼實力,還是該懂點常識?
信源編碼:註重信號容量壓縮,提高傳輸效率。
信道編碼:為可變信道插入冗余信息,增加傳輸穩定性(在設計的OFDM中插入CP(循環前綴),導頻信號為冗余信息)。
信號調制:將比特流轉換成穩定的波形以便傳輸。
比如:sint?然後呢。sin2t?是壹對正交信號,因為sint*sin2t在區間內;%輸入序列xk
sn = IFFT(xk);?%IFFT後的序列號序列輸出
?可以得到輸入序列後的IFFT曲線。
%////////////////////////////////////////////////////////////////////////////////////////////////////
使用公式:f(t)=∑fk e(j . 2πδf kt)。
對於QPSK調制,OFDM符號中有兩個比特。
(對應於OFDM符號和調制方案的比特數:(QPSK: 2),(16QAM: 4),(64QAM: 6)?)
根據公式找出副載波。
副載波百分比
e 1 = exp(1i * 2 * pi * f * t);
E2 = exp(1i * 2 * pi * f * t * 2);
E3 = exp(1i * 2 * pi * f * t * 3);
E4 = exp(1i * 2 * pi * f * t * 4);
OFDM基帶復信號的表達
ST = d 1 * e 1+D2 * E2+D3 * E3+D4 * E4;?%展開上面的公式。
畫壹幅聖彼得的畫像。
我們比較上面的st和sn圖像。
(上圖為實部,下圖為虛部)
令人驚訝的發現,IFFT之後的圖是公式圖的離散值!所以OFDM系統和傅立葉級數有著親密不可分的感情,比如牛郎織女,楊貴妃和唐玄宗,葫蘆娃和爺爺。。。。。這似乎有點奇怪
?所以IFFT模塊的作用相當於說:不用費心發N個副載波信號,我直接計算妳在空中會疊加什麽;FFT模塊的作用相當於說:不要用老式的積分法去掉其他正交的子載波,讓我幫妳壹下子把N個載波信號全部算出來。
最後,設計要進行了。前面太多了,我都打累了。原來寫文章這麽辛苦,我覺得司馬遷比牛。。
先說最簡單的高斯信道。我們走吧。
如上所述,傅立葉變換在OFDM系統中起著重要的作用,所以我們在OFDM系統的仿真中使用了IFFT和FFT算法。
高斯信號就是通過這個信道在信號中加入高斯白噪聲。
在maltab通信系統的仿真中,我們使用AWGN (TRDATA 1,SNR,'實測');向信號TrData1添加高斯白噪聲的函數。
信號經過無線信道後,其信號幅度是隨機的,即衰落,其包絡服從瑞利分布。
接收到的信號有四個效果:1。暗影2。距離3。多路4。多普勒頻移。
簡單地說,萊斯信道比瑞利信道多壹個DC分量。
就是我們所說的循環前綴,那為什麽還要加上CP循環前綴的冗余信息呢?為了抵抗由多徑效應引起的ICI(載波間幹擾),還應該註意,CP占用每個OFDM符號的大約1/15資源。
通過訓練序列插入導頻信號的信息,實時估計信道,然後對信號進行校正,以降低解調時的誤碼率。
發件人:
步驟1:生成隨機序列信號= rand (1,PARA * NS * 2) > 0.5
其中,我們設置並行傳輸的子載波的數量。
Ns是幀結構中OFDM信號的數量。
第二步:進行串並轉換。
串並行轉換成壹個非常重要的函數整形函數
它的用法是:SIG para = shape(signal,para,ns * 2);將原始信號信號轉換成並行Ns*2列信號。
重塑(a,m,n);首先將矩陣A分成列,然後拼接成m * n大小的向量..
第三步:QPSK調制。
(1)將數據分為兩個通道,I通道和Q通道。
該功能如下所示:
對於j=1:Ns
ich(:,j)=SigPara(:,2 * j-1);
qch(:,j)=SigPara(:,2 * j);
結束
(2)根據QPSK映射關系,獲得輸入數據。
kmod=1。/sqrt(2);
ich1=ich。* kmod
qch1=qch。* kmod?%QPSK映射關系
步驟4:插入保護間隔
ich3=[ich2(fl-gl+1:fl,);ich 2];
qch3=[qch2(fl-gl+1:fl,:);qch 2];
我們選擇gl = 32:復制信號的最後32組數據,加到原信號上——加強容錯。
步驟5:並行-串行轉換
ich4=reshape(ich3,1,(fl+GL)* Ns);
qch4=reshape(qch3,1,(fl+GL)* Ns);
形成多個傳輸數據:trdata1 = ich4+qch4。* sqrt(-1);
第六步:在傳輸的數據中加入高斯白噪聲。
ReData=awgn(TrData1,SNR,'實測');
%///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
接收端:
步驟1:移除保護間隔。
(1)來復制數據。
idata = real(ReData);添加噪聲後的實部百分比
qdata = imag(ReData);添加噪聲後的虛部百分比
(2)數據的串並行轉換
idata1 = reshape(idata,fl+gl,Ns);
qdata1 = reshape(qdata,fl+gl,Ns);
(3)移除保護間隔
idata 2 = idata 1(GL+1:GL+fl,);
qdata 2 = qdata 1(GL+1:GL+fl,);
idata1的每壹列從gl+1到gl+fl的數據構成iadta2。
第二步:快速傅立葉變換
步驟3: QPSK解調:
(1)FFT轉換後的數據/komd?
?(2)並行-串行轉換
(3)重組信號
第四步:抽樣判斷
ReSig = Res & gt0.5;對上述重組信號進行分析後,大於0.5的信號賦為1,小於0.5的信號賦為0。
第五步:計算出錯的概率。
err = 0;
對於I = 1:para * Ns * 2;
if (Signal(i)~=ReSig(i))
err = err+1;%獲取錯誤代碼的數量。
結束
結束
PE = err/(para * Ns * 2);
取多組信噪比值,加入高斯信道,可以得到snr-Pe曲線
%///////////////////////////////////////////////////////////////////////////////////////
圖為瑞利信道下的OFDM(無信道估計)。
可以看出,當加入多徑和多普勒頻移時,信道誤碼率從3%上升到30%左右,瑞利信道完全破壞了信號傳輸。
引入導頻信號
我們正在添加排飛行員和排飛行員。
A =[A;R]插入該行?插值
在行之間添加引導:
ich2= [zeros(fl,1) ich21(:,[1:Ns/2]) zeros(fl,1) ich21(:,[Ns/2+1:Ns]) zeros(fl,1)];
在行間添加導頻:
ich 2 =[零(1,(Ns+3));ich2(1:fl/2,);零(1,(Ns+3));ich2((fl/2)+1:fl,);零(1,(Ns+3))];?
加入的結果:
在添加導頻信號之後,可以使用LS算法來估計信道。
LS算法的基本原理:Y = HX+N?其中n是噪聲信號,h是通道的頻率響應,y和x是輸出和輸入信號的響應。
在理想信道下:H’= Y/X輸入除以輸出(其中Y為通過瑞利信道後的信號),即可得到頻率響應H’的估計。
我們用得到的H '依次計算X的估計:X' = Y/H '?獲取新輸入。x’經受去導頻的後續處理。
對於j = 1:(Ns+3)
對於i = 1:(para+3)
Hls(i,j) = idata21(i,j)。/ich2(i,j);
ixg(i,j) = idata21(i,j)。/ Hls(i,j);
hls(i,j) = qdata21(i,j)。/qch2(i,j);
qxg(i,j) = qdata21(i,j)。/ hls(i,j);
結束
結束
添加信道估計後的誤碼率示意圖:
在OFDM系統中,只有高斯白噪聲時OFDM系統的影響很小,在高斯信道中OFDM設計的優勢很小。
但是在瑞利信道中,OFDM導頻信號、CP和信道估計保護了傳輸的信號。在接收多徑和多普勒頻移的情況下,可以有效地恢復原始信號。
在沒有信道估計的OFDM - Rayleigh系統中,多徑、距離、陰影和多普勒頻偏對信號造成了嚴重的幹擾。不能正常傳輸,誤碼率嚴重。
。。。。。。。我厭倦了打字。裏面可能有些錯誤。請指正。