<< shiftdim Signal Processing Supplementary toolbox unwrap >>

Signal Processing Supplementary toolbox >> Signal Processing Supplementary toolbox > stmcb

stmcb

Steiglitz McBride's method for designing IIR filter

Calling Sequence

[B,A] = stmcb(H,NB,NA)
[B,A] = stmcb(H,NB,NA,N)
[B,A] = stmcb(H,NB,NA,N,Ai)
[B,A] = STMCB(Y,X,NB,NA,N,Ai)

Parameters

H

Impulse response of filter.

NB

Order of the numerator polynomial.

NA

Order of the denominator polynomial.

N

Number of iterations.

Ai

Initial numerator polynomial.

Y

Output sequence.

X

Input sequence.

B

Numerator polynomial of order NB+1 of the designed filter.

A

Denominator polynomial of order NA+1 of the designed filter.

Description

Computes the numerator and denominator polynomials in z-1 of order NB+1 and NA+1 which closely approximate a given impulse response H. The close approximation is done by updating the numerator and denominator polynomial iteratively N times. If N is not specified in the input, the value of N is 5 by default. Also, if the initial numerator polynomial Ai is not specified in the input, it is computed internally using prony function with value NB=0.

If instead of H, the output sequence Y and input sequence X are given, it computes the numerator polynomial B and denominator polynomial A of a system which would give Y when X is passed through it. Note here that the lengths of Y and X must be the same. This function is a clone of MATLAB's function and hence gives similar results.

Examples

// any arbitrary impulse response
H=[1 2 3 4 5 4 3 2 1];
// numerator and denominator polynomials of order 4 representing h 
[B,A]=stmcb(H, 4,4)
// input sequence 
X=[1 -1 3 -1 1 0 1 0];
//output sequence
Y=[1 1 1 1 1 1 1 1];
// B and A which represent the numerator and denominator 	polynomial of a system relating Y to X  after 15 	iterations are given by 
[B,A]=stmcb(Y,X,4,4,15)

Authors


Report an issue
<< shiftdim Signal Processing Supplementary toolbox unwrap >>