⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fun_fnn_noise_emc.m

📁 利用T2FNN進行MEC建模,針對IC散射現象進行量測與模擬比較
💻 M
字号:



function [FNN_out,m,sigma,w4,error]=Fun_FNN_noise_EMC(x,m,sigma,w4,afaw4,afam,afasig,learning,r,totel,t,snr)


 %%%%%%%%%%%%%%====================================$$$$$$$$$$$$$$$$$$$$$$$$
 
 kk1=1;
 [i1_t1 j1_t1]=size(m);
 [Z1 zz]=size(w4);
             
 k=0;
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 for pp=1:1:learning
     k=k+1
     for kk1=1:1:totel
           x = awgn(x,snr,'measured');
           
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
        y1(:,:,k)=x;
         
        for i=1:1:i1_t1
            for  j=1:1:j1_t1
                y2(i,j,k)=gaussmf(y1(1,i,k),[sigma(i,j,k) m(i,j,k)]);  %membership
            end
        end
        
         y3(:,:,k)=prod(y2(:,:,k),1);%rule
         wu(:,:,k)=y3(:,:,k).*w4(kk1,:,k);
         y4(kk1,:,k)=sum(wu(:,:,k))/sum(y3(:,:,k));
         yy1(kk1)=y4(kk1,:,k);
         FNN_out=yy1(kk1);
        error(kk1,k)=(yy1(kk1)-r(kk1)); 
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  %%%%%%%%%leaning%%leaning%%leaning%%leaning%%leaning%%leaning%%%%%%%%%%%%
  %%%%%%%%%%%%%%leaning%%%%%%%%%%%leaning%%%%%%%%%%%%leaning%%%%%%%%%%%%%%%
 %%%%%%%%%%%%%%%%%%%%%%%%leaning%%%%%%%%%%%leaning%%%%%%%%%%%%%%%%%%%%%%%%%
  for i=1:1:i1_t1
            for  j=1:1:j1_t1
                  Jy4(:,:,k)=y4(kk1,:,k)-r(kk1);
                  Jw4(kk1,j,k)=Jy4(:,:,k)*y3(1,j,k)/sum(y3(:,:,k));
            
                   temp_y2(:,:,k)=y2(:,:,k);
                   temp_y2(i,:,k)=1;
                   temp2_y2(:,j,k)=prod(temp_y2(:,j,k),1);
                   Jsigma(i,j,k)=Jy4(:,:,k)*((w4(kk1,j,k)-y4(kk1,:,k))/sum(y3(:,:,k)))*temp2_y2(:,j,k)*(y2(i,j,k)*((y1(1,i,k)-m(i,j,k))^2)/sigma(i,j,k)^3) ; 
                   
                   
                   Jm(i,j,k)=Jy4(:,:,k)*((w4(kk1,j,k)-y4(kk1,:,k))/sum(y3(:,:,k)))*temp2_y2(:,j,k)*(y2(i,j,k)*(y1(1,i,k)-m(i,j,k))/sigma(i,j,k)^2) ;
                   
            end
  end
                   w4(kk1,:,k+1)=w4(kk1,:,k)-afaw4.*Jw4(kk1,:,k);
                   sigma(:,:,k+1)=sigma(:,:,k)-afasig.*Jsigma(:,:,k);
                   m(:,:,k+1)=m(:,:,k)-afam.*Jm(:,:,k);
     end
 end
 
 

 figure(1)
 plot(t,y4(:,1,learning),'g');hold on
 plot(t,r(:),'r');hold on
 legend('FNN','measure')
 xlabel('time)');
 ylabel('V');
 
 %%%%%%******************************%%%%%%%%%%%%%%%%%%%%%%
  figure(2)
 
 for lo=1:1:learning
   J(lo,:)=sum(error(:,lo))/(2*lo*totel);
 end
 lo=1:1:learning;
 plot(lo,J(:),'g')
 
 
 
 
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


a=r;

T = t(2)-t(1);
Fs = 1/T;
L = length(a);

NFFT = 2^nextpow2(L);
fft_tmp = fft(a,NFFT)/L;
fft_out = (2*abs(fft_tmp(1:NFFT/2)))';
Freq = Fs/2*linspace(0,1,NFFT/2);
logFreq = log(Freq);
logfft_out = 20*log(fft_out);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(3)

semilogx(Freq,20*log10(fft_out/1e-6),'r') ;hold on

%%%===========%%%%============%%%%============

a=y4(:,1,learning);



T = t(2)-t(1);
Fs = 1/T;
L = length(a);

NFFT = 2^nextpow2(L);
fft_tmp = fft(a,NFFT)/L;
fft_out = (2*abs(fft_tmp(1:NFFT/2)))';
Freq = Fs/2*linspace(0,1,NFFT/2);
logFreq = log(Freq);
logfft_out = 20*log(fft_out);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(3)


semilogx(Freq,20*log10(fft_out/1e-6),'g') ;hold on
legend('measure','FNN')
xlabel('Freqence(Hz)');
ylabel('V.(dBuV)');

 
 
 
 
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -