Bad news: I can't solve this analytically.... I don't know where to "lock" the exponential part in the shallow glide slope, so there are more variables than equations = kaput. :shrug:
Good news: I just solved this
interactively iteratively!
Basically I created a matlab script to run a range of R (radius of the circle), and for each of them the X_EXP (start of exponential) was moved about so the HDOT difference between the circle part and the exponential part decreased (both the H and HDOT must match). I picked the smaller R, which gives the most time in the shallow glide slope, but also give the highest Gs during the pull up.
Compared with the diagram above, the difference isn't that big (I'm sure there is some rounding in it), and the circle and the exponential match with sub-millimeter precision:
X_EXP: -4741.81
H_DECAY: 29.7
R: 28799.6
H_K: 28930.56
X_K: -3060.93
Now, apparently there is a 5s minimum time requirement in the shallow glide slope, which is refined as pitch rate < 0.5º/s. There is also a parameter (sigma) that controls the rate of decay of the exponential, thus how fast you converge to the shallow glide slope. These things are of interest because (at least) with the 20º steep glide slope and 6500ft aim point, we totally mess up the shallow glide slope and land WAY too fast. :facepalm: Most of the blame is on the FCS, as we end up ~50ft lower at the end of the flare (which is about 1/3 of the current altitude), but I think that sigma needs some adjustment (at least in this case), so we converge faster to the shallow glide slope and hopefully correct (part of) the altitude error.
EDIT: I just noticed I wrote interactively instead of iteratively :rofl: Too much work, too little sleep. :uhh: