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

📄 tap11_equalizer.m

📁 ofdm_64QAM_simulation,只是进行的初步的实验,大家仅仅供参考,共同研究进步吧!
💻 M
字号:


function [equalized_Data,estimated_a,Delay_line,Time_Offset,temp_counter,counter]=Tap11_Equalizer(MultiPathData,estimated_a,Source,Delay_line,Time_Offset,temp_counter,counter)

global SubCarrier ;          
global Total_Number ;        

Tap_Num=11;
step_size=0.002;
d=1;
kpp=0;

mappingqpsk=[ 7*d + i*7*d;
   -7*d + i*7*d;
   7*d - i*7*d;
   -7*d - i*7*d];

mappingqam64=[ -7*d + i*7*d;
   -5*d + i*7*d;
   -3*d + i*7*d;
   -d + i*7*d;
   d + i*7*d;
   3*d + i*7*d;
   5*d + i*7*d;
   7*d + i*7*d;
   -7*d + i*5*d;
   -5*d + i*5*d;
   -3*d + i*5*d;
   -d + i*5*d;
   d + i*5*d;
   3*d + i*5*d;
   5*d + i*5*d;
   7*d + i*5*d;
   -7*d + i*3*d;
   -5*d + i*3*d;
   -3*d + i*3*d;
   -d + i*3*d;
   d + i*3*d;
   3*d + i*3*d;
   5*d + i*3*d;
   7*d + i*3*d;
   -7*d + i*d;
   -5*d + i*d;
   -3*d + i*d;
   -d + i*d;
   d + i*d;
   3*d + i*d;
   5*d + i*d;
   7*d + i*d;
   -7*d + i*-d;
   -5*d + i*-d;
   -3*d + i*-d;
   -d + i*-d;
   d + i*-d;
   3*d + i*-d;
   5*d + i*-d;
   7*d + i*-d;
   -7*d + i*-3*d;
   -5*d + i*-3*d;
   -3*d + i*-3*d;
   -d + i*-3*d;
   d + i*-3*d;
   3*d + i*-3*d;
   5*d + i*-3*d;
   7*d + i*-3*d;
   -7*d + i*-5*d;
   -5*d + i*-5*d;
   -3*d + i*-5*d;
   -d + i*-5*d;
   d + i*-5*d;
   3*d + i*-5*d;
   5*d + i*-5*d;
   7*d + i*-5*d;
   -7*d + i*-7*d;
   -5*d + i*-7*d;
   -3*d + i*-7*d;
   -d + i*-7*d;
   d + i*-7*d;
   3*d + i*-7*d;
   5*d + i*-7*d;
   7*d + i*-7*d];

if(strcmp(Source,'64QAM')==1)
   mapping=mappingqam64;
   M=64;
else
   mapping=mappingqpsk;
   M=4;
end;

id=1;
for ip=1:Total_Number,
      Coeff_te(id)=MultiPathData(ip*2+14);
      id=id+1;
end;   

if(Time_Offset==0)
   end_time=Total_Number-1;
else
   end_time=Total_Number;
end;

TN2=(Tap_Num-1)/2;
for j=-TN2:Total_Number-1+TN2,
   
   if(j>Total_Number-1-TN2)
      TimeData=0;
   else
      TimeData=Coeff_te(j+TN2+1);
   end;
         

     %%%
        for ip=Tap_Num:-1:2,
        	Delay_line(ip)=Delay_line(ip-1);
        end;
     
        Delay_line(1)=TimeData;
      %%%%%
      
        z_k=sum(estimated_a.*Delay_line);
      
        FFT_Buffer(counter)=z_k;
           if(counter==16)
                  FrequencyData=fft(FFT_Buffer);
                  %len=length(FrequencyData)
                  for i=1:SubCarrier,
                     for b=1:M,
                        metrics(i,b)=(real(FrequencyData(i))-real(mapping(b,1))).^2+(imag(FrequencyData(i))-imag(mapping(b,1))).^2;
                     end;
                     [min_metrics decs]=min(metrics(i,:));
                     khryu=mapping(decs);
                     e_k(i)=khryu-FrequencyData(i); 
                  end;
                  kh_k(j-15+1:j+1)=FrequencyData;
                  
                  for ipp=1:SubCarrier,
                     ek_real=real(e_k(ipp));
                     ek_image=imag(e_k(ipp));
                     if(ek_real>0)
                        ek_real=1;
                     else
                        ek_real=-1;
                     end;
                     if(ek_image>0)
                        ek_image=1;
                     else
                        ek_image=-1;
                     end;
                     e_k(ipp)=complex(ek_real,ek_image);
                                    	   
                  end;
                  
                  FFT_e_k=ifft(e_k);
                  
               end;
               
               
               if (temp_counter>0)
                  for itt=1:Tap_Num, 
                     estimated_a(itt)=estimated_a(itt)+step_size*FFT_e_k(counter)*conj(Delay_line(itt));          
                  end;
               end;
               
               if(counter==16)
                  counter=0;
                  temp_counter=1;
               end;         
               if (j<0) counter=1;
               else
                  counter=counter+1;
               end;
               
   end;
   
  equalized_Data=kh_k;
  len1=length(equalized_Data);
  Constel2(equalized_Data,SubCarrier,1);
      
      
      
      
      

⌨️ 快捷键说明

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