-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add a checklist for synchronised operation of multiple HackRFs. #1386
Comments
See in the checklist under this section:
When you ran When you ran |
I think your other problem is with the way you are setting up the hardware triggering. There are two ways to do this:
What you're doing is kind of a mix of both. You have the trigger output of one HackRF connected to the trigger inputs of both HackRFs, and you're passing |
Another problem is that you're starting both If you're using one HackRF to trigger the other, you need to start the Then you can start the other |
thank you much for this , then everything make sense. some times it print wait trigger, i thought its a default message. |
How are you measuring that delay? Is there some unique feature in your transmitted signal that you're using to compare? |
The two hack receive the signal, why the second one shown above amplitude (first 15000 sampling) is lower than later, if they sampling at same time? |
If you're referring to the difference between the waveforms on the left and the ones on the right, this is because the one on the left has been waiting for the trigger so its RF path is already up and running when it starts receiving. The one on the right is starting from cold, so the amplifier is being turned on just as reception starts, and it takes a couple of milliseconds to warm up. Once warmed up you should find that it's receiving the same signal as the other unit. You can just discard the first few milliseconds of data from both devices, everything following that should match up as expected. |
thank you much much, you are my angel! |
Glad I could help! 😇 |
|
Those signals look well matched to me. There are two differences between them, both of which are to be expected:
|
Those signals look quite different. The left signal looks to have less resolution, although the sampling rate is the same (hence the same number of samples for each graph), the ADC quantizer seems to be repeating the same value for few samples of the left graph. Check out the ADC register values of each Hackrf units and compare them. Or, I'll ensure that both Hackrf units have exactly the same software. So a good idea will be to perform a software reset using the same files for both units. I'll be happy to check your new set up if you upload an image. Judging by the photos you've uploaded I'll do:
I good idea will also set the starting point of your measurements/experiments at much lower frequencies. I'd say I'll try to work on baseband and receive a 500KHz signal with a sampling rate of a 2MHz. This way you avoid samples dropping becuase of a busy USB connection near it's limits. Also setting up receiving frequency that low will avoid using the amplifiers, filters and frequency converter (mixer), taking out all those phase shiftings from the equation to make things easy to track. And from there you can start adding complexity. |
Thank you very much |
If I just connect the p15 and p16 to make the synchronization, no connection between CLK_IN and CLK_OUT, there is just a sampling difference. So this is feasible for synchronization if I don't connect the CLK_IN and CLK_out (just using the jumper between p15 and p16)? thanks |
If you connect just the hardware trigger signals and not the clocks, then the start times will be synchronised but the sampling rates will not match exactly. For short captures this might be good enough for your purposes. But over time, the differences in clock frequency between the two devices will add up until there is a noticeable offset between events. |
Thanks, you are so kind! |
What would you like us to add to or change about the HackRF One documentation?
The discussion in #1340 made me think it would be useful to have a checklist in the documentation for troubleshooting setups that require synchronisation of multiple HackRFs.
Points to include:
-d
option with a serial number on the command line to specify which device to target.hackrf_clock -i
.hackrf_debug
will not work correctly on all hardware revisions.hackrf_clock -o
hackrf_transfer
with the-H
option to enable hardware triggering.hackrf_debug -S
after running your software to check if there were throughput problems.hackrf_debug -T 0 -R 0
to set zero tolerance for shortfalls.The text was updated successfully, but these errors were encountered: