Comments (4)
from dji_droneid.
from dji_droneid.
The mavic_air_2
file appears to be sampled at 50 MSPS which is not a valid rate for process_file.m
(must be a multiple of 15.36 MSPS). Additionally, just looking at the signal in Baudline, it appears that there is a 2 MHz offset assuming a 50 MSPS sample rate. So, you'll need to resample the file from 50 MSPS to 15.36 MSPS or 30.72 MSPS, then change the file_freq_offset
parameter to 2e6
and set file_sample_rate
to the resampled rate. I resampled the file with the script below, and then fed that resampled file into process_file.m
using a sample rate of 30.72e6
and frequency offset of -2e6
(to undo the 2 MHz offset in the file). From there I saw good constellation points, but a failed CRC. The demodulated bytes look good, but the CRC does not pass. I haven't put it through any kind of parser to see if the data is actually valid.
There are multiple bursts present, but you would need to resample to 61.44 MSPS before feeding into process_file.m
to be able to demodulate those using the file_freq_offset
parameter.
file = '/tmp/mavic_air_2';
samples = read_complex(file, 0, Inf, 'single');
original_sample_rate = 50e6;
target_sample_rate = 30.72e6;
resampled = resample(samples, target_sample_rate, original_sample_rate);
figure(1);
subplot(3, 1, 1); plot(10 * log10(abs(fftshift(fft(samples)).^2))); title('Original File');
subplot(3, 1, 2); plot(10 * log10(abs(fftshift(fft(resampled)).^2))); title('Resampled File');
% Just appending `.resampled` to the file name
output_name = [file, '.resampled'];
handle = fopen(output_name, "w");
fwrite(handle, reshape([real(resampled), imag(resampled)].', [], 1), 'single');
fclose(handle);
subplot(3, 1, 3); plot(10 * log10(abs(fftshift(fft(read_complex(output_name, 0, Inf, 'single'))).^2)));
title('Read Back Resampled File');
from dji_droneid.
I resampled the file from 50 MSPS to 30.72 MSPS, just as you said,there is a CRC error.
Then i resampled the file to 61.44 MSPS, I got two different frames.
I'm trying to decode it to get the information by using dji_decode.py from dragon OS. I found it from the comments.
Thank you very much for your reply, you made me realize that I overlooked a lot of details,really appreciate your assistance.😀
from dji_droneid.
Related Issues (20)
- AttributeError: module 'gnuradio.fosphor' has no attribute 'glfw_sink_c' HOT 2
- I don't understand what is mean this results HOT 6
- Some problem HOT 1
- Zc sequence identify HOT 2
- parameters of descrambler HOT 2
- Got some questions HOT 1
- Final step error: NO DRONE ID HOT 27
- Detect DroneID burst without "gr-fosphor" HOT 4
- the problem of frequency_offset HOT 2
- This DJI Drone ID Not Working for Phantom 4 Pro v2.0 Data HOT 2
- different sequence HOT 1
- Mavic 3 DroneID descrambling HOT 2
- Proposal for normalized cross correlation
- Signal Detection HOT 3
- samples for tests HOT 1
- baudline not available HOT 1
- gnuradio import droneid HOT 3
- Ocusync 4 cannot be resolved HOT 4
- ocysync 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dji_droneid.