Matlab 產生白雜訊和有色雜訊序列

2021-07-02 04:16:49 字數 2972 閱讀 1834

一、白雜訊和有色雜訊定義

1.白雜訊(white noise)

系統辨識中所用到的資料通常都是含有雜訊的。從工程實際出發,這種雜訊往往可以視為具有有理譜密度的平穩隨機過程。白雜訊是一種最簡單的隨機過程,是有一系列不相關的隨機變數組成的理想化隨機過程。其自相關函式為dirac函式。

2.有色雜訊(colored noise)

理想的白雜訊只是一種理論上的抽象,在物理上是很難實現的,現實中並不存在這樣的雜訊。因而,工程實際中測量資料所包含的雜訊往往是有色造勢。所謂有色雜訊(或相關雜訊)是指序列中沒一時刻的雜訊相關。有色雜訊可以看成是由白雜訊序列驅動的線性環節的輸出。

二、白雜訊與有色雜訊區別

(1)其實由定義可以看出,白雜訊不同時刻是不相關的,自相關函式為脈衝函式;有色雜訊則是相關的。

(2)實際測試可以通過測試功率譜來區別,白雜訊的功率譜在各頻率的值都比較平均,有色雜訊則會有較為明顯的峰值。

三、具體例項

1.產生有色雜訊e(k) = x(k) + 0.5*x(k-1)。其中,x(k)為方差為1的白雜訊

clear all; close all;

clcl=500;  %**長度

c = [1 -0.5];

nc = length(c) - 1;

xik=zeros(nc,1);  %白雜訊初值

xi=randn(l,1);  %產生均值為0,方差為1的高斯白雜訊序列

for k=1:l

e(k)=c*[xi(k);xik];  %產生有色雜訊

%資料更新

for i=nc:-1:2

xik(i)=xik(i-1);

endxik(1)=xi(k);

end

subplot(2,1,1);

plot(xi);

xlabel('k');ylabel('雜訊幅值');title('白雜訊序列');

subplot(2,1,2);

plot(e);

xlabel('k');ylabel('雜訊幅值');title('有色雜訊序列');

%測試功率譜

[y1,f1] = spectrum_calc(xi',512);

p1 = 1/l * y1.*conj(y1);

figure(2)

subplot(211)

plot(f1,p1)

[y2,f2] = spectrum_calc(e,512);

p2 = 1/l * y2.*conj(y2);

subplot(212)

plot(f2,p2)

執行結果:

l=500;  %**長度

d=[1 -1.5 0.7 0.1]; c=[1 0.5 0.2];  % 分子分母多項式係數

nd=length(d)-1 ;nc=length(c)-1; 

%階次xik=zeros(nc,1);  %白雜訊初值

ek=zeros(nd,1);

xi=randn(l,1);  %產生均值為0,方差為1的高斯白雜訊序列

for k=1:l

e(k)=-d(2:nd+1)*ek+c*[xi(k);xik];  %產生有色雜訊

%資料更新

for i=nd:-1:2

ek(i)=ek(i-1);

endek(1)=e(k);

for i=nc:-1:2

xik(i)=xik(i-1);

endxik(1)=xi(k);

endsubplot(2,1,1);

plot(xi);

xlabel('k');ylabel('雜訊幅值');title('白雜訊序列');

subplot(2,1,2);

plot(e);

xlabel('k');ylabel('雜訊幅值');title('有色雜訊序列');

%測試功率譜

這個功率譜比例1效果要好很多。

四、程式及結果說明:

1.spectrum_calc函式為快速傅利葉變換函式,具體見博文

2.例2中提供了乙個線性系統,將系統轉換為差分方程形式可能更有助於程式的理解。系統的等價差分方程為:

e(k) – 1.5e(k-1) + 0.7e(k-2) + 0.1e(k-3) = xi(k) + 0.5xi(k-1) + 0.2xi(k-2)

Matlab白雜訊高斯雜訊

實現書本 隨機控制 上關於生成高斯白雜訊的方法。白雜訊就是標準均勻分布偽隨機數列。1.標準均勻分布函式,均值1 2,方差1 12 x1 1973 y zeros 1,500 for i 1 500 x1 mod 91 x1,10 4 y 1,i x1 10000 end stem y xlabel ...

高斯白色雜訊和有色雜訊(搬磚)

所謂的高斯白雜訊是指訊號的幅度分布服從高斯分布,而它的功率譜密度又是均勻分布的 是乙個常數 系統表示過程中所用到的資料通常都是含有雜訊的,從工程實際出發,這種雜訊往往可以視為具有有理譜密度的平穩隨機過程。白雜訊是一種最簡單的隨機過程,是由一系列不相關的隨機變數組成的理想化隨機過程。其自相關函式為狄拉...

Math 簡單產生白雜訊的演算法

在音訊中有時候用白雜訊作為測試訊號,下面是乙個具體的簡單白雜訊產生演算法。演算法參考文獻 下面code的演算法使用的是 線性混合同餘法 x i a x i 1 c mod m m 2 k a選優質的乘子589 c和x i 1 選能夠讓白雜訊剛開始產生訊號比較小的值。x i 1 27 c 481 在1...