国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MIMO大規(guī)模天線陣列原理與matlab仿真(含GUI)

這篇具有很好參考價(jià)值的文章主要介紹了MIMO大規(guī)模天線陣列原理與matlab仿真(含GUI)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一 設(shè)計(jì)實(shí)現(xiàn)流程

1.MIMO系統(tǒng)原理

傳統(tǒng)的無線通信系統(tǒng)是采用一個發(fā)送天線和一個接收天線的通信系統(tǒng),即單輸入單輸出(SISO)天線系統(tǒng)。但由于單天線系統(tǒng)的信道容量較低,不能滿足4G、5G數(shù)據(jù)傳輸需求,由香農(nóng)公式可知,提高信道容量有兩種方式,一是增大帶寬,二是提高信噪比(增大發(fā)射功率)。但由于頻譜資源比較珍稀,多徑效應(yīng)等緣故,增大帶寬方式并不實(shí)用;而增大帶寬帶來的增益十分有限,顯得并不劃算。鑒于以上原因,MIMO應(yīng)運(yùn)而生,在功率和帶寬受限的情況下,通過增加天線數(shù)量來充分利用無線信道的空間資源,使單路傳輸變?yōu)槎嗦穫鬏?,從而提高信道容量。一個MIMO信道可以轉(zhuǎn)換成多個并行的相互獨(dú)立的信道,可見MIMO并不違背香農(nóng)公式,且通過增加天線充分利用無線信道提高了信道總?cè)萘俊?/p>

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖1 MIMO系統(tǒng)模型

MIMO系統(tǒng)就是多個信號流在空中的并行傳輸。在發(fā)射端輸入的數(shù)據(jù)流變成幾路并行的符號流,分別從Mt個天線同時(shí)發(fā)射出去;接收端從Mr個接收天線將信號接收下來,恢復(fù)原始信號。多個信號流可以是不同的數(shù)據(jù)流,也可以是同一個數(shù)據(jù)流的不同版本。不同的數(shù)據(jù)流就是不同的信息同時(shí)發(fā)射,意味著信息傳送效率的提升,提高了無線通信的效率。(如空分復(fù)用)

同一個數(shù)據(jù)流的不同版本,就是同樣的信息,不同的表達(dá)方式,并行發(fā)射出去,確保接受端收到信息的準(zhǔn)確,提高信息傳送的可靠性。(如空間分集)

為提高信息傳送效率的工作模式,就是MIMO的復(fù)用模式;為提高信息傳送可靠性的工作模式,就是MIMO的分集模式。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖2 MIMO系統(tǒng)優(yōu)勢

2.SISO實(shí)現(xiàn)

傳統(tǒng)天線系統(tǒng)的結(jié)構(gòu)框圖是系統(tǒng)模型,主要用到信號與信道的調(diào)制,以及噪聲的一個調(diào)制,接收端解調(diào)用到最大似然解調(diào)。

3.空時(shí)編碼原理

空時(shí)編碼主要應(yīng)用于多發(fā)射天線中,信號同時(shí)在不同的天線上發(fā)射,或者被不同的天線接收,獲得空間分集,信號在不同的時(shí)間在相同的子信道上進(jìn)行傳輸,獲得時(shí)間分集,時(shí)域上的分隔和地理位置上的分隔產(chǎn)生了空時(shí)特性,接收天線可以收到該發(fā)射信號的數(shù)個拷貝,并對接收到的多個數(shù)據(jù)進(jìn)行合并檢測,提高了傳輸可靠程度。因此空時(shí)編碼不僅減少了誤碼率,還能提高頻帶利用率,于是系統(tǒng)容量隨即提高。本實(shí)驗(yàn)主要介紹Alamouti方案。

在Alamouti方案中,對于在兩個時(shí)隙連續(xù)發(fā)送的兩個符號x1和x2,第一個發(fā)射天線和第二個發(fā)射天線在第一個時(shí)隙分別發(fā)送的是x1,x2,第一個發(fā)射天線和第二個發(fā)射天線在第二個時(shí)隙分別發(fā)送的是-x2*,x1*,下圖為發(fā)射過程。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖4 Alamouti方案

該傳輸方案通常由矩陣表示,矩陣的每一列代表一個時(shí)隙,每一行代表一個天線隨著時(shí)間的傳輸,所以天線的發(fā)射序列如下

Alamouti方案中最主要特征是兩根發(fā)射天線上的發(fā)射序列是相互正交的。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖5 接收機(jī)流程圖

接收信號矢量表示如下

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

Alamouti方案在發(fā)射天線為2接收天線為1的情況下能夠獲得最大的分集增益2。即使接收端沒有多根天線,同樣能夠獲得空間分集增益,從而使該方案很有價(jià)值。

4.空間調(diào)制原理

