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

📄 multipath_chann1.m

📁 OFDM的在瑞利信道下的与单载波信号的识别算法
💻 M
字号:
function output_sig=multipath_chann1(input_sig,L,var_pow,delay,fd,t_interval)
%input_sig输入信号矩阵,加了cp后的信号,大小为NL×(子载波个数+cp长度lp);
%num多径数;
%var_pow各径相对主径的平均功率,单位dB;
%delay各径延时,单位s;
%fd最大dopple频率;
%t_interval为离散信道抽样时间间隔,等于OFDM符号长度/(子载波个数+cp长度lp);
%output_sig为经过多径信道的输出信号矢量
%counter各径间隔记录
%count_begin本次产生信道开始记录的初始位置
%t_shift=floor(delay/t_interval);%归一化各径延时
%theta_shift=2*pi*fc*delay;
[P1,N1]=size(input_sig); %m:每个码元的归一化持续时间,n:一桢码元个数,ante:发射天线个数
selec_ray_chan=zeros(L,N1);%初始化频率选择性信道,径数=L(信道阶数)
pow_per_channel=10.^(var_pow/10);%各径功率线性化,从dB转变成线性
total_pow_allchan=sum(pow_per_channel);%各径功率之和
%以下for循环产生相互独立的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

⌨️ 快捷键说明

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