在全部通訊中,信號都會經過一個介質(稱爲信道),而且信號會失真,或者在信號經過信道時會向信號中添加各類噪聲。正確解碼接收到的信號而沒有太多錯誤的方法是從接收到的信號中消除信道施加的失真和噪聲。爲此,第一步是弄清信號通過的信道的特性。表徵信道的技術/過程稱爲信道估計(channel estimation)。此過程將說明以下。
html
信道估計有不少不一樣的方法,可是基本概念是類似的。該過程以下進行。算法
i)設置一個數學模型,以使用「信道」矩陣將「發射信號」和「接收信號」相關。數組
ii)發射已知信號(咱們一般將其稱爲「參考信號」或「導頻信號」)並檢測接收到的信號。工具
iii)經過比較發送信號和接收信號,咱們能夠找出信道矩陣的每一個元素。spa
做爲此過程的示例,這裏簡要介紹LTE中的此過程。固然,不少細節取決於實現(這意味着具體算法可能會因每一個特定的芯片組實現而有所不一樣)。可是,整體概念將是類似的。3d
咱們如何找出信道的屬性?即,咱們如何估計信道?從高的角度來看,能夠以下圖所示。此圖顯示如下內容:htm
i)咱們嵌入了一組預約義信號(這稱爲參考信號)blog
ii)當這些參考信號經過信道時,它會與其餘信號一塊兒失真(衰減,相移,噪聲)索引
iii)咱們在接收方檢測/解碼接收到的參考信號ci
iv)比較發送的參考信號和接收的參考信號,並找到它們之間的相關性。
如今讓咱們考慮LTE SISO的狀況,看看如何估計信道屬性(信道係數和噪聲估計)。因爲考慮的是SISO系統,所以參考信號僅嵌入到一個天線端口(端口0)中。資源圖中的垂直線表示頻域。所以,這裏用f1,f2,f3 ... fn索引了每一個參考信號。每一個參考符號能夠是一個複數(I / Q數據),能夠以下所示進行繪製。左側(發送側)的每一個複數(參考符號)被修改(失真)爲右側的每一個對應符號(接收的符號)。信道估計是在左側的複數數組與右側的複數數組之間找到相關性的過程。
估計的詳細方法可能很是取決於實現方式。這裏將描述的方法基於開源:srsLTE(請參閱[1])
因爲這裏只有一根天線,所以每一個發射參考信號和接收參考信號的系統模型能夠表示以下。y()表示接收到的參考信號的數組,x()表示發送的參考信號()的數組,h()表示信道係數的數組。f1,f2,...只是整數索引。
咱們知道x()是什麼,由於給定了它,而y()也知道,由於它是從接收者處測量/檢測到的。有了這些,咱們能夠很容易地計算出係數陣列,以下所示。
如今咱們有了參考信號所在位置的全部信道係數。可是咱們須要在全部位置(包括那些沒有參考信號的點)處的信道效率。這意味着咱們須要在沒有參考信號的狀況下找出那些位置的信道係數。爲此,最多見的方法是對測得的係數數組進行插值。在srsLTE的狀況下,它首先進行平均,而後對平均信道係數進行插值。
下一步是估計噪聲特性。從理論上講,噪聲能夠以下計算。
可是,咱們須要的是噪聲的統計屬性,而不是確切的噪聲值。咱們能夠僅使用測得的信道係數和平均信道來估算噪聲,以下所示(實際上,準確的噪聲值沒有太大意義,由於噪聲值會不斷變化,使用那些特定的噪聲值沒有用)。在srsLTE中,做者使用了這種方法。
假設咱們有一個以下所示的通訊系統。x(t)表示發送信號,y(t)表示接收信號。當x(t)傳輸到空中(信道)時,它會變形並得到各類噪聲,而且可能會相互干擾。所以接收到的信號y(t)不能與發射信號x(t)相同。
發射信號,接收信號和信道矩陣之間的關係能夠用數學形式建模,以下所示。
在此等式中,咱們知道值x1,x2(已知的發射信號)和y1,y2(檢測/接收的信號)。咱們不知道的部分是H矩陣和噪聲(n1,n2)。
爲簡單起見,咱們假設該信道中沒有噪聲,這意味着咱們能夠將n1,n2設置爲0。(固然,在實際信道中總會存在噪聲,估計噪聲是信道估計中很是重要的一部分,可是咱們在此示例中假設沒有噪音,只是爲了使其簡單。稍後,當我有更好的知識以通俗的語言描述案件時,我將在案件中添加噪音)。
因爲咱們具備數學模型,所以下一步是傳輸已知信號(參考信號)並從參考信號中找出信道參數。
假設咱們僅經過一個天線發送了幅度爲1的已知信號,而另外一個天線如今處於關閉狀態。因爲信號經過空氣傳播,而且接收方的兩個天線都會檢測到該信號。如今,假設第一個天線接收幅度爲0.8的參考信號,第二個天線接收幅度爲0.2的參考信號。有了這個結果,咱們能夠得出以下所示的一行信道矩陣(H)。
假設咱們僅經過另外一個(第二個)天線發送了幅度爲1的已知信號,而且第一個天線如今處於關閉狀態。因爲信號經過空氣傳播,而且接收方的兩個天線都會檢測到該信號。如今,假設第一個天線接收到幅度爲0.3的參考信號,第二個天線接收到幅度爲0.7的參考信號。有了這個結果,咱們能夠得出以下所示的一行信道矩陣(H)。
夠簡單嗎?我認爲理解這個基本概念沒有任何問題。可是,若是徹底按照上述方法使用此方法,則可能會致使效率低下。根據上面解釋的概念,應該有一個時刻,僅發送參考信號而沒有實際數據,只是爲了估計信道信息,這意味着因爲信道估計過程,數據速率將下降。爲了消除這種效率低下的問題,實際的通訊系統會同時發送參考信號和數據。
如今的問題是「如何在同時傳輸參考信號和數據的同時實現上述概念?」。能夠有幾種不一樣的方法來執行此操做,而且不一樣的通訊系統將使用一些不一樣的方法。
以LTE爲例,咱們使用以下所示的方法。在LTE中爲2 x 2 MIMO的狀況下,每一個子幀具備用於每一個天線的參考信號的不一樣位置。天線0的子幀發送了分配給天線0的參考信號,不發送分配給天線1的參考信號的信號。天線1的子幀發送了分配給天線1的參考信號的信號,不發送給參考天線的任何信號。爲天線0分配的信號。所以,若是在兩個接收器天線上解碼爲天線0的參考信號分配的資源元素,則能夠估計h11,h12。(在這裏,爲了簡單起見,咱們還假設沒有噪音)。若是在兩個接收器天線上解碼分配給天線1參考信號的資源元素,則能夠估計h21,h22。
上面說明的過程是針對LTE OFDMA符號中的頻域中的一個特定點測量 \(H\) 矩陣。若是您在對符號的其餘部分進行解碼的過程當中照原樣應用測量的H值,則解碼的符號的準確性可能不盡人意,由於上一步中使用的測量數據會包含必定程度的噪聲。所以,在實際應用中,對經過上述方法測得的 \(H\) 值進行某種後處理,在此後處理過程當中,咱們能夠找出噪聲的整體統計屬性(例如,噪聲的均值,方差和統計分佈))。要記住的一件事是,在此過程當中得到的特定噪聲值自己並無太多意義。從參考信號得到的特定值將與用於解碼其餘數據的噪聲值(非參考信號)不一樣,由於噪聲值是隨機變化的。然而,那些隨機噪聲的整體特性能夠是重要的信息(例如,在SNR估計等中使用)。
在繼續以前,讓咱們再次簡單地考慮一下數學模型。即便咱們將系統方程式描述以下,其中包括噪聲項,但這並不意味着您能夠直接測量噪聲。是不可能的。該方程式僅代表檢測到的信號(y)包含噪聲份量的某些部分。
所以,當咱們測量信道係數時,咱們使用了沒有噪聲項的設備,以下所示。
在LTE的特定應用中,咱們在OFDM符號中有多個測量點(多個參考信號)。這些測量點在頻域上表示。所以,讓咱們以下重寫信道矩陣以指示每一個信道矩陣的測量點。
如今,假設您已經測量了整個OFDM符號上的H矩陣,那麼您將擁有多個 \(H\) 矩陣,以下所示,每一個矩陣都以一個特定的頻率指示H矩陣。
如今你有了一個 \(H\) 矩陣數組。該陣列由四個不一樣的組組成,每一個組用不一樣的顏色突出顯示,以下所示。
當應用後處理算法時,該算法須要分別應用於這些組中的每個。所以,爲簡單起見,我將 \(H\) 矩陣的數組從新排列爲多個獨立數組(在本例中爲4個數組),以下所示。
對於這些數組中的每個,我將進行以下所示的相同處理。(每一個芯片組製造商均可以應用稍微不一樣的方法,可是整體思路是類似的)。在下面說明的方法中,數據(每一個頻點中的信道係數陣列)使用IFFT進行處理,這意味着將dta轉換爲時域,從而生成標記爲(2)的時域數據陣列。實際上,這是特定信道路徑的脈衝響應。而後,咱們對該時域數據應用特定的過濾(或加窗)。在此示例中,將某個點的數據替換爲零,並建立標記爲(3)的結果。您能夠應用更復雜的過濾器或窗口,而不是這種簡單的調零。而後,經過將濾波後的信道脈衝數據轉換回頻域,
經過對全部四個陣列執行相同的過程,您能夠得到「估計信道係數陣列」的四個陣列。從這四個陣列中,您能夠按如下方式重建估計信道矩陣的陣列。
使用此估算的信道矩陣,您可使用如下公式估算每一個點的噪聲值。這與本頁開頭的原始系統方程式相同,除了將H矩陣替換爲「估計的H」矩陣外,如今咱們知道除噪聲值之外的全部值。所以,經過插入全部已知值,咱們能夠在每一個測量點計算(估計)噪聲值。
若是將此方程式應用於全部測量點,則將得到全部測量點的噪聲值,並從這些計算出的噪聲值中得到噪聲的統計屬性。如上所述,此處計算出的每一個單獨的噪聲值沒有太大意義,由於該值不能直接應用於解碼其餘信號(非參考信號),可是這些噪聲的統計特性對於肯定噪聲而言多是很是有用的信息。渠道的性質。
注意:若是您對在實際應用中如何使用此算法感興趣,強烈建議閱讀/嘗試使用Ref [2]和[3]。
[1] srsLTE:\ srslte \ lib \ ch_estimation \ chest_dl.c-srslte_chest_dl_estimate_port()
[2] 信道估計(Mathworks,LTE工具箱)
[3] NR同步程序
[4] http://www.sharetechnote.com/html/Communication_ChannelEstimation.html#General_Algorithm