資源簡(jiǎn)介
基于自然梯度算法,對(duì)盲信號(hào)分離進(jìn)行了仿真。程序中采用了變步長(zhǎng)的方法。
代碼片段和文件信息
clear;
Fs=1e4;?????%采用頻率
miu=120e-4;?%學(xué)習(xí)步長(zhǎng)
M=200;??????%獨(dú)立實(shí)驗(yàn)次數(shù)
N=4000;?????%樣本個(gè)數(shù)
NTD=1000;???%大于該數(shù)值時(shí)開始變步長(zhǎng)
A=rand(55);
for?m=1:1:M
????n=1:1:N;
????S=[sign(cos(2*pi*155*n/Fs));
????sin(2*pi*800*n/Fs);
????sin(2*pi*300*n/Fs+6*cos(2*pi*60*n/Fs));?
????sin(2*pi*90*n/Fs);
????unifrnd(-1114000);];
????X=A*S;
????W=eye(5);
????for?n=1:1:N
????????y=W*X(:n);
????????g=y.^3;
????????W=W+miu*(eye(5)-g*y‘)*W;
????????
????????if?n>NTD
????????????miu=(120e-4)*exp(-0.001*(n-NTD));
????????end
????????
????????PW=abs(W*A);
????????a(n)=max(PW(1:));
????????sum_r1=(sum(PW(1:))/max(PW(1:)))-1;
????????sum_r2=(sum(PW(2:))/max(PW(2:)))-1;
????????sum_r3=(sum(PW(3:))/max(PW(3:)))-1;
????????sum_r4=(sum(PW(4:))/max(PW(4:)))-1;
????????sum_r5=(sum(PW(5:))/max(PW(5:)))-1;
????????E1=sum_r1+sum_r2+sum_r3+sum_r4+sum_r5;
????????sum_c1=(sum(PW(
評(píng)論
共有 條評(píng)論