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

📄 user_bit_gen.m

📁 程序里面包含各部分算法仿真 可供参考和使用
💻 M
字号:

function [user_bit,user_bit_cnt]  = user_bit_gen( N_user, N_data ,N_ts,N_data_sym_ts,RateSTCoding,...
    Modulation,RateChCoding ,Turbo_frame,N_Turbo_frame, ch_coding )

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 功能:       产生不同用户的发送比特
% 每个用户产生的总比特数:(N_ts*N_data_sym_ts)*N_data*RateSTCoding*Modulation*RateChCoding
%           用cell结构体封装不同用户的数据,因为cell结构体的矩阵元素可以维数不同
% 输入:     N_user,用户数
%           N_data,数据子载波数 
%           N_sym,本帧OFDM符号数
%           Modulation, 调制方式
% 输出:     user_bit, 每个用户的比特序列,为cell结构
%           user_bit_cnt, 每个用户的序列长度
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% 每个用户在一个OFDM符号期间发送的比特数
user_bit_tmp = cell( 1,N_user );
if ch_coding == 1
    user_bit_cnt =  Turbo_frame * N_Turbo_frame ;
else
    bit_per_sym =  N_data * Modulation * RateSTCoding  ;
    % 可以选择用户比特分布为:
    % 1) 所有用户比特相同。 
    bit_cnt_sym = repmat(bit_per_sym/N_user,1,N_user);
    
    % 2) 用户按照比例 (1:N_user)/((1 + N_user)*N_user/2) 发送比特数据
    % 目的是为了仿真不同用户的信息比特长度不同的情况,也可以修改得到其他的用户数据比例
    % bit_cnt_sym = round( [1:N_user]/((1 + N_user)*N_user/2) * bit_per_sym );
    user_bit_cnt = bit_cnt_sym * (N_ts*N_data_sym_ts);
end

for u = 1:N_user 
    user_bit_tmp{u} = rand (  user_bit_cnt(u) ,1 ) > 0.5 ;
end

user_bit = user_bit_tmp;

⌨️ 快捷键说明

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