bitload.m

来自「matlab编写的MIMO-OFDM仿真程序」· M 代码 · 共 24 行

M
24
字号
function [bits_alloc,energy_alloc] = BitLoad(subchan_gains,total_bits,num_subc,gap,noise,M)
%比特分配算法
%----------
%
%输入: 
%   subchan_gains ----子载波增益
%   total_bits ----比特总数
%   num_subc ----子载波数
%   gap ----系统间隔
%   noise ----噪声功率
%   M ----最大星座大小
%输出:
%   bits_alloc ----分配给每个子信道德比特数
%   power_alloc ----分配的总功率
%--------------
%计算每个信道的SNR
SNR = ComputeSNR(subchan_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,M);

⌨️ 快捷键说明

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