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

📄 ui_design.m

📁 基于Matlab
💻 M
字号:
% keep all variables local in scope
function [] = ui_design();

% declare global variables
dfec_global; 
ui_private_global;

% print text message and lock menu
set(h_msg,'BackgroundColor', [0 1 0]);
set(h_msg,'FontAngle','italic', 'String','designing DFE...'); drawnow; 
set(fig_menu,'HandleVisibility','off'); drawnow;


k=1;
SER=zeros(1,length(SNR));
for snr=SNR,

   if (isempty(Nfd) & length(delay)==1)
      [h,f,dd,delta,mmse] = mmse_dfe(c,snr,Nf,Nd,delay,pdelay,bias,spacing);
      Nh=length(h);
      q=h-dd;
      d=dd(delta+pdelay:min(Nh,Nd+delta+pdelay-1));
      MSE=mmse;

      % Baud-spaced case
      if (spacing==1),
         fa=[];
         fb=[];

      % Fractionally-spaced subequalizers
      elseif (spacing==1/2)
         fb=f(1:2:Nf);
         if (Nf>1)
            fa=f(2:2:Nf);
         else
            fa=0;
         end;
      end;

   else
      MSE=opt_dfe(c,snr,Nfd,Nf,Nd,delay,pdelay,spacing,fig_menu,h_msg);
      [I,J] = find(MSE==min(min(MSE)));
      if (~isempty(Nfd))
         Nf=J(1);
         Nd=Nfd-Nf;
      end;
      delta=I(1);
      [h,f,dd,delta,mmse] = mmse_dfe(c,snr,Nf,Nd,delta,pdelay,bias,spacing);
      q=h-dd;
      Nh=length(h);
      d=dd(delta+pdelay:min(Nh,Nd+delta+pdelay-1));

      % Baud-spaced case
      if (spacing==1),
         fa=[];
         fb=[];

      % Fractionally-spaced subequalizers
      elseif (spacing==1/2)
         fb=f(1:2:Nf);
         if (Nf>1)
            fa=f(2:2:Nf);
         else
            fa=0;
         end;
      end;

    end;
    if (real_source) 
       Gamma=abs(h(delta))/mmse;
       SER(k)=serpam(Ms,Gamma);
    else
       Gamma=abs(h(delta))/mmse;
       SER(k)=serqam(Ms,Gamma);
    end;
    k=k+1;
end;

H=freqz(h,1,256,'whole');
Q=freqz(q,1,256,'whole');
F=freqz(f,1,256,'whole');

if (spacing==1)
   Fa=[];
   Fb=[];
elseif (spacing==1/2) 
   Fa=freqz(fa,1,256,'whole');
   Fb=freqz(fb,1,256,'whole');
end;

D=freqz(d,1,256,'whole');
DD=freqz(dd,1,256,'whole');

% redraw
ui_imp;
ui_freq;
ui_mse;
ui_cluster;
ui_ser;
ui_ep;


% clear text message, unlock menu, enable facets, dim spike
set(fig_menu,'HandleVisibility','on'); drawnow;
set(h_msg,'BackgroundColor', [0.8 0.8 0.8]);
set(h_msg,'FontAngle','normal', 'String',''); drawnow;

new_params=0;

⌨️ 快捷键说明

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