信道与简单模块一样,在某种意义上来说是由一些c++类构成的。信道与模块的实际差别在于没有必要写C++类,因为有预定义的信道类,可以直接将其子类化,继承他们的C++代码。预定义的类型有:ned.IdealChannel、ned.DelayChannel 和ned.DatarateChannel
IdealChannel 理想信道类型 没有参数,可以无延时无失真地使所有消息通过。理想信道有他自己的作用,比如当需要一个信道时,理想信道能承载新的特性和参数,这些特性和参数可以被仿真模块的其他部分读取。
DelayChannel 有以下两个参数。
- Delay是double类型的参数,代表消息的传播延时,以时间为单位(s,ms或者us)定义。
- Disabled是bool类型的参数,默认false;当被设置为true时,信道会丢弃所有的消息。
DatarateChannel有一些附加参数。
- Datarate是double类型参数,代表信道带宽,用来计算分组的传输时间。它的值以比特每秒等为单位。0值被特殊处理,使传输时间为0,也就是说,代表着无限的带宽,参数的默认值是0。
- ber和per表示误比特率和误分组率,允许基本的错误建模。在[0,1]范围内,为double型。默认值都为0。当信道判定在分组传输时发生错误时,会在分组内部设置错误标记。接收模块会检查这个标记,如果发现标记被设置,就会丢弃这个分组。