# EP4IDD: A toolbox for Iterative Detection and Decoding with Expectation Propagation
This project includes Matlab functions to simulate MIMO and Equalization systems with Iterative Detection and Decoding
## AUTHORSHIP
This projects includes code in Matlab to simulate digital communication systems. The code was mostly generated by I. Santos and J.J. Murillo Fuentes.
## Licensed
Licensed under the Creative Commons Attribution - NonCommercial - ShareAlike 4.0 License (CC BY-NC-SA 4.0). If an alternative license is needed, please contact us.
## GOAL OF THE PROJECT
This Project includes codes in Matlab to perform iterative detection and decoding, using LDPC, for equalisation and MIMO detection. In particular, it generates the code used in the papers, including the figures:
1. Murillo-Fuentes JJ, Santos I, Aradillas JC, Sánchez Fernández M. A Low-Complexity Double EP-based Detector for Iterative Detection and Decoding in MIMO. IEEE Trans Commun. Accepted 2021.
2. I. Santos, J. J. Murillo-Fuentes, J. C. Aradillas and E. Arias-De-Reyna, "Channel Equalization With Expectation Propagation at Smoothing Level," in IEEE Transactions on Communications, vol. 68, no. 5, pp. 2740-2747, May 2020, doi: 10.1109/TCOMM.2020.2975624. See https://ieeexplore.ieee.org/document/9006952 to get citation
3. I. Santos and J. J. Murillo-Fuentes, "Self and Turbo Iterations for MIMO Receivers and Large-Scale Systems," in IEEE Wireless Communications Letters, vol. 8, no. 4, pp. 1095-1098, Aug. 2019, doi: 10.1109/LWC.2019.2907941. See https://ieeexplore.ieee.org/document/8675457 to get a citation.
The Project is useful to anyone dealing with equalization, MIMO and channel detection and, specially, those trying to compare to our methods.
Please, if you use this code cite some of these references in your work.
## GET STARTED
To use the code download the files. You will find three folders whose name start with "Simulations". Each folder correspond to the simulation contained in the three citations above:
- SimulationsMIMO to reference 1
- SimulationsKSEP to reference 2
- SumulationsDEPeq to reference 3
The folder ParityCheckMatrix contains some LDPC parity matrices used.
The rest of the files and the folder algorithmsCode are the core of the project and are used by the three cases in the three folders aforementioned.
You will need the communications toolbox by Matlab. Also, we use the tikz toolbox to generate tex files, but this is not needed for the simulations and pdf figures can be generated in any case, just do not pay attention to messages on tikz issues.
In any of the three folders above you will find some .m files along with some folders. Any of these .m files corresponds to a simulation. These files call to a initialisation file, in folder confiFiles, that configures the whole simulation. Then calls to the main core functions in the main (upper) folder. Results are saved on ResultsXXXX. Once terminated, you can use the .m functions in the plots folder to get the figure, that will be placed in the folder figuresXXXX
### Put it into work
We hope you will find the parameters in the initialization files, in folder confiFiles, intuitive enough to easily design your own. You may pick the most similar simulation to your scenario and then change parameters.
### Parameters and Time
The simulations are design to get the curves in the references. Accorindly several frames and different channels, when random ones, are simulated. We run them on CPU with 10 cores and 20 threads, using the option parfor with 20 parallel transmissions to compute an averaged BER using Monte Carlo (MC). These simulations as given might last from hours to days.
For a quick checking of the code, i.e. to run a reduced number of transmissions, go to any configuration file (in configFiles) and reduce the dataEP.numberSimulations parameter, to the number of cores/threads of your computer, and/or dataEP.numberFrames, the number of frames transmitted for every different channel realization. Then, if using random channels, either in MIMO or equalization, you may also reduce the number of realizations with parameter dataEP.numberChannels.
You will also see that you may select the methods to be used as detectors. The larger the number of selected approaches the larger the needed time to perform the whole MC simulation. One of the methos is the optimal MAP detector. This approach becomes prohibitive for large channel dimensions (memory in equalization or number of antennas in MIMO) and/or larger constellations.
## Disclaimer
We provide the code for the only purpose of comparison, although you might find useful for any other task.
We apology in advance for the code could be cleaner, be more commented and also for not fully updating the help of the many functions included or fully explain the many parameters involved. We considered that overall, it was worthy to publish the code as it is.
If you find that at some parts some comment or help could make a difference, do not hesitate contacting us.
## CONTACT
This project is maintained by Juan José Murillo Fuentes (jjmurillo).
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计&课设-该项目包括Matlab函数,用于模拟具有迭代检测和解码的MIMO和均衡系统.zip
共286个文件
m:171个
mat:68个
tex:22个
需积分: 1 3 下载量 134 浏览量
2024-01-08
22:56:19
上传
评论
收藏 1.42MB ZIP 举报
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答! matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计&课设-该项目包括Matlab函数,用于模拟具有迭代检测和解码的MIMO和均衡系统.zip (286个子文件)
MimoS0config256QAM6x6Lim3Random.asv 6KB
matlab2tikz.m 274KB
matlab2tikz.m 274KB
matlab2tikz.m 274KB
runSimulationNumber.m 153KB
cleanfigure.m 46KB
cleanfigure.m 46KB
cleanfigure.m 46KB
plotEPeqSNRdBSave.m 42KB
SEPalg.m 15KB
m2tUpdater.m 12KB
m2tUpdater.m 12KB
m2tUpdater.m 12KB
DKSEPalg_OptComp.m 10KB
DKSEPalg.m 9KB
PKSEPalg_OptComp.m 9KB
DBEPalgAproxPCG.m 8KB
PKSEPalg.m 8KB
m2tInputParser.m 8KB
m2tInputParser.m 8KB
m2tInputParser.m 8KB
BPEPalg.m 7KB
DBEPalgAproxNeuman.m 7KB
DBEPalgAproxGS.m 7KB
DBEPalg.m 7KB
DFEPalg.m 7KB
MimoDEPconfig256QAM16x64Lim3Long25Random.m 6KB
MimoDEPconfig64QAM16x32Lim3Random.m 6KB
MimoDEPconfig256QAM16x32Lim3Random.m 6KB
MimoDEPconfig256QAM16x128Lim3Random.m 6KB
MimoDEPconfig256QAM128x128Lim3Random.m 6KB
MimoDEPconfig256QAM16x64Lim3Random.m 6KB
MimoDEPconfig64QAM16x128Lim3Random.m 6KB
MimoDEPconfig256QAM64x64Lim3Random.m 6KB
MimoDEPconfig256QAM3x3Lim3Random.m 6KB
MimoDEPconfig256QAM4x4Lim3Random.m 6KB
MimoDEPconfig256QAM8x8Lim3Random.m 6KB
MimoDEPconfig256QAM6x6Lim3Random.m 6KB
MimoDEPconfig64QAM16x64Lim3Random.m 6KB
MimoDEPconfig256QAM2x2Lim3Random.m 6KB
MimoDEPconfig128QAM6x6Lim3Random.m 6KB
MimoDEP4Rateconfig256QAM128x128Lim3Random.m 6KB
MimoDEP4Rateconfig256QAM16x64Lim3Random.m 6KB
MimoDEPconfig256QAM8x64Lim3Random.m 6KB
EP4Nconfig16QAMLim3Proakis60.m 6KB
MimoSconfig256QAM6x6Lim3Random.m 6KB
EP4S0config128QAMLim3Random.m 6KB
MimoS0config64QAM16x128Lim3Random.m 6KB
EP4Sconfig128QAMLim3Random.m 6KB
EP4S0config64QAMLim3Random.m 6KB
MimoSconfig64QAM16x128Lim3Random.m 6KB
EP4Sconfig64QAMLim3Random.m 6KB
EPconfig64QAMLim3ProakisC.m 6KB
MimoS0config256QAM6x6Lim3Random.m 6KB
EPconfig256QAMLim3ProakisC.m 6KB
DEPconfig64QAMLim3ProakisC.m 6KB
EPconfig256QAMLim3Random.m 6KB
EPconfig64QAMLim3Random.m 6KB
EP4Sconfig.m 6KB
BCJRalg.m 6KB
plotBERvsSNRdBMIMO256QAMAntsRandomPaper.m 6KB
EP4Nconfig16QAMLim3ProakisC.m 6KB
MimoDEP4Nconfig256QAM16x64Lim3Random.m 6KB
MimoDEP4Nconfig256QAM128x128Lim3Random.m 6KB
plotBERvsSNRdBMIMO256QAMAntsRandom.m 6KB
BEPalg.m 5KB
plotBERvsSNRdBMIMO256QAM128x128NsRandom.m 5KB
PBEPalg.m 5KB
plotBERvsSNRdBMIMO256QAM16x64LongRateRandom.m 5KB
plotBERvsSNRdBMIMO256QAM128x128LongRateRandom.m 5KB
PFEPalg.m 5KB
plotBERvsSNRdBMIMO256QAM16x64NsRandom.m 5KB
plotEqBERvsTKSEP64QAMRandom.m 5KB
plotEqBERvsSNRdBKSEPQAM64ProakisC.m 4KB
figure2dot.m 4KB
figure2dot.m 4KB
figure2dot.m 4KB
plotEqBERvsSNRdBKSEP64QAMRandom.m 4KB
MMSEalgAproxPCG.m 4KB
EP_LD.m 4KB
EPICLMMSEalg.m 4KB
var_trellis.m 3KB
plotEqBERvsNKSEP16QAMProakisC.m 3KB
FMMSEalg.m 3KB
MMSEalgAproxGS.m 3KB
MMSEalgAproxNeuman.m 3KB
plotEqBERvsTDEP128QAMProakisC.m 3KB
plotBERvsT_MIMO64QAM16x128Random.m 3KB
formatWhitespace.m 3KB
formatWhitespace.m 3KB
formatWhitespace.m 3KB
plotEqBERvsTKSEP64QAMProakisC.m 3KB
MMSEalg.m 3KB
ML.m 3KB
plotBERvsT_MIMO256QAM6x6Random.m 3KB
mmseTuchler.m 3KB
plotEqBERvsSNRdBKSEP256QAMRandom.m 3KB
plotEqBERvsEbNoDEP64QAMProakisC.m 3KB
plotEqBERvsSNRdBKSEPQAM256ProakisC.m 2KB
plotBERvsSNRdBMIMO256QAM8x8Random.m 2KB
共 286 条
- 1
- 2
- 3
资源评论
白话机器学习
- 粉丝: 9297
- 资源: 7681
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功