Analog Filter Prototype to Direct Form Second Order Cascade I've been using the Faust programming language a lot lately for experimenting with DSP, and I've been digging into their implementation of an Elliptic (Cauer) Lowpass filter. Here's an example of such a filter with order three.

If you're unfamiliar with Faust, hopefully the example there is still fairly clear: they've designed a 3rd order Cauer filter with the properties listed in the comments and have implemented it as a second order direct form filter feeding into a first order direct form filter with the coefficients as listed.

I understand the analog prototype they've designed with [z,p,g] = ncauer(Rp,Rs,3); in Matlab/Octave, and I think I have a good understanding of how to factor the transfer function into cascaded first- and second-order filters. What I don't understand is their use of poly in Octave to find the coefficients there, and why the frequency of this elliptic filter is only governed by the last coefficient in the final first order filter? Intuitively it seems like so many more of those coefficients should depend on the frequency of the filter, especially if we have to consider multiple sample rates. Did they skip some steps here or make some assumptions that I'm missing? Any explanation to my confusion here would be greatly appreciated, thank you!

Update: I find it interesting that in Matlab/Octave I can compute [z,p,g] = ncauer(0.2,60,3); sos=zp2sos(z, p, g), deriving coefficients for second order sections without ever specifying the cutoff frequency. Maybe that's where I'm most confused?
The coefficients in the function lowpass3() are the numerator and denominator coefficients of the two sections (first and second order) of the normalized continuous-time transfer function. The continuous-time transfer function looks like this:

$$H(s)=\frac{b_{21}s^2+b_{11}s+b_{01}}{s^2+a_{11}s+a_{01}}\cdot\frac{1}{s+a_{02}}\tag{1}$$

Note that this normalized filter has  a cut-off frequency of $1$. The two functions tf2s and tf1s transform these two sections to the discrete-time domain using the bilinear transform, whereby the normalized cut-off frequency of the continuous-time filter is mapped to the desired cut-off frequency in the discrete-time domain. So whereas the coefficients in $(1)$ are independent of the cut-off frequency (because the filter is normalized), the coefficients of both final filter sections in the discrete-time domain do depend on the cut-off frequency.

Your example of using ncauer followed by zp2sos will not give you the coefficients of the discrete-time filter with the desired cut-off frequency. Instead, you just the compute the coefficients of the first and second order sections of the normalized continuous-time low pass filter, i.e., the coefficients hard-coded in lowpass3(). What you miss in that case is the transformation step from continuous-time to discrete-time, and the mapping of the normalized cut-off frequency to the desired cut-off frequency.