MIMO-OFDM系統(tǒng)的接收信號(hào)是多個(gè)發(fā)射天線發(fā)送信號(hào)的衰落與加性噪聲的線性疊加,若采用通常SISO-OFDM系統(tǒng)或MIMO系統(tǒng)的估計(jì)算法估計(jì)信道,將會(huì)帶來(lái)很大的估計(jì)誤差。出于設(shè)計(jì)實(shí)現(xiàn)的考慮,本文主要研究理論相對(duì)比較成熟的慢變環(huán)境下基于訓(xùn)練序列的MIMO-OFDM系統(tǒng)的信道估計(jì)算法。本章將主要討論MIMO-OFDM系統(tǒng)特殊訓(xùn)練序列的設(shè)計(jì)和信道估計(jì)算法的選擇。
多天線系統(tǒng)的信道估計(jì)算法同單天線系統(tǒng)的相比具有更大的復(fù)雜性,因?yàn)榻邮招盘?hào)是多個(gè)發(fā)射信號(hào)的疊加信號(hào),這些發(fā)射信號(hào)同時(shí)從多個(gè)發(fā)射天線上發(fā)射出來(lái),幾乎同步到達(dá)任一接收天線。因此要從一個(gè)疊加信號(hào)中正確的識(shí)別出多個(gè)發(fā)射信號(hào),需要信道估計(jì)算法能估計(jì)出各發(fā)射天線到同一接收天線之間多個(gè)并行信道的信道特性。而任一發(fā)射天線到任一接收天線之間的信道估計(jì)可參考單天線系統(tǒng)的算法。
信道估計(jì)算法主要可以分為兩種:盲估計(jì)算法和非盲估計(jì)算法。盲信道估計(jì)算法不需要在發(fā)送信息中插入訓(xùn)練序列,節(jié)約了帶寬。盲估計(jì)算法的實(shí)現(xiàn)需要利用發(fā)送信息內(nèi)包含的統(tǒng)計(jì)信息。這通常需要在接收端對(duì)接收信號(hào)進(jìn)行復(fù)雜的數(shù)學(xué)運(yùn)算,算法的運(yùn)算量一般都很大,不適合應(yīng)用于對(duì)時(shí)延要求比較高的實(shí)時(shí)系統(tǒng)。非盲估計(jì)算法是在發(fā)送信號(hào)中插入收發(fā)兩端都事先己知的信息,接收端在接收到該已知信息之后,由該信息的幅度、載頻或相位變化來(lái)估計(jì)信道對(duì)發(fā)送信息所造成的衰落影響。算法應(yīng)用廣泛,幾乎可以應(yīng)用于所有的無(wú)線通信系統(tǒng)。
輸入信號(hào)經(jīng)復(fù)用器分解成n個(gè)長(zhǎng)度相同的數(shù)據(jù)流,然后進(jìn)行獨(dú)立地編碼和調(diào)制,因此它不是基于發(fā)射分集的。這些編碼器可以是二進(jìn)制的卷積編碼器,也可以是不經(jīng)過(guò)任何編碼直接輸出。下面就來(lái)重點(diǎn)介紹一下這個(gè)系統(tǒng)的MATLAB的實(shí)現(xiàn)方法。
for k=1:N
Tc=c(k)*cos(2*pi*fd(k)*t+theta(k))+Tc;
Ts=c(k)*sin(2*pi*fd(k)*t+theta(k))+Ts;
end
r=ones(mt*mr,1)*(Tc.^2+Ts.^2).^0.5;
這段代碼主要用來(lái)產(chǎn)生所需要的信號(hào),分別有SIN,COS兩個(gè)分量。
for tx=1:mt
data_b=0*round(rand(4,nse));
data_qam(tx,:)=j*(2*(mod(data_b(1,:)+data_b(2,:),2)
+2*data_b(1,:))-3)+2*(mod(data_b(3,:)+data_b(4,:),2)+2*data_b(3,:))-3;
for loop=1:mt
data_qam(tx,pilot+loop-1)=(1+j)*(loop==tx);
end
data_time_temp=ifft(data_qam(tx,:));
data_time(tx,:)=[data_time_temp(end-ng+1:end) data_time_temp];
end
這段代碼主要用來(lái)模擬MIMO-OFDM系統(tǒng)的發(fā)送部分,首先模擬實(shí)際情況生成一個(gè)隨機(jī)信號(hào),然后將隨機(jī)信號(hào)通過(guò)QAM調(diào)制再經(jīng)過(guò)IFFT變化得到我們所要的信號(hào)。這個(gè)過(guò)程就是上述系統(tǒng)結(jié)果的描述。
for rx=1:mr
for tx=1:mt
output_temp=conv(data_time(tx,:),h((rx-1)*mt+tx,:));
output(rx,:)=output_temp(ng+1:ng+nse)+output(rx,:);
end
np=(sum(abs(output(rx,:)).^2)/length(output(rx,:)))*sigma2;
noise=(randn(size(output(rx,:)))+i*randn(size(output(rx,:))))*sqrt(np);
output(rx,:)=output(rx,:)+noise;
data_out(rx,:)=fft(output(rx,:));
end
這段代碼主要用來(lái)模擬MIMO-OFDM系統(tǒng)的接收部分。由于系統(tǒng)工作的時(shí)候,肯定會(huì)有噪聲的影響,所以只有通過(guò)模擬一個(gè)系統(tǒng)的噪聲才能正確的模擬系統(tǒng)的工作性。這里,我們通過(guò)產(chǎn)生一個(gè)隨機(jī)數(shù)和原始的信號(hào)進(jìn)行疊加來(lái)模擬我們所接收到的信號(hào)。
以上,我們模擬MIMO-OFDM系統(tǒng)的發(fā)送和接收模塊,下面就來(lái)建立一個(gè)系統(tǒng)的信道估計(jì)模塊:具體代碼如下所示:
for tx=1:mt
for rx=1:mr
H_est_temp=data_out(rx,pilot+tx-1)./data_qam(tx,pilot+tx-1);
h_time=ifft(H_est_temp);
h_time=[h_time zeros(1,nse-length(h_time))];
H_est1((rx-1)*mt+tx,:)=fft(h_time);
if (tx>1)
H_est1((rx-1)*mt+tx,:)=[H_est1((rx-1)*mt+tx,nse-tx+2:nse) H_est1((rx-1)*mt+tx,1:nse-tx+1)];
End
H_act((rx-1)*mt+tx,:)=fft([h((rx-1)*mt+tx,:) zeros(1,nse-CL)]);
error1=(abs(H_act((rx-1)*mt+tx,:)-H_est1((rx-1)*mt+tx,:)).^2);
estimation_error1((rx-1)*mt+tx,:)=estimation_error1((rx-1)*mt+tx,:)+error1;
end
end
通過(guò)這個(gè)方法,我們就可以做系統(tǒng)的信道估計(jì)了,此外還能計(jì)算系統(tǒng)的平均誤差檢測(cè),從而驗(yàn)證系統(tǒng)的正確性。
審核編輯:黃飛
-
ofdm
+關(guān)注
關(guān)注
6文章
350瀏覽量
57391 -
MIMO
+關(guān)注
關(guān)注
12文章
598瀏覽量
77574 -
復(fù)用器
+關(guān)注
關(guān)注
1文章
747瀏覽量
28740 -
天線系統(tǒng)
+關(guān)注
關(guān)注
1文章
53瀏覽量
12420 -
卷積編碼器
+關(guān)注
關(guān)注
0文章
6瀏覽量
2498
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
怎么設(shè)計(jì)MIMO-OFDM檢測(cè)系統(tǒng)?
MIMO-OFDM中有哪些關(guān)鍵技術(shù)?
一種新的MIMO-OFDM同步技術(shù)解析
MIMO-OFDM系統(tǒng)信道容量與MIMO-OFDM系統(tǒng)吞吐量有何區(qū)別?
MIMO-OFDM技術(shù)
降低MIMO-OFDM系統(tǒng)PAPR的一種改進(jìn)方法
MIMO-OFDM的matlab和simulink仿真程序或
MIMO-OFDM不同信道估計(jì)的對(duì)比
基于塊調(diào)制的MIMO-OFDM系統(tǒng)
什么是MIMO-OFDM技術(shù)
對(duì)MIMO-OFDM無(wú)線系統(tǒng)的誤碼率評(píng)估
智能天線在JT-SA MIMO-OFDM系統(tǒng)的應(yīng)用

MIMO-OFDM無(wú)線通信技術(shù)(Matlab代碼實(shí)現(xiàn))

基于OMP算法的MIMO-OFDM信道估計(jì)

基于FPGA的MIMO-OFDM基帶系統(tǒng)發(fā)射機(jī)的設(shè)計(jì)

評(píng)論