本文主要是介绍接收端SNR计算方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在接收端计算SNR,在uwaloha中如何访问phy层信息,向底层发送phy层传送包,由UnderwaterMac::sendDown完成,调用Phy的sendDown函数,因此可以把SNR的计算放在Phy层上做,调用downtarget_->recv函数来完成。SNR计算思路:
channel层接收包,调用mac层的recvprocess过程,然后根据接收时的参数计算出SNR,把参数传递给上层的mac,由mac曾传递给route层。
但是channel层接收感知信号接收包的过程并不是直接调用的函数,
s.schedule(rifp, newp, propdelay);
rifp在propdelay醒来,由rifp接收,具体是哪个接收函数?肯定是recv函数,该函数结构如下:
void
Phy::recv(Packet* p, Handler*)
{
struct hdr_cmn *hdr = HDR_CMN(p);
switch(hdr->direction()) {
case hdr_cmn::DOWN :
sendDown(p);
return;
case hdr_cmn::UP :
if (sendUp(p) == 0) {
Packet::free(p);
return;
} else {
uptarget_->recv(p, (
这篇关于接收端SNR计算方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!