pltSig

Version 1.3 (31.2 MB) by Paul Mennen
Applications with a focus on signal procession and GUI design. Includes a plot/plotyy alternative optimized for data exploration.
38 Downloads
Updated 17 Sep 2023

View License

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 too 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.
  • colorpick: Creates a color palette that allows you to easily choose the color that you find most satisfying for a particular trace or screen element. Usually, if you are even given such a choice, you will be presented with a single palette including all possible color choices. The problem with that is that the color you want will occupy a microscopic portion of the palette, making the choice a frustrating trial-and-error process. colorpick is different because you can adjust the palette to focus on the range of colors that interest you. A large rectangle filled with the candidate color choice eliminates most of the trial-and-error repetition.
  • pp: A vector pretty printer which overcomes several of the annoyances of the Matlab disp function.
If you haven't used this toolbox before I suggest starting by typing "demoplt" in the command window which will show you this figure:
Then click on the "All Programs" button. This is the fastest way to get a feel for what this toolbox has to offer.
If you would like to peruse the documentation before downloading the toolbox, you can do that by clicking on this link.
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.

Cite As

Paul Mennen (2024). pltSig (https://www.mathworks.com/matlabcentral/fileexchange/131858-pltsig), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3

The most significant updates were to erip.m (the filter design application) but there were many other updates and bug fixes which you can see in the release notes in the help file.

1.2

The previous version hadn't been tested under Windows 11 and a compatibility issue was found. This new version (04Jul23) fixes that, so it is now compatible with all Windows versions (as well as non-windows operating systems)

1.1

This is not a new version. It's the same as version 1.0. I was just making some corrections to the Overview and did not realize that this bumps the version number.

1.0