空間調(diào)制是一種多天線多維調(diào)制技術(shù)。其原理是輸入比特流經(jīng)發(fā)射端后分成兩個部分:一個部分信息映射到調(diào)制發(fā)射天線序號;另外一個部分映射到調(diào)制發(fā)射天線符號,該系統(tǒng)將天線維度作為第三維,讓天線的選擇部分同時(shí)攜帶大量信息,充分利用空間資源。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖6 空間調(diào)制無線通信系統(tǒng)

每個時(shí)刻只有一根天線激活來發(fā)送數(shù)據(jù)輸入比特信息中有l(wèi)og2Nt比特用于選擇發(fā)送天線,剩余的用于傳輸符號映射,發(fā)射天線和調(diào)制階數(shù)決定了系統(tǒng)的傳輸速率。下圖為4天線的發(fā)射實(shí)例。

?mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlabmimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

?????? 圖7 發(fā)射實(shí)例????????????????????? 圖8 發(fā)射天線三維圖

空間調(diào)制的發(fā)射向量只有一個是非零元素,接收信號為

Y=Hx+n

接收天線和發(fā)送天線的信道增益H為

H=[h1 ... hj ... hNi]

式中,信道矩陣H中元素均值為0,方差為1,n表示N維噪聲向量,對于發(fā)射信號的檢測即為相應(yīng)的發(fā)射天線及其傳輸?shù)姆枴?/p>

綜上,空時(shí)編碼設(shè)計(jì)簡單巧妙,是一種有效的發(fā)射分集技術(shù),雖然能夠較好地提升系統(tǒng)的性能,但是數(shù)據(jù)的傳輸速率相對較低,是一種犧牲速率來提高性能的傳輸方案。

5.采用迫零算法(ZF)檢測原理

迫零檢測算法是最簡單的一種空時(shí)信號處理接收技術(shù),可以消除所有的乘性干擾和信號之間的干擾,其對信號的處理包含三個步驟:迫零、干擾抵消和信號補(bǔ)償。迫零處理方法通過迫零向量來消除信道的乘性干擾,并消除沒有被檢測出的接收信號分量的干擾;干擾抵消就是在接收信號向量中消除已經(jīng)被估計(jì)出的部分信號成分,從而消除該信號對未檢測出來的信號成分的干擾;為確定信號的檢查順序,需要對其進(jìn)行信號補(bǔ)償。

迫零檢測的主要目的是尋找一個加權(quán)矩陣,乘以接收端的信號,然后將所得結(jié)果經(jīng)判決后可作為對X的估計(jì)。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

可以得到ZF檢驗(yàn)結(jié)果為:

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

迫零檢測復(fù)雜度低,消除了不同天線之間的干擾,將不同的數(shù)據(jù)流進(jìn)行分離,但是以增強(qiáng)噪聲作為代價(jià),造成了檢測性能較差。

6.采用最小均方誤差(MMSE)檢測原理

相比于同為線性檢測方法的迫零檢測,MMSE檢測可以綜合考慮符號間干擾和噪聲對算法性能的影響。其基本原理就是最小化檢測器的輸出估計(jì)和實(shí)際發(fā)送的符號之間的均方誤差。通過加權(quán)矩陣

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

可以得到估計(jì)信號為:

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

由于考慮了噪聲的影響,MMSE檢驗(yàn)算法的性能要優(yōu)于ZF檢測,它綜合考慮了天線之間的干擾和噪聲造成的影響,實(shí)質(zhì)上是對ZF檢測進(jìn)行修正,其修正值與噪聲方差成正比,從而既能消除天線之間的干擾,又能克服噪聲的增強(qiáng)。

7.采用最大似然(ML)檢測原理

最大似然檢測算法作為V-BLAST系統(tǒng)最優(yōu)的檢測算法其基本思想是:在接收端保存所有發(fā)射端可能發(fā)送的符號向量,在接收端計(jì)算接收到的發(fā)射信號與所保存的所有發(fā)射端向量在接收空間的映射之間的歐式距離,從而最小歐式距離對應(yīng)的信號可作為對發(fā)射信號的估計(jì)。

??? 數(shù)學(xué)表達(dá)式為:

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

不難看出最大似然檢測算法就是計(jì)算每一個Y與集合空間中的序列一一比較,找出對X的估計(jì),這樣它的復(fù)雜度隨發(fā)射天線數(shù)目呈指數(shù)增加,運(yùn)算量也會隨之增大

8.排列串行干擾抵消(OSIC)檢測原理

OSIC的基本思想為:在接收端按順序檢測每一個信號,每次檢測出一個信號,然后將該信號從接收信號中消除。在實(shí)現(xiàn)干擾消除步驟時(shí),前一步的檢測性能會對后一步的檢測性能造成直接影響。若前一步的檢測結(jié)果正確,那么下一步檢測性能的可靠性將得到改善;若前一步檢測結(jié)果不正確,這樣的錯誤造成的影響被傳到下一步,從而造成下一步檢測結(jié)果的準(zhǔn)確率降低,這就是誤差傳播現(xiàn)象,因此進(jìn)行檢測時(shí),要確定好檢測順序。

