## Signal Processing Toolbox |

- Signal transforms including fast Fourier transform (FFT), short-time Fourier transform (STFT), and Hilbert transform
- FIR and IIR filter design and analysis
- Measurements such as transition and pulse metrics, band power, bandwidth, and distortion
- Power spectrum estimation algorithms and data windowing functions
- Statistical signal measurements such as autocorrelation and cross-correlation
- Linear prediction and parametric time series modeling
- Waveform and pulse generation and data resampling functions

Signal Processing Toolbox provides functions that let you denoise, smooth, and detrend signals to prepare them for further analysis. For example, you can:

- Remove noise, outliers, and spurious content from data
- Enhance signals, visualize signals, and discover patterns
- Change the sample rate of a signal or make the sample rate constant for irregularly sampled signals or signals with missing data
- Generate synthetic signals such as pulses and chirps for simulation and algorithm testing

**Resampling Signals** (Example)

Change the sample rate of a signal without introducing artifacts.

**Signal Smoothing**

Denoise signals with weighted moving average and Savitzky-Golay filters.

**Outlier Removal** (Example)

Remove spikes with median filters.

**Detrending** (Example)

Normalize data and remove trends and offsets.

**Aligning Signals with Different Start Times** (Example)

Measure delays and align signals using cross-correlation.

**Signal Generation ** (Example)

Generate pulses and swept-frequency signals (chirps, VCOs).

Signal Processing Toolbox provides functions that let you measure common distinctive features of a signal. Specifically, you can:

- Extract key signal characteristics and reduce data sets without losing information
- Locate signal peaks and determine their height, width, and distance to neighbors
- Measure time-domain features such as peak-to-peak amplitudes and signal envelopes
- Measure pulse metrics such as overshoot and duty cycle

**Signal Statistics** (Example)

Measure minimum, maximum, mean, peak-to-peak amplitude, and RMS of a signal.

**Pulse and Transition Metrics** (Example)

Measure rise time, fall time, slew rate, overshoot, undershoot, settling time, pulse width, and duty cycle.

**Peak Analysis**

Find peak locations and measure peak height, prominence, and width.

**Envelope Extraction** (Example)

Extract the envelope of a signal using the Hilbert transform and the analytic signal.

**Finding a Signal in a Measurement** (Example)

Match a known signal in a measurement using cross-correlation techniques.

In the frequency domain, you can measure fundamental, mean, median, and harmonic frequencies, as well as channel bandwidth and power in a frequency band. This toolbox lets you characterize systems by measuring spurious free dynamic range (SFDR), signal-to-noise ratio (SNR), total harmonic distortion (THD), signal to noise and distortion ratio (SINAD), and third-order intercept point (TOI).

**Harmonic Distortion** (Example)

Measure signal-to-noise ratio (SNR), total harmonic distortion (THD), and signal to noise and distortion ratio (SINAD).

**Spurious-Free Dynamic Range (SFDR)** (Example)

Analyze the effects of dithering in a numerically controlled oscillator (NCO).

**Power, Bandwidth and Frequencies ** (Example)

Measure band power, bandwidth, and mean and median frequencies.

**Instantaneous Frequency of Chirp ** (Example)

Measure the instantaneous frequency of a chirp using the analytic signal.

**Data Reduction and Reconstruction** (Example)

Reduce data dimension and provide fast signal reconstruction using the Walsh-Hadamard transform.

**Fundamental Frequency Estimation** (Example)

Estimate a speaker’s fundamental frequency in a speech signal using the complex cepstrum.

Use the functions and apps within Signal Processing Toolbox to design, analyze, and implement a variety of digital FIR and IIR filters, such as lowpass, highpass, and bandstop. With these functions and apps, you can:

- Visualize magnitude, phase, group delay, impulse, and step responses
- Examine filter poles and zeros
- Evaluate filter performance by testing stability and phase linearity
- Apply filters to data and remove delays and phase distortion using zero-phase filtering

**Filter Design Gallery** (Example)

Explore lowpass, highpass, bandpass, bandstop, differentiator, and arbitrary-magnitude frequency responses.

**FIR Filter Design** (Example)

Specify different filter design constraints, and compare FIR design algorithms such as Parks-McClellan (equiripple), least-squares, and Kaiser window.

**IIR Filter Design** (Example)

Compare magnitude and group delay responses of Butterworth, Chebyshev, and elliptic IIR filters.

**Filter Design and Analysis Tool (FDATool)** (Example)

Design digital filters interactively.

**Filter Visualization Tool (FVTool)** (Example)

Analyze digital filters in multiple domains.

**Digital Filtering** (Example)

Compensate for delay and distortion introduced by filters.

Signal Processing Toolbox provides functions for analog filter design and analysis. Supported analog filter types include Butterworth, Chebyshev, Bessel, and elliptic. The toolbox also contains discretization functions, such as the impulse invariance and bilinear transformation methods for analog-to-digital filter conversion.

Characterize the frequency content of a signal using the family of spectral analysis functions and apps within Signal Processing Toolbox. FFT-based nonparametric methods, such as Welch's method or the periodogram, make no assumptions about the input data and can be used with any kind of signal. Parametric and subspace methods, such as Burg's, Yule-Walker, and MUSIC, incorporate prior knowledge of the signal and can yield more accurate spectral estimates. With these functions and apps, you can:

- Compute power spectra of nonuniformly sampled signals or signals with missing samples using the Lomb-Scargle method
- Analyze nonstationary signals using time-frequency techniques such as the spectrogram, and measure signal similarities in the frequency domain by estimating spectral coherence
- Design and analyze Hamming, Kaiser, Gaussian, and other windows

**Bias and Variability in the Periodogram** (Example)

Lower PSD bias and variability using windowing and averaging with Welch and multitaper methods.

**Lomb Periodogram** (Example)

Estimate spectra of nonuniformly sampled signals or signals with missing samples.

**Time-Frequency Analysis ** (Example)

Use spectrogram to determine when a frequency component is present in a signal, and explore time-frequency resolution tradeoffs.

**Compare Frequencies of Two Signals** (Example)

Estimate spectral coherence between signals, and measure relative phase between correlated frequency components.

**Parametric Methods** (Example)

Model short signals as outputs of autoregressive (AR) processes to achieve higher spectral resolution.

**High-Resolution Methods** (Example)

Estimate sinusoid frequencies in short signals using subspace methods, such as eigenvector and multiple signal classification (MUSIC).

Signal Processing Toolbox provides parametric modeling techniques that let you estimate a rational transfer function describing a signal, system, or process. To do this, you would:

- Use known information about a signal to find the coefficients of a linear system that models it
- Approximate a given time-domain impulse response using Prony and Steiglitz-McBride ARX models
- Find an analog or digital transfer function that matches a given complex frequency response
- Model resonances using linear prediction filters

**Formant Estimation with LPC Coefficients** (Example)

Estimate vowel formant frequencies in a speech signal using linear predictive coding (LPC).

**AR Order Selection with Partial Autocorrelation Sequence** (Example)

Assess the order of an autoregressive model using the partial autocorrelation sequence.