.
 Don Lancaster's Guru's Lair
FastSol Magic
Sinewave Calculator
 
Version VII - to 23 pulses per quadrant
This interactive demo lets you find values and explore numerical  
tolerances on 23 or fewer pulses per quadrant Magic Sinewaves of
different types. It uses new techniques that are considerably faster
and more powerful than any of the earlier calculators.

Click here for the latest Magic Sinewave Info .
Click here for a Magic Sinewave Summary.
Click here fo a Delta Friendly Magic Sinewave Summary.
Click here for Tutorials and further Magsin support.
Click here fo a Magic Sinewave Executive Summary.

You can click here to email the developer.
You can click here for minor Design assistance.
You can click here for major Development assistance.

To find a magic sinewave:

FIRST, use the scrolling menu to select the type of Magic
Sinewave desired.

By AMPLITUDE: Enter the desired amplitude from 0.00 to 1.00
into the Target Amplitude box. Then click on Set Amplitude. A
good guess for a magic sinewave solution should appear. Next
click on Improve to do the actual magic sinewave optimization.
Several clicks may be required for extreme accuracy.

By POWER: Enter the desired power from 0.00 to 1.00
into the Target Power box. Then click on Set Amplitude.
A good guess for a magic sinewave solution should appear. Next
click on Improve to do the actual magic sinewave optimization.
Several passes may be required for extreme accuracy.

Amplitudes near 1.0 for very large n may not converge.
Instead, "sneak up" on the problem by using Improve
from a nearby lower working value rather than reinitializing
and reguessing with Set Amplitude.

The InstaCalc buttom combines amplitude or power settings
with six iterations of improvement.

To analyze a possible magic sinewave:

By ANGLES: Enter or alter the desired start and ending angles
for each pulse in their respective boxes. Then click on Set
Angles
. An analysis of the funamental amplitude and power
will appear, along with the harmonic strength of the first
177 harmonics. Angles are limited to the first quadrant and
must not overlap. The start angle must always be less than
the stop angle as well.

To quantize a Magic Sinewave:

Optimize the magic sinewave. Then enter the number of clock
bits per quadrant in its data box. Then click on QUANTIZE.

The distortions should degrade slightly, showing the limitations
of real world sampling. The amplitude will usually shift slightly
as well during quantiation. Sometimes intentionally introduced
amplitude jitter can improve the distortion of rejected harmonics.

Exploratory steps of 1/10,000 amplitude may be appropriate. A
reasonable expectation might be one or two decibels of
rejected harmonic total distortion improvement.

Note that the default BPQ value of 10416 cycles per quadrant
can give a nearly 60 Hertz output from a 10 MHz PIC
microprocessor
. Note also that the default BPQ value should
usually be a multiple of three for three phase magic sinewaves.

To export angle or pulse data values:

Cut and paste from their respective Export areas. Present format
is in the PostScript language. This can be customized.

Click select your Magic Sinewave here:  

Set Amplitude Set Angles Improve Instacalc deBug
  Bits per Quadrant:  Quantize
Pulse Positions
in Degrees
                   Target Amplitude: 
                          Target Power: 
  p1s:      Fundamental Amplitude: 
  p1e:      THD     is    percent.
  p2s:     h03:   h91:   
  p2e:     h05:   h93:   
  p3s:     h07:   h95:   
  p3e:     h09:   h97:   
  p4s:     h11:   h99:   
  p4e:     h13:   h101: 
  p5s:     h15:   h103: 
  p5e:     h17:   h105: 
  p6s:     h19:   h107: 
  p6e:     h21:   h109: 
  p7s:     h23:   h111: 
  p7e:     h25:   h113: 
  p8s:     h27:   h115: 
  p8e:     h29:   h117: 
  p9s:     h31:   h119: 
  p9e:     h33:   h121: 
  p10s:   h35:   h123: 
  p10e:   h37:   h125: 
  p11s:   h39:   h127: 
  p11e:   h41:   h129: 
  p12s:   h43:   h131: 
  p12e:   h45:   h133: 
  p13s:   h47:   h135: 
  p13e:   h49:   h137: 
  p14s:   h51:   h139: 
  p14e:   h53:   h141: 
  p15s:   h55:   h143: 
  p15e:   h57:   h145: 
  p16s:   h59:   h147: 
  p16e:   h61:   h149: 
  p17s:   h63:   h151: 
  p17e:   h65:   h153: 
  p18s:   h67:   h155: 
  p18e:   h69:   h157: 
  p19s:   h71:   h159: 
  p19e:   h73:   h161: 
  p20s:   h75:   h163: 
  p20e:   h77:   h165: 
  p21s:   h79:   h167: 
  p21e:   h81:   h169: 
  p22s:   h83:   h171: 
  p22e:   h85:   h173: 
  p23s:   h87:   h175: 
  p23e:   h89:   h177: 

Exportable: Angle-Position Pairs ( scroll for all )

Exportable: Delay-Pulsewidth Pairs ( scroll for all )

Exportable: Quantized Delays ( scroll for all )

.

Debugging: Gauss-Jordan Input ( scroll for all )

Debugging: Gauss Reduction ( scroll for all )

Debugging: Full GJ Reduction ( scroll for all )