DSPRelated.com
Forums

transfer function confusion and MATLAB

Started by Parlous August 13, 2003
hello - in this pdf paper
http://www.telecom.tuc.gr/paperdb/eurospeech99/PAPERS/S11O2/K046.PDF the
authors used a particular "pitch predictive" filter to remove periodicities
in an input signal. It is equation (2) of the paper, and is quite simple
looking. I am having a few problems understanding it and how to implement it
in
matlab.

The equation is:

H(z) = 1 - (z ^ -P) F(z)

where (z ^ -P) is a normal(i'm assuming feedforward) comb delay filter of P
samples and F(z) is a fractional delay, second order lagrange filter and
H(z) is the transfer function.

The purpose of the filter is to remove periodicities in the input signal
that were detected by an algorithm from earlier in the paper.

How do i implement this filter in matlab? i have functions where i can
obtain the
coefficients for the lagrange filter, but how do I apply them? Moreover, how
do I incorporate the lagrange filter with the rest of the transfer function
above?

Any help would be greatly appreciated.

Thanks
Jeremiah Smith
parlous@hotmail.com


"Parlous" <parlous@hotmail.com> wrote in message news:<vjkop8rd4n572b@corp.supernews.com>...
> hello - in this pdf paper > http://www.telecom.tuc.gr/paperdb/eurospeech99/PAPERS/S11O2/K046.PDF the > authors used a particular "pitch predictive" filter to remove periodicities > in an input signal. It is equation (2) of the paper, and is quite simple > looking. I am having a few problems understanding it and how to implement it > in > matlab. > > The equation is: > > H(z) = 1 - (z ^ -P) F(z) > > where (z ^ -P) is a normal(i'm assuming feedforward) comb delay filter of P > samples and F(z) is a fractional delay, second order lagrange filter and > H(z) is the transfer function. > > The purpose of the filter is to remove periodicities in the input signal > that were detected by an algorithm from earlier in the paper. > > How do i implement this filter in matlab? i have functions where i can > obtain the > coefficients for the lagrange filter, but how do I apply them? Moreover, how > do I incorporate the lagrange filter with the rest of the transfer function > above? > > Any help would be greatly appreciated. > > Thanks > Jeremiah Smith > parlous@hotmail.com
The coefficients operate on the original data. The interpolation is done from the original data to arrive at the possible data at the fractional spacing required. It's basically doing the job of upsampling for you. Another way to implement a fractional delay is to upsample and then delay by an integer number. This is what the lagrangian interpolation filter is doing for you directly.