📄 bitload.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -