官术网_书友最值得收藏!

第二篇 人工智能在無線通信傳輸技術中的應用

第2章 基于深度學習的MIMO信號檢測

2.1 MIMO信號檢測基本原理與傳統(tǒng)算法

MIMO技術是指發(fā)送端和接收端同時配備多根發(fā)送天線/接收天線,從而獲得系統(tǒng)容量的提升。MIMO系統(tǒng)收發(fā)端結構如圖2.1所示。

圖 2.1  MIMO系統(tǒng)收發(fā)端結構示意

無論是空間復用、空時編碼還是空間調制,對編碼信號的檢測始終是MIMO無線通信系統(tǒng)接收端最重要的功能之一。相比于衰落信道下的單發(fā)單收(SISO)系統(tǒng)和單發(fā)多收(SIMO)系統(tǒng),MIMO系統(tǒng)涉及的天線更多,MIMO系統(tǒng)信號檢測會更難,這是因為除了衰落的影響,其接收端還面臨著來自多根天線同時傳輸信號的空間干擾。所以,在這種空間干擾存在的情況下,對信號進行有效的檢測是一項非常艱巨的任務,為此需要非常復雜的信號處理算法。因此,高效、高性能、低復雜度的MIMO信號檢測算法的設計、分析與應用持續(xù)吸引著研究人員與系統(tǒng)開發(fā)工程師的注意。為方便敘述,這里首先給出MIMO系統(tǒng)的收發(fā)數(shù)學模型:

(2.1)

其中xy分別代表發(fā)送符號向量和接收符號向量,Hn分別代表信道響應矩陣和加性高斯白噪聲向量。此處僅給出名稱,2.1.1小節(jié)將對此數(shù)學模型做詳細的解釋。

所有MIMO信號檢測算法的目標都是在知道接收符號向量y和信道響應矩陣H的情況下,獲得對發(fā)送符號向量x的估計。發(fā)送符號的元素通常來自于一個預先定義好的離散值的調制符號表,比如QPSK的調制符號表就是,當然調制符號表也可以是純實數(shù)的,這取決于數(shù)學模型是實數(shù)的還是復數(shù)的。某些檢測算法通常會產(chǎn)生軟輸出,例如基于置信傳播(Belief Propagation,BP)的算法,其輸出將會是表示傳輸符號可能性的軟值,這些軟值可以被送入編碼系統(tǒng)的信道譯碼器,與送硬值進入信道譯碼器相比,送軟值可以提供更好的性能。此外,一些檢測算法只產(chǎn)生硬輸出,例如基于搜索的算法,它們通常在一個離散數(shù)值候選向量集合里進行搜索測試,并從集合中選擇一個離散向量作為輸出。雖然這些硬輸出也可以被送入信道譯碼器,但是為了進一步提升信道譯碼器的性能,必須設計出合適的方法,從檢測算法的硬輸出中產(chǎn)生軟值,以便將其送入信道譯碼器。

常用的MIMO信號檢測算法包括線性檢測算法(如MF、ZF、MMSE檢測算法等),以及非線性的包含多階段干擾消除的算法(如ZF-SIC和MMSE-SIC檢測算法)。這些次優(yōu)算法的核心優(yōu)勢就是它們多項式級的復雜度。通過合理優(yōu)化偽逆求解過程,ZF-SIC算法的復雜度甚至還可以更低。同時,線性檢測算法的誤符號率(Symbol Error Ratio SER)性能也可以通過格基規(guī)約技術來提升。除了上面提到的算法之外,還有一系列基于搜索的算法,典型代表如球譯碼(Sphere Decoding,SD)算法(參考文獻[1]、[2]、[7])。雖然SD算法的SER性能很強,但是其復雜度很高。

通常,MIMO信號檢測算法的兩大重要目標——高性能和低復雜度——并不能同時達成,因為一方的實現(xiàn)似乎是以犧牲另一方為代價的。比如,線性算法在復雜度方面有很好的表現(xiàn),但是相比于最優(yōu)算法,它的SER性能非常有限。另外,雖然SD算法能夠達到最大似然檢測算法的性能,但是它的復雜度很高。因此,傳統(tǒng)的觀點認為,為了達到良好的SER性能,需要對復雜度做權衡。但是這種權衡將使得大規(guī)模MIMO變得不切實際,因為大規(guī)模MIMO下的信號檢測會面臨更高的復雜度。

2.1.1 系統(tǒng)模型

本小節(jié)對MIMO系統(tǒng)的模型進行詳細闡述。對于一個包含nt根發(fā)送天線、nr根接收天線的MIMO系統(tǒng),其信號發(fā)送與接收可以建模為

(2.2)

其中:表示第i根天線的發(fā)送符號;表示第j根天線的接收符號;表示附加在第j根天線上的加性高斯白噪聲;表示由第i根天線到第j根天線的信道響應,此處沒有考慮多徑,所以一條信道只有一個信道響應。由矩陣乘法的計算方法可以得出:

(2.3)

由式(2.3)可見,每一根天線上的接收符號都是由所有發(fā)送符號乘對應的信道響應再求和,然后加上高斯白噪聲得到的,這就是MIMO的本質,每一個接收符號都包含所有發(fā)送符號的信息。將式(2.3)簡寫為矩陣和向量的形式,即可得到式(2.1)所示的數(shù)學模型。在本書中,除了特殊說明以外,一般使用大寫粗斜體字母表示矩陣,小寫粗斜體字母表示列向量。式(2.1)中,x表示長度為的發(fā)送符號列向量,x中的每一個元素都來自一個已知的QAM字母表(例如 4QAM、16QAM等),即,并且本書假設所有星座圖均已經(jīng)過能量歸一化,即y表示長度為nr的接收符號列向量,表示任意復數(shù)。表示nr×nt大小的信道響應矩陣,其元素均建模為獨立同分布的,均值為0、方差為1的復高斯隨機變量。n表示復數(shù)加性高斯白噪聲向量,且滿足。在MIMO信號檢測問題中通常假設接收端已知完全準確的信道響應矩陣H,而H在發(fā)送端則是未知的。

在上述模型中,所有向量和矩陣的元素都為復數(shù),因此式(2.3)對應的系統(tǒng)模型也被稱作復數(shù)模型。傳統(tǒng)算法可以直接用于復數(shù)模型中,但對于神經(jīng)網(wǎng)絡則不然。在一些基于深度學習的算法中,通常要先將復數(shù)模型轉換成等效的實數(shù)模型,如式(2.4)所示。

(2.4)

其 中,分別表示取矩陣或向量的實部或虛部。由矩陣乘法運算法則可知,實數(shù)模型[式(2.4)]與復數(shù)模型[式(2.3)]的計算結果相同,是等效的。值得注意的是,在實數(shù)模型中,發(fā)送符號向量的元素都來自脈幅調制(Pulse-Amplitude Modulation,PAM)字母表,PAM字母表是由復數(shù)模型的QAM字母表轉換得到的。例如,若復數(shù)模型的QAM字母表為,則其轉換后的實數(shù)模型的PAM字母表為。又如,若復數(shù)模型采用非標準的16QAM字母表,則其轉換后的實數(shù)模型的PAM字母表為

2.1.2 最優(yōu)檢測算法

本小節(jié)介紹SER性能最優(yōu)的MIMO信號檢測算法——最大似然檢測算法。顧名思義,最大似然(Maximum Likelihood,ML)檢測算法(簡稱ML算法)就是找到使得似然函數(shù)值最大的候選向量。為了方便闡述,這里給出MIMO信號檢測問題的似然函數(shù):

(2.5)

由式(2.5)可知,對于指數(shù)函數(shù)來說,在給定Hx的前提下,越小,其函數(shù)值越大。所以求ML函數(shù)的問題可轉化為使最小的問題,從而得到ML的目標函數(shù),如式(2.6)所示。

(2.6)

因為集合包含發(fā)送符號向量的所有可能,所以ML算法直接采用遍歷搜索的方法在集合中窮舉來尋找使得目標函數(shù)最小的候選。ML算法通過最大化似然函數(shù),能夠讓平均錯誤概率最小,獲得最優(yōu)的SER性能,但是窮舉所有可能的計算復雜度非常高,并且復雜度會隨nt的增長而呈指數(shù)級增長,這樣高的復雜度在大規(guī)模MIMO場景下是尤其不能接受的,因此雖然ML算法SER性能最優(yōu),卻幾乎無法在實際生活中得到應用。但是ML算法通常作為衡量其他信號檢測算法SER性能的基準,即使這樣,在進行性能仿真測試時,隨著發(fā)送天線數(shù)目nt的增加,測試ML算法的性能所需要的時間也會成倍地增加而變得不可實現(xiàn),所以在一些大規(guī)模MIMO場景中也會采用SD算法替代ML算法作為SER性能的評估標準。ML算法雖然因為較高的復雜度而不可實現(xiàn),但是它的目標函數(shù)仍有重要的參考價值,這一點會在后文介紹基于深度學習的信號檢測算法中進行詳細敘述。

2.1.3 線性檢測算法

線性檢測算法通過對接收信號進行線性變換,估計出軟值的發(fā)送符號,再由軟值符號映射到硬值符號,即 ,其中為變換矩陣,表示由軟值符號到硬值符號的映射函數(shù),映射方法就是把的每一個元素映射為字母表中與該元素距離最近的符號。線性檢測算法的最大優(yōu)勢就是復雜度很低。

匹配濾波檢測算法

匹配濾波(Matched Filtering,MF)檢測算法(簡稱MF算法)(參考文獻[4])在檢測某一個發(fā)送符號時,把其他所有的發(fā)送符號都看作噪聲,通過信道之間相互獨立的特性去消除其他發(fā)送符號的干擾。MF適用于接收天線數(shù)目遠大于發(fā)送天線數(shù)目的場景。定義表示信道響應矩陣H的第i列,則式(2.1)中的系統(tǒng)模型可以展開成如下形式:

(2.7)

式(2.7)中最右邊的第一項表示第k個發(fā)送符號xk對接收信號y做出的貢獻,第二項表示除第k個發(fā)送符號外其他發(fā)送符號對接收符號y做出的貢獻,那么在考慮檢測發(fā)送符號xk時,其他發(fā)送符號的部分[式(2.7)最右邊的第二項]就是干擾。匹配濾波器在檢測時將這些干擾統(tǒng)統(tǒng)看作噪聲,并通過以下線性變換的方式去除估計軟值符號:

(2.8)

其中,表示列向量的共軛轉置。可以消除一部分干擾;當越大時,就會越接近于0,干擾消除就越好。反觀的影響,當較小時,隨機變量的方差比較小且均值為0,此時可以很好地消除干擾;但是當較大時,隨機變量的方差會因為疊加而增大,方差大了,干擾就除“不干凈了”,性能自然就下降了。所以當系統(tǒng)很大且很小時,即系統(tǒng)負載因子較小時,MF算法就可以很好地消除干擾。將線性變換寫成矩陣的形式,則MF檢測方程為

(2.9)

MF變換矩陣,計算式(2.9)的復雜度為。對于輕載系統(tǒng)(),MF算法的SER性能接近最優(yōu);然而在中度至滿負載的系統(tǒng)中,由于來自其他發(fā)送符號的干擾不斷增加,MF算法的SER性能會隨著的增長而嚴重下降。

迫零均衡檢測算法

迫零(Zero Forcing,ZF)均衡檢測算法(簡稱ZF算法)是一種線性檢測算法,它使用信道響應矩陣H的偽逆對接收向量y進行線性轉換。令維度為nt×nrQ矩陣代表信道響應矩陣H的偽逆,則有:

(2.10)

因為,所以Qy可以完全消除其他發(fā)送符號帶來的干擾,這也是“迫零”這一名字的由來。它的缺點是,在完全消除干擾的同時卻增強了噪聲。令表示Q的第k行,那么是一個長為的行向量,并且它除了第k個元素是1之外其他元素都是0。發(fā)送符號的軟值估計可以寫成:

(2.11)

在獲得發(fā)送符號的軟值估計以后,通過映射函數(shù)即可將發(fā)送符號的軟值估計映射為硬值估計。式(2.11)中的信噪比(Signal-to-Noise Ratio,SNR)可表示為

(2.12)

ZF算法在消除干擾的同時給噪聲功率乘上了,增強了噪聲。在低SNR條件下(很大),噪聲增強使ZF算法的性能降低,此時ZF算法的性能要比MF算法的性能差;在高SNR條件下(很小),完全消除干擾可使得ZF算法的性能優(yōu)于MF算法的性能。其線性變換公式為

(2.13)

ZF算法的變換矩陣,其計算復雜度是的三次方級別(因為需要求解偽逆),所以每個符號的復雜度就是,這雖然比MF算法的復雜度高了一階,但是在大規(guī)模MIMO場景下仍然具有吸引力。與MF算法相同,在中載到重載情景下,隨著的增長,ZF算法的SER性能也會嚴重下降。

最小均方誤差檢測算法

最小均方誤差(Minimum Mean Squared Error,MMSE)檢測算法(簡稱MMSE算法)是一種線性檢測算法,顧名思義,MMSE的目標是使得發(fā)送符號向量與發(fā)送符號估計向量之間的均方誤差(又稱標準誤差)最小,即其變換矩陣是式(2.14)的解:

(2.14)

通過采用令導數(shù)為0求最值的方法,可以求得式(2.14)的解為。除此之外,式(2.14)的解還有另一種形式,即。這兩種解的形式是相同的,但是前者在形式上可以方便地與MF、ZF算法的變換矩陣做比較,所以更常用。MMSE算法的線性變換公式如式(2.15)所示,MMSE算法結合了MF和ZF算法的優(yōu)點。在高SNR條件下(很小),MMSE算法的表現(xiàn)和ZF算法的表現(xiàn)一樣,因為此時求逆括號中的第二項變得很小,以至于變得無關緊要了;在低SNR條件下(很大),MMSE算法的表現(xiàn)很像MF算法的表現(xiàn),因為隨著的對角線上的元素會越來越突出,它的逆矩陣就會趨向一個對角矩陣,且對角矩陣的元素數(shù)值大小都近似。

(2.15)

MMSE算法的性能在所有的SNR條件下都要優(yōu)于MF和ZF算法的性能。但是MMSE算法的性能需要知道信道噪聲的方差,而MF和ZF算法則不然。另外,MMSE算法也需要求逆,所以每個符號的復雜度為。在中載到重載情景下,MMSE算法的SER性能也會隨著的增長而下降。

線性檢測中的信號與干擾加噪聲比

信號與干擾加噪聲比(Signal to Interference plus Noise Ratio,SINR)定義為接收符號中有用信號平均功率與干擾信號和噪聲的平均功率之和的比值。經(jīng)過線性檢測后,第k個發(fā)送符號的軟值估計可以寫成:

(2.16)

其中,是變換矩陣Q的第k行,hi是信道矩陣H的第i列,則發(fā)送符號的SINR可以寫成:

(2.17)

MF、ZF和MMSE算法都滿足式(2.17),ZF算法因為完全消除了干擾,所以其SINR在式(2.17)的基礎上做了簡化, 如式(2.12)所示。

2.1.4 SD檢測算法

SD檢測算法(簡稱SD算法)的SER性能與ML算法相當,并且SD算法搜索的速度要比ML算法快。SD算法的思路是首先將格空間映射為Hx,然后在空間Hx里以接收符號為球心,以一個固定數(shù)值為半徑形成一個超球,接著在這個超球內搜索與接收符號之間歐氏距離最近的格點。這樣僅在超球內搜索而不是在整個格空間里搜索,在超球形成的時候就排除了很多超球外的候選格點。超球中最優(yōu)的候選格點自然也是整個格空間里的最優(yōu)候選格點。SD算法示意如圖2.2所示。

圖2.2 SD算法示意

如何確定超球半徑d是一個關鍵問題。過大的超球半徑意味著超球中仍有很多格點,搜索的復雜度依然很高;過小的超球半徑則會導致超球內不存在格點的情況出現(xiàn)。SD算法的另一個關鍵問題是如何判斷一個格點是否在超球里,或者說怎樣找到超球內的格點,如果仍然在整個格空間內窮舉,那么就和ML算法一樣了,SD就沒有意義了。對于第二個問題,SD算法是這樣解決的:它通過QR(正交三角)分解把在m維超球內尋找格點的問題分解成在一維超球(一個區(qū)間)內尋找格點的問題的疊加。如果把ML算法的窮舉搜索看作樹的深度遍歷問題,那么SD算法就可以看作樹的深度遍歷加剪枝的過程。針對如何確定合適的超球半徑d這一問題,常見的做法是首先利用2.1.3小節(jié)介紹的ZF算法獲得發(fā)送符號估計向量,再由該估計向量通過式(2.18)計算距離,將這個距離設為超球半徑。

(2.18)

式(2.18)中的表示由ZF算法獲得的發(fā)送符號的硬值估計向量,d表示超球半徑。如果超球半徑采用這種計算方式,那么SD算法就可以拆解成兩個過程:首先進行線性檢測獲取半徑,然后進行超球搜索獲得估計向量。所以SD算法的復雜度要比線性檢測算法的復雜度高得多。這里使用SD算法作為評估其他檢測算法性能的標準。為了進一步降低SD算法搜索的復雜度,這里直接利用真實的發(fā)送符號向量來計算超球半徑,省去了線性檢測的步驟,獲得了更完美的超球半徑,這樣可以大大縮減SD算法的仿真時間,但是這在實際的系統(tǒng)中是不可能做到的,這里僅僅是為了縮短SD算法仿真的時間。

主站蜘蛛池模板: 高淳县| 盐城市| 福安市| 佛山市| 连云港市| 扶绥县| 民勤县| 兴海县| 开远市| 德江县| 镇远县| 梓潼县| 沁阳市| 鹰潭市| 平陆县| 轮台县| 临泽县| 新乡县| 论坛| 九台市| 昌吉市| 濮阳县| 墨竹工卡县| 花莲县| 大关县| 永春县| 嘉峪关市| 江山市| 子长县| 丰台区| 青浦区| 兴山县| 苗栗县| 郴州市| 铜鼓县| 綦江县| 清水县| 西吉县| 凌海市| 涟水县| 五常市|