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

📄 cirpowers.m

📁 802.16-wimax系统物理层的仿真代码
💻 M
字号:
function [tap_variances,L,Dop]=CIRpowers(N_SUI,T)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%                                                                        %
%%     Archivo: CIRpowers.m                                               %
%%                                                                        %
%%     Descripci髇: Originalmente esta funci髇 devolv韆 las varianzas de  %
%%      los distintos caminos o 'taps' del canal multitrayecto; asi como  %
%%      la longitud del canal.                                            %
%%     Hemos a馻dido que devuelva la frecuencia de efecto doppler, ya que %
%%      en los canales SUI viene definida. El equipo de Muquet la calcula %
%%      a partir de la velocidad y por eso no la necesitaba.              %
%%                                                                        %
%%     Par醡etros:                                                        %
%%      N_SUI : Canal a simular.        T = Tiempo entre portadoras       %
%%                                                                        %
%%     Autores: Bertrand Muquet, Sebastien Simoens, Shengli Zhou          %
%%      Octubre 2000                                                      %
%%     Modificaci髇 : Carlos Batll閟 - Abril 2007                         %
%%                                                                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


  [powers,K,delays,Dop,ant_corr,Fnorm] = parametros_SUI(N_SUI);
  Dop = max (Dop);
  
  %% Se normalizan los retrasos
  sz=size(delays);
  if (and(sz(1) ~= 1,sz(2) == 1)) delays=delays.';
  elseif (and(sz(1) ~= 1,sz(2) ~= 1)) 'Error: El retraso debe ser un vector';
  end
  
  % Ahora se expresan los retrasos en n鷐ero de muestras.
  delays=delays/T; 
  
  nbtaps=length(powers);
  len_cir=1+round(max(delays));
  tap_variances=zeros(1,len_cir);
  
  %% Calculo la amplitud de cada camino
  sz=size(powers);
  if (and(sz(1) ~= 1,sz(2) == 1)) powers=powers.';
  elseif (and(sz(1) ~= 1,sz(2) ~= 1)) 'Error: Las potencias deben ser un vector';
  end

  %% Las potencias est醤 en dB -> Con esta orden calculo su varianza para recombinar
  %% la potencia de cada camino
  variances=10.^(powers/10);
  
  %% Normalizo las potencias
  variances=variances/sum(variances);

  %% Finalmente, se calcula la CIR discreta aproximando cada camino a la siguiente muestra
  for i=1:nbtaps
    tap_variances(1+round(delays(i)))=tap_variances(1+round(delays(i)))+ variances(i);
  end

  L=length(tap_variances)-1;
  

⌨️ 快捷键说明

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