--- pltSig version 14Sep23 --- The pltSig toolbox (sometimes called plt for short) includes the following applications with practical or educational value in various topics of signal processing, math, & engineering afilt classical analog filter design airspeed aircraft performance modeling carlo Monte Carlo simulation circles12 geometrical puzzle curves classic plane curves editz z-plane analysis erip equal ripple digital filter design fseries synthesis of harmonic functions gauss summation of random variables gpsLog GPS data analysis & simulation julia Mandelbrot & Julia set fractals hermite Hermite polynomial interpolation motion Brownian motion simulation pltmap 2D cubic interpolation & convolution psdZoom power spectral averaging & zoom weight classic sound level weighting curves wfall clipping distortion effects winplt FFT windowing These applications include capabilities and features not found elsewhere on the file exchange, and most of them merit an individual file exchange submission. However, I chose to combine them into a single toolbox because my goals go beyond the individual applications - primarily to promote a particular graphical interface style that makes applications easier to use. Some aspects of this style include: * A "flat" interface (i.e. all menus and controls to be visible at the same time). * The use of pseudo objects - collections of traditional Matlab objects combined to serve a specific purpose. The pseudo objects simplify application development and allow familiarity with one application to carry over to the others. The pseudo objects are designed to conserve screen area, allowing a flat design even when many controls are needed. * Including a way to adjust the size, position, and color of the screen elements directly in the application (i.e. without requiring opening an additional design tool). * The use of dark backgrounds. This allows higher color saturation, making color more useful for distinguishing traces and other screen elements. You can use traditional Matlab colors if you want, but the dark mode is the default which encourages its use. * Uses mouse movements and clicks more smoothly and consistently to make it easier to pan or zoom plots, move cursors, and adjust control values. * The use of super legends (where legend entries also are controls for disabling/enabling traces and other functions). * The use of on-screen help text to make it easier to get started with a new application. Also the inclusion of a help button to provide quick access to the full documentation. * Providing consistent methods across applications for mouse & keyboard-driven data editing, metric prefixes, and cursoring features such as peak/valley finding, delta, rms, and average value readouts. In addition to the applications listed above, the pltSig toolbox also includes many utilities that will help solve many of the problems encountered when creating a GUI application. Some of the more notable utilities are listed below: plt -------------------- An alternative to the native Matlab plot and plotyy routines. A common complaint programmers have about plot (and even more so with plotyy) is that to do anything beyond the mundane one needs to use obscure handle graphics commands that are only easy to find if you are already familiar with them. plt solves this problem by clearly explaining every option and parameter in one place, giving many examples of the use of every important parameter. There are also many other advantages to plt, to numerous to mention here. prin ------------------- This is what sprintf would have looked like if it was first written for Matlab instead of for the c library. figpos ----------------- It is often difficult to size and position a figure window in a way that is ideal for all computers because of the wide disparities of screen resolutions and aspect ratios as well as different taskbar sizes and locations. These problems become even more difficult for applications requiring more than one figure window. The figpos routine makes solving such problems trivial, or at the very least, more manageable. pltwater & pltImage ------------- These routines allow you to easily create 3D waterfall and intensity plots, and like plt, they include many well-documented options. pp --------------------- A vector pretty printer which overcomes several of the annoyances of the Matlab disp function. This toolbox has been verified under all Matlab releases from version 6.1 to R2023a using all Windows versions from XP to Windows 11. Brief testing has also been done under the Mac and other Unix platforms.