返回信息流function[iout,qout,ramp,rcos,rsin]=sefade(idata,qdata,itau,dlvl,th,n0,itn,n1,nsamp,tstp,fd,flat)
%****************** variables *************************
% idata input Ich data
% qdata input Qch data
% iout output Ich data
% qout output Qch data
% ramp : Amplitude contaminated by fading
% rcos : Cosine value contaminated by fading
% rsin : Cosine value contaminated by fading
% itau : Delay time for each multipath fading
% dlvl : Attenuation level for each multipath fading
% th : Initialized phase for each multipath fading
% n0 : Number of waves in order to generate each multipath fading
% itn : Fading counter for each multipath fading
% n1 : Number of summation for direct and delayed waves
% nsamp : Total number od symbols
% tstp : Mininum time resolution
% fd : Maxmum doppler frequency
% flat flat fading or not
% (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated)
%******************************************************
iout = zeros(1,nsamp);
qout = zeros(1,nsamp);
total_attn = sum(10 .^( -1.0 .* dlvl ./ 10.0));
for k = 1 : n1
atts = 10.^( -0.05 .* dlvl(k));
if dlvl(k) >= 40.0
atts = 0.0;
end
theta = th(k) .* pi ./ 180.0;
[itmp,qtmp] = delay ( idata , qdata , nsamp , itau(k));
[itmp3,qtmp3,ramp,rcos,rsin] = fade (itmp,qtmp,nsamp,tstp,fd,n0(k),itn(k),flat);
iout = iout + atts .* itmp3 ./ sqrt(total_attn);
qout = qout + atts .* qtmp3 ./ sqrt(total_attn);
end
% ************************end of file***********************************
这段程序,我看不太懂,如果我要设置一条两径锐利衰落的信道,时延分别为0和2 ,衰落幅度分别为0和-3,那么它的参数应该怎么初始化。
这是一条镜像帖。来源:北邮人论坛 / communications / #2203同步于 2006/5/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
如何初始化这个程序
liangruan
2006/5/28镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
【 在 liangruan 的大作中提到: 】
: function[iout,qout,ramp,rcos,rsin]=sefade(idata,qdata,itau,dlvl,th,n0,itn,n1,nsamp,tstp,fd,flat)
: %****************** variables *************************
: % idata input Ich data
: ...................
function [iout,qout,ramp,rcos,rsin]=fade(idata,qdata,nsamp,tstp,fd,no,counter,flat)
%****************** variables *************************
% idata : input Ich data
% qdata : input Qch data
% iout : output Ich data
% qout : output Qch data
% ramp : Amplitude contaminated by fading
% rcos : Cosine value contaminated by fading
% rsin : Cosine value contaminated by fading
% nsamp : Number of samples to be simulated
% tstp : Minimum time resolution
% fd : maximum doppler frequency
% no : number of waves in order to generate fading
% counter : fading counter
% flat : flat fading or not
% (1->flat (only amplitude is fluctuated),0->nomal(phase and amplitude are fluctutated)
%******************************************************
if fd ~= 0.0
ac0 = sqrt(1.0 ./ (2.0.*(no + 1))); % power normalized constant(ich)
as0 = sqrt(1.0 ./ (2.0.*no)); % power normalized constant(qch)
ic0 = counter; % fading counter
pai = 3.14159265;
wm = 2.0.*pai.*fd;
n = 4.*no + 2;
ts = tstp;
wmts = wm.*ts;
paino = pai./no;
xc=zeros(1,nsamp);
xs=zeros(1,nsamp);
ic=[1:nsamp]+ic0;
for nn = 1: no
cwn = cos( cos(2.0.*pai.*nn./n).*ic.*wmts );
xc = xc + cos(paino.*nn).*cwn;
xs = xs + sin(paino.*nn).*cwn;
end
cwmt = sqrt(2.0).*cos(ic.*wmts);
xc = (2.0.*xc + cwmt).*ac0;
xs = 2.0.*xs.*as0;
ramp=sqrt(xc.^2+xs.^2);
rcos=xc./ramp;
rsin=xs./ramp;
if flat ==1
iout = sqrt(xc.^2+xs.^2).*idata(1:nsamp); % output signal(ich)
qout = sqrt(xc.^2+xs.^2).*qdata(1:nsamp); % output signal(qch)
else
iout = xc.*idata(1:nsamp) - xs.*qdata(1:nsamp); % output signal(ich)
qout = xs.*idata(1:nsamp) + xc.*qdata(1:nsamp); % output signal(qch)
end
else
iout=idata;
qout=qdata;
end
function [iout,qout] = delay( idata, qdata , nsamp , idel )
%****************** variables *************************
% idata input Ich data
% qdata input Qch data
% iout output Ich data
% qout output Qch data
% nsamp Number of samples to be simulated
% idel Number of samples to be delayed
%******************************************************
iout=zeros(1,nsamp);
qout=zeros(1,nsamp);
if idel ~= 0
iout(1:idel) = zeros(1,idel);
qout(1:idel) = zeros(1,idel);
end
iout(idel+1:nsamp) = idata(1:nsamp-idel);
qout(idel+1:nsamp) = qdata(1:nsamp-idel);
不好意思,我没注意到