firtype

Type of linear phase FIR filter

Syntax

t = firtype(b)
t = firtype(d)

Description

example

t = firtype(b) determines the type, t, of an FIR filter with coefficients b. t can be 1, 2, 3, or 4. The filter must be real and have linear phase.

example

t = firtype(d) determines the type, t, of an FIR filter, d. t can be 1, 2, 3, or 4. The filter must be real and have linear phase.

Examples

collapse all

Design two FIR filters using the window method, one of even order and the other of odd order. Determine their types and plot their impulse responses.

subplot(2,1,1)
b = fir1(8,0.5);
impz(b), title(['Type ' int2str(firtype(b))])

subplot(2,1,2)
b = fir1(9,0.5);
impz(b), title(['Type ' int2str(firtype(b))])

Design two equiripple Hilbert transformers, one of even order and the other of odd order. Determine their types and plot their impulse responses.

subplot(2,1,1)
b = firpm(8,[0.2 0.8],[1 1],'hilbert');
impz(b), title(['Type ' int2str(firtype(b))])


subplot(2,1,2)
b = firpm(9,[0.2 0.8],[1 1],'hilbert');
impz(b), title(['Type ' int2str(firtype(b))])

Use designfilt to design the filters from the previous example. Display their types.

d1 = designfilt('lowpassfir','DesignMethod','window', ...
                'FilterOrder',8,'CutoffFrequency',0.5);
disp(['d1 is of type ' int2str(firtype(d1))])
d1 is of type 1
d2 = designfilt('lowpassfir','DesignMethod','window', ...
                'FilterOrder',9,'CutoffFrequency',0.5);
disp(['d2 is of type ' int2str(firtype(d2))])
d2 is of type 2
d3 = designfilt('hilbertfir','DesignMethod','equiripple', ...
                'FilterOrder',8,'TransitionWidth',0.4);
disp(['d3 is of type ' int2str(firtype(d3))])
d3 is of type 3
d4 = designfilt('hilbertfir','DesignMethod','equiripple', ...
                'FilterOrder',9,'TransitionWidth',0.4);
disp(['d4 is of type ' int2str(firtype(d4))])
d4 is of type 4

Input Arguments

collapse all

Filter coefficients of the FIR filter, specified as a double- or single-precision real-valued row or column vector.

Data Types: double | single

FIR filter, specified as any of the following:

  • A digitalFilter object. Use designfilt to generate a digital filter based on frequency-response specifications.

  • A dfilt filter object.

Output Arguments

collapse all

Filter type, returned as either 1, 2, 3, or 4. Filter types are defined as follows:

  • Type 1 — Even-order symmetric coefficients

  • Type 2 — Odd-order symmetric coefficients

  • Type 3 — Even-order antisymmetric coefficients

  • Type 4 — Odd-order antisymmetric coefficients

Introduced in R2013a