如何在C中实现基于百分比的误码

  • 本文关键字:百分比 误码 实现 c
  • 更新时间 :
  • 英文 :


我一直在尝试在C.中模拟二进制对称信道

它应该这样工作:用户输入一个表示错误率的数字(例如0.01=1%)。所以,例如,如果我从文件中读取1001,每个位都有机会根据输入的百分比将其值分别更改为0/1。

从文件中读取并写入另一个文件已经可以了,但我不知道如何使这些基于百分比的错误发生。

任何帮助都将不胜感激,提前表示感谢。

为了生成基于百分比的错误,您可以执行以下操作:

double rate = get_rate(); // userinput between 0.0 and 1.0 for 0% - 100%
do {
   double nr = drand48(); // Generates a number between 0.0 and 1.0
   if (nr < rate) {
       // Generate biterror here
   }
} while (some_more_bits_to_check);

最新更新