I have been trying to send and receive data using a 2G cell phone network. I wish to communicate the bare minimum needed for telemetry and send waypoints to the uav. I hope that when i graduate to 3G, i can use a 3G video call for sending video and use the audio channel for telemetry,
These are my first attempts at this problem.
Got the following
1)2 sim900 modules for gsm communication
2)XR2206 for FSK
I realized that if i send a signal with frequency outside the 2-3.5KHz range, it gets severely attenuated. So i decided to use frequency shift keying to encapsulate the digital data into 2Khz for logic 1 and 3KHz for logic 1.
FSK seems to work well as seen on the oscilloscope. However when i send this signal from 1 GSM module to another, there is too much noise in the channel and i can't demodulate the signal using a PLL chip. There are even occasional random spikes that occur at around 10KHz.
Why don't you use the cell tower to route the signal for you? If both phones have a data plan then it shouldn't be a problem. Or is the whole point to operate without the tower?
I'm surprised more people are not using GSM in their drones. It's a long range radio modem perfect for drones and has wide coverage across the world.
I plan on using GSM in my drone. LTE specifically.
I want to use the cell towers to bounce the signal. I would like to have the ability to send and receive telemetry without having a 3G network.
Even with a 3G network it seems a restriction to say that you should know the I.P. address of the phone on the drone and the sim module connected to the laptop.
What you should do is hook up the GSM module to an embedded computer that has an operating system like linux or windows CE. Then you have access to the TCP/IP stack which makes things 10X easier. Then you basically have a computer inside your drone, connecting to a computer inside your ground control station. Programming the connection would then be like connecting to a different computer on the internet. Very easy and well documented.
Small embedded linux or windows CE computers can be found in form factors as small as 2 inches and operate on very low power. That should be small enough.
The GSM modules are as small as 1 inch form factor + antenna and have hookups built in so they can be connected to the computer module easily.
To find your IP address at that point is easy.
A major reason that cell phone use in the USA isn't more widespread has to do with CFR Title 47, Part 22, Subpart H:
§ 22.925 Prohibition on airborne operation of cellular telephones.
Cellular telephones installed in or carried aboard airplanes, balloons or any other type of aircraft must not be operated while such aircraft are airborne (not touching the ground). When any aircraft leaves the ground, all cellular telephones on board that aircraft must be turned off. The following notice must be posted on or near each cellular telephone installed in any aircraft:
“The use of cellular telephones while this aircraft is airborne is prohibited by FCC rules, and the violation of this rule could result in suspension of service and/or a fine. The use of cellular telephones while this aircraft is on the ground is subject to FAA regulations.”
Not really a concern in India, but something to consider Stateside.
The law is already being tested and if the public at large has any say in it, will be overturned if they ever did enforce it.
Go for it! Just only use frequencies approved for whatever country you reside in.
Its been proven that cell phone's do not interfere with airplanes. And at 400 feet (which is how high you can fly with your drone), cell phone signals already are present so you are not going to be creating any "new" noise anyways.
I certainly don't disagree that the regulation is outdated, more than a little bit unenforceable, and in need of overhaul, but it is still on the books as both of your links mention. What folks do with information is a personal decision, but being uninformed is never a good idea in my opinion. I wish you nothing but success!
It sounds like you're getting really close to an AX.25 implementation, which is a real protocol used by Ham Radio ops for APRS and Packet modes. There are libraries available for it for a number of microcontrollers (most linux distros have native support for it, too). Given that you're attempting a PLL demod, I assume that you've thought of this already, but a good bandpass filter can go a long way toward clearing up noise, especially 10kHz spurs in a 2-3kHz signal. I can't claim any experience with this project, but thought I might pass it along for reference: it's an AX.25 encode/decode sheild for an Arduino.
Looking forward to hearing more about this effort - it's a very creative way to get around the challenge of communicating with a drone via audio! Out of curiosity, what kind of latency do you experience through your link?
The main problem i face is that the gsm module has a codec that distorts 'non-voice' like signals. So using an FSK directly doesn't give a reliable output at the rx module. Apparently true speech doesn't have jumps in frequency and passes through the gsm module, but an FSK signal gets distorted quite badly.
I see. What kind of data rates are you going for? I'm curious if you could work with the equivalent of the "setup and hold" characteristics of your audio: specifically, if you swept from 2k to 3k, and held long enough for your PLL to lock to the signal? Additionally, what about adding some well-out-of-band harmonics that could mimic a human voice, but woudn't get through an audio filter?
I'm no expert on RPE-LTP audio compression, but it sure seems like it would be possible to "trick" the processing algorithm into believing that your signal is a voice. Just some thoughts... very cool problem to think about.
Data rates are 2-3Kbps, just enough for bare bones telemetry(position/velocity/attitude/way-point info)
Some people have managed to trick the codec. Was reading about it on the net. It's called Data over Voice.
I like it just because the cell companies don't want you using it. You could then send a fax from your phone, send data from one phone to another etc and no-one snooping around, could even understand what was being sent.
There's a group for Telemetry over 3G and cellular modem on DIYDrones. There's code for the APM to initialize the SIM900 and send telemetry over it. It has been tested to 57,600 on the SIM900. Basically, this has already been done and is working.
I'm currently working on the 3G version with a HUAWEI 3G modem.