matlab陣列中怎麼加入高斯白噪聲

2021-05-27 06:30:15 字數 4867 閱讀 8423

1樓:du瓶邪

matlab中產生高斯白噪聲的兩個函式

matlab中產生高斯白噪聲非常方便,可以直接應用兩個函式,一個是wgn,另一個是awgn。wgn用於產生高斯白噪聲,awgn則用於在某一訊號中加入高斯白噪聲。

1. wgn:產生高斯白噪聲

y = wgn(m,n,p) 產生一個m行n列的高斯白噪聲的矩陣,p以dbw為單位指定輸出噪聲的強度。

y = wgn(m,n,p,imp) 以歐姆(ohm)為單位指定負載阻抗。

y = wgn(m,n,p,imp,state) 重置randn的狀態。

在數值變數後還可附加一些標誌性引數:

y = wgn(…,powertype) 指定p的單位。powertype可以是'dbw', 'dbm'或'linear'。線性強度(linear power)以瓦特(watt)為單位。

y = wgn(…,outputtype) 指定輸出型別。outputtype可以是'real'或'***plex'。

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的狀態。

y = awgn(…,powertype) 指定snr和sigpower的單位。powertype可以是'db'或'linear'。如果powertype是'db',那麼snr以db為單位,而sigpower以dbw為單位。

如果powertype是'linear',那麼snr作為比值來度量,而sigpower以瓦特為單位。

2樓:匿名使用者

你的陣列為m

n=randn()命令,產生與你陣列同維的高斯噪聲,然後

x=m+n即可

matlab中如何新增高斯白噪聲

3樓:匿名使用者

noise=(1/sqrt(2))*(randn(m,l)+1j*randn(m,l)); %高斯白噪聲

如何在matlab裡面向訊號裡面加入白噪聲?

4樓:go風影

y=awgn(x,snr),加性高斯白du噪函式,x原訊號,zhisnr是訊雜比,不知道你dao這個2%是能量

專還是幅屬值,如果是能量的話,snr=10*log(100/2);如果是幅值,snr=20*log(100/2);

**如下:

clc; clear ;

t=0:0.01:1;

y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);

snr=10*log(100/2); % 2%是能量比x=awgn(y1,snr);

subplot(211), plot(t,y1);

title('原訊號');

% 加入噪聲後有毛刺,但2%的噪聲有點小,毛刺不明顯。

subplot(212), plot(t,x);

title('加高斯白噪訊號');

5樓:匿名使用者

在matlab中無論是wgn還是baiawgn函式,實質du都是由randn函式產生

zhi的噪聲。即,wgn函式中調

dao用了randn函式,而版awgn函式中呼叫了wgn函式。

權根據awgn的實現**可以知道「向已知訊號新增某個訊雜比(snr)的高斯白噪聲」,

即:awgn(x,snr,』measured』,'linear』),命令的作用是對原訊號x新增訊雜比(比值)為snr的噪聲,在新增之前先估計訊號x的強度。

直接對原始訊號新增噪聲:

y=x+rand(length(x),1)y=x+randn(length(x),1))

6樓:匿名使用者

t=0:0.001:1;

y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);

temp=y1+0.02*y1.*rand(size(y1));

plot(t,y1,t,temp,'r')

7樓:日向淳正

l=length(y1);

noise=rand(1,l); %生成跟你的訊號一樣長度的白噪聲.

y=y1+noise; %加入白噪聲

matlab中如何給我的一段訊號加高斯白噪聲

8樓:匿名使用者

你這個是訊號波形資料嗎? 加噪聲一般是對模擬訊號加噪聲matlab有一個函式很方便加入高斯白噪聲x是訊號序列, y = awgn(x,snr) 在訊號x中加入高斯白噪聲,訊雜比snr以db為單位。x的強度假定為0dbw。

比如:x = sqrt(2)*sin(0:pi/8:6*pi);

y = awgn(x,10);

plot(x,'b');hold on; plot(y,'r')

如何在matlab的影象中加入高斯白噪聲?

9樓:夜來雨早來晴

一般加入白噪聲,只得是加入高斯白噪聲

利用randn產生高斯分佈噪聲加到原來的影象上就可以了假設你原來的影象的資料存在矩陣變數a中

那麼noise=a*randn(size(a));

其中a是需要加噪聲的方差值,a的取值確定噪聲的幅度大小一般比影象訊號幅度小得多

b=a+noise;

就是加了噪聲之後的影象

10樓:匿名使用者

% 加噪

image=double(image);

i=awgn(image,5);%加入訊雜比為5分貝的高斯白噪聲figure; imshow(uint8(i)); title('noised image');

如何在matlab程式的影象中新增高斯白噪聲?

11樓:寧亭蹇曉星

%加噪image=double(image);

i=awgn(image,5);%加入訊雜比為5分貝的高斯白噪聲figure;

imshow(uint8(i));

title('noised

image');

請問如何在matlab裡在一個訊號曲線上加上1到3個高斯白噪聲?謝謝

12樓:匿名使用者

matlab中產生高斯白

噪聲的兩個函式

matlab中產生高斯白噪聲非常方便,可以直接應用兩個函式,一個是wgn,另一個是awgn。wgn用於產生高斯白噪聲,awgn則用於在某一訊號中加入高斯白噪聲。

1. wgn:產生高斯白噪聲

y = wgn(m,n,p) 產生一個m行n列的高斯白噪聲的矩陣,p以dbw為單位指定輸出噪聲的強度。

y = wgn(m,n,p,imp) 以歐姆(ohm)為單位指定負載阻抗。

y = wgn(m,n,p,imp,state) 重置randn的狀態。

在數值變數後還可附加一些標誌性引數:

y = wgn(…,powertype) 指定p的單位。powertype可以是'dbw', 'dbm'或'linear'。線性強度(linear power)以瓦特(watt)為單位。

y = wgn(…,outputtype) 指定輸出型別。outputtype可以是'real'或'***plex'。

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的狀態。

y = awgn(…,powertype) 指定snr和sigpower的單位。powertype可以是'db'或'linear'。如果powertype是'db',那麼snr以db為單位,而sigpower以dbw為單位。

如果powertype是'linear',那麼snr作為比值來度量,而sigpower以瓦特為單位。

註釋 1. 分貝(decibel, db):分貝(db)是表示相對功率或幅度電平的標準單位,換句話說,就是我們用來表示兩個能量之間的差別的一種表示單位,它不是一個絕對單位。

例如,電子系統中將電壓、電流、功率等物理量的強弱通稱為電平,電平的單位通常就以分貝表示,即事先取一個電壓或電流作為參考值(0db),用待表示的量與參考值之比取對數,再乘以20作為電平的分貝數(功率的電平值改乘10)。

2. 分貝瓦(dbw, db watt):指以1w的輸出功率為基準時,用分貝來測量的功率放大器的功率值。

3. dbm (db-milliwatt):即與1milliwatt(毫瓦)作比較得出的數字。

0 dbm = 1 mw

10 dbm = 10 mw

20 dbm = 100 mw

也可直接用randn函式產生高斯分佈序列,例如:

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 ) 的高斯分佈序列。

matlab怎麼產生隨機復高斯數

matlab產生滿足二維高斯 正態 分佈的隨機數 參考如下 mu 0,2 數學期望sigma 1 0 0,4 協方差矩陣r mvnrnd mu,sigma,50 生成50個樣本 請問怎麼在matlab中生成一個高斯隨機矩陣?matlab中產生高斯隨機數的有幾種方法,常用的函式如randn產生 0,1...

matlab中如何刪去陣列中元素

具體方法如下 a 1 10 生成陣列a a 1 2 3 4 5 6 7 8 9 10 a 5 刪除陣列a中第5個元素 a a 1 2 3 4 6 7 8 9 10 擴充套件資料 生成 hdl coder 可替代 simulink hdl coder 的新產品,新增了直接從 matlab 生成 hdl...

matlab中,陣列和字串陣列的區別。將陣列轉化為字串陣列到底什麼意思是

二者的組成不同 陣列的組成元素是複數,字串陣列的組成元素是數字字串 二者的精度不同,陣列表示的數都是近似值,字串陣列表示的值都是精確值。例如陣列的1 3表示為0.3333,字串陣列表示的是1 3。二者的運算不同,比如陣列有 等運算,但字串陣列只有 和 兩種運算。字串陣列中還有許多數值運算中所沒有的特...