fir_pm

Version:

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

Syntax

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

n

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.

f

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.

a

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

filter

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

Name Description
'differentiator'

Differentiator filter.

'Hilbert'

Hilbert filter.

w

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.

b

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

ripple

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