# sigLib

Signal Processing Components

### Functions

- dcBlock - removes the DC component of a signal
- decayFilter - Implements a filter whose response is based on a given decay rate.
- dtmfPulse - Creates a DTMF pulse consisting of two frequencies that identify the given character.
- dtmfReceiver - Converts a DTMF pulse or (pulse train) into the corresponding character(s)
- dtmfSigGen - Generates a pulse train that represents the DTMF signal corresponding to a given set of characters
- dutyCycle - Determines the duty cycle of an arbitrary signal
- envelope - Constructs an envelope for arbitrary signals.
- fallTime - Determines the fall time of an arbitrary signal
- frequency - Determines the dominant frequency of an arbitrary signal.
- funcFilter - Implements an analog filter with transfer response specified by an arbitrary function.
- funcGen - A general purpose function generator.
- period - Determines the period of an arbitrary signal.
- polyFilter - Implements an analog filter with transfer response specified by numerator and denominator polynomials.
- riseTime - Determines the rise time of an arbitrary signal
- rootFilter - Implements an analog filter with transfer response specified by poles and zeroes.
- slewFilter - mplements an analog filter whose response is based on a given slew rate.
- zeroCrossings - Determines the points at which a function crosses the X axis: the zero crossings.

### Internal Content

These are used within the library but can often be useful directly accessed from without.

- private functions
  - aAmp - generic analog amplifier
  - aFilter - generic classical analog filter
  - aMixer - generic analog mixer
  - aRectifier - generic analog rectifier
  - butterPoly - generates Butterworth polynomials
  - chebyPoly - generates Chebychev polynomials
  - dtmfCode - Generates the DTMF frequency pair that defines the given input character.
  - dtmfDecode - Converts a pair of DTMF frequencies into the corresponding character
  - dtmfRcvPulse - Converts a DTMF signal pulse into the corresponding character
  - version - returns revision date of this library
- variables
  none

### Standalone Objects

- analogAmp - configurable analog amplifier
- analogFilter - configurable analog classical filter
- downConvert - mixer-based down-conversion object
- negBridge - An ideal negative polarity full-wave rectifier.
- negRectifier - An ideal negative polarity half-wave rectifier.
- posBridge - An ideal positive polarity full-wave rectifier.
- posRectifier - An ideal positive polarity half-wave rectifier.
- upConvert - mixer-based up-conversion object

### Standalone Functions

- specArray - Extracts the array of values from a spectrum.
- startFreq - Extracts the beginning frequency of a spectrum.
- stopFreq - Extracts the end frequency from a spectrum.
- timeSpan - Extracts the time span from a waveform.
- waveArray - Extracts the array of values from a waveform.

### Notes

Since VEE was originally designed as a Signal Processing toolbench, it has many capabilities in that area that have been mostly neglected over the years. These signal processing components are designed to encourage quick and easy nonlinear signal analysis, generally in near-real-time, that in many cases is far simpler than using common circuit analysis tools. As with circuit tools, VEE circuits are strung together using components with more-or-less direct real world analogs, but without the often-complicated setup and batch processing that comes with circuit analysis tools. Given this, VEE can also be extended to incorporate circuit analysis tools in a way that hides them from the end user, ending up with the full power of circuit analysis but with the ease-of-use of graphical programming.

© 2015-2021. All Rights Reserved. Stan Bischof (stan@worldbadminton.com). Last updated 30 July 2021 08:59.