Can't get digital RSSI from any RF transceiver

Go To Last Post
15 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi all,
I'm working on a project that requires distance measurement between 2 RF modules using AVR and C or Basic compilers. Since I have no experience using wireless modules and have no idea about how do their registers display information such as RSSI I'm asking for your help. I can use RFM series (RFM12B or RFM22B) and HM-TRPs which I know they've got RSSI feature but I don't know how to use it. Any idea how to get RSSI from these modules?

Thanks.

Last Edited: Fri. Oct 16, 2015 - 12:32 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Signal strength is a very poor indication of distance. Mainly due to the inverse square law in RF propagation. Moreso due to non-line-of-sight conditions, multipath, and other effects.

 

The HopeRF modules all have RSSI and if you use the RadioHead protocols, there's an API to get RSSI.

http://www.airspayce.com/mikem/a...

 

But about all RSSI gives you is near/far.

 

Distance measurement with RF techniques, other than GPS, use time difference of arrival (TOA) methods and it's rather expensive.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for replying, stevech,
Yes I knew there was a method like that, but as you mentioned it's not easy (and cheap) to find a timer with nano-seconds accuracy. Anyway, I'll try using that API and hope it's useful :)
Much appreciate.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have you studied the Documentation for your modules?

 

That should tell you all about the available features & registers, and how to use/read them...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mh_Que wrote:

Thanks for replying, stevech,
Yes I knew there was a method like that, but as you mentioned it's not easy (and cheap) to find a timer with nano-seconds accuracy. Anyway, I'll try using that API and hope it's useful :)
Much appreciate.

 

1 ns ~ 1 foot in RF speeds.

So it's too expensive for hobby work. Ekahau and others make TDOA products for this.

 

RSSI for ranging is not useful with low power radios.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

stevech wrote:
RSSI for ranging is not useful with low power radios.

That depends on what, exactly, you mean by "ranging".

 

There's a number of applications in which it can be perfectly adequate...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Honestly, I am working on a non-gps positioning system and it's not just for hobby. First i was trying to use Accelerometer to find the distance but it wasn't as accurate as I needed. Then I wanted to use RF modules to find the distance but again, RSSI wasn't accurate and the other methods were expensive enough to not try them. A question, how do they locate something with wifi? I've heard it's quite accurate and also works indoors...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

Have you studied the Documentation for your modules?

 

That should tell you all about the available features & registers, and how to use/read them...

Yes I have, but they mostly tell about features, I haven't found anything about how to use them for example in C compilers. Another problem is I use atmel microcontrollers such as ATmega32 or 64 but all I found on the web is for use on Arduino.

Last Edited: Thu. Feb 26, 2015 - 11:09 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mh_Que wrote:
but they mostly tell about features,

well, of course they do!  The module documentation documents the module!

 

Quote:
I haven't found anything about how to use them for example in C compilers

Because that is completely beyond the scope of the module documentation!

 

The module neither knows nor cares what language or microcontroller or whatever you happen to be using.

 

The module documentation tells you what the module does - it's up to you to implement that using whatever language and/or hardware you like.

 

Quote:
I use atmel microcontrollers such as ATmega32 or 64 but all I found on the web is for use on Arduino.

And don't those Arduinos use Atmel AVR processors...?

 

mh_Que wrote:
it's not just for hobby.

You mean this is a commercial project?

 

In that case, don't you think you should be hiring someone with the necessary skills & experience...?

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

You mean this is a commercial project?

 

In that case, don't you think you should be hiring someone with the necessary skills & experience...?

 

Indeed. I worked professionally in that field. I told the OP how it is, with laws of physics. OP ignored me.

Go read about trilateration, time difference of arrival (TDOA), ISO standard for RTLS.

Go look at WiFi products that do asset tracking in factories and hospitals. Ekahau, Time Domain, others.

the best asset tracking for indoor use don't use WiFi for obvious reasons. The best outdoor trackers are, er, GPS. With a Kallman filter and a fiber-gyro or some such.

Don't waste your employer's time and money. Hit the books.

cheaper/faster: Hire a subject matter expert consultant.

 

Last Edited: Fri. Feb 27, 2015 - 05:17 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:

well, of course they do!  The module documentation documents the module!

 

Because that is completely beyond the scope of the module documentation!

 

The module neither knows nor cares what language or microcontroller or whatever you happen to be using.

 

The module documentation tells you what the module does - it's up to you to implement that using whatever language and/or hardware you like.

 

The problem is exactly about that "It's up to you", I know which module has RSSI feature and which has not, but since I haven't practically used any kind of RF modules myself I don't know how to use this feature.

 

awneil wrote:

And don't those Arduinos use Atmel AVR processors...?

 

For sure Arduino In/Out methods, C header files, etc would differ from AVR's, and I don't have time to spend learning to use them.

 

awneil wrote:

You mean this is a commercial project?

 

No, not a commercial one,it is a part of a major project that's somehow serious to me. 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

seems the best way would be using TDOA.

There's no employer, I'm working for myself and I can't spend money hiring an expert.

Does the accuracy of a system using TDOA depend on the accuracy of the stopwatch that calculates the time between sending and receiving the signal?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mh_Que wrote:
I'm working for myself and I can't spend money hiring an expert.

Then you're going to have to spend time learning how to do this stuff!

 

Your task requires you to be a competent microcontroller programmer.

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mh_Que wrote:

seems the best way would be using TDOA.

There's no employer, I'm working for myself and I can't spend money hiring an expert.

Does the accuracy of a system using TDOA depend on the accuracy of the stopwatch that calculates the time between sending and receiving the signal?

 

Did you go on the web and read about trilateration and TDOA?

TDOA uses a common high accuracy clock available to 2+ receivers encountering the same incoming signal.

It does not measure time of flight from transmitter to receiver as you asked.

 

Essentially, this is how GPS works, but it does it with the common clocks at the transmitting end.

 

Time to hit the books and build a foundation of knowledge.

 

TDOA is not inexpensive.

Did you look at Ekahau and Time Domain?

 

Since you don't have expertise in that subject matter, and cannot afford to pay a consultant, it's best that you buy it off the shelf from one of several vendors.

 

 

Last Edited: Sat. Feb 28, 2015 - 02:01 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So I was wrong, I thought that TDOA is the same method that I read about on the web which used a highly accurate stopwatch to calculate distance measuring RF signals Time of Flight.
As you said, I have to do more researchs about TDOA. Unfortunately I can't buy any professional electronic stuff because they're not available in my country, even if I try to, I'll have to pay post costs... That's too expensive for me.
Thanks a lot :)