WinPhase - A Minimum-Phase Generator

4 Jul 2023 - Version 1.001 Released

No functional changes. Corrected the text for the Import Delay button from msec to μsec.

26 Jun 2023 - Version 1.000 Released

WinPhase is a Windows application that generates the minimum-phase response of a loudspeaker driver. It is required for accurately modeling drivers for use in design software that can then predict the off-axis response of a loudspeaker system based on multiple drivers such as the Windows Passive Crossover Designer (WinPCD) or Jeff Bagby's Passive Crossover Designer (PCD) spreadsheet. The detailed instructions are on this page below the screen capture carousel. The program Help file is also available from within the app.


The file can be imported either by using the "Import" button to find a file or by drag-n-drop of a file onto the graph. The graph will be updated with the measured SPL and phase. Note that it will show as zero-based. The data is adjusted to the peak level within the file, making this the zero (peak) level. This peak magnitude is maintained so that the export will have the SPL magnitude unchanged from the imported file.

The next steps do not have to be in any order, but they will described below in a typical order. The desired result is a nearly identical match between measured phase and calculated phase up to and, if possible, including the breakup. The matching process is used to ensure that the calculated phase is as close to the true minimum-phase as possible.

The measured phase may have a significant amount of excess-phase depending on the source. The measured phase can be rotated using the "Import Delay" scroller until it roughly matches the initial "fast" phase. The mid-band is the area on which to focus at this point.

The measurement can then be manipulated with the other controls. Each change with any of the highpass/lowpass controls will end with a new "fast" phase calculation. The next step should probably be to adjust the Fc "splice" of highpass and/or lowpass. The interpolation onto the internal data range can result in the last data point being zero so that when the initial extension is automatically added that point may be at O magnitude, causing a "jump" in the response. This is because the internal data is initially all 0, file data is mapped onto it and will likely not extend to match the full internal range. Moving the Fc splice point up (highpass) or down (lowpass) will eliminate this.

The slopes should be adjusted next. Default values are 12db highpass (typical closed box) and -30db lowpass. The lowpass will likely vary significantly since it will be due to the vaguaries of the driver breakup in most cases. The first guess will likely need to change as the file is manipulated for the calculated phase to approximate the measured phase.

At this point the previous steps may need to be iterated until a close match is made to the measured phase as broadly as possible. The lowpass for a tweeter won't be as problematic as may appear because the phase in the crossover area is most imported. Any breakup area mismatch is not consequential. However, the lowpass of other drivers can be very important since they may be in or near a crossover Fc.

Once you are satisfied with the match of the "fast" calculated phase to the measured phase, generate the "Precise Phase". The change may be small, but it will provide the most accurate phase data.

The last step is to export the file. There are several options for export. They provide a range of export data. Two options match the file data from listed applications while the third allows the user to select the range and data density. The custom export window is tied only to the Custom option.

Top of the Page