adptive_bitpow_allocate_systems.c
来自「好东西」· C语言 代码 · 共 1,150 行 · 第 1/5 页
C
1,150 行
mlfAssign(
&map_out1,
mlfMap_module(
mclVv(map_out1, "map_out1"),
_mxarray18_));
mlfAssign(
&ofdm_modulation_out1,
mclMtimes(
mlfSqrt(
mclVv(N_carrier, "N_carrier")),
mlfIfft(
mclVv(map_out1, "map_out1"),
mclVv(N_carrier, "N_carrier"),
NULL)));
mlfAssign(
&ofdm_cp_out1,
mlfInsert_cp(
mclVv(
ofdm_modulation_out1,
"ofdm_modulation_out1"),
mclVv(cp_length, "cp_length")));
mlfAssign(
&passchan_ofdm_symbol1,
mlfMultipath_chann(
&Hk,
mclVv(ofdm_cp_out1, "ofdm_cp_out1"),
mclVv(num, "num"),
mclVv(var_pow, "var_pow"),
mclVv(delay, "delay"),
mclVv(fd, "fd"),
mclVv(t_interval, "t_interval"),
mclVv(counter, "counter"),
mclVv(count_begin, "count_begin"),
mclVv(cp_length, "cp_length")));
mlfAssign(
&sig_temp,
mlfCut_cp(
mclVv(
passchan_ofdm_symbol1,
"passchan_ofdm_symbol1"),
mclVv(cp_length, "cp_length")));
mlfAssign(
&ofdm_demodulation_out1,
mclMrdivide(
mlfFft(
mclVv(sig_temp, "sig_temp"),
mclVv(N_carrier, "N_carrier"),
NULL),
mlfSqrt(
mclVv(N_carrier, "N_carrier"))));
mlfAssign(
&HHk,
mclRdivide(
mclVv(
ofdm_demodulation_out1,
"ofdm_demodulation_out1"),
mclVv(map_out1, "map_out1")));
mlfSize(
mlfVarargout(&nn, &mm, NULL),
mclVv(ofdm_cp_out1, "ofdm_cp_out1"),
NULL);
mlfAssign(&spow2, _mxarray11_);
{
int v_2 = mclForIntStart(1);
int e_2
= mclForIntEnd(mclVv(nn, "nn"));
if (v_2 > e_2) {
mlfAssign(&k, _mxarray10_);
} else {
for (; ; ) {
int v_3 = mclForIntStart(1);
int e_3
= mclForIntEnd(
mclVv(mm, "mm"));
if (v_3 > e_3) {
mlfAssign(
&b, _mxarray10_);
} else {
for (; ; ) {
mlfAssign(
&spow2,
mclPlus(
mclPlus(
mclVv(
spow2,
"spow2"),
mclMpower(
mlfReal(
mclIntArrayRef2(
mclVv(
ofdm_cp_out1,
"ofdm"
"_cp_"
"out"
"1"),
v_2,
v_3)),
_mxarray18_)),
mclMpower(
mlfImag(
mclIntArrayRef2(
mclVv(
ofdm_cp_out1,
"ofdm_"
"cp_ou"
"t1"),
v_2,
v_3)),
_mxarray18_)));
if (v_3 == e_3) {
break;
}
++v_3;
}
mlfAssign(
&b, mlfScalar(v_3));
}
if (v_2 == e_2) {
break;
}
++v_2;
}
mlfAssign(&k, mlfScalar(v_2));
}
}
mlfAssign(&spow1, _mxarray5_);
mlfAssign(
&poweralloctpower,
mlfBitandpoweralloct2(
&bitalloctvector,
&gama,
mclVv(N_carrier, "N_carrier"),
mclVv(groupnumber, "groupnumber"),
mclVv(HHk, "HHk"),
mclVv(snr, "snr"),
mclVv(Pe, "Pe"),
mclVv(
ofdm_symbol_num,
"ofdm_symbol_num")));
mlfAssign(
&bit_maxnum_ofdmsig,
mclMtimes(
mclVv(groupsize, "groupsize"),
mlfMax(
NULL,
mlfSum(
mclVv(
bitalloctvector,
"bitalloctvector"),
NULL),
NULL,
NULL)));
mlfAssign(
&bit_source,
mlfZeros(
mclVv(
bit_maxnum_ofdmsig,
"bit_maxnum_ofdmsig"),
mclVv(
ofdm_symbol_num,
"ofdm_symbol_num"),
NULL));
mlfAssign(
&bit_num_ofdmsig,
mlfZeros(
_mxarray5_,
mclVv(
ofdm_symbol_num,
"ofdm_symbol_num"),
NULL));
mlfAssign(
&map_out,
mlfZeros(
mclVv(N_carrier, "N_carrier"),
mclVv(
ofdm_symbol_num,
"ofdm_symbol_num"),
NULL));
{
int v_4 = mclForIntStart(1);
int e_4
= mclForIntEnd(
mclVv(
ofdm_symbol_num,
"ofdm_symbol_num"));
if (v_4 > e_4) {
mlfAssign(&nn, _mxarray10_);
} else {
for (; ; ) {
int v_5 = mclForIntStart(1);
int i_ = 1;
int e_5
= mclForIntIntEnd(
v_5,
i_,
mclVv(
groupnumber,
"groupnumber"));
if (e_5 == mclIntMin()) {
mlfAssign(
&v, _mxarray10_);
} else {
for (; ; ) {
mlfAssign(
&map_flag,
mclIntArrayRef2(
mclVv(
bitalloctvector,
"bitalloct"
"vector"),
v_5,
v_4));
mlfAssign(
&sourcebit,
mlfZeros(
_mxarray5_,
mclMtimes(
mclIntArrayRef2(
mclVv(
bitalloctvector,
"bitall"
"octvec"
"tor"),
v_5,
v_4),
mclVv(
groupsize,
"groups"
"ize")),
NULL));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?