* new RX delays based on SNR
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "CustomSX1262.h"
|
||||
#include "RadioLibWrappers.h"
|
||||
#include <math.h>
|
||||
|
||||
class CustomSX1262Wrapper : public RadioLibWrapper {
|
||||
public:
|
||||
@@ -18,4 +19,14 @@ public:
|
||||
}
|
||||
float getLastRSSI() const override { return ((CustomSX1262 *)_radio)->getRSSI(); }
|
||||
float getLastSNR() const override { return ((CustomSX1262 *)_radio)->getSNR(); }
|
||||
|
||||
float packetScore(float snr, int packet_len) override {
|
||||
int sf = ((CustomSX1262 *)_radio)->spreadingFactor;
|
||||
const float A = 0.7;
|
||||
const float B = 0.4;
|
||||
|
||||
float ber = exp(-pow(10, (snr / 10)) / (A * pow(10, (snr / 10)) + B * (1 << sf)));
|
||||
|
||||
return pow(1 - ber, packet_len * 8);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user