# Full Circle: Back to Linear

When we first started what would become the Gen 2 project, we based it on the work started by Dr. Dave Rogers detailed in DOT/FAA/TC-18/7 “Low Cost Accurate Angle of Attack System” (available on our technical resources page). Dr. Rogers and team were motivated by the FAA prohibition against tapping into the primary aircraft static system for an auxiliary AOA display in certified airplanes; and his key insight was that the coefficient of pressure derived from Pfwd/P45 (for the Alpha Systems probe) compared to absolute angle of attack resulted in a linear correlation.

We were supposed to start where Dr. Rogers et al left off, but immediately ran into trouble with the Dynon pitot/AOA probe, since the P45 value ranged from negative to positive, and thus, there were some conditions where P45 approaches or equals zero; and even the Greeks couldn’t divide by zero. That resulted in in our first big insight—each of these probes may behave differently. That insight has borne out in practice. I suspect any undergrad engineering student would have seen that coming, but not the stick monkey. After some head scratching, we were able to work around the dreaded DIVIDE BY ZERO! error by developing an alternate algorithm to calculate coefficient of pressure: Pfwd/(Pfwd-P45). That got us past zero in the denominator (for a while at least).

Our next "hmmmm, isn't that interesting?" moment occurred when we realized that we weren’t going to be able to fit a line to our data points as Dr Rogers did in the FAA/ERAU study, but a polynomial curve would work. Specifically, a second order polynomial, which (as I mentioned in the last blog) is expressed y = x^2 + b and results in a parabola when you graph it. That technique served us just fine until we started to look at post-stall alpha to develop recovery cues. As a matter of fact, the “polynomial curve” will work just fine in the normal flight envelope up through stall angle of attack at normal G onset rates (i.e., how fast the pilot moves the flight controls); but we found a better way to do it at high alpha. Enter the “log fit” curve.

Lest it sound like I’m expert in regression analysis, I’m not; but fortunately Excel is pretty good at it, and MATLAB is even better. When we first started looking at high alpha data in MATLAB (usually generated with a spin or some other departure from controlled flight), it became apparent, there was a better option for developing an aircraft curve, using a log fit. This resulted in an R^2 value as high as the previous "poly curve" technique but seemed to accommodate much higher angle of attack (up to about 40 degrees). So, we modified the Wi-Fi interface to allow selection of a log curve to replace the previous poly curves. Developing log curves was simply an Excel drill—we replotted the existing data using a log curve fit.

We considered this a low risk mod to the logic, and last week I started to test it. My first sortie was a bust after I failed to properly select the “logarithmic” option in the Wi-Fi configuration menu for the Flaps 20 and Flaps 40 curves…so, a fat-finger mistake cost us a few days of consternation after all of Lenny's hard work modifying the interface to accommodate the new curve logic. This is pretty standard for yours truly, and why my work is valuable for the rest of the team: if anybody can find a way to screw it up, I can. I actually studied that as an under-grad and it's why I’m still an excellent Blue 4 (least experienced lieutenant in the formation) simulator to this day.

After re-baselining the software and settings, I was able to correctly dial in the set points for the new log curves on 6 April 20. If you are interested in the checklist I use to get the mighty RV-4 ready for a test hop, you can see it __here__. We developed what I call a “reverse look-up set point calculator” that estimates set points based on aircraft curves and previous settings; so, when I took off, I knew it was simply a matter of tweaking the curves. After an hour or so of tweaking, we had a fully operational system based on log curves. Cool.

The next step was to generate some high alpha data to see how well the log solution worked. This is the more fun part of the flying, and if you want to see what this looks like and have run out of other things to do or found the end of the internet, you can watch some of it here: __https://youtu.be/P1RwFLH1riM__.

The nifty thing about MATLAB is that it can use the data to generate multiple curves simultaneously, so it’s easy to do a direct comparison. When we (Lenny, actually) did that, something interesting happened. At very high (admittedly well outside the envelope) angles of attack, even the log solution was challenged by dividing by zero due the relative pressures encountered by the Dynon probe in the RV-4 test bed. This is shown by the red line in Figure 1, where the log curve flattens and then disappears for a bit in the middle of the plot:

The yellow line in Figure 1 is the raw boom alpha angle, otherwise known as “ground truth” so you can see the log solution mostly captured what was occurring, but started to get confused at about 45 deg alpha. Now even I don’t spend a lot of my life up at ludicrous AOA (although I did have a commander that once pointed out to me they haven’t built an airplane yet that I can’t figure out how to depart from controlled flight); but Lenny is a perfectionist. By the way, if you're curious why the boom alpha doesn't match the V3 computed AOA, the boom measures "raw" alpha. This is then corrected for upwash error and incidence, although that's not applied to the line in this chart. Once corrected, the boom provides geometric alpha. In the RV-4 testbed, the Gen 2 V3 computes absolute alpha, and if you've been following along, you'll recall that the difference between geometric and absolute AOA for a cambered airfoil is the zero lift angle of attack, which is about -1.3 degrees for the RV-4. In the case of Figure 1, we are using the raw boom alpha angle as trend information. The boom is rated up to 40 degrees alpha and beta, but anecdotally, we've seen adequate performance up to 50 degrees or so.

The "hmmm, isn't that interesting?" reaction generated by the red line in Figure 1 lead to more head scratching. Generally, when Lenny scratches his head, there's a positive outcome if you throw enough espresso at him. Solution: make the denominator bigger so zero and those really little numbers close to zero go away. Tweak the basic coefficient of pressure calculation just a bit to Pfwd/(2 x Pfwd – P45). And. Then. Something. Really. Cool. Happened.

First, you get the blue line in Figure 1—a pretty darn tight AOA solution up in Cobra Maneuver country. Score. But, even more importantly, if you calculate the coefficient of pressure this way and plot it against angle of attack (or pitch in stable, level, unaccelerated flight), it results in a linear fit. A simple straight line (or y = mx + b for math majors). That was Dr. Rogers initial insight we've been trying to replicate for the past 20 months or so. What is even better is this works for *any* probe we’ve tested so far (Alpha Systems, Dynon and Garmin), regardless if we calibrated using physics or the pitch as surrogate for alpha method. Thus, * we have what appears to be a universal technique for deriving an accurate coefficient of pressure solution for angle of attack using any differential pressure sensor that extends into the air flow below the wing aft of about 25% chord.* We haven’t yet experimented with AFS-style wing skin ports, so it remains to be seen whether this technique can be applied to that configuration as well.

The next three figures are this coefficient of pressure calculation technique applied to existing data we have from our previous experiments. The high R^2 value (i.e., the quality of the fit of the line to the data) merited a loud “ding, ding, ding” (and a beer) when I plotted these charts up. I reran all of our existing data, and these figures are just a cross section of examples, one of each type of sensors we’ve tested so far:

Our motivation to accurately calculate alpha and beta in the extreme is to improve the overall quality of the AOA solution by correcting for beta-induced alpha error and to be able to develop cues to help the pilot recover if they transgress, but those are topics for future blogs. For now, in fighter pilot terms, our latest discovery is totally shit hot. More experimenting required, but it’s times like this that make all of the hard work worth it and keeps it fun!