Author Topic: RFM69HW sensitivity with standard library settings  (Read 18453 times)

joelucid

  • Hero Member
  • *****
  • Posts: 868
Re: RFM69HW sensitivity with standard library settings
« Reply #15 on: January 30, 2017, 03:49:29 AM »
Quote
Do you know the reason for this behavior? I'm not finding it! Could it be only "wrong statistics", that I didn't take a log enough observation to have meaning? I just let it receive about 10 messages (the node transmits only one message per minute) for each test...

Hmm strange, I've never seen anything like that. I would try to replicate the findings - it really is likely "wrong statistics".

fgomes

  • Jr. Member
  • **
  • Posts: 65
Re: RFM69HW sensitivity with standard library settings
« Reply #16 on: January 30, 2017, 06:27:15 AM »
Hi Joe, I agree, I think that it should be really "wrong statistics", I don't find any other reason and the results during the night seems to agree with that. I left the code just with the standard configuration during all the night and got different results, a low success rate (<40%) between 1:00 and 4:30, and a highe success rate between 4:30 and 7:00 (>70%), without any change in the code, it might have to do with having more electromagnetic noise in the first period, but I'm not sure about that.

Just adding some more data:

As I have reduced the tx power in one of the nodes and put it two floors above, the reception level is about -85dBm, and I think it is really close to the limit it can receive (lowest level received during the test was -88dB, highest -82dB, average -85dB) so the only way to test is to have a longer run, otherwise any small change in the environment could mask the results. I'll try a longer run test with the different LNA configurations and see what happens, not only a 'quick' ten minutes test.

I changed the power supply of the gateway this morning (it was powered by my laptop during the test at night and replaced it by a mobile charger), and after that I almost get no messages, so the sensitivity to the power noise seems to be present (now I have only 8% success rate). In the receiver I already added the circuit Joe suggested, and after my first test with it I had an high increase on the sensitivity, the lowest level received was about -90dB and went to -102dB. I made it in two different units, and had similar results with both, but now I'm using one of that units I'm not able to get the same low level messages. All the radio initialization is the same (standard initialization, no specific write to RFM69 registers), so I'm not finding a reason for that difference.

At the same time similar units were installed in a vineyard (almost no electromagnetic noise, no houses, factories, nothing close to it), where I'm finding also that the lowest messages received are at about -85dB. All the nodes with received signal level above -80dB are ok, and the success rate starts to decrease fast in nodes that have an average RSSI below -80dB. The lowest level observed at the central node was -88dB, but units with average RSSI below -85dB have a very low success rate (<10%). So this seems to point that the Rx limit is about -85dB (with standard configuration), and that it might be better to work on the central node / gateway (ESP8266 + RFM69HW) to try to improve the reception threshold and/or to reduce the Rx bandwidth in order to improve the reception sensitivity.

When I have more results or identified the cause I'll post it here :-)

Best regards

Fernando

perky

  • Hero Member
  • *****
  • Posts: 873
  • Country: gb
Re: RFM69HW sensitivity with standard library settings
« Reply #17 on: January 30, 2017, 09:44:34 AM »
Are you using AFC? If you are the problem may well be due to the RSSI threshold allowing reception of noise. Basically the receiver should be manually reset after a timeout from getting a RSSI interrupt but with no address match or no PayloadReady, otherwise the receiver is then stuck having AFC'd to that noise and is locked to the wrong frequency until it is reset. Your packet error rate will suffer significantly (I did a test simulating noise slightly off frequency and my Packet error rate was 85% without a timeout mechanism, with it the PER was 0.5%).

Mark.



« Last Edit: January 30, 2017, 11:50:58 AM by perky »

fgomes

  • Jr. Member
  • **
  • Posts: 65
Re: RFM69HW sensitivity with standard library settings
« Reply #18 on: January 30, 2017, 11:37:33 AM »
Hi Perky

Thank you very much for the tip! As far as I know, when using the default initialization the AFC is not active, but I'll check reading the RFM69 registers just to be sure. So what i understand from your statement is that if I have the RFM69 with AFC active in receive mode for a long time, and it receives 'noise' (it can be from other devices in the same frequency band, like the water heater, door control, etc. or real RF noise) in near frequencies and above the receive threshold, it can lock to the nearby frequency and will only unlock when I manually reset it (for example using the AfcClear bit in e the RegAfcFei register, or changing the RFM69 mode)? In this case it is recomended a periodic reset of the Afc? Do you configure specific events in order to know when to reset it?

Best regards

Fernando


perky

  • Hero Member
  • *****
  • Posts: 873
  • Country: gb
Re: RFM69HW sensitivity with standard library settings
« Reply #19 on: January 30, 2017, 11:50:22 AM »
That's basically it. I implement the timeout mechanisms given in this app note from Freescale which is based on the same silicon as the RFM69:
www.nxp.com/assets/documents/data/en/application-notes/AN4983.pdf
Mark.

fgomes

  • Jr. Member
  • **
  • Posts: 65
Re: RFM69HW sensitivity with standard library settings
« Reply #20 on: January 30, 2017, 07:13:45 PM »
Just posting some additional results, they might be useful to others:

