matlab通信仿真中的加速
在使用matlab做通信仿真时,想要加快速度一般有两种方式。
- GPU加速:
虽然GPU往往速度快于CPU,但是在通信仿真中,这种加速效果往往不理想,原因不仅仅是计算数据类型的问题,而是对于通信仿真来说,频繁的数据赋值运算把时间浪费在了CPU与GPU之间的数据传输上。 - 并行计算:
由于通信仿真,尤其是编解码方面的仿真往往需要进行蒙特卡洛模拟以获得方案的性能指标。在这种情况下可以使用并行计算来提高仿真效率。具体使用方法如下:
- 将进行蒙特卡洛模拟的
for
循环,转换为parfor
,以使用并行计算工具箱(Parallel Computing Toolbox),其更多配置请参考官方文档。 - 效果对比
parfor
for
- 限制
parfor
不能嵌套for
循环前后之间存在关联关系不能使用