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.
transfer function confusion and MATLAB
Started by ●August 14, 2003
Reply by ●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 removeperiodicities> 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 ofP> 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 transferfunction> 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 thedifference> 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. > > >