-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some questions and issues. #22
Comments
[1] https://github.com/proto17/dji_droneid/blob/main/matlab/updated_scripts/process_file.m#L36 |
Thanks for answering. This is what I have done so far:
I keep trying but I'm running out of ideas. Greetings. |
I’m using the update 3.10 branch now and playing back my previously recorded IQ file at the settings you describe yields bursts in the temp directory. I can then either use the 2GB+ file itself or the smaller burst files (I cat them together into one file) in Octave and the end result is Frames that have been decoded. I’ll test my other IQ files and see if I can replicate what you’re seeing. Maybe it’s possible the initial capture was bad. I was less then a few feet away in a very open area without WiFi etc around. |
The most likely reason for your issues is that the GNU Radio branches (aside from the rewrite branch) are behind the |
The burst don't show every 600ms? I see the signal is there, 10 MHz BW. This is not the burst with the remote id data? You said: "and only record samples when the signal is active on the current frequency" I get loss at this point :(
Thanks. |
It's hard to explain, but basically there are at least 15 or so frequencies that DroneID hops around in. It only stays on one frequency for a few seconds. So, if you just tune to a frequency and collect samples for a second or so, you don't have much chance of actually catching a DroneID burst because it could be at one of the other frequencies. What I do is use gr-fosphor to watch the spectrum live at a specific frequency. When the bursts show up on that frequency I start recording those samples. I stop once the drone moves off to another frequency. Then I know the collect has DroneID samples and I won't be wasting a lot of time processing noise or random other signals (WiFi, Bluetooth, etc). But, you have to know what a DroneID burst looks like in the power spectrum for this to work, so it might not be a good path for you at this point. The bursts are sent every 600 ms, but the signal hops around after 20 or so bursts, so your odds of catching it are slim. I forgot that the graph uses 30.72 MSPS. That can be dropped to 15.36 MSPS if processing power is too high. Also, the higher sample rate causes increased runtime for Octave/MATLAB, so lower is better. Just happens that 15.36 MSPS is the lowest you can go. |
|
There are three signals that come from the Ocusync drones:
What you're describing sounds like you are looking at the downlink. To be extra sure that's not happening, you can use the DJI app to lock the video signal (downlink) to 5.8 GHz, and only look in 2.4 GHz for DroneID signals. |
Thanks once again. Now if my doubt about this question is clarified, thanks to the masterful explanation that you have just given. Obviously I'm only looking at the Video Downlink and the Control Uplink. I have never seen another signal in the spectrum like the DroneID, maybe because I had not paid enough attention. I'll have to look more closely. |
I think I already have the answer and it is not the one I would like. I have continued reading and investigating and I have realized (too late I think) that my drone does not have OcuSync, it is a Phantom 4. Could you confirm if it could be done with this drone model or is it simply for the Mavic? as in your case the Mini 2. I read in an article that the OcuSync Protocol is used by the DJI Mavic series, Air series and Mini. My drone does not have a way to go to 5.8 GHz. Also in the spectrum I see the 10 MHz Video Downlink signal from BW, and those from the Uplink Control with a freq hop as you say. Apart from this, no other signal is evident in the spectrum. According to what you say, should another 10 MHz burst come out every 600 ms and hop in frequency every 20-30 bursts? This means at least a permanence of this RemoteID signal of about 10 seconds in each frequency. Would it be similar to the Video Downlink, at least visually in the spectrum? |
I'm not well versed in what drones do and do not support DroneID. It's my understanding that some of the older DJI drones have had DroneID added to them with firmware updates, but I'm not totally sure about that. As for whether or not the Phantom 4 is Ocusync, I think it's Lightbridge 2, but I'm not sure about that statement. Oh, and the DroneID bursts should looks somewhat similar to the video signals since they are both ~ 10 MHz wide and OFDM. The duration of each OFDM burst will likely be different between the two, but I haven't spent any time looking at the downlink in any detail. Have a look at the waterfall plots from lobart to see what DroneID should look like. You'll only be able to ID this in a recording as the live view will be moving far too fast to notice the features. This is a good picture of what DroneID looks like too |
I was looking at the video that I found now on Youtube from the cemaxecuter channel: Here he identifies with the fosphor the burst of the dronID. Watch it if you can. He is showing how to use your project.
Thanks. |
I didn't mean to imply that you couldn't identify DroneID bursts live, just that you need to know what you're looking for. Also, it's pretty easy when you have a single drone active, it's a bit more difficult with multiple drones since the cadence of the bursts might be goofy. I don't know if the previous generation drones send out DroneID frames or not. I suspect all of the WiFi based drones do, but I don't know about the non-WiFi drones. My analysis tool of choice is baudline. Doesn't do demodulation, but does do a wonderful job for analysis of new signals. |
Hello, I would like to ask you several questions.
It is still maintained that it is necessary to record the IQ signal with the .fc32 file in GNURadio for Octave to process the process_file.m? The bursts that are stored when you record the signal in temp/droined_debug, which are obviously smaller files, aren't they still useful to obtain the result?
The versions that are in the branches of rewrite and update-3.10 do not work for me in octave when I execute the process_file. It gives an error that it cannot find the Turbo decoder (remove_turbo). Any idea why it gives me this error?
Thanks
The text was updated successfully, but these errors were encountered: