• Watch Out for Scammers!

    We've now added a color code for all accounts. Orange accounts are new members, Blue are full members, and Green are Supporters. If you get a message about a sale from an orange account, make sure you pay attention before sending any money!

Labrabaco: a G7 BC calculator from Labradar tracks

ptosis

Maniacal nitpick
Full Member
Minuteman
Jun 9, 2014
223
185
Switzerland
Yes, it is possible. Yes, it does work.

I have put together some code to calculate G7 ballistic coefficients from Labradar tracks. The tool is available here: https://bc.geladen.ch/labrabaco/labrabaco.html

It all runs in your browser, there is nothing to install, and it's free and open source.

Some bits of additional info are here: https://geladen.ch/en/labrabaco-v-0-5-beta-is-out/
and here: https://geladen.ch/en/tips-to-set-up-labradar-for-the-most-awesomest-results/

My deepest gratitude goes to entoptics @ longrangehunting.com forums, who provided absolutely precious data for design and calibration of the algorithms.

That is what can be expected:


Bullet​
ref BC​
BC src​
valid tracks​
baco BC​
diff, %​
GP90 (Fass90)0.166CH armee150.1670.7%
GP110.274CH armee160.270-1.4%
RUAG BALL 8.60.312vendor [*]70.3161.1%
Lapua Scenar-L 7.62 155gr0.230vendor160.2300.1%
GP90 (SG-553-LB)0.166CH armee140.166-0.1%
Hornady ELDM 6.5 147gr0.351vendor160.332-5.4%
Berger EOL 6.5 156gr0.347vendor40.3521.3%
Hornady ELDM 5.56 73gr0.200vendor50.2063.0%
Hornady ELDM 6.5 147gr0.351vendor50.337-4.1%
Hornady ELDX 6.5 143gr0.315vendor40.312-1.0%
Hornady ELDX 7 175gr0.347vendor190.3531.6%
SMK 223 69gr0.169Litz [**]100.167-1.1%
Hornady ELDX 6.5 143gr0.315vendor70.315-0.1%
Hornady ELDX 7 175gr0.347vendor220.3511.2%

[*] from trajectory data
[**] Applied Ballistics For Long Range Shooting, 2nd ed.

“Ref BC” is a known good G7 BC from “BC src”. “Baco BC” lists the values calculated by labrabaco from radar tracks.

(Wish I had an adult-size Doppler radar to check if Hornady ELDM 6.5 147gr really behaves so differently from all other bullets tested.)

Gory details will follow in a separate article. In short, the software uses a 5th order polynomial regression weighted by SNR (absolute, not dB) on all data points for V(t), then runs an actual 3DOF ballistic engine in reverse to iterate to the best-fitting BC.

You're welcome.
 
Last edited:
That's really awesome. I just tried with some of my data for Hornady 190 and 230 A-tips, and it's right on the manufacturer estimate. Yes, obviously the Labradar isn't designed for this and it doesn't tell us about BC decay with lower speed, but still, it's a great capability to have.
 
Interesting. Having trued the BC on the 147s at distance I absolutely believe those numbers for the 147 (and I am a Hornady fanboy)

Thanks for work!
 
Interesting. Having trued the BC on the 147s at distance I absolutely believe those numbers for the 147 (and I am a Hornady fanboy)

Thanks for work!
Yea
That modified 147 BC is closer to what I used than the listed box BC
 
[**] Applied Ballistics For Long Range Shooting, 2nd ed.

“Ref BC” is a known good G7 BC from “BC src”. “Baco BC” lists the values calculated by labrabaco from radar tracks.

(Wish I had an adult-size Doppler radar to check if Hornady ELDM 6.5 147gr really behaves so differently from all other bullets tested.)

Gory details will follow in a separate article. In short, the software uses a 5th order polynomial regression weighted by SNR (absolute, not dB) on all data points for V(t), then runs an actual 3DOF ballistic engine in reverse to iterate to the best-fitting BC.

You're welcome.
Have a question if you don't mind, how do you reference the BCs to the ICAO standard atmosphere? What formula do we need to apply to the data afterwards? I mean, the results you got from the Labradar are only valid for the current conditions.
 
Have a question if you don't mind, how do you reference the BCs to the ICAO standard atmosphere? What formula do we need to apply to the data afterwards? I mean, the results you got from the Labradar are only valid for the current conditions.
Yep, the resulting BCs correspond to ICAO alt. 0 std atmo. That is why the software needs to know the conditions in which the measurements have been taken -- to make the automatic adjustment to the standard BC value.
 
  • Like
Reactions: LastShot300
Version 0.6 is coming soon -- I have collected some 350+ recorded tracks (last Wednesday was intense! -- 10 different guns, 7 different projectiles), and have a few ideas on how to get more precision out of less data. Stay tuned.
 
Yep, the resulting BCs correspond to ICAO alt. 0 std atmo. That is why the software needs to know the conditions in which the measurements have been taken -- to make the automatic adjustment to the standard BC value.
(y) (y)
 
This may turn into one of the most fantastic and helpful threads on this site, and that says quite a bit! Imagine people using this code, calculating their own G7, posting their results here, and being able to create a database of sorts with the wide variety of bullets used across this site
 
  • Like
Reactions: LastShot300
I have a beta running, with much more precise calculations (I could get my hands on fairly large volumes of data from a non-EU-castrated box, which helps). The new version does a much better job in making sense out of noisy data.

As of yet, however, it holds on shoestrings and is not polished enough for a public release. Hope I will have time to sort out the interface features in the next couple of weeks.
 
Out of curiosity, is this also tracking the muzzle velocity of each shot fired?
 
I just tried this using the last 10 shots from my load development with 142gr ABLR bullets. They have a listed G7 BC of 0.315 and your program was real close. That's impressive and pretty easy to use. Well done

BC standard deviation: 0.013037750346763998
Average BC = 0.3176019287109375
 
Interesting. I’ve been using the labradar data and the jbm ballistics bc calculator. I’ll give this a shot.
 
That's what Labradar devices are built for; it's built into the system, no need for additional software.
I understand that, but I'm talking about for the shooters who don't have the Labradar
 
Yes, it is possible. Yes, it does work.

I have put together some code to calculate G7 ballistic coefficients from Labradar tracks. The tool is available here: https://bc.geladen.ch/labrabaco/labrabaco.html

It all runs in your browser, there is nothing to install, and it's free and open source.

Some bits of additional info are here: https://geladen.ch/en/labrabaco-v-0-5-beta-is-out/
and here: https://geladen.ch/en/tips-to-set-up-labradar-for-the-most-awesomest-results/

My deepest gratitude goes to entoptics @ longrangehunting.com forums, who provided absolutely precious data for design and calibration of the algorithms.

That is what can be expected:


Bullet​
ref BC​
BC src​
valid tracks​
baco BC​
diff, %​
GP90 (Fass90)0.166CH armee150.1670.7%
GP110.274CH armee160.270-1.4%
RUAG BALL 8.60.312vendor [*]70.3161.1%
Lapua Scenar-L 7.62 155gr0.230vendor160.2300.1%
GP90 (SG-553-LB)0.166CH armee140.166-0.1%
Hornady ELDM 6.5 147gr0.351vendor160.332-5.4%
Berger EOL 6.5 156gr0.347vendor40.3521.3%
Hornady ELDM 5.56 73gr0.200vendor50.2063.0%
Hornady ELDM 6.5 147gr0.351vendor50.337-4.1%
Hornady ELDX 6.5 143gr0.315vendor40.312-1.0%
Hornady ELDX 7 175gr0.347vendor190.3531.6%
SMK 223 69gr0.169Litz [**]100.167-1.1%
Hornady ELDX 6.5 143gr0.315vendor70.315-0.1%
Hornady ELDX 7 175gr0.347vendor220.3511.2%

[*] from trajectory data
[**] Applied Ballistics For Long Range Shooting, 2nd ed.

“Ref BC” is a known good G7 BC from “BC src”. “Baco BC” lists the values calculated by labrabaco from radar tracks.

(Wish I had an adult-size Doppler radar to check if Hornady ELDM 6.5 147gr really behaves so differently from all other bullets tested.)

Gory details will follow in a separate article. In short, the software uses a 5th order polynomial regression weighted by SNR (absolute, not dB) on all data points for V(t), then runs an actual 3DOF ballistic engine in reverse to iterate to the best-fitting BC.

You're welcome.
Hello, I’m trying to have some results, these are some screenshot, may be I’m doing something wrong, any advice ?
 

Attachments

  • 8A53FEC9-306C-41DE-8B35-BB5A3D979A19.jpeg
    8A53FEC9-306C-41DE-8B35-BB5A3D979A19.jpeg
    468.3 KB · Views: 79
  • 9EA08025-712C-4CE0-BD74-0893722E10C3.jpeg
    9EA08025-712C-4CE0-BD74-0893722E10C3.jpeg
    469.2 KB · Views: 78
  • 497AF798-9762-4CC8-9511-746417A958EE.jpeg
    497AF798-9762-4CC8-9511-746417A958EE.jpeg
    584.3 KB · Views: 71
  • 1621D053-3426-4319-8DE9-D997C20184D3.jpeg
    1621D053-3426-4319-8DE9-D997C20184D3.jpeg
    508.2 KB · Views: 84
Hello, I’m trying to have some results, these are some screenshot, may be I’m doing something wrong, any advice ?
There is a know bug (corrected in the yet-to-be-released version) -- the system fails, in exactly the way you have described, when the distance unit is set to feet.

Would that be the case?
 
Yes, it is possible. Yes, it does work.

I have put together some code to calculate G7 ballistic coefficients from Labradar tracks. The tool is available here: https://bc.geladen.ch/labrabaco/labrabaco.html

It all runs in your browser, there is nothing to install, and it's free and open source.

Some bits of additional info are here: https://geladen.ch/en/labrabaco-v-0-5-beta-is-out/
and here: https://geladen.ch/en/tips-to-set-up-labradar-for-the-most-awesomest-results/

My deepest gratitude goes to entoptics @ longrangehunting.com forums, who provided absolutely precious data for design and calibration of the algorithms.

That is what can be expected:


Bullet​
ref BC​
BC src​
valid tracks​
baco BC​
diff, %​
GP90 (Fass90)0.166CH armee150.1670.7%
GP110.274CH armee160.270-1.4%
RUAG BALL 8.60.312vendor [*]70.3161.1%
Lapua Scenar-L 7.62 155gr0.230vendor160.2300.1%
GP90 (SG-553-LB)0.166CH armee140.166-0.1%
Hornady ELDM 6.5 147gr0.351vendor160.332-5.4%
Berger EOL 6.5 156gr0.347vendor40.3521.3%
Hornady ELDM 5.56 73gr0.200vendor50.2063.0%
Hornady ELDM 6.5 147gr0.351vendor50.337-4.1%
Hornady ELDX 6.5 143gr0.315vendor40.312-1.0%
Hornady ELDX 7 175gr0.347vendor190.3531.6%
SMK 223 69gr0.169Litz [**]100.167-1.1%
Hornady ELDX 6.5 143gr0.315vendor70.315-0.1%
Hornady ELDX 7 175gr0.347vendor220.3511.2%

[*] from trajectory data
[**] Applied Ballistics For Long Range Shooting, 2nd ed.

“Ref BC” is a known good G7 BC from “BC src”. “Baco BC” lists the values calculated by labrabaco from radar tracks.

(Wish I had an adult-size Doppler radar to check if Hornady ELDM 6.5 147gr really behaves so differently from all other bullets tested.)

Gory details will follow in a separate article. In short, the software uses a 5th order polynomial regression weighted by SNR (absolute, not dB) on all data points for V(t), then runs an actual 3DOF ballistic engine in reverse to iterate to the best-fitting BC.

You're welcome.
Hello, disregard previous message, got it, it seem to works, I’ll give you more feedback, thanks
 

Attachments

  • 7F7E39E4-E89F-4D14-93B3-D06EC2B3165D.png
    7F7E39E4-E89F-4D14-93B3-D06EC2B3165D.png
    503.5 KB · Views: 70
Good! Let me know how it goes.

Btw, your data looks very regular; looks like a perfect range to run Labradar measurements.
Good! Let me know how it goes.

Btw, your data looks very regular; looks like a perfect range to run Labradar measurements.
This is another file
 

Attachments

  • ABCDE11E-0D74-4F04-A5AC-BABA263A05FC.png
    ABCDE11E-0D74-4F04-A5AC-BABA263A05FC.png
    495.6 KB · Views: 74
Shot in a Vitrix?
Yes a Victrix Crown, after zero at 100 meters, I did some test at 509 meters, following 1000 ( very good groups and 2000, I did BC calculation tuning LabradaR, shotmarker and PVM 08.
with your tool I’m very close to my calculations and published BC.
at 1000 meters I used a bigger screen for the shotmarkeR.
 

Attachments

  • E144E6A8-C078-403E-84CB-811556939D24.png
    E144E6A8-C078-403E-84CB-811556939D24.png
    2.2 MB · Views: 74
  • 84E55DF2-7D1C-4975-859B-9691144E950A.png
    84E55DF2-7D1C-4975-859B-9691144E950A.png
    4 MB · Views: 76
  • 4704E37B-224D-420B-9239-09362C0539A2.png
    4704E37B-224D-420B-9239-09362C0539A2.png
    2.5 MB · Views: 93
  • 88713C36-D6CF-4796-B025-881E59F05FA2.png
    88713C36-D6CF-4796-B025-881E59F05FA2.png
    2.8 MB · Views: 82
  • 1A4557AB-54E6-4A39-809D-75E3B4A94520.png
    1A4557AB-54E6-4A39-809D-75E3B4A94520.png
    356 KB · Views: 77
  • 7F564B6D-5AF1-4C68-8BF8-5D057446C49A.png
    7F564B6D-5AF1-4C68-8BF8-5D057446C49A.png
    1.1 MB · Views: 66
  • 92BC8AE9-DD3D-497C-8B10-0A845E4DC51A.png
    92BC8AE9-DD3D-497C-8B10-0A845E4DC51A.png
    2.6 MB · Views: 68
  • 791867B4-A722-41C1-BA9E-D4E697B26143.png
    791867B4-A722-41C1-BA9E-D4E697B26143.png
    1.7 MB · Views: 70
Yes a Victrix Crown, after zero at 100 meters, I did some test at 509 meters, following 1000 ( very good groups and 2000, I did BC calculation tuning LabradaR, shotmarker and PVM 08.
with your tool I’m very close to my calculations and published BC.
at 1000 meters I used a bigger screen for the shotmarkeR.
Nice test. Have you ever tried out Magnetospeed instead of Labradar?
 
Yes, magneto speed, Labradar and PVM-08 are very close, we did a lot of test pairing different chronograph, also 3 Labradar at the same time, speed very close.
While we're off-topic, did you have a chance to compare the PVM-08 output with velocity measurements given by shotmarker? I was always wondering what the former is worth in terms of velocity measurements.
 
Yes a Victrix Crown, after zero at 100 meters, I did some test at 509 meters, following 1000 ( very good groups and 2000, I did BC calculation tuning LabradaR, shotmarker and PVM 08.
with your tool I’m very close to my calculations and published BC.
at 1000 meters I used a bigger screen for the shotmarkeR.
A beautiful rig indeed! Surprisingly comfortable to shoot (but the blast coming to the spotter feels like peeling off eye retina and cracking the dental enamel).

A friend of mine has acquired one recently, and is trying to develop a 375CT load with custom solid bullets. These to seem to fly very well, but nobody ever measured the actual BC. We are running tests with Labrabaco, and I wanted to confirm the findings with a slowdown at a longer distance.
 
  • Like
Reactions: one shot ST
While we're off-topic, did you have a chance to compare the PVM-08 output with velocity measurements given by shotmarker? I was always wondering what the former is worth in terms of velocity measurements.
Not same speed, at 100 meters them shotmarker reads from 5 to 11 m/s less than Labradar, you need to aligned it very well to avoid error in the measures
 
Last edited:
Same bullet, same load, 2 different rifles, 2 Victrix Crown .375 CT
 

Attachments

  • 3BBF509B-F7AB-41BE-892B-129AC784D250.png
    3BBF509B-F7AB-41BE-892B-129AC784D250.png
    153.9 KB · Views: 77
  • DF4C8AF9-C3EC-46A4-B532-24164ECB9438.png
    DF4C8AF9-C3EC-46A4-B532-24164ECB9438.png
    237.4 KB · Views: 54
Same bullet, same load, 2 different rifles, 2 Victrix Crown .375 CT
This might sound like a silly question, but how sure are you of the conditions? Most importantly -- the temperature. A sunny day vs. a cloudy day can make a very significant difference in thermometer readings.
 
Would you post some correlation with the shotmarker/actual drop at distance result?
Thank you sir
We will do in the next future other test, I’ll let you know, at present time shotmarker reads about 10 m/s less than labradar, actual drop is confirmed with labradar speed
 
  • Like
Reactions: LastShot300
This might sound like a silly question, but how sure are you of the conditions? Most importantly -- the temperature. A sunny day vs. a cloudy day can make a very significant difference in thermometer readings.
Yes, here same meteo conditions
 
I think I screwed up. I was looking at the track files. I was shooting 22lr on a 50 yard range, and the last few readings the velocities went up. I assume it was garbage data, so I deleted it. In excel there was some message about changing the file somehow, bit it saved as a CSV file. But the BC calculator didn't like that?

  • Shot0009 Track.csv : processing... not a valid track file
  • __MACOSX/._Shot0009 Track.csv : processing... not a valid track file
I'm surprised that deleting the last few rows of data did this, or is it something with excel?
 
I think I screwed up. I was looking at the track files. I was shooting 22lr on a 50 yard range, and the last few readings the velocities went up. I assume it was garbage data, so I deleted it. In excel there was some message about changing the file somehow, bit it saved as a CSV file. But the BC calculator didn't like that?

  • Shot0009 Track.csv : processing... not a valid track file
  • __MACOSX/._Shot0009 Track.csv : processing... not a valid track file
I'm surprised that deleting the last few rows of data did this, or is it something with excel?
The most likely reason is that Excel screwed up the CSV format at saving (introduced quotes around values, changed the delimiter, etc.). Deleting the last few lines of a track file should not be an issue.

By the way, I am now working on an automatic filter to disregard weird data points in the track; the next version will do all this stuff automatically.
 
Another thing to check then is the distance from the muzzle to the radar. It needs to be as close to the device settings as operationally possible.

See https://geladen.ch/en/tips-to-set-up-labradar-for-the-most-awesomest-results/

I found the BC calculations to be more sensitive to errors in muzzle placement than Labradar's V0 display.
I always thought that the distance offset was the distance left-right to the barrel, so as to make a triangle- not the front back distance, which is the correct use of that 'distance', correct.
 
What is important is the distance between the barrel axis and the radar beam axis (and, of course, that these axes are as parallel as possible -- the barrel and the radar should point at the same distant target). So -- yes, left-right of the barrel, not the distance to the muzzle.

If the muzzle is slightly in front or slightly behind the side of the radar, this is not too much of a problem -- the impact on V0 measurements is negligible, and the impact on BC calculations with Labrabaco is nil.

Thanks, I will clarify this point in the "howto".
 
Last edited:
The most likely reason is that Excel screwed up the CSV format at saving (introduced quotes around values, changed the delimiter, etc.). Deleting the last few lines of a track file should not be an issue.

By the way, I am now working on an automatic filter to disregard weird data points in the track; the Ep,
YEp,

OPened a virgin one that I didn't resave with EXCEL and one that I did. Looks like excel converts semicolons to commas. Maybe a few other things too.

I 'fixed' it with find&replace, but they still don't work.

1636929770960.png
 
Last edited:
beta v.0.7 is out, now available:


The major change is noise filtering. Most people who have plotted Labradar tracks in spreadsheet software, must have seen occasional tracks of this shape:

1637510081048.png


The tail of the graph -- beyond 60 ms -- is obvious noise; there is no way speed can increase downrange. Now Labrabaco can detect and eliminate such data points, and make sense even of very dirty signal, and make better sense of clean signals too.

Special thanks go to entoptics @ longrangehunting.com forums for his excellent suggestions and observations!

Also, a bug has been fixed: for those who care, Labrabaco now understands tracks recorded with "ft" distance units (did not try it myself, but should work ok).

In the works for future v.0.8: BC calculation for G1 and GL standard models, interface cleanup, indications of data and results quality, etc.

Enjoy.
 
Last edited:
Thanks for this, gives me another reason to try the LabRadar again. I just wish the radar worked with 22 projectiles a bit further. But I’m interested to see if there is a difference in BC with the same ammo but with 1x16 vs 1x9 22lr barrels. Do you think this is sensitive enough to divine that? The data above I posted is non optimized- getting used to the placement, use of the kinetic trigger, using my phone as a remote control to keep the unit aimed right. But even if the range isn’t far, the time it is tracking well is about 130milliseconds. Is time or distance of tracking more important? How much of either is needed to get a good number?

Just out of curiosity, what drives the BC calculation? Is it the slope of that velocity line? Is there a secondary part of the equation as to the ‘bend’ in the line?
 
Thanks for this, gives me another reason to try the LabRadar again. I just wish the radar worked with 22 projectiles a bit further. But I’m interested to see if there is a difference in BC with the same ammo but with 1x16 vs 1x9 22lr barrels. Do you think this is sensitive enough to divine that? The data above I posted is non optimized- getting used to the placement, use of the kinetic trigger, using my phone as a remote control to keep the unit aimed right. But even if the range isn’t far, the time it is tracking well is about 130milliseconds. Is time or distance of tracking more important? How much of either is needed to get a good number?

Just out of curiosity, what drives the BC calculation? Is it the slope of that velocity line? Is there a secondary part of the equation as to the ‘bend’ in the line?
re: difference between 1x16 vs. 1x9 – are you talking about twist rate?

I would guess so, yes, it would detect and show the BC difference. The problem, as you said, is the limited measurement distance – in the case of .22 cal, valid data goes (with my EU-castrated box) to 50-60m, not much further. For long fast projectiles that is still the distance where the bullet did not reach the yaw of repose, so the BC calculated from Labradar tracks on this segment may be higher than the optimal/average BC on a typical trajectory.

I have seen that with short barrels: a mil-spec Stgw 90 (~20" barrel) vs. a SIG SG553-LB (~14" barrel) – same rifling twist (1:10"), same projectile (64gr army ordnance GP90), and essentially the same rifle, except for the barrel length.

I am guessing, with the shorter barrel, the projectile is less stabilised at the barrel exit, and the initial yaw amplitude is greater. As the result, the BC measured with Labradar+Labrabaco in the short barrel on the first 50-60m of trajectory is 4-5% lower. This said, the projectile is well stabilised, supersonic accuracy is comparable, and at a longer distance the reference BC seems to fit the shorty just fine (for what it’s worth up to 700-750 m).

A similar picture is observed with a full-size AK74 in 5.45 and its mean little brother, the AKS-74U. The BC difference is, however, less drastic (within 3%), I guess because the AKS-74U rifling twist is shorter (1:6.3" vs. 1:7.9" of the full-size AK74), precisely to stabilise the projectile at a lower muzzle velocity.

This said (getting back to your question), I have never tested the software with .22 LR, and you are giving me an idea here. I do have a Ruger Precision Rimfire (18" barrel, 1:16" twist) and a Tikka t1x (20" barrel, 1:9" twist), exactly your situation, I understand. Theoretically, both twist rates should be largely sufficient to stabilise the short lead projectile, but practically…

If the radar picks something up in our obstructed 50m range (bullet shields and noise deflectors everywhere), I’ll try to see what measurements difference (if any) it makes with the same ammo. And I need data for the GL standard model anyway.

If I manage to get the box to measure, I’ll post the results here.

re: mechanics of the BC calculations – the idea is quite straightforward (as with math or sex, in theory – it is simple). The second part, the "tail" of the graph, after the bend, is just noise. The radar honestly tries to pick up stuff, but with a power 4 factor of the distance, after a while it can’t do much, if we want to stay within the civil unlicensed emission levels, so beyond a certain distance it just picks up junk. Or maybe it is the projectile going out of the beam that produces this effect, I can’t tell with certainty, as there is a software layer I don’t have access to, and I don’t have the interest to hack. Bottom line is: the "tail" does not correspond to any physical ballistic reality. Once this junk tail is detected and rejected, I simply approximate the valid data points using a polynomial weighted by signal-to-noise ratio reported by the radar for each data point. This gives me a curve, which is the best fit for the measurements data. Then I use this best-fit curve to determine velocity at the beginning of the measurements and at the end of the measurements. Then I run a full-fledged 3DOF ballistic solver engine in reverse iteratively, to obtain the BC which corresponds to the velocity decrease over the given time of flight.
 
Last edited: