夏班長聊聊OFDM通信系統(tǒng)仿真

一, 廢話..

? 起因是這樣的。最近剛寫完專利,腦殼巨大無比,所以想寫點文章陶冶下情操。但是我這個大老粗爺們也寫不來言情小說,搞得我很是痛苦。我唯一會的也就只有 matlab了,, 所以寫一篇文章自我陶醉一下,哈哈哈。。

? 最近也是天氣晴朗,霧霾飄香。最痛苦的是下周OFDM的通信系統(tǒng)測試。想必同學(xué)們也是腦殼比我還大,也有很多同學(xué)問我這個 OFDM咋個做哦。我也簡單的說下在高斯信道下的 OFDM系統(tǒng),其實也講了講瑞利,萊斯信道下的 OFDM。 但是不要求嘛 ,確實那個有點難。


二. OFDM與傅里葉曖昧關(guān)系

? 一.?物理層的小知識

他們我們通信就是裝點寬帶啊,電線啊,但是不然。我們要自奮強大,還是要懂點小常識

信源編碼:著重對信號容量壓縮,提高傳輸效率

信道編碼:針對多變的信道插入冗余信息,增加傳輸穩(wěn)定性(設(shè)計的OFDM插入的CP(循環(huán)前綴),引頻信號就是冗余信息)。

信號調(diào)制:將比特流轉(zhuǎn)換成穩(wěn)定的波形進行傳輸

? 二.信號的正交性

比如: sint ?和 ?sin2t ?為一對正交信號,因為 sint*sin2t 在區(qū)間[0,2 pi]上的積分為0.

?sint和 sin2t是用來承載信號的,我們稱為子載波

加入 sint 信號傳送信號a ,采用AM調(diào)制,它變?yōu)?asint

加入 sin2t信號傳送信號b,采用AM調(diào)制,它變?yōu)?bsin2t

那么我們的和信號就變成 xn = asint+ bsin2t

接收a信號時候:將xn * sint 再通過[0,2pi]積分,sin2t的分量信號就變?yōu)榱?,只剩下帶有a的信號

接收b信號時候:將xn * sin2t 再通過[0,2pi]積分,sint的分量信號就變?yōu)榱?,只剩下帶有b的信號

%還不曉得的話,動一動筆寫一下就明白了。?

擴展一下

我們將sint離散化 ?就變成了 sin(2*pi*Δf*K*T) ?其中K = 1,2,3.....?

Δf為子載波間間隔.?

我們的f(t) 則可以變成

f(t) = a1·sin(2π·Δf·t) +

a2·sin(2π·Δf·2t) +

a3·sin(2π·Δf·3t) .....

再擴展一下

因為sint 和 cost 是正交的。 對吧

f(t) =?b1·cos(2π·Δf·t) +

b2·cos(2π·Δf·2t) +

b3·cos(2π·Δf·3t) .....

那么f(t)就可以找到合適的系數(shù)ak,和bk,將


f(t) = a1·sin(2π·Δf·t) +

a2·sin(2π·Δf·2t) +

a3·sin(2π·Δf·3t) +

...

ak·sin(2π·Δf·kt) +

b1·cos(2π·Δf·t) +

b2·cos(2π·Δf·2t) +

b3·cos(2π·Δf·3t) +

...

bk·cos(2π·Δf·kt)?

綜上f(t)=∑ak·sin(2π·Δf·kt) + ∑bk·cos(2π·Δf·kt)

對f(t)進行復(fù)數(shù)化 :f(t) =∑Fk·e(j·2π·Δf·kt) ?

這個啥子!!!!這是這就是傅里葉級數(shù),是不是很magical.

簡單的小實驗

設(shè)計一段曉得bit流,使其分別進行ifft后 與?f(t) =∑Fk·e(j·2π·Δf·kt)公式 兩種方法進行對比

現(xiàn)在假定待發(fā)送序列00011011,OFDM符號時長為1s,調(diào)制方式為QPSK


輸入信號 IQ信號 輸出信號相位

%00? ? ? ? ? 1/2,1/2? ? ? ? pi/4

%01? ? ? ? ? -1/2,1/2? ? ? ? 3pi/4

%10? ? ? ? ? -1/2,-1/2? ? ? 5pi/4

%11? ? ? ? ? 1/2,-1/2? ? ? ? 7pi/4

根據(jù)QPSK的映射關(guān)系,求出輸入函數(shù):

d1 = 1/2+1i*1/2;

d2 = -1/2+1i*1/2;

d3 = 1/2+1i*(-1/2);

d4 = -1/2 + 1i*(-1/2);

對輸入序列進行IFFT

xk = [0,d1,d2,d3,d4,0,0,0]; %輸入序列xk

sn = ifft(xk); ? %IFFT后輸出的sn序列

?即可得到輸入序列后的IFFT曲線



%////////////////////////////////////////////////////////////////////////////////////////////////////

采用公式法:f(t) =∑Fk·e(j·2π·Δf·kt)

我們QPSK調(diào)制,則一個OFDM符號里有2個bit

(一個OFDM符號與調(diào)制方式對應(yīng)的bit數(shù)目:(QPSK:2),(16QAM:4),(64QAM:6) ? )

根據(jù)公式求出子載波

%子載波

e1 = 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基帶復(fù)信號表達式

st = d1*e1 + d2*e2 + d3*e3 + d4*e4; ? %將上述公式展開

畫出st的圖像


我們將上述的st與sn圖像進行對比


(上圖形為實部,下圖形為虛部)

可以驚訝的發(fā)現(xiàn):IFFT后的圖形就是公式圖形的離散值!所以O(shè)FDM系統(tǒng)和傅里葉級數(shù)有種親密而不可分離的感情,如同牛郎和織女,楊貴妃和唐玄宗,葫蘆娃和爺爺。。。。。 好像有點奇怪

? 所以IFFT模塊的功能相當(dāng)于說:別麻煩發(fā)送N個子載波信號了,我直接算出你們在空中會疊加成啥樣子吧FFT模塊的功能相當(dāng)于說:別用老式的積分方法來去除其余的正交子載波了,我?guī)湍阋淮伟袾個攜帶信號全算出來吧


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(圖片來自小白)

三.OFDM系統(tǒng)設(shè)計

終于要進行設(shè)計了,前面一大堆,我打字都打累了。原來寫文章那么辛苦,我覺得司馬遷好牛比。。

我們先從最簡單的高斯信道說起走嘛。

前面說了傅里葉變化在OFDM系統(tǒng)中的舉足輕重的作用,所以我們OFDM系統(tǒng)的仿真才使用IFFT和FFT算法

高斯信道

高斯信號就是在信號通過此信道中加入高斯白噪聲。

在maltab通信系統(tǒng)仿真中我們用awgn(TrData1,SNR,'measured'); 函數(shù)來給信號TrData1添加高斯白噪聲

瑞利信道


信號通過無線信道之后,其信號幅度是隨機的,即“衰落”,并且其包絡(luò)服從瑞利分布.

接受信號具有四種效應(yīng):1.陰影 2.遠(yuǎn)近 3.多徑 4.多普勒頻移

萊斯信道

簡單的說萊斯信道比瑞利信道多了一條直流分量。

CP

就是我們所謂的循環(huán)前綴,為什么要加入CP循環(huán)前綴這個冗余信息呢。為了抵抗由于多徑效應(yīng)帶來的ICI(載波間干擾),設(shè)計的時候也要注意下:一個CP占用了每個OFDM符號約的1/15的資源

引頻信號的意義

插入引頻信號通過訓(xùn)練序列的信息,實時估計信道,從而再做信號的矯正,從而再解調(diào)的時候減少誤碼率之類。

高斯信道下的OFDM通信系統(tǒng)matlab仿真

發(fā)送端:

第一步:產(chǎn)生隨機數(shù)列 ??Signal=rand(1,para*Ns*2)>0.5

其中我們所設(shè)置的 para為并行傳輸?shù)淖虞d波個數(shù)

Ns為一個禎結(jié)構(gòu)中OFDM信號的個數(shù)

第二步:進行串并轉(zhuǎn)化

串并轉(zhuǎn)化為十分重要的函數(shù)reshape函數(shù)

其用法為:SigPara = reshape(Signal,para,Ns*2); 將原始信號Signal 信號轉(zhuǎn)化為para 行 Ns*2列的信號

reshape(a,m,n);先把矩陣a按列拆分,然后拼接成一個大小為m*n的向量。


第三步:進行QPSK調(diào)制

(1)將數(shù)據(jù)分為兩個通道 即i通道和q通道

函數(shù)如下:

for j=1:Ns

ich(:,j)=SigPara(:,2*j-1);

qch(:,j)=SigPara(:,2*j);

end

(2)根據(jù)QPSK映射關(guān)系,求出輸入后的數(shù)據(jù)

kmod=1./sqrt(2);

ich1=ich.*kmod;

qch1=qch.*kmod;? %QPSK映射關(guān)系

第四步:插入保護間隔

ich3=[ich2(fl-gl+1:fl,:);ich2];

qch3=[qch2(fl-gl+1:fl,:);qch2];



加入前每列128個點


加入后 每列 160個點

我們選取gl = 32:將信號的最后32組數(shù)據(jù)進行復(fù)制,加入到原始信號中 -- 加強容錯性

第五步:并串變換

ich4=reshape(ich3,1,(fl+gl)*Ns);

qch4=reshape(qch3,1,(fl+gl)*Ns);

形成復(fù)發(fā)射數(shù)據(jù):TrData1=ich4+qch4.*sqrt(-1);

第六步:發(fā)射數(shù)據(jù)加入高斯白噪聲

ReData=awgn(TrData1,SNR,'measured');

%///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

接受端:

第一步:移去保護間隔

(1)進行數(shù)據(jù)的復(fù)式化

idata=real(ReData); %加入噪聲后的實部

qdata=imag(ReData);? ? %加入噪聲后的虛部


(2)對數(shù)據(jù)進行串并轉(zhuǎn)化

idata1 = reshape(idata,fl+gl,Ns);

qdata1 = reshape(qdata,fl+gl,Ns);

(3)移去保護間隔

idata2=idata1(gl+1:gl+fl,:);

qdata2=qdata1(gl+1:gl+fl,:);

取idata1的每一列的gl+1 到gl+fl的數(shù)據(jù)形成iadta2


第二步:FFT


第三步:QPSK解調(diào):

(1)將fft轉(zhuǎn)化后的數(shù)據(jù)/komd?

? (2)并串轉(zhuǎn)化

? ?(3)重組信號

第四步:抽樣判決

ReSig = Res > 0.5; 將上述重組后的信號進行分析,大于0.5的信號賦值為1,小于0.5的賦值為0

第五步:計算錯誤的概率

err = 0;

for i = 1:para*Ns*2;

if (Signal(i)~=ReSig(i))

err = err + 1;? ? ? ? ? ? %得到誤碼的個數(shù)

end

end

Pe = err / (para*Ns*2);

取多組SNR值,加入高斯信道我們可以得到snr-Pe曲線


信噪比曲線

%///////////////////////////////////////////////////////////////////////////////////////

引深:如果信道為瑞利信道在有多徑效應(yīng)和多普勒頻移的情況下

信道的信能將會受到嚴(yán)重的影響

圖為加入瑞利信道后的OFDM(沒有做信道估計)


可見當(dāng)加入了多徑和多普勒頻移后的信道 誤碼率從3%上升到了30%左右,瑞利信道完全破壞了信號的傳輸

引頻信號的引入

我們在加入列引頻和行引頻

A=[A;r]插行 ? ? ? ? ? A=[A c]插列

列間加入引頻:

ich2= [zeros(fl,1) ich21(:,[1:Ns/2]) zeros(fl,1) ich21(:,[Ns/2+1:Ns]) zeros(fl,1)] ;

行間加入引頻:

ich2 = [zeros(1,(Ns+3)) ; ich2(1:fl/2,:) ; zeros(1,(Ns+3)) ; ich2((fl/2)+1:fl,:) ; zeros(1,(Ns+3))]; ?

加入的結(jié)果:


加入行列引頻信號


加入引頻信號后可以通過LS算法來 做信道估計

LS算法基本原理:Y = HX + N ?其中N為噪聲信號,H為信道的頻率響應(yīng),Y,X為輸出,輸入信號的響應(yīng)

在理想信道下: H' = Y/X 輸入除以輸出(其中Y為通過瑞利信道后的信號) ,可以得到頻率響應(yīng)H的估計H'

我們用所得到的H'再反過來推算出X的估計:X' = Y/H' ?得到新的輸入。對X’再進行去引頻的后續(xù)處理

for j = 1:(Ns+3)

for 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);

end

end

加入信道估計后誤碼率的圖示:


結(jié)論

OFDM系統(tǒng)中 :OFDM系統(tǒng)在只有高斯白噪聲的情況下影響較小,OFDM設(shè)計在高斯信道下的優(yōu)勢很小

但是在瑞利信道中,OFDM引頻信號,CP,信道估計對傳輸?shù)男盘柶鸬搅吮Wo的作用。使其在收到多徑,多普勒頻移的條件下,能夠有效的恢復(fù)出原信號。

在沒有信道估計得OFDM--瑞利系統(tǒng),多徑,遠(yuǎn)近,陰影,多普勒頻偏對信號造成了嚴(yán)重的干擾。使其不能夠正常傳輸,有著嚴(yán)重的誤碼率。


。。。。。。。打字都打累了,可能里面會有些錯誤,請各位指正。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容