bitload.m

来自「汪裕民的OFDM关键技术与应用中仿真MIMO-OFDM的源代码」· M 代码 · 共 26 行

M
26
字号
function [bits_alloc,energy_alloc] = BitLoad(subcar_gains,total_bits,num_subc,gap,noise,M);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   用比特分配算法根据当前的信道特征来达到所期望的比特和能量的分配
%     输入:
%         subcar_gains    子载波增益
%         total_bits      比特总数
%         num_subc        子载波数
%         gap             系统间隔
%         noise           噪声功率
%         M               最大星座大小
%     输出:
%         bits_alloc      分配给每个子信道的比特数
%         power_alloc     分配的总功率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%   计算每个信道的SNR
SNR = ComputeSNR(subcar_gains,noise,gap);

%   用这个函数初始化系统,即根据Chow算法分配比特率和功率,比Campello算法有效
[bits_alloc,energy_alloc] = chow_algo(SNR,num_subc,M);

%   根据目前信道的增益形成能量增加表,以供Campello算法使用
energytable = EnergyTableInit(SNR,M);

%   使用Campello算法
[bits_alloc,energy_alloc] = campello_algo(bits_alloc,energy_alloc,energytable,total_bits,num_subc,SNR,M);

⌨️ 快捷键说明

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