?? multipath_chann1.asv
字號:
function output_sig=multipath_chann1(input_sig,L,var_pow,delay,fd,t_interval,Nt,Nr)
%input_sig輸入信號矩陣,加了cp后的信號,大小為NL×(子載波個數(shù)+cp長度lp);
%num多徑數(shù);
%var_pow各徑相對主徑的平均功率,單位dB;
%delay各徑延時,單位s;
%fd最大dopple頻率;
%t_interval為離散信道抽樣時間間隔,等于OFDM符號長度/(子載波個數(shù)+cp長度lp);
%output_sig為經(jīng)過多徑信道的輸出信號矢量
%counter各徑間隔記錄
%count_begin本次產(chǎn)生信道開始記錄的初始位置
%t_shift=floor(delay/t_interval);%歸一化各徑延時
%theta_shift=2*pi*fc*delay;
[P1,N1]=length(input_sig); %m:每個碼元的歸一化持續(xù)時間,n:一楨碼元個數(shù),ante:發(fā)射天線個數(shù)
selec_ray_chan=zeros(L,N1);%初始化頻率選擇性信道,徑數(shù)=L(信道階數(shù))
pow_per_channel=10.^(var_pow/10);%各徑功率線性化,從dB轉(zhuǎn)變成線性
total_pow_allchan=sum(pow_per_channel);%各徑功率之和
%以下for循環(huán)產(chǎn)生相互獨立的num條rayleigh信道
for l=1:L
atts=sqrt(pow_per_channel(l));
selec_ray_chan(l,:)=atts*rayleighnew11(N1,t_interval,fd);
end
[h1,h0]=h_tran1(input_sig,selec_ray_chan);
output_sig=zeros(size(input_sig));
for n=1:N1
if n==1
output_sig(:,n)=h1(:,:,n)*input_sig(:,n);
else
output_sig(:,n)=h1(:,:,n)*input_sig(:,n)+h0(:,:,n)*input_sig(:,n-1);
end
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -