[sdiy] 90-degree phase displacement network calculations

David G Dixon dixon at mail.ubc.ca
Sun Jan 10 02:16:51 CET 2021


Hello Bernie,
 
No, it is not iterative.  It is closed form.  The step-wise procedure is an implementation of the Landen transformation to enable calculation of elliptic sine from circular sine.  That is all.  If Excel had a function call for elliptic sine, I would use that instead.  Once the elliptic sine is calculated the poles are obtained directly.  Once half the poles are obtained, then you just take the logarithms, set them negative, and take the antilogs to find the other half.
 
The reason for the steps is that you must transform the k and k' values using a simple formula until you obtain k = 0 and k' = 1.  At that point, sn = sin, so you can simply find the sines of the angles (2n-1)*(pi/2)/4N and take those as the elliptic sines.  Then, you go back up the chain of k and k' values, calculating the elliptic sines from those below (of which the first one, on the bottom of the table, is a circular sine).  When you get to the top of the table, you have an elliptic sine at the desired modulus.  This is then used to calculate the pole directly.
 
To make this more plain, here is a table showing the calculations in Excel.
 
    
 
	4N	 32	 1	 3	 5	 7	 9	 11	 13	 15	
i	 k	 k'	 sn(π/64)	 sn(3π/64)	 sn(5π/64)	 sn(7π/64)	 sn(9π/64)	 sn(11π/64)	 sn(13π/64)	 sn(15π/64)	
0	 —	 0.000100	 0.319549	 0.758823	 0.929639	 0.980794	 0.994857	 0.998630	 0.999635	 0.999903	
1	 0.999800	 0.019998	 0.164092	 0.459577	 0.679394	 0.820798	 0.903443	 0.949062	 0.973452	 0.986269	
2	 0.960788	 0.277283	 0.084258	 0.248264	 0.399666	 0.532763	 0.644823	 0.735785	 0.807437	 0.862536	
3	 0.565823	 0.824527	 0.053899	 0.160873	 0.265418	 0.366039	 0.461422	 0.550469	 0.632324	 0.706368	
4	 0.096175	 0.995364	 0.049181	 0.147064	 0.243512	 0.337584	 0.428367	 0.514981	 0.596592	 0.672415	
5	 0.002323	 0.999997	 0.049068	 0.146731	 0.242980	 0.336890	 0.427556	 0.514103	 0.595700	 0.671559	
6	 0.000001	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
7	 0.000000	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
8	 0.000000	 1.000000	 0.049068	 0.146730	 0.242980	 0.336890	 0.427555	 0.514103	 0.595699	 0.671559	
											
	omega	 sn	 0.319549	 0.758823	 0.929639	 0.980794	 0.994857	 0.998630	 0.999635	 0.999903	
	100.000000	 cn	 0.947570	 0.651297	 0.368472	 0.195047	 0.101294	 0.052333	 0.027000	 0.013925	
		pole	 296.533	 85.830	 39.636	 19.887	 10.182	 5.240	 2.701	 1.393	
	f	 log pole	 2.472074	 1.933639	 1.598090	 1.298561	 1.007822	 0.719369	 0.431521	 0.143830	
	628.318531	 −log pole	 -2.472074	 -1.933639	 -1.598090	 -1.298561	 -1.007822	 -0.719369	 -0.431521	 -0.143830	
		−pole	 0.003372	 0.011651	 0.025230	 0.050285	 0.098215	 0.190823	 0.370236	 0.718076	
		RC	 0.471948	 0.136603	 0.063083	 0.031651	 0.016205	 0.008340	 0.004299	 0.002216	
		 	 0.000005	 0.000019	 0.000040	 0.000080	 0.000156	 0.000304	 0.000589	 0.001143	
 
So, you see, there is no iteration.  You simply have to transform k' until it equals 1.  I have determined that this always occurs within 8 steps, as shown.  Here it actually occurred in 6 steps, and the calculated sn values were equal to the sine value until i = 4 to six decimal places.
 
The calculation for "p" is closed-form, but there is no more convenient way to calculate elliptic sines.
 
  _____  

From: Bernard Arthur Hutchins, Jr [mailto:bah13 at cornell.edu] 
Sent: Saturday, January 09, 2021 1:35 PM
To: synth-diy at synth-diy.org
Cc: David G Dixon
Subject: [sdiy] 90-degree phase displacement network calculations 


[CAUTION: Non-UBC Email] 

 

Thanks again David – 

I see. Your function is NOT closed form – it is iterative; self-terminating at 8 “for loops” – absolutely NOTHING wrong with that.   

In equiripple designs we have the powerful “alternation theorem” to tell us WHEN we have “found” an acceptable ER solution (at least - close enough).  At the same time, the mathematicians assure us (prove!) that we will never find closed form!  (Don’t you hate it when you are shown that they are right?) 

What happens (if you know) if you terminate after just a couple of iterations?  That is: How does convergence progress? 

-Bernie 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/efdc49bd/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LandenTrans.png
Type: image/png
Size: 10804 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/efdc49bd/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PoleCalc.png
Type: image/png
Size: 10124 bytes
Desc: not available
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20210109/efdc49bd/attachment-0001.png>


More information about the Synth-diy mailing list