MATLAB中產(chǎn)生高斯白噪聲的兩個(gè)函數
MATLAB中產(chǎn)生高斯白噪聲非常方便,可以直接應用兩個(gè)函數,一個(gè)是WGN,另一個(gè)是AWGN。WGN用于產(chǎn)生高斯白噪聲,AWGN則用于在某一信號中加入高斯白噪聲。
1. WGN:產(chǎn)生高斯白噪聲
y = wgn(m,n,p) 產(chǎn)生一個(gè)m行n列的高斯白噪聲的矩陣,p以dBW為單位指定輸出噪聲的強度。
y = wgn(m,n,p,imp) 以歐姆(Ohm)為單位指定負載阻抗。
y = wgn(m,n,p,imp,state) 重置RANDN的狀態(tài)。
在數值變量后還可附加一些標志性參數:
y = wgn(…,POWERTYPE) 指定p的單位。POWERTYPE可以是'dBW', 'dBm'或'linear'。線(xiàn)性強度(linear power)以瓦特(Watt)為單位。
y = wgn(…,OUTPUTTYPE) 指定輸出類(lèi)型。OUTPUTTYPE可以是'real'或'complex'。
2. AWGN:在某一信號中加入高斯白噪聲
y = awgn(x,SNR) 在信號x中加入高斯白噪聲。信噪比SNR以dB為單位。x的強度假定為0dBW。如果x是復數,就加入復噪聲。
y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是數值,則其代表以dBW為單位的信號強度;如果SIGPOWER為'measured',則函數將在加入噪聲之前測定信號強度。
y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的狀態(tài)。
y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的單位。POWERTYPE可以是'dB'或'linear'。如果POWERTYPE是'dB',那么SNR以dB為單位,而SIGPOWER以dBW為單位。如果POWERTYPE是'linear',那么SNR作為比值來(lái)度量,而SIGPOWER以瓦特為單位。
注釋
1. 分貝(decibel, dB):分貝(dB)是表示相對功率或幅度電平的標準單位,換句話(huà)說(shuō),就是我們用來(lái)表示兩個(gè)能量之間的差別的一種表示單位,它不是一個(gè)絕對單位。例如,電子系統中將電壓、電流、功率等物理量的強弱通稱(chēng)為電平,電平的單位通常就以分貝表示,即事先取一個(gè)電壓或電流作為參考值(0dB),用待表示的量與參考值之比取對數,再乘以20作為電平的分貝數(功率的電平值改乘10)。
2. 分貝瓦(dBW, dB Watt):指以1W的輸出功率為基準時(shí),用分貝來(lái)測量的功率放大器的功率值。
3. dBm (dB-milliWatt):即與1milliWatt(毫瓦)作比較得出的數字。
0 dBm = 1 mW
10 dBm = 10 mW
20 dBm = 100 mW
也可直接用randn函數產(chǎn)生高斯分布序列,例如:
y=randn(1,2500);
y=y/std(y);
y=y-mean(y);
a=0.0128;
b=sqrt(0.9596);
y=a+b*y;
就得到了 N ( 0.0128, 0.9596 ) 的高斯分布序列。
聯(lián)系客服