OMNeT++与simu5G VoIP仿真中生成与接收吞吐量不符问题求助
问题排查与解决建议
一、优先修复项目构建错误
构建错误是仿真运行的前置障碍,需先处理:
- 检查
simu5G项目的Makefile,确保INET_ROOT路径准确指向inet 4.2.2的安装目录,路径中避免空格或特殊字符 - 清理构建缓存后重新编译,执行以下命令:
cd [你的simu5G项目目录] make clean make makefiles make - 验证编译器版本:OMNeT++ 5.6.2适配GCC 7.x-9.x版本,若使用更高版本(如GCC 10+),需在项目编译配置中添加兼容选项,示例:
CXXFLAGS += -std=c++17 -Wno-error=deprecated-declarations - 确认
inet 4.2.2已完成编译,且simu5G项目已正确链接inet的库文件,避免因依赖缺失导致的头文件引用错误
二、吞吐量异常(生成<接收)排查
这种违背逻辑的统计结果,核心原因多为统计逻辑或配置问题:
- 统一统计时间窗口:确保生成端与接收端的吞吐量统计使用完全一致的时间范围,避免因窗口错位导致的数值偏差
- 排除重传包统计:simu5G的5G HARQ重传机制会让接收端收到重复包,若统计未过滤这类重复包,会导致接收吞吐量虚高。需修改统计逻辑,仅计数成功解码的有效原始包
- 验证VoIP发送配置:标准VoIP(PCMU编码)通常为20ms一包,单包含160字节载荷+协议头,理论生成吞吐量约0.5Mbps。核对生成端的
packetRate、packetSize参数,确认发送逻辑正常输出流量 - 检查统计模块逻辑:若使用自定义统计代码,确认生成端统计的是已成功发送的包(而非生成后缓存未发的包),接收端统计的是有效解码包(而非所有收到的错误/重复包)
内容的提问来源于stack exchange,提问作者Izzati T.
相关产品推荐
相关产品推荐

