AO Changes 7.00 Gain can include mismatch loss for receiving antennas. Optimizer refurbished for better and faster convergence. Optimization of wire diameter facilitated. RMS weighting replaces L4 norm when optimizing peak F/B. Soft limits for good-enough thresholds for deeper optimization. Color PCX files. Removed: SET INVERT, BOUNCE, CONFIRM, TYPEMATIC, and 4° resolution. Bug fixed in matrix factor code. Bug fixed for multiple-source symbols. Bug fixed after a warning is displayed. Bug fixed for total-field phase data for OpenPF files. Matrix factor code optimized for Pentium (amateur version). Phase wrapped modulo 360° for easier interpretation. Esc allowed for Resolution, Thin, or Slice in 3D patterns. Current magnitudes can be displayed in two ways. C key incorporates current magnitude functions previously on M key. SWR reference frequency can be set in Frequencies menu. SWR computed for first source for antennas with multiple sources. Better handling of frequencies for analysis, editing, and optimizing. Antenna efficiency listed only for multiple sources of ohmic loss. Better handling of overlay plots. Better initial scaling of 3D patterns. Better filename visibility when saving a design. Options and settings saved automatically on exit. Edit added to optimizer screen menu. AO.SET used instead of SET commands. Double precision transcendental constants. Normal DOS cursor on exit. Minor font changes. 486 or better required. 7.01 Wire endpoints closer than one micron are considered connected. 7.02 Successive capital-P commands always yield new plot filenames. SWR listed when optimizing an antenna with multiple sources. SWR reference frequency initially 0. 7.03 PCX files never overwritten. Bug fixed in expression evaluator. Impedance of multiple sources paralleled for SWR calculation. 32-bit optimization model counter. 7.04 2D pattern resolution is 0.5° or 1°. Optimizer provides separate azimuth and elevation F/B resolutions. Optimizer elevation F/B resolution can be 0.1°, 0.2°, 0.5°, or integer. 7.05 Optimizer allows multiple sources at one frequency. 8.00 Global optimizer. Local optimizer uses downhill simplex method. Good-enough limit softness and F/B RMS/peak bias no longer required. Frequency weighting can be average or worst case. Shunt L or C load allowed at a voltage source. Some menu pointers that should have persisted now do. Done beep eliminated. 8.01 AO.SET provides factor for global optimizer deviations. Simplex generation altered and degeneracy avoided. 8.02 Resegment after manual or swept frequency change. 8.03 Standard deviations corrected for global optimizer random deviates. Random deviate factor moved from AO.SET to Tradeoffs menu. Symbols not listed can be optimized. Up to 50 symbols can be optimized. X aborts the current trial in global optimizer. Average or worst-case frequency weighting for individual tradeoffs. 8.04 Several optimizer bugs fixed. Progress bars eliminated to show 24 variables during optimization. Restarts include best point (local) or deviates only (global). Restart qualification threshold added. Expansion/contraction factors randomized to prevent limit cycles. Random number generator uses assembly language. Deviates offset then randomized. ABS allowed in expressions. Excess bent-wire correction removed. 8.05 Bugs in editor error-line number fixed. Multiple source impedances averaged (not paralleled) for SWR calculation. 8.06 Bug fixed in Tradeoffs menu that didn't permit nn.n° F/B El value. Stack space reduced to 2000 bytes. Batch mode removed. Antenna file can specify optimization frequencies. Random deviates no longer offset. Worst gain, F/B, or SWR frequency highlighted in optimizer display. Restart qualification threshold made a percentage. Local optimizer termination threshold can be set in AO.SET. Diameter optimization finally works. Optimizer display update and deltas changed. 8.07 Global optimization simplex always includes the best point. Symbols ending in lowercase p assumed to represent positions. Termination threshold moved from AO.SET to Tradeoffs menu. Optimizer display of symbol value and delta changed. Expressions can use the MIN or MAX operators. INT 15h delay replaced with timer wait. Random number seed generation changed. 8.50 Floating-point data alignment corrected. Faster matrix fill and VGA code. AO-Pro matrix factor code optimized for Pentium. Memory usage reduced, 225 pulses usually available. Analysis results can include F/R or F/B. Worst/average frequency weighting adjustable in Tradeoffs menu. Symbols ending in p no longer identify position variables. AO writes gain and F/R values to text files during frequency sweep. Dual paging, ROM-BIOS fonts, and overscan AO.SET options removed. E, R, and L command line options removed for AO PLOT. Ellipticity always calculated for circular polarization. Options menu provides circular or linear RC/LC gain reference. Overflow prevented for rectangular plots with small dB span. Glitches minimized when switching between graphics images. 2D patterns use fast screen clear instead of pixel erase. Both titles displayed for plot overlays when they differ. Second viewpoint removed from geometry and 3D pattern displays. Up to 40 variables displayed while optimizing. Current phase can be rotated in phasor display. Currents no longer dotted in PCX image. PCX image can include a border. Rectangular grid lines spaced 10 dB. Polar grid uses dB multiples everywhere. Display overscan works. RUN renamed RUN.TXT. 8.51 Sensitivities measured and normalized for all variables. Simplexes except first use Gaussian deviate of global optimum. Simplex orthogonal points use random ñ1 instead of Gaussian. First randomized simplex point reselected if unreasonable. AO can generate a PCX file for each plot file in current directory. Alt-V generates geometry display PCX files in sweep mode. Alt-P instead of uppercase P generates new plot filename. AO.SET can inhibit listing connections and currents in RUN.TXT. Metric and wire gauge conversions slightly more accurate. AO gives up rest of time slice when waiting for keyboard input. Restriction on number of pattern points removed for nonomni models. Ellipticity renamed axial ratio. Optimizer limit cycles prevented. |Zi| tradeoff removed. 8.52 Forward gain not renamed when mismatch loss is enabled. Efficiency no longer calculated. Sources menu removed. Sensitivity analysis added. Early termination added to speed global optimization. Simplex selection threshold can be set in AO.SET. Simplex expansion/contraction factors changed. Shrink repeatedly contracts worst point until simplex improves. Degenerate point forces restart only during shrink. Error during optimization does not force restart. Limit cycle check removed. Extensive code cleanup. 9.00 Differential Evolution optimizer. Alt-Z restarts optimizer from interruption point. Algorithm menu added. Optimizer checks spacing between nonechelon parallel wires. Optimizer uses average Z for SWR at frequencies with multiple sources. Warnings during optimization generate faults. Wires and pulses XYZ resolution increased by one digit in RUN.TXT. Axial ratio F/R uses major-axis field. Axial ratio in far-field display uses blanking threshold. AO writes SWR to text file during frequency sweep. Plot parameters not reset each plot. AO PLOT and AO GENPCX can use E, R, and L options. Geometry display Z-axis marker goes negative for free-space models. 3D patterns use 2D line draw and clip to screen edge. Font changes. 9.50 DPMI provides extended memory for 1402 pulses in WinXP, AO-Pro retired. Floating point calculations use SSE vector instructions. Matrix solve, all of fill, and current source use assembly language. NEC calibration refined with Eureqa. SWR calculation uses average admittance for multiple sources. No redundant mode change on exit to avoid unnecessary screen blanking. AO.SET option eliminates plot screen flashes. AO.SET option to inhibit listing connections and currents removed. Warning added for wire diameter too large. Warnings display error amount and don't generate optimization faults. Axial ratio displayed and plotted as a positive value. H/V calculated for RC and LC. ^C invokes Color menu for all screens. Fill and factor bargraphs removed. Error line number no longer passed to editor. Asymmetrical over-ground models can use 1° 3D pattern resolution. Automatic segment tapering generates slightly fewer segments. Conductor loss corrected slightly for automatically tapered wires. SWR reference impedance at each frequency determines Zr and Zi color. 9.51 SSE code replaces fsincos and fyl2x. Simultaneous matrix fill for both pulse halves. Linked with /f/packc, retf n changed to retn n+2 whenever possible. Precise complex divide. Fonts restored when AO quits. Print screen and related AO.SET options removed, F12 generates PCX. Geometry display flashes eliminated, AO.SET flash option removed. 9.52 Optimizer updates worst vector instead of next vector. Choice of /rand/ or /best/ determined probabilistically. AO uses a separate recombination factor for /best/ and /rand/. AO adjusts F by targeting a vector-replacement success percentage. Minimum wire spacing constraint removed. Geometry display Z-view shows +X to the left. AO.SET can define a population standard deviation for each symbol kind. AO can denormalize plot overlays as well as plot comparisons. Wire material 'aluminum' changed to 1350-O. 9.53 NEC calibration improved for small wire diameters. Conductors zinc and chromium added, phosphor bronze deleted. Automatic segment tapering refined. Maximum number of optimizable symbols reduced to 40. Symbols menu can access all symbols. Population standard deviation correct for all dependent-symbol kinds. AO can optimize impedance and Laplace transform loads. AO automatically centers antennas to reduce roundoff error. Matrix fill diagonal propagation includes pulses grounded at second end. 9.54 Analysis frequency is the average of the first and last file frequencies. Upper-case keyboard commands recognized. Error recovery improved. Position standard deviation based on distance to nearest wire. AO.SET can change the population-size formula parameters. AO uses DOS EDIT by default. Multiple ground zones and ground radials not modeled. Geometry display axes made from discrete dots instead of line mask. Slightly improved plot rendering. Ground impedance recalculated for all frequency changes. 9.55 Faster matrix solve, current source, and pattern calculation. Memory reallocation minimized for speed. Antenna file ground definition simplified. Maximum number of points in F/R region doubled when averaging response. Menu handling of F/R region improved. Axial ratio F/R uses the total field instead of major-axis field. Axial ratio and H/V calculated for both forward and omni CP. Asymmetric free-space models can show 3D patterns at 1°V/2°H resolution. Line clipper and 3D pattern generator use SSE instructions. Major axis, minor axis, and axial ratio use double precision. 9.56 AO.SET can specify PCX border width and recombination factor limit. Linear-dB plot default removed from AO.SET. AO looks for AO.SET in the current directory. AO represents SWR as mismatch power factor in trade-off expression. Triplets vectorized. Sensitivity analysis averages change magnitudes. Token handlers use string-free assembly language for speed. Faster, nonrecursive automatic segment tapering. Matrix fill input uses double precision. 9.57 Free-wire tapering provides high accuracy with sparse segmentation. NEC calibration redone using a direct technique. Segmentation changes inhibited during sensitivity analysis. Scalar potential uses integer subscript arithmetic for speed. Faster antenna file whitespace detection and token evaluation. Wire rotation generalized. 9.58 NEC calibration uses table lookup. AO can denormalize PCX plot images to show gain variation with frequency. AO denormalizes current in PCX geometry images during frequency sweep. 2D pattern resolution can be 0.125°, 0.25°, 0.5°, or 1°. F/R can be the ratio of a forward circular field to the total rear field. Frequency weighting spans averaging in watts to using the worst value. Optimizer refurbished: DE/best/4/bin only, CR=1, smaller deviates. Matrix factor permutes excitation. Matrix solve and current source multiply-accumulate use double precision. 9.59 Extended accuracy option replaces double precision matrix fill input. AO can model an L- or pi-network at a single source. Source magnitude and phase optional with a shunt load. Laplace transform and impedance loads eliminated. Pulse ID bug fixed for autotapered, collinear, connected wires. Omnidirectional analysis and optimization enhanced. AO can do logarithmic frequency sweep. All models can display 3D patterns at 1° resolution. Optimizer better excludes wild models. F/R can use the total rear field for any forward field. 9.60 Menu changes. Symbol redefinition no longer allowed and duplicates detected. Too many points in F/R region detected. Nonprogressive display during 3D pattern calculation simplifies code. Alt-Z limited to current session to simplify code. Alt-Z recalculates interrupted population only when necessary. Low recombination factor can restart the optimizer. Double precision units conversion and string evaluation. Memory allocation improved and bug fixed. Near field bug fixed. 9.61 Array spacing variable detected for sensitivity and sensitivity analysis. Floating point squared equality tolerances refined and bug fixed. Source phase inverted when source assigned to same end of later wire. Total field annotation is optional for 2D and 3D plots. AO can annotate E-plane/H-plane with upward H-plane pattern. AO can generate a PCX at each azimuth step for animated rotating 3D plot. NEC calibration uses cubic spline interpolation. Wire and pulse coordinates and directional cosines vectorized. Extended accuracy skips matrix transpose as well as diagonal propagation. Code optimization speeds matrix fill and factor. 9.62 Near field code removed. Minimum wire separation option. Recombination factor adaptation speed halved. Length and position deviations increased, termination threshold lowered. Position deviation based on distance to nearest independent wire. Source mispositioned due to automatic tapering yields error, not warning. Source and load symbols can be defined in the wire symbols section. AO can list files in an AO.SET directory without the complete path. Separate height or FSS array spacing tolerance for sensitivity analysis. Pulse identification refined, simplified, and bug fixed. Shunt loads shown in RUN.TXT and geometry display. 9.63 NEC calibration for longer segments replaces auto free-wire tapering. Free-space symmetrix mode handles vertically polarized stacked arrays. Number of optimizable symbols increased to 45. Number of optimization frequencies increased to 13. Antenna centering limited to X axis and geometry display. Current normalization is selectable for swept PCX geometry images. AO.SET can set default plot characteristics. AO PCX can create PCX files for specified plot files. AO PCXO creates PCX files with pattern overlay for specified plot files. AO PLOT, AO PCX, and AO PCXO allow command line plot options. 2D plot annotation refined and minor bugs fixed. 3D plot can use linear-dB scale. RUN.TXT refined and simplified. Tabulated relative far-field values include mismatch loss. AO no longer handles permeability or IACS conductivity. 9.64 DE/best/4/bin or DE/rand/4/bin vector update strategy. DE/rand/4/bin -> DE/best/4/bin at population diversity threshold. Automatic segment tapering moved from Options menu to AO.SET. Negative initial value on wire line is segmentation density. Original matrix fill diagonal propagation code restored. Minimum wire separation code simplified and bug fixed. Sensitivity changed to worst performance degradation. Sensitivity analysis results written to RUN.TXT. Number of optimizable symbols increased to 70. Faster matrix fill and SSE sine/cosine code. AO.DOC includes optimizing tips. 9.65 Maximum number of wires increased to 1000. Maximum number of symbols increased to 500. Faster pattern calculation. Faster generation of multiple PCX files. Faster geometry display rotation for very large models. Double precision pulse coordinates improve optimization. Extended accuracy and restart on low recombination factor eliminated. Linearly polarized gain reference for RCP or LCP gain values eliminated. Relative far-field tabulation threshold eliminated. Optional gain correction by averaging pattern over the radiation sphere. Azimuth and elevation pattern symmetry independently selectable. Six data arrays compacted to three doubly subscripted arrays. Pulse identification simplified and bug fixed. Top overlay plot selectable. Font changes. 9.66 GIF output graphics replaces PCX. Creates animated GIF for wire currents, 2D patterns, and 3D patterns. Optimizer can average reference frequency impedances to reduce peak SWR. Certain invalid sources or loads once again generate an error message. Scientific notation suppressed for E-01 to E-05 in output file symbols. DE/best/1/bin and DE/rand/1/bin replace DE/best/4/bin and DE/rand/4/bin. Series loads handle ESR/DF, shunt loads handle Q, ESR/DF, and LC tanks. AO lists voltage, current, and power dissipation for each load. 0.25° added to gain correction resolution choices. Symbol length restricted to 16 characters maximum. SWR reference reactance can be specified. Output file comment tabs corrected. NEC/Wires F/R can use average rear power. NEC/Wires matrix factor is several times faster. Graphics symmetry artifact corrected. 9.67 AO models wire end caps. NEC calibration updated for end caps plus 10 segments/halfwave data. NEC/Wires compensates tapered element length for end cap diameter. NEC/Wires displays and plots axial ratio. Series load analysis lists individual values for the L and C legs. Position deviant variance calculation ignores mostly orthogonal wires. Automatic segment tapering refined and ratio can be set in Options menu.