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

📄 t_mod_cod_intlv.m

📁 基于OFDM的无线宽带系统仿真It contains mainly two parts, i.e. link-level simulator and system-level simulator.
💻 M
字号:
% Interleaving,Coding and Mod received signal
% By Yuanye Wang
% CTIF,AAU
% yywang@kom.aau.dk

function [T_mod,T_sent,coded,intleav,fact1,real_len,raw_len,t] = ...
         T_mod_cod_intlv(N,subN,B,P,Nsymbol,code_rate,rdstate,T_div,ps,state)
T_sent = cell(1,floor(N/subN)); coded = cell(1,floor(N/subN));
intleav = cell(1,floor(N/subN));T_mod = []; 
t = cell(1,floor(N/subN));
for k = 1:floor(N/subN)
    lens = subN*B(k)*Nsymbol;
    if code_rate(k) == 2/3&&mod(floor(lens*code_rate(k)),2)~=0
        raw_len(k) = floor(lens*code_rate(k))-1;
    else
        raw_len(k) = floor(lens*code_rate(k));
    end
    raw_bits = randint(1,raw_len(k));
    T_sent{k} = raw_bits;
    [coded{k},t{k},real_len(k)] = N_encoder(code_rate(k),raw_bits,lens);
  if length(coded{k})==0
        intleav{k} = [];
        mod1 = zeros(1,subN*Nsymbol);
        fact1(k) = 0;
    else
        intleav{k}=randintrlv(coded{k},rdstate);
        mod1 = qmodulator2(intleav{k},2^B(k));
        fact1(k) = sqrt(P(k)/pv(mod1));
    end
    tp = reshape(mod1,[],subN);
    mod2 = tp.';
    mod2 = mod2 *fact1(k);
    T_mod = [T_mod;mod2];
end
T_temp = zeros(N,Nsymbol,T_div);
if state==5 || state == 7
    for tx = 1:T_div
        for k = 1:floor(N/subN)
            if ps(k)~=tx
                T_temp((k-1)*subN+1:k*subN,:,tx)=0;
            else
                T_temp((k-1)*subN+1:k*subN,:,tx)=T_mod((k-1)*subN+1:k*subN,:);
            end
        end
    end
    T_mod = T_temp;
end

⌨️ 快捷键说明

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