Digital Filter Design
|Digital Filter Design Methods||Output Response—Digital Filtering of Signals|
|Poles and Zeros of Digital Filters|
create an FIR filter using the least-squares method
create an FIR filter using frequency sampling
create an FIR filter using the equiripple method
create an IIR digital filter from an analog prototype
This method obtains a finite impulse response (FIR) from a given prototype filter specification in the frequency domain by means of the inverse discrete-time Fourier transform.
The impulse response is obtained by taking the inverse discrete-time Fourier transform of the filter specification:
This method minimizes the mean-squared error between the ideal specification and the resulting FIR filter:
The least-squares method is also known as the window-based method. The mean-squared error can be diminished by applying a smoothing window to the FIR returned by LeastSquaresFilterKernel.
Different windows return different attenuations. Select a window type by the degree of the desired attenuation.
Frequency Sampling Method
Frequency sampling allows the creation of an FIR filter by specifying the filter's amplitude spectrum on the interval 0≤ ω≤ π at a finite number of uniformly spaced frequency locations.
The Parks–McClellan–Rabiner (1979) algorithm is one of the most popular methods of designing linear-phase FIR filters. It minimizes the maximum deviation from the desired ideal frequency response and results in filters with equal ripples in each of the bands of the filter.
Create a Digital Filter from an Analog Prototype
A popular method of creating digital filters is to transform analog prototypes to their digital equivalents using the bilinear transformation. The result is an infinite impulse response (IIR) filter, represented as a TransferFunctionModel.
discrete-time approximation of an analog filter
extract poles of analog filters
extract zeros of analog filters
convolve an FIR filter with data
convolve an FIR filter with image
symbolic convolution of two signals
apply an IIR filter to a signal
iteratively solve the recurrence equation
output response of a filter
Compute the impulse response using OutputResponse:
Compute the impulse response by solving the corresponding recurrence equation model of the filter using RecurrenceTable: