whatshow_phy_detect​_bpic

版本 1.0.5 (14.8 KB) 作者: Michael
This detection method is proposed in A Bayesian Receiver With Improved Complexity-Reliability Trade-Off in Massive MIMO Systems.
11.0 次下载
更新时间 2024/3/27

查看许可证

How to use
All Bayesian PIC-DSC detector codes are uniform in matlab and python as a class of `BPIC`. This class is the whole process of the detection. This section will illustrate the methods of this class following the detection process.
1. BPIC
  • @constellation: the constellation, a vector.
  • @bso_mean_init: 1st iteration method in **BSO** to calculate the mean. Default: `BPIC.BSO_INIT_MMSE`, others: `BPIC.BSO_INIT_MRC, BPIC.BSO_INIT_ZF` (`BPIC.BSO_INIT_NO` should not be used but you can try)
  • @bso_mean_cal: other iteration method in **BSO** to calculate the mean. Default: `BPIC.BSO_MEAN_CAL_MRC` (`BPIC.BSO_MEAN_CAL_ZF` should not be used but you can try)
  • @bso_var: use approximate or accurate variance in **BSO**. Default: `BPIC.BSO_VAR_APPRO`, others: `BPIC.BSO_VAR_ACCUR`
  • @bso_var_cal: the method in **BSO** to calculate the variance. Default: `BPIC.BSO_VAR_CAL_MRC`, others: `BPIC.BSO_VAR_CAL_MRC` (`BSO_VAR_CAL_ZF` should not be used but you can try)
  • @dsc_ise: how to calculate the instantaneous square error. Default: `BPIC.DSC_ISE_MRC`, others: `BPIC.DSC_ISE_NO, BPIC.DSC_ISE_ZF, BPIC.DSC_ISE_MMSE`
  • @dsc_mean_prev_sour: the source of previous mean in DSC. Default: `BPIC.DSC_MEAN_PREV_SOUR_BSE`, others: `BPIC.DSC_MEAN_PREV_SOUR_DSC`
  • @dsc_var_prev_sour: the source of previous variance in DSC. Default: `BPIC.DSC_VAR_PREV_SOUR_BSE`, others: `BPIC.DSC_VAR_PREV_SOUR_DSC`
  • @min_var: the minimal variance.
  • @iter_num: the maximal iteration.
  • @iter_diff_min: the minimal difference in **DSC** to early stop.
  • @detect_sour: the source of detection result. Default: `BPIC.DETECT_SOUR_DSC`, others: `BPIC.DETECT_SOUR_BSE`.
// paper version 1: for BSO, MMSE in 1st iteration but MRC in others
bpic = BPIC(sympool);
// paper version 2: MRC in all iterations
bpic = BPIC(sympool, "bso_mean_init", BSO_MEAN_INIT_MRC); % matlab
bpic = BPIC(sympool, bso_mean_init=BSO_MEAN_INIT_MRC); # python
// other configurations
% matlab
bpic = BPIC(sympool, "bso_mean_init", BPIC.BSO_MEAN_INIT_MMSE, "bso_var", BPIC.BSO_VAR_APPRO, "bso_var_cal", BPIC.BSO_VAR_CAL_MMSE, "dsc_ise", BPIC.DSC_ISE_MMSE, "detect_sour", BPIC.DETECT_SOUR_BSE);
# python
bpic = BPIC(sympool, bso_mean_init=BPIC.BSO_MEAN_INIT_MMSE, bso_var=BPIC.BSO_VAR_APPRO, bso_var_cal=BPIC.BSO_VAR_CAL_MMSE, dsc_ise=BPIC.DSC_ISE_MMSE, detect_sour=BPIC.DETECT_SOUR_BSE);
2. detect: the estimated symbols from Tx
  • @y: the received signal, a vector
  • @H: the channel matrix, a matrix
  • @No: the noise power, a scalar
  • @sym_map: whether use hard mapping
// symbol estimation - soft
x_est = bpic.detect(y, H, No);
// symbol estimation - hard
x_est = bpic.detect(y, H, No, "sym_map", true); % matlab
x_est = bpic.detect(y, H, No, sym_map=true); # python

引用格式

Michael (2024). whatshow_phy_detect_bpic (https://www.mathworks.com/matlabcentral/fileexchange/161786-whatshow_phy_detect_bpic), MATLAB Central File Exchange. 检索来源 .

Kosasih, A., Miloslavskaya, V., Hardjawana, W., She, C., Wen, C. K., & Vucetic, B. (2021). A Bayesian receiver with improved complexity-reliability trade-off in massive MIMO systems. IEEE Transactions on Communications, 69(9), 6251-6266.

MATLAB 版本兼容性
创建方式 R2021a
兼容任何版本
平台兼容性
Windows macOS Linux
标签 添加标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.5

update toolbox name

1.0.4