Reply by Parlous August 14, 20032003-08-14
I tried taking a signal of 1102 samples, 44.1kHz, 16bit, mono containing a
fundamental = 83.2 Hz harmonic tone and applied the function as follows in
matlab:

s = wavread(...)
hl = lagrange( 3, 0.2 )
nl = [zeros(530,1);1]
yfd = filter( hl, 1, s )
ynd = filter( nl, 1, s )
y = 1 - ynd.*yfd

the output y was almost entirely clear of any signal, as it should be.
However, if signal s is mixed with anything else, any other period
whatsoever, the other period(s) are destroyed.

Do i have to convolve yfd and ynd and then apply the z-transform to it to
properly get the right side of equation 2 in the paper from my previous
post? then multiply that result by the z-transform of the signal s and then
finally inverse z-transform that result to obtain a final output? where can
i find a z-tranform m file that does a z-transform on an arbitrary 1D
vector?

"Parlous" <parlous@hotmail.com> wrote in message
news:vjncfpkgagr896@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 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. > > How do i implement this 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? > > Transfer functions are in the complex plane, so I am assuming that the > transfer function above is also in the complex plane. I have the
difference
> equations for the (z ^ -P) and F(z), but F(z) is tedious as hell to use > euler's identity as a substitution for z. > > >
Reply by Parlous August 14, 20032003-08-14
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 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.

How do i implement this 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?

Transfer functions are in the complex plane, so I am assuming that the
transfer function above is also in the complex plane. I have the difference
equations for the (z ^ -P) and F(z), but F(z) is tedious as hell to use
euler's identity as a substitution for z.