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

📄 tgn channel.m

📁 TGN五类信道的建模
💻 M
字号:
%==============channel_Model_D.m========================================


function [r_t_sum,r_f_sum]=channel(t_preamble_cp,N_STS,N_LTF,M,K,snr)


% 设每个天线都有L条多径
% n_tx_antenna 发送天线数<=4
n_tx_antenna =2;
% n_rx_antenna 接收天线数<=4
% n_rx_antenna = 1;
% ts fd 为  n_tx_antenna*1 的矩阵
% tau pdb 为  n_tx_antenna*L  的矩阵
%r_t_preamble_cp  为n_tx_antenna*80 的矩阵
%r_t_preamble  为n_tx_antenna*56 的矩阵
% M = 64;%fft,ifft点数
% K = 64;%子载波个数
% snr =20; 
SymbolNum =0;%没有传送数据符号,只传送前导符号


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
    ro_t = 0;
    ro_r = 1;
    ts = 10e-9;
    fd =0;
    tau1= [0 ts 2*ts 3*ts 4*ts  5*ts 6*ts 7*ts 8*ts 9*ts 11*ts 14*ts 17*ts 20*ts 24*ts 29*ts];
    pdb1= [0 -0.9 -1.7 -2.6 -3.5 -4.3 -5.2 -6.1 -6.9 -7.8 -9.0 -11.1 -13.7 -16.3 -19.3 -23.2 ];                                                                               
    tau2= [ 11*ts 14*ts 17*ts 20*ts 24*ts 29*ts 34*ts ];
    pdb2= [-6.6 -9.5 -12.1 -14.7 -17.4 -21.9 -25.5];
    tau3= [ 24*ts 29*ts 34*ts 39*ts];
    pdb3=[-18.8 -23.2 -25.2 -26.7];
    
     chan1= rayleighchan(ts,fd,tau1,pdb1);chan2=rayleighchan(ts,fd,tau2,pdb2);chan3=rayleighchan(ts,fd,tau3,pdb3);
     h1=[chan1.PathGains 0 0];h2=[0 0 0 0 0 0 0 0 0 0 chan2.PathGains 0] ;h3=[0 0 0 0  0 0 0 0  0 0 0 0  0 0  chan3.PathGains];
     h=h1+h2+h3;
    
    t_preamble_cp_in(1,:) = t_preamble_cp(1,:) + ro_t* t_preamble_cp(2,:);%天线间相干
    t_preamble_cp_in(2,:) = t_preamble_cp(2,:) + ro_t* t_preamble_cp(1,:);
%         chan= ricianchan(ts,fd,tau,pdb);
        for index_tx_antenna=1:n_tx_antenna
        r_t_preamble_cp(index_tx_antenna,:) = filter(chan1,t_preamble_cp_in(index_tx_antenna,:))+......
            filter(chan2,t_preamble_cp_in(index_tx_antenna,:))+filter(chan3,t_preamble_cp_in(index_tx_antenna,:));
        end

    
    r_t_preamble_cp_out(1,:) = r_t_preamble_cp(1,:) + ro_r*r_t_preamble_cp(2,:);% 只考虑第一根接收天线
    %r_t_preamble_cp_out(2,:) = r_t_preamble_cp(2,:) + ro_r*r_t_preamble_cp(1,:); % 第二根接收天线
    r_t_preamble_cp_awgn(1,:) = AWGN(r_t_preamble_cp(1,:),snr,'measured');
    %r_t_preamble_cp_awgn(2,:) = AWGN(r_t_preamble_cp(2,:),snr,'measured');
%     for index =1:80* N_LTF,
%         r_t_preamble_cp_awgn(1,index) = awgn( r_t_preamble_cp_out(1,index),snr); 
%     end
    %去cp--------------------------------------------------------------
    if n_tx_antenna ==1
        r_t_preamble(1,:) = r_t_preamble_cp_awgn(1,17:80);
    elseif n_tx_antenna == 2
        r_t_preamble(1,:) = [r_t_preamble_cp_awgn(1,17:80),r_t_preamble_cp_awgn(1,97:160),r_t_preamble_cp_awgn(1,177:240)];
        %r_t_preamble(2,:) = [r_t_preamble_cp_awgn(2,17:80),r_t_preamble_cp_awgn(2,97:160),r_t_preamble_cp_awgn(2,177:240)];
    %elseif n_tx_antenna == 3||n_tx_antenna == 4
            
    end
    r_t_sum1 =  r_t_preamble(1,:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%==========================================================================

%接收天线得到的时域信号
r_t_sum = r_t_sum1;
%接收天线得到的频域信号
if n_tx_antenna == 2
    r_f_sum_1 = fft(r_t_sum(1:64),M)/sqrt(M*n_tx_antenna);%
    r_f_sum_2 = fft(r_t_sum(65:128),M)/sqrt(M*n_tx_antenna);%
    r_f_sum_3 = fft(r_t_sum(129:192),M)/sqrt(M*n_tx_antenna);%
    r_f_sum = [r_f_sum_1,r_f_sum_2,r_f_sum_3 ];
elseif n_tx_antenna == 1
    r_f_sum = fft(r_t_sum(1:64),M)/sqrt(M*n_tx_antenna);
end

⌨️ 快捷键说明

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