I'm testing with only two nodes, one as a sensor, other as a gateway. I've replaced the sensor node antenna by a 47 ohm resistor soldered directly to the RFM69 pins in order to be able to play with the two nodes near each other. I've also reduced the radio power of the sensor to the minimum. In these conditions, I was able to have an high success rate if I had the RSSI on the gateway above -85dB (better than -81 if I want to have no failures). I then put the sensor just a bit far in order to have no messages received on the gateway (I waited 10 minutes without any message received). Then I changed the LNA impedance for 200 ohm ( radio.writeReg(0x18, 0x88);). I started to receive messages without failures, with an RSSI level of -95dB (I got messages between -92 and -97dB without failures).
I then put again the sensor a bit more far away until I get 10 minutes without any message received on the gateway. Then I activated the LNA sensitivity boost, and it started again to receive messages, now at about -102dB, between -101 and -105, without failures. If I lower the level a bit more it start to have failures, but the improvement using the LNA configuration was huge!
I will now make a long test to see if the results are the same, and also will test with different power supplies, to see if I notice any difference. I'm already using the power supply decoupling filter suggested by Joe to power the RFM69HW. If everything works well, I'll have to repeat the test in the field.

Best regards

Fernando

perky

  • Hero Member
  • *****
  • Posts: 873
  • Country: gb
Re: RFM69HW sensitivity with standard library settings
« Reply #21 on: January 30, 2017, 07:43:43 PM »
Can I ask what the radio settings are (Fdev, bit rate and RxBw)? If you're not using AFC I assume it's wideband otherwise there's a significant sensitivity dependence on local oscillator offset between tx and rx frequencies.
Mark.
Edit: Seems like default, 55.555kHz BR, 50kHz Fdev and 125kHz RxBw.
« Last Edit: January 31, 2017, 03:31:48 PM by perky »

joelucid

  • Hero Member
  • *****
  • Posts: 868
Re: RFM69HW sensitivity with standard library settings
« Reply #22 on: January 31, 2017, 01:03:48 PM »
Quote
Then I changed the LNA impedance for 200 ohm ( radio.writeReg(0x18, 0x88);). I started to receive messages without failures, with an RSSI level of -95dB (I got messages between -92 and -97dB without failures).

That's weird - what kind of antenna is attached to the gw?

Quote
hen I activated the LNA sensitivity boost, and it started again to receive messages, now at about -102dB, between -101 and -105, without failures.

That's very good if it's with the standard 55kbaud settings. Can't get much better than that!

Btw there's an additional gotcha: if the radio is in rx and a loud unwanted signal comes in, AGC sets the gain very low. The radio will then try to receive your weak real signal using a low gain and not hear it. I've found the easiest way to deal with this is to switch off AGC, always work with max gain and set rssithresh to 255.

Joe

fgomes

  • Jr. Member
  • **
  • Posts: 65
Re: RFM69HW sensitivity with standard library settings
« Reply #23 on: January 31, 2017, 05:46:09 PM »
Hi

@perky, I'm using the default settings, like you said, 55.555kHz BR, 50kHz Fdev and 125kHz RxBw

@joe, at the gw I'm using a home made dipole, connected by a 50 ohm cable to the RFM69HW module. I know that the dipole is 75 ohm and the cable is 50, so it is even more strange to have an advantage of changing the LNA to 200 ohm, but it seems I have better results at 200 ohm. In the sensor nodes I have in the field I use a simple monopole directly connected to the RFM69HW, but here I'm testing with a coil antenna at the sensor side. I am now making the same tests at the sensor side (with the coil antenna) and it was not so conclusive, I have almost the same reception level with different LNA parameters in the sensor. The lowest level received is always about -98 / -100 dB, with 50 ohm or 200 ohm LNA impedance, with or without sensitivity boost. Of course that to have some staistical meaning I have to do a longer test, but the advantage of using any of these parameters it is not noticeable in a short test.

Regarding the AGC, in the field I don't have any node near the gateway, so the only problem might be some noise that can more easily saturate the gateway radio, the nearest sensor is at more than 200 meters. Nevertheless thanks for the tip, sooner or later this will be an issue, so now I already know what to do!

Best regards

Fernando

WhiteHare

  • Hero Member
  • *****
  • Posts: 1300
  • Country: us
Re: RFM69HW sensitivity with standard library settings
« Reply #24 on: February 06, 2017, 09:08:56 AM »
FWIW attached is my current design which works pretty well. I have about 10 dBm less noise on this one than without filters. Good thing about a ESP8266 based gateway is that you only have power coming in (other than doing debug on the FTDI header). So fix that and things should be fine.

I think I'll play around with adding the choke again. If the issue was really the two grounds may this could help even more.

BTW, now that this one doesn't have much conducted noise I notice the radiated noise much more. Fairly significant: switching my LCD displays on or having the router near a 433mhz AC plug increases noise levels by more than 10 dBm!

And here is the gateway together with 3 small loop th-motes and captcha's dipole. Th-motes have a 32.7k clock crystal and - drum-roll, this is my first mote with one - an on/off switch.  :) An air trimmer is mounted on the underside of the board.



Joe

I just now ordered your board from osh park, as well as captcha's PCB antenna.  Would you mind showing closeups of how you made the cable connections on the two pieces?  It looks from the photo you posted that you may have just directly soldered the wires to the two pieces, but I'm unsure.

joelucid

  • Hero Member
  • *****
  • Posts: 868
Re: RFM69HW sensitivity with standard library settings
« Reply #25 on: February 06, 2017, 06:23:06 PM »
Quote
I just now ordered your board from osh park, as well as captcha's PCB antenna.  Would you mind showing closeups of how you made the cable connections on the two pieces? 

I have a u.fl connector on the gw, but in the pictured case I just directly soldered the dipole to the rfm69hcw connectors.