How to experiment with LoRa PHY layer parameters?

Hey everyone, I am trying to test the effects of physical layer parameters on its packet reception performance. I am using The Things Uno board as end node and The Things Indoor Gateway.
I want a general right direction on how to proceed with it, in terms of libraries to use if I want to code in Arduino IDE.
Thanks in advance.

As different code bases have different levels of access to such things, which ones were you thinking of changing in particular?

Hey, thanks for your response.
I want to experiment with spreading factor (SF), coding rate and bandwidth in LoS and nLoS conditions. I have so far figured how to alter the SF using TheThingsNetwork library but I doubt it if I can access bandwidth and coding rate using the same library.

Eh?

You want to re-configure the LoRa physical layer parameters of the Gateway, to see how it affects its packet reception ?

Sounds more like you ought to be doing this on a LoRa point to point setup, not good to experiment with Gateways.

Bad idea to change Gateway settings like that, dont.

no, not with the gateway, i want to configure the parameters at end nodes.

I can help you with the results - you will experience 100% packet loss if you change these as the gateway will not be able to hear you.

As @LoRaTracker says, this would really need P2P which isn’t something we discuss / support on this TTI funded forum for TTN

Plenty of libraries out there that support point to point LoRa setups.

You did say in the first post that you were using a Gateway, and you cannot, for this type of testing.

okay, I had no idea that the gateway will not support this kind of testing.
Thank you for your response. I appreciate it

Got it. Thank you

The TTN fair use policy limits the Gateway to sending 10 packets a day to the nodes, which would make meaningful testing kind of difficult anyway.

1 Like

Also GW’s on TTN are required to follow the pre-defined frequency plans, channel bandwidth settings and FEC parameters,etc. for correct operation and if not to be disruptive to other users - do not attempt on TTN, thank you!.

1 Like

I am working on my bachelor’s project in LoRaWAN. The idea is to add an ECC (Error-Correcting Code) before LoRaWAN’s own CRC check and see if it improves the SNR.

I would like to know if it is possible to access/download the PHY layer and then I coud add my ECC to it in Python/matlab.

No chance - improving the SNR would either be by turning off all the radios in the area or changing the laws of physics. Signal to Noise Ratio - the signal you want vs all the other signals that you don’t want.

Access yes, download not so much - it’s built in to the silicon.

You could add ECC to the payload - you could then evaluate that - but I’d check to see what the likelihood of the CRC passing but the payload being corrupt is to see if this would be of any use.

The wording of your premise needs some more research to be correctly framed and you may benefit from reading more around the technology of LoRa and establishing what is available from the canon (official) resources.

We are happy to answer very focused, right at the edge questions for students but not point to readily available resources like data sheets, code bases linked to from all over the place but particularly from Semtech’s site etc etc.

PS, don’t double post, it splits the efforts of the volunteers answering.

The LoRa PHY does already include forward error correction at from 4:5 to 4:8.

Whilst you could add additional ECC data to a payload you would need to process the payload after the packet has been received, I do not think that Semtech provide a mechanism for you to get inside the firmware that decodes packets.

By all means attempt the ‘improvement’ on a LoRa peer to peer setup which would likely be heaps easier than attempting to change the code on a Gateway.