DFiltNyquist designs Nyquist (M'th band) filters


Updated 20 Jul 2011

View License

DFiltNyquist designs Nyquist (M'th band) filters

DFiltNyquist designs linear phase FIR Nyquist filters. Nyquist filters are filters with an impulse response which as regular zero crossings. For an N coefficient filter, the center coefficient is one, and coefficients displaced from the center by a multiple of M are zero.

Nyquist filters are essentially the same as interpolating filters or Mth band filters. In DFiltNyquist the filter is designed based on stopband performance.

Design Strategy:
The design strategy decomposes the filter H(z) as a product of two filters
H(z) = H0(z) H1(z).
The filter H1(z) controls the stopband. The filter H0(z) inserts the appropriate zero crossings into the response. The design is iterated as described in [1].

This program uses the routine DFiltFIR to design H1(z). This routine and other auxiliary routines are part of the DFiltFIR Matlab package.

Design Example:
Consider a Nyquist filter with 35 coefficients, and zero-crossing interval M=3. The sampling frequency is 16 kHz. The stopband starts at 3000 Hz. The stopband weight varies from 1 to 10.
B.Freq = [3000 8000];
B.Weight = [1, 10];
h = DFiltNyquist(3, 35, B, 16000);

The test directory includes a routine which verifies correct operation on some test cases.

1. R. P. Ramachandran and P. Kabal, “Minimax Design of Factorable Nyquist Filters for Data Transmission”, Signal Processing, vol. 18, no. 3, pp. 327–339, Nov. 1989 (available on-line at http://www.ece.mcgill.ca/~pkabal/papers/).

Cite As

Peter Kabal (2023). DFiltNyquist (https://www.mathworks.com/matlabcentral/fileexchange/24664-dfiltnyquist), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
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

Error message if DFiltFIR package is not available.