?? cirpowers.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;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -