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