转载自http://blog.sina.com.cn/s/blog_6c6b59d50101qdao.html
百思论坛牛人回答~~~
Mac/802_11 set dataRate_
Mac/802_11 set basicRate_ 1Mb
在802.11规程中最终在信道上传送的分组由:PLCP前导+PLCP头+PSDU组成
PLCP前导和PLCP头,以 basicRate_发送,其中PLCP头中的SIGNAL域,规定后续PSDU以何种速率的dataRate_来进行传送。
具体支持
802.11:
basicRate_ 1Mb
dataRate_
802.11b:
强制使用长前导和长头部:
basicRate_ 1Mb
dataRate_
可选使用短长前导和短头部:
basicRate_ 2Mb(具体PLCP前导为1Mb,PLCP头部为2Mb)
dataRate_
在802.11协议(注意不是802.11b)中,有两种可选速率即1M和2M,在协议里面规定DSSS 的PLCP前导以(basicRate_)1M发送,然后通过SIGNAL域中的数值确定MPDU以何种速率发送。可以理解basicRate_为系统规 定的一个大家都要遵守的速率,发送和接收方需要通信,必然要符合两边速率相等的这个条件,当然basicRate_可以设置为其他的速率如2M,只要发送 接收双方达成共识就好了,但是802.11协议为了让大家达成共识把这个速率basicRate_设置为了1M。
所谓数据封装后以两个速率传,其实这个是和802.11发送规程有关系的,其实实际的发送并不和你从书本上理解的全都封装好了,然后一起发送的,到MAC 封装成为MPDU后发送到物理层,物理层并不是简单的加入PLCP前导然后就调制发射了,它的过程是物理层先独立发送PLCP前导来让对方知道相关物理层 的参数如SIGNAL,可以让对方知道以后后续的数据要以什么样的速率发送。让对方准备好相应的条件,如对应2M的QPSK调制,这时跟着发送的MPDU 就是以SIGNAL标示的速率发送了。
这些都是协议里面规定的,你要是仿真不考虑这么多的情况下,可以将 dataRate_