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.
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 .
This program uses the routine DFiltFIR to design H1(z). This routine and other auxiliary routines are part of the DFiltFIR Matlab package.
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/).
Peter Kabal (2021). DFiltNyquist (https://www.mathworks.com/matlabcentral/fileexchange/24664-dfiltnyquist), MATLAB Central File Exchange. Retrieved .
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!