檢測過程:

a.求出第k1層對應(yīng)的加權(quán)向量wk1,則第k1層的判決量為rk1=wk1TY,對其判決,得到第k1層發(fā)射信號的估計(jì)值xk1

b.實(shí)現(xiàn)干擾消除,在接收信號Y中剪掉xk1的影響,可得到Y(jié)2=Y-xk1Hk1

c.求與k2層對應(yīng)的加權(quán)向量wk2,則第k2層信號的判決量為rk2=wk2TY2,得到第k1層發(fā)射信號的估計(jì)值xk2

重復(fù)上述步驟便可得到每層的發(fā)射信號

部分代碼展示

(一)SISO代碼分析

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

對信號進(jìn)行調(diào)制與歸一化處理,重組發(fā)送信號。設(shè)計(jì)信道與高斯白噪聲,使其歸一化,信號過系統(tǒng),得到接收信號y。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

通過最大似然估計(jì)得到最小距離,然后分路恢復(fù)出發(fā)送信號。與原始信號對比,計(jì)算BER并繪制圖像。

(二)MIMO空時(shí)編碼分析

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

利用兩個時(shí)隙組成一個發(fā)射信號矩陣X1,設(shè)計(jì)信道與噪聲,得到R1,接收方兩個天線都可以接收發(fā)射方兩個天線的發(fā)射組合,最后利用接收信號矩陣與信道矩陣進(jìn)行解耦合得到y(tǒng)11和y22。

(三)MIMO空間調(diào)制分析

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

仿真2發(fā)2收的空間調(diào)制系統(tǒng),由于附帶天線索引,一個信息段長度為1bit天線索引+2bit信息長度。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

空間調(diào)制的具體實(shí)現(xiàn),每個數(shù)據(jù)段第一個bit用來選擇天線,0-第一根,1-第二根。后兩位用來進(jìn)行QPSK調(diào)制為復(fù)數(shù)信號,最后生成2行1列的發(fā)送output。

(四)ML檢測代碼分析

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

根據(jù)QPSK的星座圖,得到00、01、10、11所在值并對其進(jìn)行歸一化處理。讓接收信號y分別與這四個過h的星座點(diǎn)比較大小,將結(jié)果儲存在V中,再求出最小距離y_d。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

同理,16QAM的原理與QPSK大體相同。將16個星座點(diǎn)儲存在J中,讓接收信號y分別與這16個過h的星座點(diǎn)比較大小,將結(jié)果儲存在V中,再求出最小距離y_d,不同之處還體現(xiàn)在歸一化。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

對于空間調(diào)制的檢驗(yàn),也是利用ML檢驗(yàn)算法,由于為2發(fā)2收的系統(tǒng),加上天線索引,所以需要8組數(shù)來比對。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

?三?結(jié)果分析

(一)MIMO調(diào)制方式對比

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖11 MIMO調(diào)制方式對比

2x2的MIMO系統(tǒng),采用格雷映射,調(diào)制方式分別為BPSK和QPSK兩種情況,BPSK和QPSK兩種情況下的SNR-BER性能曲線。

分析:由理論分析及結(jié)果可知,在相同信號速率下,使用BPSK比QPSK的BER要低,由于仿真數(shù)量設(shè)置不當(dāng),導(dǎo)致在高信噪比時(shí)曲線不平滑,出現(xiàn)了階躍點(diǎn)。

(二)SISO與MIMO對比

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖12 ?MIMO的BPSK與SISO的QPSK對比

SISO系統(tǒng)采取單發(fā)單收,QPSK調(diào)制;MIMO系統(tǒng)采取2發(fā)2收,BPSK調(diào)制。接收端都采用最大似然接收。

分析:由理論分析及結(jié)果可知,MIMO的BPSK與SISO的QPSK對比,MIMO的BPSK比SISO的QPSK的抗干擾性能要好。

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖13? MIMO的QPSK與SISO的16QAM對比

SISO系統(tǒng)采取單發(fā)單收,16QAM調(diào)制;MIMO系統(tǒng)采取2發(fā)2收,QPSK調(diào)制。接收端都采用最大似然接收。

分析:由理論分析及結(jié)果可知,MIMO的QPSK與SISO的16QAM對比,MIMO的QPSK比SISO的16QAM的抗干擾性能要好。

(三)不同接收方式的對比

mimo天線數(shù)據(jù)設(shè)計(jì),MIMO,空間調(diào)制,matlab

圖14? ZF算法與MMSE算法對比

MIMO系統(tǒng)采取2發(fā)2收,BPSK調(diào)制,接收端采用ZF檢驗(yàn)與MMSE檢驗(yàn)。

分析:對比線性檢測算法的優(yōu)劣,由于ML為非線性,性能會優(yōu)于線性檢測算法。通過圖像對比,我們可以看出在信噪比相同的情況下使用MMSE檢測的性能會比ZF檢測性能要好并且不管是在高信噪比還是低信噪比MMSE算法性能都是更好的,這主要是由于MMSE算法綜合考慮了天線之間的干擾和噪聲造成的影響,實(shí)質(zhì)上是對ZF檢測進(jìn)行修正,使其性能更好。文章來源地址http://www.zghlxwxcb.cn/news/detail-806988.html

MATLAB代碼展示

%%%%qpskb調(diào)制函數(shù)
function[a,b,c,d,e]=qpskmod(x)
datasize=x;
%生成10000個01/11/00/10的隨機(jī)數(shù)列作為初始信號  
r=randi([0,1],1,datasize);
%分成兩列,第一列代表實(shí)部,第二列代表虛部
s=reshape(r,datasize/2,2);
rs=s;
e=zeros(1,datasize);
for k=1:1:datasize
    if mod(k,2)==1
        e(k)=rs((k+1)/2,1);
    else if mod(k,2)==0
        e(k)=rs(k/2,2);
        end
    end
end
%按星座圖對信號進(jìn)行調(diào)制
for i=1:1:datasize/2
    if (s(i,1)==1 && s(i,2)==1)
        s(i,1)=-1;
        s(i,2)=-1;
    end
    if (s(i,1)==0 && s(i,2)==1)
        s(i,1)=-1;
%%%%%%%%%%%mimo空時(shí)編碼與空間分集對比%%%%%%%%

%%%%%%空時(shí)編碼%%%%%

%%%%% QPSK %%%%%%

clear all;

close all;

SNR=0:1:30;

snr=10.^(SNR/10);

sigma=sqrt(1./snr);%噪聲與信號的幅度比值

K=3200;%未調(diào)制信號長度,信號越長,曲線越精確

%%%%%%%%%%%%%%%%%%%%設(shè)置參數(shù)%%%%%%%%%%%%%%%%%%%%%%%%

nt=2;%發(fā)射天線數(shù)

nr=2;%接收天線數(shù)

n=4; %調(diào)制方式QPSK

%%%%%%%%%%%%%%%%%%%%NPSK信號調(diào)制%%%%%%%%%%%%%%%%%%%%

[a,b,c,q,e]=qpskmod(K);

npskdata1=(1/sqrt(2))*(c+sqrt(-1)*q);

x=reshape(npskdata1,1,K/2);

%%%%%%%%%%%%%%%%%%%Alamouti%%%%%%%%%%%%%%%%%%%%%%%%

for k=1:length(SNR)

error_symbol=0;%對每一個信噪比下的誤符號率清零

for i=1:length(npskdata1)/2

x11=x(2*i-1);

x12=x(2*i);

X1=[x11 -x12';x12 x11'];

%信道

H1=zeros(nr,nt);

R=eye(nr*nt);

X=randn(nr*nt,1)/sqrt(2)+1i*randn(nr*nt,1)/sqrt(2);

X1=reshape(X,nr,nt);

H1=reshape(R*X,nr,nt);

noise1=sigma(k).*H1;

R1=sqrt(1/2).*H1*X1+noise1;%接收信號矩陣

y11=0;y12=0;

for i=1:nr

y11=H1(i,1)'*R1(i,1)+H1(i,2)*R1(i,2)'+y11;

y12=H1(i,2)'*R1(i,1)-H1(i,1)*R1(i,2)'+y12;

end

%進(jìn)行最大似然檢測

DEC_X=judge(n,y11,y12);

%統(tǒng)計(jì)符號錯誤的總數(shù)

a=DEC_X(1);

b=a+a';

c=a-a'

if b>0

b=0;

else

b=1;

end

if c>0

c=0;

else

c=1;

end

j(1)=b;

j(2)=c;

a=DEC_X(2);

b=a+a';

c=a-a';

if b>0

b=0;

else

b=1;

end

if c>0

c=0;

else

c=1;

end

j1(1)=b;

j1(2)=c;

if j~=f;

error_symbol=error_symbol+1;

end

if j1~=f1;

error_symbol=error_symbol+1;

end

end

SER1(k)=error_symbol/length(npskdata1);

end

%%%%%%%空間分集%%%%%

%%mimo,QPSK

NT = 2; %發(fā)射天線數(shù)目

NR = 2; %接收天線數(shù)目

N=4;%%每次模擬發(fā)送的比特?cái)?shù),每次模擬的信道h認(rèn)為是一致的

Eb_N0_dB=[0:1:30]; %設(shè)置信號能量,即信噪比

Eb_N0_dB1=10.^(Eb_N0_dB/10);

sigma2=sqrt(1./Eb_N0_dB1);%噪聲與信號的幅度比值

Nerror_bpsk_mimo=zeros(1,length(Eb_N0_dB)); %儲存誤碼率

m=800;

%上下兩種方式符號數(shù) 上總符號數(shù)=下M*n

for k = 1:length(Eb_N0_dB)

for x=1:m %100蒙特卡洛模擬 求每次誤碼率的平均值

send_bit0=rand(1,N)>0.5; %%產(chǎn)生等概率的bit序列

p0=send_bit0(1:2:N);

q0=send_bit0(2:2:N);

p=p0*2-1;

q=q0*2-1;

signal_sent = p+sqrt(-1)*q; %QPSK信號生成

%%信道模擬

sMod = kron(signal_sent,ones(NR,1)); %構(gòu)造成兩行一樣的數(shù)據(jù)流

sMod = reshape(sMod,[NR,NT,N/2/NT]); %產(chǎn)生NTxNRxN/NT矩陣

h = 1/sqrt(2)*[randn(NR,NT,N/2/NT) + i*randn(NR,NT,N/2/NT)]; %復(fù)高斯信道,信道歸一化

n = 1/sqrt(2)*[randn(NR,N/2/NT) + i*randn(NR,N/2/NT)]; %產(chǎn)生高斯白噪聲,噪聲能量歸一化

% n=A;

y = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*sMod,2)) +n;%*sigma2(k); %將產(chǎn)生的信號在信道上傳輸并加入高斯噪聲

% ML檢測

s1 = [-1-1i -1-1i]; %當(dāng)QPSK調(diào)制后的四個符號為-1 -1 -1 -1時(shí)

s1 = repmat(s1,[1 ,N/2/2]);

s1Mod = kron(s1,ones(NR,1));

s1Mod = reshape(s1Mod,[NR,NT,N/2/NT]);

z1 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s1Mod,2)) ;%信道增益h與傳輸?shù)男盘栂喑瞬⑶蠛?
J1 = sum(abs(y - z1),1); %求出歐氏距離

s2 = [-1-1i -1+1i];

s2 = repmat(s2,[1 ,N/2/2]);

s2Mod = kron(s2,ones(NR,1));

s2Mod = reshape(s2Mod,[NR,NT,N/2/NT]);

z2 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s2Mod,2)) ;

J2 = sum(abs(y - z2),1);

s3 = [-1-1i 1-1i];

s3 = repmat(s3,[1 ,N/4]);

s3Mod = kron(s3,ones(NR,1));

s3Mod = reshape(s3Mod,[NR,NT,N/2/NT]);

z3 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s3Mod,2)) ;

J3 = sum(abs(y - z3),1);

s4 = [-1-1i 1+1i];

s4 = repmat(s4,[1 ,N/4]);

s4Mod = kron(s4,ones(NR,1));

s4Mod = reshape(s4Mod,[NR,NT,N/2/NT]);

z4 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s4Mod,2)) ;

J4 = sum(abs(y - z4),1);

s5 = [-1+1i -1-1i];

s5 = repmat(s5,[1 ,N/4]);

s5Mod = kron(s5,ones(NR,1));

s5Mod = reshape(s5Mod,[NR,NT,N/2/NT]);

z5 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s5Mod,2)) ;

J5 = sum(abs(y - z5),1);

s6 = [-1+1i -1+1i];

s6 = repmat(s6,[1 ,N/4]);

s6Mod = kron(s6,ones(NR,1));

s6Mod = reshape(s6Mod,[NR,NT,N/2/NT]);

z6 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s6Mod,2)) ;

J6 = sum(abs(y - z6),1);

s7 = [-1+1i 1-1i];

s7 = repmat(s7,[1 ,N/4]);

s7Mod = kron(s7,ones(NR,1));

s7Mod = reshape(s7Mod,[NR,NT,N/2/NT]);

z7 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s7Mod,2)) ;

J7 = sum(abs(y - z7),1);

s8 = [-1+1i 1+1i];

s8 = repmat(s8,[1 ,N/4]);

s8Mod = kron(s8,ones(NR,1));

s8Mod = reshape(s8Mod,[NR,NT,N/2/NT]);

z8 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s8Mod,2)) ;

J8 = sum(abs(y - z8),1);

s9 = [1-1i -1-1i];

s9 = repmat(s9,[1 ,N/4]);

s9Mod = kron(s9,ones(NR,1));

s9Mod = reshape(s9Mod,[NR,NT,N/2/NT]);

z9 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s9Mod,2)) ;

J9 = sum(abs(y - z9),1);

s10 = [1-1i -1+1i];

s10 = repmat(s10,[1 ,N/4]);

s10Mod = kron(s10,ones(NR,1));

s10Mod = reshape(s10Mod,[NR,NT,N/2/NT]);

z10 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s10Mod,2)) ;

J10 = sum(abs(y - z10),1);

s11 = [1-1i 1-1i];

s11 = repmat(s11,[1 ,N/4]);

s11Mod = kron(s11,ones(NR,1));

s11Mod = reshape(s11Mod,[NR,NT,N/2/NT]);

z11 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s11Mod,2)) ;

J11 = sum(abs(y - z11),1);

s12 = [1-1i 1+1i];

s12 = repmat(s12,[1 ,N/4]);

s12Mod = kron(s12,ones(NR,1));

s12Mod = reshape(s12Mod,[NR,NT,N/2/NT]);

z12 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s12Mod,2)) ;

J12 = sum(abs(y - z12),1);

s13 = [1+1i -1-1i];

s13 = repmat(s13,[1 ,N/4]);

s13Mod = kron(s13,ones(NR,1));

s13Mod = reshape(s13Mod,[NR,NT,N/2/NT]);

z13 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s13Mod,2)) ;

J13 = sum(abs(y - z13),1);

s14 = [1+1i -1+1i];

s14 = repmat(s14,[1 ,N/4]);

s14Mod = kron(s14,ones(NR,1));

s14Mod = reshape(s14Mod,[NR,NT,N/2/NT]);

z14 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s14Mod,2)) ;

J14 = sum(abs(y - z14),1);

s15 = [1+1i 1-1i];

s15 = repmat(s15,[1 ,N/4]);

s15Mod = kron(s15,ones(NR,1));

s15Mod = reshape(s15Mod,[NR,NT,N/2/NT]);

z15 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s15Mod,2)) ;

J15 = sum(abs(y - z15),1);

s16 = [1+1i 1+1i];

s16 = repmat(s16,[1 ,N/4]);

s16Mod = kron(s16,ones(NR,1));

s16Mod = reshape(s16Mod,[NR,NT,N/2/NT]);

z16 = sqrt(0.5*10^(Eb_N0_dB(k)/10)).*squeeze(sum(h.*s16Mod,2)) ;

J16= sum(abs(y - z16),1);

V = [J1;J2;J3;J4;J5;J6;J7;J8;J9;J10;J11;J12;J13;J14;J15;J16];%所有的歐氏距離度量

[j d] = min(V,[],1); %選擇最小的歐氏距離度量,并記錄編號

ref = [0,0,0,0; 0,0,0,1; 0,0,1,0; 0,0,1,1;

0,1,0,0; 0,1,0,1; 0,1,1,0; 0,1,1,1;

1,0,0,0; 1,0,0,1; 1,0,1,0; 1,0,1,1;

1,1,0,0; 1,1,0,1; 1,1,1,0; 1,1,1,1];

bit_ML=zeros(1,N);

bit_ML(1:4:end) = ref(d,1);

bit_ML(2:4:end) = ref(d,2);

bit_ML(3:4:end) = ref(d,3);

bit_ML(4:4:end) = ref(d,4);

a=bit_ML-send_bit0;

Nerror_bpsk_mimo(k)=Nerror_bpsk_mimo(k)+sum(sum(a~=0));%統(tǒng)計(jì)錯誤的比特?cái)?shù)

end

Nerror_bpsk_mimo;

p_nerror=Nerror_bpsk_mimo/(m*N);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%空間復(fù)用%%%%%%

Nt = 2; %發(fā)射天線數(shù)

Nr = 2; %接收天線數(shù)

N = 8; %每幀的長度制方式為QPSK

L = 4000; %仿真的總幀數(shù)

EbN0 = 0:1:30;

M = 4; %QPSK調(diào)制

x = randi([0,1],N*L,Nt); %信源數(shù)據(jù)

s = pskmod(x,M,pi/4); %QPSK調(diào)制

for index=1:length(EbN0)

x1 = [];

x2 = [];

x3 = [];

for index1 = 1:L

h = randn(Nt,Nr)+j*randn(Nt,Nr); %Rayleigh衰落信道

h = h./sqrt(2); %信道系數(shù)歸一化

sigma1 = sqrt(1/2)*sqrt(1/(10.^(EbN0(index)/10))); %每根接收天線的高斯白噪聲標(biāo)準(zhǔn)差

n = sigma1*(randn(N,Nr)+1j*randn(N,Nr)); %每根接收天線的高斯白噪聲

%******************** 信號通過信道 ****************%

y = s((index1-1)*N+1:index1*N,:)*h+n;

%******************* 接收端處理 **************%

%%%%%假設(shè)已經(jīng)通過信道估計(jì)知道了h,均不考慮干擾消除

%%%% MMSE檢測

yy = y;

wmmse = h'*inv(h*h'+2*sigma1.^2*diag(ones(1,Nt)));

y1 = y*wmmse; %MMSE檢測

temp1 = pskdemod(y1,M,pi/4); %解調(diào)

x1 = [x1;temp1];

%%%% ZF檢測

wzf = h'*inv(h*h');

y2 = y*wzf; %ZF檢測

temp2 = pskdemod(y2,M,pi/4); %解調(diào)

x2 = [x2;temp2];

end

[temp3,ber1(index)] = biterr(x,x1,log2(M)); %MMSE檢測時(shí)的系統(tǒng)誤碼

[temp4,ber2(index)] = biterr(x,x2,log2(M)); %ZF檢測時(shí)的系統(tǒng)誤碼

end

%%%%%%瑞利衰信道下,QPSK理論誤碼率

% EbN0 = 3:1:10;

for i = 1:length(EbN0)

EbN0_l(1,i) = 10^(EbN0(1,i)/10);

ber3(1,i) = (1/2) *(1-sqrt(EbN0_l(1,i)./(EbN0_l(1,i)+1)));

end

figure(1)

semilogy(EbN0,ber1,'-ko',EbN0,ber2,'-ro',EbN0,ber3,'-go');

title('MIMO不同算法檢測性能')

legend('MMSE算法','ZF算法', '理論值')

xlabel('比特信噪比Eb/N0')

ylabel('誤比特率(BER)')

grid on

%%%%%%***************** 實(shí)驗(yàn)結(jié)論 ************************%%%

%%%%%% MMSE算法明顯好于ZF

%%%%%繪圖比較%%%%%

figure(2)

semilogy(SNR,SER1,'*-','LineWidth',1);

hold on;

semilogy(Eb_N0_dB,p_nerror,'+-','LineWidth',1);

hold on;

semilogy(Eb_N0_dB,ber1,'o-','LineWidth',1);

axis([0 25 -10^-5 0.2])

grid on

xlabel('信噪比(SNR)/dB');

ylabel('誤碼率');

title('mimo方式對比');

%---------SM系統(tǒng)仿真------------------

nTx=8;

nRx=8;

n_sm=1;

M=4;

SNR_dB=0:3:30;

L=log2(nTx)+log2(M); %一幀的長度

N=10000;%幀數(shù)

length_as=log2(nTx);

length_bit=log2(M);

BER=zeros(1,length(SNR_dB));

rho_r=0.4;

K=1;

err=0;

for i=1:length(SNR_dB)

SNR=SNR_dB(i)

rou=10^(SNR/10);%the average signal to noise ratio (SNR) at each receive antenna

N0=n_sm/rou;

err_num=0;

for k=1:N

%----------------SM調(diào)制---------------%

x=zeros(1,L);

x=rand(1,L)>0.5;

output=s_mod(x,length_bit,M,length_as,L);%sm調(diào)制函數(shù)

%-----------------信道------------------%

% H=(1/sqrt(2))*(randn(nRx,nTx) + 1i*randn(nRx,nTx));

% n=(sqrt(N0/2))*(randn(nRx,n_sm)+ 1i*randn(nRx,n_sm));

H=Generalized_Channel(nRx,nTx,rho_r,K,err);

n=1/sqrt(2)*(randn(nRx,n_sm) + 1i*randn(nRx,n_sm));% AWGN

%---------------過信道------------------%

% y= H *output'

y= H *output' + (sqrt(N0))*n ;

%----------------ML檢測-----------------%

y_detect=ml_dectect(y,H,length_as,length_bit,M,L);

%---------------誤比特-------------------%

err_bit=length(find(y_detect~=x));

err_num=err_num+err_bit;

end

BER(i)=err_num/L/N;

end

hold on;

semilogy(SNR_dB,BER,'g-*');%y軸對數(shù)形式作圖

legend('空時(shí)編碼','空間分集','空間復(fù)用','空間調(diào)制')

X1

R1

H1

H1(1,1)'

到了這里,關(guān)于MIMO大規(guī)模天線陣列原理與matlab仿真(含GUI)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 大規(guī)模語言模型--LLaMA 家族

    大規(guī)模語言模型--LLaMA 家族

    LLaMA 模型集合由 Meta AI 于 2023 年 2 月推出, 包括四種尺寸(7B 、13B 、30B 和 65B)。由于 LLaMA 的 開放性和有效性, 自從 LLaMA 一經(jīng)發(fā)布, 就受到了研究界和工業(yè)界的廣泛關(guān)注。LLaMA 模型在開放基準(zhǔn)的各 種方面都取得了非常出色的表現(xiàn), 已成為迄今為止最流行的開放語言模型。大

    2024年04月25日
    瀏覽(23)
  • 基于Spark的大規(guī)模日志分析

    摘要: 本篇文章將從一個實(shí)際項(xiàng)目出發(fā),分享如何使用 Spark 進(jìn)行大規(guī)模日志分析,并通過代碼演示加深讀者的理解。 本文分享自華為云社區(qū)《【實(shí)戰(zhàn)經(jīng)驗(yàn)分享】基于Spark的大規(guī)模日志分析【上進(jìn)小菜豬大數(shù)據(jù)系列】》,作者:上進(jìn)小菜豬。 隨著互聯(lián)網(wǎng)的普及和應(yīng)用范圍的擴(kuò)

    2024年02月09日
    瀏覽(22)
  • LLaMA(大規(guī)模機(jī)器學(xué)習(xí)和分析)

    LLaMA(大規(guī)模機(jī)器學(xué)習(xí)和分析)是一個先進(jìn)的軟件平臺,是Meta 推出 AI 語言模型 LLaMA,一個有著 上百億數(shù)量級參數(shù)的大語言模型用于大規(guī)模部署和管理機(jī)器學(xué)習(xí)模型。借助LLaMA,組織可以高效地在大型數(shù)據(jù)集上訓(xùn)練和部署模型,縮短投放市場的時(shí)間,并提高預(yù)測模型的準(zhǔn)確性。

    2024年02月11日
    瀏覽(20)
  • 云計(jì)算:如何訪問和分析大規(guī)模數(shù)據(jù)

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 隨著云計(jì)算平臺的不斷發(fā)展,越來越多的企業(yè)將他們的數(shù)據(jù)、應(yīng)用和服務(wù)部署在云端,希望借助云計(jì)算的能力來提升效率、降低成本、提高競爭力。但是同時(shí)也帶來了數(shù)據(jù)安全、隱私保護(hù)、數(shù)據(jù)可靠性等方面的挑戰(zhàn)。對于企業(yè)而言,如何更好地

    2024年02月15日
    瀏覽(21)
  • etcd實(shí)現(xiàn)大規(guī)模服務(wù)治理應(yīng)用實(shí)戰(zhàn)

    etcd實(shí)現(xiàn)大規(guī)模服務(wù)治理應(yīng)用實(shí)戰(zhàn)

    ???? 導(dǎo)讀 :服務(wù)治理目前越來越被企業(yè)建設(shè)所重視,特別現(xiàn)在云原生,微服務(wù)等各種技術(shù)被更多的企業(yè)所應(yīng)用,本文內(nèi)容是百度小程序團(tuán)隊(duì)基于大模型服務(wù)治理實(shí)戰(zhàn)經(jīng)驗(yàn)的一些總結(jié),同時(shí)結(jié)合當(dāng)前較火的分布式開源kv產(chǎn)品etcd,不僅會深入剖析ectd兩大核心技術(shù)Raft與boltdb的實(shí)

    2024年02月12日
    瀏覽(20)
  • 利用Python進(jìn)行大規(guī)模數(shù)據(jù)處理

    利用Python進(jìn)行大規(guī)模數(shù)據(jù)處理

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家?!军c(diǎn)擊進(jìn)入巨牛的人工智能學(xué)習(xí)網(wǎng)站】。 隨著數(shù)據(jù)量的不斷增長,大規(guī)模數(shù)據(jù)處理變得越來越重要。在這個領(lǐng)域,Hadoop和Spark是兩個備受關(guān)注的技術(shù)。本文將介紹如何利用Python編程語

    2024年04月24日
    瀏覽(24)
  • ChatGPT大規(guī)模封鎖亞洲地區(qū)賬號

    ChatGPT大規(guī)模封鎖亞洲地區(qū)賬號

    我是盧松松,點(diǎn)點(diǎn)上面的頭像,歡迎關(guān)注我哦! 在毫無征兆的情況下,從3月31日開始OpenAI大規(guī)模封號,而且主要集中在亞洲地區(qū),特別是ip地址在臺灣、日本、香港三地的,命中率目測40%。新注冊的賬號、Plus也不好使了。 如果你登陸的時(shí)候出現(xiàn)“提示無法加載歷史信息”或

    2023年04月09日
    瀏覽(27)
  • 服務(wù)器單機(jī)大規(guī)模數(shù)據(jù)存儲方案

    大規(guī)模數(shù)據(jù)存儲都需要解決三個核心問題: 1.數(shù)據(jù)存儲容量的問題,既然大數(shù)據(jù)要解決的是數(shù)據(jù) PB 計(jì)的數(shù)據(jù)計(jì)算問題,而一般的服務(wù)器磁盤容量通常 1~2TB,那么如何存儲這么大規(guī)模的數(shù)據(jù)呢? 2.數(shù)據(jù)讀寫速度的問題,一般磁盤的連續(xù)讀寫速度為幾十 MB,以這樣的速度,幾十

    2024年02月11日
    瀏覽(26)
  • 高防服務(wù)器如何抵御大規(guī)模攻擊

    高防服務(wù)器如何抵御大規(guī)模攻擊?高防服務(wù)器是一種專門設(shè)計(jì)用于抵御大規(guī)模攻擊的服務(wù)器,具備出色的安全性和可靠性。在當(dāng)今互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)安全問題日益嚴(yán)重,DDOS攻擊(分布式拒絕服務(wù)攻擊)等高強(qiáng)度攻擊已成為威脅企業(yè)和組織網(wǎng)絡(luò)安全的重要問題。為了保護(hù)網(wǎng)站和

    2024年02月09日
    瀏覽(21)
  • Apache Doris大規(guī)模數(shù)據(jù)使用指南

    目錄 一、發(fā)展歷史 二、架構(gòu)介紹 彈性MPP架構(gòu)-極簡架構(gòu) 邏輯架構(gòu) 基本訪問架構(gòu) 三、Doris的數(shù)據(jù)分布

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包