最近在做一个项目,是2。4g无线通信的。关于跳频这块我整理了一下思路,大家共同讨论。
以下是我的见解,希望得到各位大神的建议
首先想要实现跳频通信,第一点要先实现跳频同步,也是最主要的一点吧。
那么怎么实现呢?
1 我选择了参考时钟法。优点就是同步精度高,当然时钟的精度也必须要高。
2 好了,接下来怎样做呢?
第一 发送端和接收端初始化时都在固定的一个频段
第二 开始实现跳频的同步,发送端先要给接收端发送同步信息,同步信息里包括了时钟参数,同步的命令等
第三 接收端接收成功后,返回ACK,告诉发送端,同步信息接收到啦,可以开始同步啦。
第四 此时接收端根据接收到的同步信息,调整时钟,并根据同步的命令开始跳变频段。
说到跳变频段,其实一个很重要的是跳频图案咯,跳频图案怎么来?
首先你得挑选出适合跳频的频段,尽量避开WiFi 或者蓝牙常使用的频段
还有就是这个频段的驻留时间,据说蓝牙一个频段的驻留时间是650us,那怎么避开呢?
我们采用的重发机制起作用了,我们把重发延时设置成700us,这样即使这次数据可能受到干扰,
延时过后重发就应该不存在太大问题了。
回到刚才的跳频图案,一般用伪随机生成跳频图案。怎么生成呢:
首先发送端使用伪随机算法,去挑选下一个要跳变的频段。当然频段是已经挑选好的。只是我们怎么 随机选下一个跳变的频段罢了。然后生成一堆随机的数字(频段个数之内 比如你选了16个频段,就是 16以内的随机数)生成的随机数呢保存起来。发送同步信息的时候就要把这些随机数发送给接收端了
当接收端接收到之后,就会根据这个随机数进行相同的跳变。
那个跳到这个频段停多久呢?这就是跳频的驻留时间。一般收发双方已经约定好了。一般来说越短越好,但 是这是会影响发送的比特位大小,所以适当吧。又不是要弄战术跳频通信,没有什么敌对双方。而至关重要的就是实时时钟要精准哦,只有这样。同步跳频的精度才会高。
有个问题需要大家讨论,就是我是发送数据的时候才跳频呢?还是无时无刻保持同步跳频,那这样不是把功耗都耗在保持同步上了?每隔一段时间就要同步。你们觉得呢?