quiet/org.quietmodem.Quiet

Some reliablitiy issue

vishal2947 opened this issue · 9 comments

Hi,
I am trying out this library and noticed - This only works when mic and speaker are just opposite of each other.
I checked out another app "S-Contact" (https://play.google.com/store/apps/details?id=com.totmob.scontact&hl=en") which works fairly well even at longer distance. One reason i can think of is sound produced by "S-Contact" app is louder than what produced by "Quiet".

Is there any way i can increase the volume of sound being produced by Quiet?

P.S: I tested both application on same phone and phone volume set at max level.

Any suggestion from you will really help me.

Hi @vishal2947,

Sure, the easiest way to try this is by increasing the gain value for the profile you're using in quiet_profiles.json. The largest value it accepts is 0.50.

Which profile are you trying? Some do better at high transfer throughput but short distances. ultrasonic-experimental is probably the best for long distances.

Cheers

Thanks for quick response. I was using "audible-7k" profile but 5 out of 10 times data transfer was missed. I also tried ultrasonic but again distance was issue. I will try again after increasing the gain value and will let you know the outcome.

Hi @vishal2947,

If you haven't tried "ultrasonic-experimental" I'd definitely recommend it. It's a much slower modem but more reliable, and you might have better luck tuning it into what you want. "audible-7k" is definitely very short range as you have discovered.

Also, it might be worth trying the voice_recognition_preset branch of this repo. It makes a small change that might improve your transmission capability. I tried it on my device and it didn't seem to change much but every Android device is different and it may help with yours.

I'm closing this issue for inactivity. If you try again and have further questions or problems please feel free to open a new issue

I'm investigating if I can replace Google Nearby with the Quite library for Android. Google Nearby can be used to discover devices that are in the same room using ultrasound, but it uses the Google Server to send the actual data between these devices. As my data payloads are relatively small I'm looking for a way to send my payload directly to surrounding devices.

Quiet looks like a very nice solution to my problem and I'm trying it out using the QuitShare PoC app and the ultrasonic-experimental profile. It works quite well if the devices are relatively close (with 50cm range) but larger distances do not seem possible. I've set the gain value to 0.5 like suggested above.

It this the best possible I can get using this library? Or can I tweak it to allow larger distances.

@eelcocramer

I would definitely recommend reducing the gain. Less gain normally helps, I had only suggested more there as a debugging idea

Try increasing samples_per_symbol. If you only need to transmit a short identifier, the slower transmission speed won't be too bad, and you might get more distance.

Also you could set checksum to "none" so that you get transmissions that have small errors in them. You might be able to recover those, depending on your application, and either way it will give you an idea of how bad the errors get from further away

Thank you @brian-armstrong. I will play with these values to see if it improves the distance for me.

any news @eelcocramer ?

It didn’t really work for me at that time.