Version:

Last Modified: March 15, 2017

Designs a linear phase, equiripple, FIR filter using the Parks-McClellan algorithm. This function is equivalent to the fir_remez function.

b = fir_pm(n, f, a)

b = fir_pm(n, f, a, filter)

b = fir_pm(n, f, a, w)

b = fir_pm(n, f, a, w, filter)

[b, ripple] = fir_pm(n, f, a)

[b, ripple] = fir_pm(n, f, a, filter)

[b, ripple] = fir_pm(n, f, a, w)

[b, ripple] = fir_pm(n, f, a, w, filter)Legacy name: firpm

Filter order. n is a positive integer. n must be even for filters with a non-zero gain at the Nyquist frequency. If n does not meet this condition, MathScript increases n by 1.

Frequencies. f is a real vector of increasing values in the interval [0, 1]. 0 and 1 must be in f. 1 represents the Nyquist frequency.

Magnitudes at the f frequencies. a is a real vector of the same size as f.

Odd-symmetry filter to design. filter is a string that accepts the following values:

Name | Description |
---|---|

'differentiator' | Differentiator filter. |

'Hilbert' | Hilbert filter. |

Weights that correspond to f and a. Each band has exactly one weight. The size of w is half the size of f. w is a vector of positive numbers.

Filter coefficients of order n. The size of b is n + 1. b is a real vector.

Maximum ripple size of the filter. ripple is a positive number.

N = 13; F = [0, 0.1, 0.5, 0.7, 0.8, 1]; A = [0, 1, 1, 1, 0, 0]; W = [1, 10, 1]; B = fir_pm(N, F, A, W)

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: This product does not support FPGA devices