香農定理

  • 香農定理


香農定理(Shannon Theory)給出了信道信息傳送速率的上限(比特每秒)和信道信噪比及帶寬的關係。香農定理可以解釋現代各種無線制式由於帶寬不同,所支持的單載波最大吞吐量的不同。

在有隨機熱噪聲的信道上傳輸數據信號時,信道容量Rmax與信道帶寬W,信噪比S/N關係爲: Rmax=W*log2(1+S/N)。注意這裏的log2是以2爲底的對數。


簡介











類比:城市道路上的汽車的車速(業務速率)和什麼有關係?

圖1  行車速度的影響圖1 行車速度的影響



除了和自己車的動力有關之外,主要還受限於道路的寬度(帶寬)和車輛多少、紅燈疏密等其他干擾因素(信噪比),如圖1所示。

俗話說:“有線的資源是無限的,而無線的資源卻是有限的。”無線信道並不是可以任意增加傳送信息的速率,它受其固有規律的制約,就像城市道路上的車一樣不能想開多快就開多快,還受到道路寬度、其他車輛數量等因素影響。這個規律就是香農定理

香農定理是所有通信制式最基本的原理,它描述了有限帶寬、有隨機熱噪聲信道的最大傳輸速率與信道帶寬、信號噪聲功率比之間的關係。其用公式可表示爲:

其中:C是信道支持的最大速度或者叫信道容量;B是信道的帶寬;S是平均信號功率;N是平均噪聲功率;S/N即信噪比。

香農定理給出了信道信息傳送速率的上限(比特每秒)和信道信噪比及帶寬的關係。香農定理可以解釋現代各種無線制式由於帶寬不同,所支持的單載波最大吞吐量的不同。

理解香農公式須注意以下幾點:

(1)信道容量由帶寬及信噪比決定,增大帶寬、提高信噪比可以增大信道容量;

(2)在要求的信道容量一定的情況下,提高信噪比可以降低帶寬的需求,增加帶寬可以降低信噪比的需求;

(3)香農公式給出了信道容量的極限,也就是說,實際無線制式中單信道容量不可能超過該極限,只能儘量接近該極限。在卷積編碼條件下,實際信道容量離香農極限還差3dB;在Turbo編碼的條件下,接近了香農極限。

(4)LTE中多天線技術沒有突破香農公式,而是相當於多個單信道的組合。

香農定理可以變換一下形式成爲

這個C/B就是單位帶寬的容量(業務速率),就是頻譜利用率的概念,也就是說香農定理給出了一定信噪比下頻率利用率的極限。

在有隨機熱噪聲的信道上傳輸數據信號時,數據傳輸率Rmax與信道帶寬W,信噪比S/N關係爲: Rmax=W*log2(1+S/N)。注意這裏的log2是以2爲底的對數,下同。


在信號處理和信息理論的相關領域中,通過研究信號在經過一段距離後如何衰減以及一個給定信號能加載多少數據後得到了一個著名的公式,叫做香農(Shannon)定理。它以比特每秒(bps)的形式給出一個鏈路速度的上限,表示爲鏈路信噪比的一個函數,鏈路信噪比用分貝(dB)衡量。因此我們可以用香農定理來檢測電話線的數據速率。

香農定理由如下的公式給出: C=W*log2*(1+S/N) 其中C是可得到的鏈路速度,W是鏈路的帶寬,S是平均信號功率,N是平均噪聲功率,信噪比(S/N)通常用分貝(dB)表示,分貝數=10×log10(S/N)。

通常音頻電話連接支持的頻率範圍爲300Hz到3300Hz,則B=3300Hz-300Hz=3000Hz,而一般鏈路典型的信噪比是30dB,即S/N=1000,因此我們有C=3000×log2(1+ 1000),近似等於30Kbps,是28.8Kbps調制解調器的極限,因此如果電話網絡的信噪比沒有改善或不使用壓縮方法,調制解調器將達不到更高的速率。


應用



香農定理用來求信道的最大傳輸速率,即信道容量,當通過信道的信號速率超過香農定理的信道容量時,誤碼率顯著提高,信息質量嚴重下降。需要指出的是這裏的信道容量只是理論上可以達到的極限,實際如何達到,該定理不能說明。


看到很多朋友都在談論信噪比這個概念,正好前段時間學到了這個,特此拿出來班門弄斧一下。 

  信噪比--SNR(有時寫成S/N)是signal-to-noise ratio的縮寫,是指有用信號(規定輸入電壓下的輸出信號電壓)和噪聲信號(輸入電壓切斷時,輸出所殘留之雜音電壓)之間的比值。 

  爲了得到的比值顯示更爲直觀,我們往往把S/N寫成分貝(decibels)-----縮寫成dB 

  S/N = 10 log10(S/N)--------S:有用信號;N:噪聲信號。 

  (注意如果信號以功率來表示,就在對數前乘以10,如果以振幅表示(amplitude),就乘以20:S/N = 20 log10(S/N))。 

  所以當S=N時,SNR=0dB,這時得到的信號根本不可用。由此可琩B直越大,S/R的比值就越大,我們得到的有用信號比值就越大,對於聲音信號來說,還原的聲音信號就越“乾淨”,比如90dB,那S/N的比值就要達到10的9次方(功率)-----通俗的講平均出現1W噪聲信號,就有1000000000W有用信號,這是一個相當可觀的數值了。 

順便講一下爲什麼功率就乘以10,而電壓(電流)就乘以20,其實很簡單(這裏的P表示功率,E表示電壓,I表示電流,Z表示阻抗)。 

SNR信噪比是指音箱回放的正常聲音信號與無信號時噪聲信號(功率)的比值。用dB表示。例如,某音箱的信噪比爲80dB,即輸出信號功率比噪音功率大80dB。信噪比數值越高,噪音越小。 

    國際電工委員會對信噪比的最低要求是前置放大器大於等於63dB,後級放大器大於等於86dB,合併式放大器大於等於63dB。合併式放大器信噪比的最佳值應大於90dB,CD機的信噪比可達90dB以上,高檔的更可達l10dB以上。信噪比低時,小信號輸入時噪音嚴重,整個音域的聲音明顯感覺是混濁不清,所以信噪比低於80dB的音箱不建議購買,而低音炮70dB的低音炮同樣原因不建議購買。

信噪比可以用圖像信號和噪聲信號的方差(局部方差,3×3或5×5的塊)比來估計。可認爲圖像平坦區域的方差爲噪聲方差,細節區域的方差爲圖像方差。具體操作時還需校正,校正公式爲:1.04*b-7(b計算處的方差比),該方法適應的信噪比範圍爲20-50dB。


SNR(Signal to Noise Ratio,信噪比):

   指在規定輸入電壓下的輸出信號電壓與輸入電壓切斷時,輸出所殘留之雜音電壓之比,也可看成是最大不失真聲音信號強度與同時發出的噪音強度之間的比率,通常以S/N表示。一般用分貝(dB)爲單位,信噪比越高表示音頻產品越好,常見產品都選擇60dB以上。

SNR(信噪比)在不同的應用領域有不同的定義方法,其對應的估計方法也不同。我們這裏的任務是對一段採集到的(含噪)信號進行SNR估計,就是說我們面對着一段採集信號x(k)=s(k)+n(k),k=1,2…,N;其中s是有用信號(以下簡稱信號)部分,n是噪聲部分。我們需要合理地估計x的信噪比。

在上述情況下,SNR定義爲信號功率與噪聲功率之比的對數,即:

SNR = 10*log10(Ps/Pn)(db)   [1]

由此可知,想要合理地估計SNR,首先需要用正確的方法估計Ps和Pn。

 

在對Ps和Pn進行估計的時候,首先需要明確的是在我們的估計問題中,有用信號s是確定信號還是隨機信號。這與我們進行SNR估計的目的有關。如果我們的目的只是計算採集來的這一段x的信噪比(而不打算用這個信噪比產生任何其他推論,比如我們試圖觀察並記錄不同時間段的信噪比變化情況),那麼我們可以將信號s看作是確定信號,因爲這時我們是在對這一段已經客觀產生的板上釘釘的沒有任何隨機性的x進行分析,準確地說,我們這個時候是在進行SNR計算或者SNR測量(而不是SNR估計);如果我們不僅僅要計算這一段x的信噪比,而是要在此基礎上推斷之後採集的x1,x2….的信噪比的情況(比如我們試圖對一個系統的SNR性能進行估計),那麼這時我們就要把信號s看作是隨機信號,因爲我們是要從這段x中提取出對我們之後分析x1,x2…有用的信息,這時纔是名副其實的SNR估計。

而對於噪聲n,需要明確的是,在絕大多數情況下,從採集到的x中分離出s和n是不現實的。也就是說我們必須在進行本文涉及的SNR分析之前,先採集一段純噪聲信號,通過對該段純噪聲信號的分析得到關於噪聲的先驗知識,之後將它們應用到本文涉及的SNR分析中。因此,從這個意義上講,在絕大多數情況下,我們無法將噪聲n看作確定信號,只能將其看作隨機信號來處理。

 

以下我們分別說明Ps和Pn的估計方法。

1.  對Ps的估計(本部分噪聲功率暫時用Pn表示)

(1)    將s看作確定信號

將s看作確定信號,就是說s的所有信息都已確定下來,我們只需要將必要的信息提取出來計算SNR。根據功率(就是平均功率)的定義,

Ps = 1/N*sum(abs(s(k))^2)    [2]

從理論上說,我們應該從x中減去n,只分析s的部分。但是由於實際情況下很難從x中分離出s和n,因此只能將x當作s進行後續計算。這在Ps>>Pn的情況下誤差不會很大,即要求x的信噪比不是很低。因此,

Ps= 1/N*sum(abs(x(k))^2)    [3]

根據帕塞瓦爾定理,s的時域能量和頻域能量相等(點數問題似乎需要考慮一下),因此將x變換到頻域計算1/N*sum(abs(X(f))^2)的結果應該與[3]式相同。可知,將s看作確定信號時x的SNR計算公式爲:

SNR = 10*log10(sum(abs(x(k))^2)/(N*Pn))    [4]

這裏需要有兩點說明。一是有些地方說Ps可以用max(abs(s(k)))^2/N計算,我覺得這種方法只是對[4]式的一種簡化;二是根據x=s+n,可知x^2=(s+n)^2!=s^2+n^2,也就是說x、s、n三者不能在能量、功率層面出現任何的加減運算。加減運算只可能出現在幅度層面。而由於噪聲n的幅度是不可知的(因爲是隨機變量所以不可分離),因此在本文所提及的情況中關於加減的想法要堅決摒除。

(2)    將s看作隨機信號

在將s看作隨機信號的時候,我們需要用某個對隨機信號不變的量來估計SNR,因爲只有這樣才能使估計結果對推斷之後的SNR有作用。對於寬平穩隨機過程x,其相關函數Rxx只與平移量有關,而功率譜S(f)作爲Rxx的Fourier變換,亦是相對固定的量(是麼)。因此我們可以首先對隨機信號x(同樣由於無法分離s和n,只能分析x)進行功率譜估計,得到S(f),之後對S(f)求均值得到平均功率E[S(f)]。若對x進行的是M點的功率譜估計,那麼

Ps = 1/M*sum(Ss(f))    [5]

這裏要注意單雙邊的問題。對於隨機信號x,每一個x(k)均是隨機變量,x的FFT不存在,因此無法利用求FFT的方法來計算功率譜,只能通過其他方法來估計功率譜。 功率譜估計的方法很多,最基本的方法是求得相關函數Rxx後對其進行FFT,另外,ARMA譜估計等現代譜估計方法也是可以的,而且會得到分辨率更高的功率譜。

對於寬平穩隨機過程,由於相關函數Rxx只與平移量有關,因此二階矩(相當於平移量是0)也是不變的量,所以Ps也可以通過

Ps = 1/N*sum(abs(s(k))^2)    [6]

求得。綜上可知,將s看作隨機信號時,

SNR = 10*log10(sum(Ss(f))/(M*Pn)) = 10*log10(sum(abs(x(k))^2)/(N*Pn))   [7]

 

2.  對Pn的估計

前面已經提到過,n是一定要當作隨機變量看待的。因此,根據1(2)中的分析,Pn同樣存在兩種估計方法:

Pn = 1/M*sum(Sn(f))   [8]

 = 1/N*sum(abs(n(k))^2)  [9]

需要注意的是,對Pn的估計方法要和Ps的估計方法對應,比如Ps採用[5]式,那麼Pn要相應地採用[8]式;Ps採用[6]式,Pn要相應地採用[9]式。

 

綜上所述,對含噪信號SNR估計方法如下:

對於確定性信號s, SNR = 10*log10(sum(abs(x(k))^2)/ sum(abs(n(k))^2)); [10]

對於隨機信號s,SNR = 10*log10(sum(Ss(f))/sum(Ss(f))) = 10*log10(sum(abs(x(k))^2)/ sum(abs(n(k))^2))   [11]

 

2.

 

圖象的信噪比應該等於信號與噪聲的功率譜之比,但通常功率譜難以計算,有一種方法可以近似估計圖象信噪比,即信號與噪聲的方差之比。首先計算圖象所有象素的局部方差,將局部方差的最大值認爲是信號方差,最小值是噪聲方差,求出它們的比值,再轉成dB數,最後用經驗公式修正,具體參數請參看“反捲積與信號復原(鄒謀炎)”。

 

信噪比可以用圖像信號和噪聲信號的方差比來估計。可認爲圖像平坦區域的方差爲噪聲方差,細節區域的方差爲圖像方差。具體操作時還需校正,校正公式爲:1.04*b-7(b計算處的方差比),該方法適應的信噪比範圍爲20-50db。

 

3.(這是MSE,應用於圖像處理前後的比較,並非信噪比)

 

信噪比通常用於比較原始圖象(一般是幅標準圖如LENA圖等)  

  然後你對這幅圖象進行了各種圖象處理如壓縮,濾波等  

  這樣得到的一幅新圖質量上受到了影響  

  信噪比就是可衡量這種質量損失的多少的一種度量  

  其公式爲這裏不好寫  

  用VC實現爲  

      double   temp1=0.0;double   temp2=0.0;  

  for(int   i=0;i<ROW;i++)  

    for(int   j=0;j<COL;j++)  

    {    

          temp1=temp1+OldImage[i][j]*OldImage[i][j];  

          timp2=temp2+(OldImage[i][j]-NewImage[i][j])*(OldImage[i][[j]-NewImage[i][j];  

    }  

  }  

  double   SNR=255*255/Temp2*ROW*COL;  

  SNR=10*log10(SNR);//SNR即爲信噪比  

  double   SNR2=temp1/temp2;  

  SNR2=10*log10(SNR2);//SNR2即爲峯值信噪比

 

4.

 

利用圖象平均值與局域圖象的方差的極大值之比來計算信噪比  

   

      SNR=M/LSD(MAX)  

   

  M是圖象的平均值,LSD(MAX)爲圖象塊(4*4,8*8,........)的方差的極大值(極大或極小有待商榷,因爲極大值在實際中太大,會造成數據非常小).

 

 

文章其中提到如下:這裏,我們定義了圖像的信噪比SNR:. SNR二人mem/o(2). 式中:尤m。m爲信號的平均灰度值:0局部窗口內背景灰度標準差。

地址如下:http://www.ceps.com.tw/cepsdo/10018891-200411-26-6-54-57-a.pdf


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章