• 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!

a geek’s delight: reverse engineer a distance-velocity table to Cd/Mach curve

ptosis

Maniacal nitpick
Full Member
Minuteman
Jun 9, 2014
223
187
Switzerland
To start with: for a regular shooter what follows is perfectly useless. You have been warned.

Who may be interested then? – People who write their own ballistic calculators, or people who want to have an idea of how a particular bullet, according to manufacturer’s data, behaves in transonic.

It’s a Web application: https://bc.geladen.ch/getcdmach/getcdmach.html
Free, libre, and open source, as usual.
EDIT: it all runs in your browser, there are no server-side components, F12 reveals the full source. For those who care, the full archive of the latest code release is here: https://bc.geladen.ch/source/getcdmach-latest.zip

It takes the distance/velocity table in alt. 0 standard international atmosphere conditions as input, and produces a custom Cd/Mach curve corresponding to the projectile, along the lines of what the magnificent Lapua publish.

With this Cd/Mach curve it becomes possible to calculate trajectory in any atmosphere, and see how the bullet’s drag behaves in transonic region (if, of course, the source velocity data is available for this segment).

I have put it together for two reasons:

1. I got hold of a fairly large batch of RUAG .338LM Swiss P Ball 251gr ammo for a very good price. The ammo is great, practical short-range precision from a Sako TRG42 stays within 0.8 MOA average. But there is a problem: whatever BC data RUAG publishes is complete rubbish. Total garbage. Nothing to do with reality. Not even close.

I could, however, get hold of distance/velocity table (standard atmo conditions) from RUAG, presumably coming from Doppler radar measurements, and going all the way down to 1600m, which is not only enough to calculate the BC, but is particularly interesting for trans- and subsonic ranges, where standard models no longer work so well.

2. Our local Lapua dealer is out of 6.5 139gr Scenars, which is my go-to bullet for 6.5 CM (totally unsurprising, amazingly regular stuff, with perfectly predictable ballistics). After 6 month on pre-order, I started looking for alternatives. One alternative was Hornady. But there is a problem. Two problems.
2.1. From my experience, they can get rather "creative" with their BC values, especially for flagship long-range bullets.
2.2. Even though they measure their stuff with a Doppler radar, they do not publish the Cd curves – it’s all hidden in their "4DOF" calculator. WTF? Why would I need to use a separate proprietary ballistic setup for one specific bullet manufacturer? Why compilation of range cards for new ammo suddenly becomes a pain? And – last, but not least – WTF I need to "register" if I want to have reliable ballistic data for a product I have paid for? (With all this rant of mine, they are still doing much better than RUAG in this respect.)

Yet, the Hornady "4DOF" calculator’s results appear to be pretty accurate, without too much conflict with reality, and that was the last straw – I decided to invest a rainy day’s time into coding subj.

What the app does:

It calculates, by iteratively running a ballistic engine, the average drag over a segment with known start and end speeds, and produces a table of drag coefficients. Then the results are interpolated using least squares 2nd order polynomial regression over the neighbouring points, to even out rounding errors, and the final Cd/Mach table is established, ready to be visualised or integrated into a ballistic calculator.

Caution: don’t try to get too granular. A trajectory table with 50m/50yd step is perfectly enough. 100m is a bit too coarse, but works too. Don’t get lower than 25-30, since, especially at lower speeds, rounding errors result in drag underestimation.

For this same reason of rounding errors, below Mach 0.825-0.800, the drag is underestimated by 2-5%, but the resulting effect on the drop stays negligible. Below Mach 0.6-0.7or so, the values diverge, the resulting table gets totally wrong, and one should not trust the results (this said, I’d love to to speak to the person who has successfully shot through transonic down to Mach 0.6)

An illustrative example: using the app I reverse-engineered the velocity table produced by Hornady’s "4DOF" calculator for the Hornady 6.5mm ELD-M 147gr bullet, and integrated the resulting Cd/Mach curve into my calculator (https://bc.geladen.ch/plan33/plan33.html – caution: not for the metric-impared).

As the result, the outputs of plan33 and Hornady’s "4DOF", with 820 m/s muzzle velocity, all the way down to 2000m (roughly 2.2Kyd) concord to 2 m/s residual velocity, and 0.01 mrad (1/10th of a click) drop.

Incidentally, I also learned that this specific projectile is perhaps not the best fit for trans- and subsonic distances, due to a particularly prominent spike of drag around the wall of sound.

Now I know how RUAG .338 Swiss P Ball flies in transonic, now I can use Hornady bullets without bothering with their proprietary calculators. If anyone has a similar itch to scratch – you’re welcome.

Also, I feel like I must say that: Hornady, if you read me, not publishing drag curves when you have them is stupid, and now – useless.

The next step would be to find out what exactly Hornady do to the Cd curves with their "axial form factor" truing adjustments (which, contrary to muzzle velocity "truing", actually does work).

Rejoice, geek brothers, fun is ahead.
 
Last edited:
  • Like
Reactions: slowworm
@ptosis I appreciate your efforts . If you input variables of humidity, temperature, and pressure (density options such as ICAO and ASM) into this program and determine the muzzle velocity, bullet drop(To determine the instantaneous velocity of the projectile at the firing distance.) and target distance, it is possible to obtain the Mach cd graph with live firing.
 
@ptosis I appreciate your efforts . If you input variables of humidity, temperature, and pressure (density options such as ICAO and ASM) into this program and determine the muzzle velocity, bullet drop(To determine the instantaneous velocity of the projectile at the firing distance.) and target distance, it is possible to obtain the Mach cd graph with live firing.
I thought about this. The short answer is: probably possible, but extremely difficult, prone to errors, and hardly affordable for an average enthusiast shooter.

The problem is to determine the mean point of impact with sufficient precision at longer distances. You’d have to put very large targets at very long distances to register each impact to calculate the true average POI. You would typically need at least 20 shots for a decent confidence interval (at each distance), so we are talking at least a couple of hundred shots, if all goes well, and probably twice that much – just to be sure. You would need to track weather conditions with maniacal precision, and keep tracking them (for every trigger pull) while you shoot the hundreds of shots. Additionally (here come the problems of my typical shooting environment), in the mountains you need to keep track of vertical wind components (which you can typically ignore for shooting, but probably not for ballistic studies), and line-of-sight angles.

I have heard and read (also here at SH) many people trying, but very, very few have really succeeded (it takes a lot of time, a lot of shots, a lot of bookkeeping, and a lot of understanding of ballistics to state something like "around Mach 0.9 I should be adding 4 clicks to the calculated tables"). Worse: attempts to determine BC using drop data are perhaps the biggest source of myths and confusing legends about exterior ballistics.

In absence of a Doppler radar, an option could be to measure time of flight. I understand that is what Litz used to do for his "custom curves" before he got hold of a Doppler, and that is what the Soviet army did in the 1970s to track ballistic performance of small arms projectiles. But then again – it’s not really an enthusiast shooter setup neither, but more of a lab-style equipment.

To my deep personal regret, as far as trans- and subsonic performance is concerned, I do not really see any viable alternatives to Doppler radar measures (and they aren’t exactly affordable or accessible).
 
I agree with your statements. Undoubtedly, no method will be as accurate as the measurements of Doppler radar. However, we cannot help but delve into the depths, for we are serious marksmen. Hence, the calibration of the Applied Ballistic program's DSF can serve as an excellent starting point. This solution often proves effective for me. In another scenario, I can determine three distinct ballistic coefficient profiles, exemplifying their usage as follows: 0-800 meters with a G7 BC of .375, 800-1300 meters with a G7 BC of .370, and 1300-1700 meters with a G7 BC of .362. I believe you should ponder upon this matter. It is a necessity for us.
 
I agree with your statements. Undoubtedly, no method will be as accurate as the measurements of Doppler radar. However, we cannot help but delve into the depths, for we are serious marksmen. Hence, the calibration of the Applied Ballistic program's DSF can serve as an excellent starting point. This solution often proves effective for me. In another scenario, I can determine three distinct ballistic coefficient profiles, exemplifying their usage as follows: 0-800 meters with a G7 BC of .375, 800-1300 meters with a G7 BC of .370, and 1300-1700 meters with a G7 BC of .362. I believe you should ponder upon this matter. It is a necessity for us.
It’s all compromise.

1. how much of a problem this is for me, personally?
or, put in other words, how much of an error do I get over my typical shooting distances if I do nothing (and just rely on the vendor-supplied BC(s)?
vs.
2. how much of an effort it would take me to fix the problem?

In most cases the answer is just "don’t bother and shoot Lapua" (no affiliation whatsoever). Now, I hope, I can add "Hornady" and "RUAG" (both are yet to be checked).

What exactly is the problem that you are trying to fix?
 
Last edited:
You guys are a bit above my head here, but here goes. With the recent availability of a portable Doppler radar, the Xero C1, taking velocity measurements at a distance, is now realistic for the average shooter.

Let's say you mount a Xero C1 behind a steel plate and shoot just over the plate, say just before the transonic distance. You'd then have the exact velocity instead of inferring it from the drop. Wouldn't that improve the ballistic solution? I use AB, and it doesn't have (or I can't find) any accommodation to enter velocity at a distance. Does anyone know of a solver that does?
 
You guys are a bit above my head here, but here goes. With the recent availability of a portable Doppler radar, the Xero C1, taking velocity measurements at a distance, is now realistic for the average shooter.

Let's say you mount a Xero C1 behind a steel plate and shoot just over the plate, say just before the transonic distance. You'd then have the exact velocity instead of inferring it from the drop. Wouldn't that improve the ballistic solution? I use AB, and it doesn't have (or I can't find) any accommodation to enter velocity at a distance. Does anyone know of a solver that does?
Strelok Pro and JBM both have the ability to calculate BC from two velocities.

I'm curious if the Garmin Xero will actually pick a shot up when placed down range.
 
  • Like
Reactions: tna9001
Strelok Pro and JBM both have the ability to calculate BC from two velocities.

I'm curious if the Garmin Xero will actually pick a shot up when placed down range.
I called Garmin and asked if it would work like that, and the guy said he didn't know why it wouldn't so long as the bullet path passes through the 15"X15" window at a consistent position within the window.
 
I called Garmin and asked if it would work like that, and the guy said he didn't know why it wouldn't so long as the bullet path passes through the 15"X15" window at a consistent position within the window.
And what about the signal strength? If the C1 can pick up readings no farther than 100 or even 200 yards then it's basically useless for real BC work. Same goes for the LabRadar. Picking up a small projectile is very hard even to most professional Doppler radars, just check Hornady or AB tests and rarely they can go beyond 1200 or 1300 yards.
 
And what about the signal strength? If the C1 can pick up readings no farther than 100 or even 200 yards then it's basically useless for real BC work. Same goes for the LabRadar. Picking up a small projectile is very hard even to most professional Doppler radars, just check Hornady or AB tests and rarely they can go beyond 1200 or 1300 yards.
The idea is to place a 2nd unit downrange near the target and hoping it triggers. It certainly would be an enthusiast affordable method if it worked.
An Oehler '89 is probably the most affordable thing designed for this and is still out of reach price wise for most people.
 
  • Like
Reactions: LastShot300
Someone in the Xero thread tried it and it worked, start here:

 
  • Like
Reactions: LastShot300
.

In absence of a Doppler radar, an option could be to measure time of flight. I understand that is what Litz used to do for his "custom curves" before he got hold of a Doppler, and that is what the Soviet army did in the 1970s to track ballistic performance of small arms projectiles. But then again – it’s not really an enthusiast shooter setup neither, but more of a lab-style equipment.

To my deep personal regret, as far as trans- and subsonic performance is concerned, I do not really see any viable alternatives to Doppler radar measures (and they aren’t exactly affordable or accessible).
As matter of fact the Cold War era Soviets were much more clever than you think.
They knew how to use and adjust method of 2 and 3 chronographs in their tests. Then charged the cartridges with less and less powder and repeat measurements. I think they also changed in that process few barrels each having different twist rate. This way they "simulated" flight of the projectiles from supersonic, to transonic, and deep into sonic part on the relaively short range. This method was very good, but horizontal drift wasn't completely there. The method worked very good as long as the bullet was dynamically stable in flight. But it was hard to predict subsonic instabilities. That can be detected by Doppler radar long range test. Here is an interesting Lapua brochure illustrating Cd vs Mach curve obtained from Radar tests:
https://www.lapua.com/wp-content/uploads/2019/03/QTU-Lapua-Edition-brochure.pdf
This is obviously Cd graph for some BT bullet, and when you see such abrupt rise of Cd below Mach=0.7 it's strong indication of bullet instability. IOW, prediction of flight after that can go out of window-bullet becomes useless. The brochure doesn't mention this, but I find appropriate to point this to you. It's important not just to have radar, but to know how to interpret data.
 
Last edited:
  • Like
Reactions: LastShot300
Also, I would like to turn your attention to this:

https://bergerbullets.com/nobsbc/custom-drag-models-for-extreme-long-range/

Take a closer look at Cd vs Mach number curve for .375 cal 407 grainer.
It goes down to 0.5 Mach. I'm very curios to know if that fantastic custom drag curve for subsonic region was determined from actual firing with MV>2800 ft/s or not. One should be warned that for something like that 5000 yards+ Doppler radar capability and 400 MOA + bore elevation are required :)
 
  • Like
Reactions: LastShot300
As matter of fact the Cold War era Soviets were much more clever than you think.
They knew how to use and adjust method of 2 and 3 chronographs in their tests. Then charged the cartridges with less and less powder and repeat measurements. I think they also changed in that process few barrels each having different twist rate. This way they "simulated" flight of the projectiles from supersonic, to transonic, and deep into sonic part on the relaively short range. This method was very good, but horizontal drift wasn't completely there. The method worked very good as long as the bullet was dynamically stable in flight. But it was hard to predict subsonic instabilities. That can be detected by Doppler radar long range test. Here is an interesting Lapua brochure illustrating Cd vs Mach curve obtained from Radar tests:
https://www.lapua.com/wp-content/uploads/2019/03/QTU-Lapua-Edition-brochure.pdf
This is obviously Cd graph for some BT bullet, and when you see such abrupt rise of Cd below Mach=0.7 it's strong indication of bullet instability. IOW, prediction of flight after that can go out of window-bullet becomes useless. The brochure doesn't mention this, but I find appropriate to point this to you. It's important not just to have radar, but to know how to interpret data.
Yep, they (the Soviets) did so for bullet development, but the military trials were even more elegant. From what I've read, they were using time of flight as the base measure, which is much simpler to put in place at long range than velocity measurement -- just need to detect the shot, the bullet passage downrange, and know the equipment latency. Litz was doing something very similar in his pre-radar days for "custom curves" (and I suspect still does it, as I am not sure his radar can track far enough for certain calibres -- but I'd rather not speculate).

For bullet stability, the Soviets also did simple and low-tech: shooting in a reasonable cross-wind into transsonic on huge cardboard targets, and watching the shape of the holes. That's how the AK74 ended up with 200 mm twist rate (early prototypes had it slightly longer).

One interesting thing that Dvorianinov, one of the lead post-war USSR cartridge designers, mentions in his memoirs is the way they used to estimate spin drift: in an open field, putting two big targets on both ends of a long shooting lane, and getting two guys to shoot in opposite directions at the same time (I definitely wouldn't want to be one of those guys). The difference of horizontal MPI shift between the two targets (divided by 2) gave the spin drift.

There's plenty of stuff that can potentially be done with relatively low-tech methods. Thing is, most of this stuff for most modern bullets has already been done by somebody else with much more serious methods and equipment. So it ultimately boils down to fun vs. time investment, which (for me) most of the time is not worth it.
 
Also, I would like to turn your attention to this:

https://bergerbullets.com/nobsbc/custom-drag-models-for-extreme-long-range/

Take a closer look at Cd vs Mach number curve for .375 cal 407 grainer.
It goes down to 0.5 Mach. I'm very curios to know if that fantastic custom drag curve for subsonic region was determined from actual firing with MV>2800 ft/s or not. One should be warned that for something like that 5000 yards+ Doppler radar capability and 400 MOA + bore elevation are required :)
Time-of-flight based measurements? (Don't know, just guessing)
 
Litz was doing something very similar in his pre-radar days for "custom curves" (and I suspect still does it, as I am not sure his radar can track far enough for certain calibres -- but I'd rather not speculate).

No. We have multiple radar systems and can track beyond 2000 yards. In many cases the data only ends because the bullets impacted the ground.

Also an easier way to estimate spin drift is by simply having matching left and right twist barrels and just measuring both bullets in flight. No need to shoot at each other.
 
No. We have multiple radar systems and can track beyond 2000 yards. In many cases the data only ends because the bullets impacted the ground.

Also an easier way to estimate spin drift is by simply having matching left and right twist barrels and just measuring both bullets in flight. No need to shoot at each other.

Re: 2000+ yards -- this is über-cool!

This said, if it is not a trade secret, how would you go about, for example, Mach 0.5 for a .375 CT? Multiple radars covering subsequent overlapping trajectory segments? Extrapolation using similar shaped (but smaller calibre) projectiles? Shooting at slower speeds with tighter twists? Other?
I would be very grateful for any info (but I would, of course, also understand if you don't want to disclose it publicly).

re: easier way -- absolutely true, it would have been easier, in theory. My guess is that in practice, within the constraints of Soviet bureaucracy back in the days (if my memory is good, Dvorianinov was speaking about the development of the 7N14 high-accuracy armour-piercing bullet/cartridge, we're talking 1980s), it was easier to get some qualified shooters in such a not-so-secure setup, than getting an entirely different government agency to produce a custom barrel for an infantry rifle. I've read similar stuff about Swiss bureaucracy, and I suspect the US are not totally foreign to the phenomenon (although, no doubt, the possibilities of short-circuiting the government Leviathan are more open).
 
Last edited:
I cannot share much about what we are doing because it is a trade secret. However I can share, we can simply measure the rotation and spin of the bullet in flight now days. We can even measure the exit velocity using our launch cameras and see how much engraving the rifling's are causing. How deep, how clean etc. We know a lot more now than we did 5 years ago. That is for sure.