Help: Phase shift on FIR filters

Hi Group,
Hoping someone could shed some light on a query I have. Basically I've been working with FIR (band-pass window sync) filters to analyse
some stock prices (purely academic at this stage).
Say for example I'm filtering for contributions of wavelength 10 days. The filter designer I have produces me a filter of kernel length 21, 41, 61 or 81 days which is symetric about it's middle value. It would appear that these filters have a phase lag of half their length. For example a kernel length of 21 days (with symetry about the middle day) has a phase lag of 10 days, ie lagging by one cycle.
Two issues I'm having are:
1) Is there any way to adjust one of these filters (eg the 21 point kernel) to give a smaller phase lag?
2) Shorter length filters have less phase lag and give a more recent measure of where we are in the cylce and the magnitude of it, but longer ones filter better. Any way to get the best of both worlds?
If anyone has any ideas and has time to detail them I'd love to hear!
Cheers,
Stewart
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Stewart wrote:

You don't need a symmetric (linear phase) filter You can get a more prompt response with a minimum-phase version that is not linear phase.

No
There is another current thread on this topic, "How can I create filter with such a low lag?".
Jerry
--
Engineering is the art of making what you want from things you can get.

  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Do a Google search on "real cepstrum minimum phase" for some methods of adjusting FIR filters for less phase lag.

Well, there is a trade-off between using shorter linear-phase FIR filters and longer minimum-phase FIR filters; and one can also play with the relative bandwidth of the longer filter.
IMHO. YMMV.
--
Ron Nicholson rhn AT nicholson DOT com http://www.nicholson.com/rhn/
#include <canonical.disclaimer> // only my own opinions, etc.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Hi!
Sometimes is difficult to say if the problem is scientific or practical.
Here is one (practical) trick for very short time series, where the length of the filter is not much longer than then time series.
1.) Put the series in to an array of length: datalength + firlength/2; 2.) Fill the rest of the array with zero.
Apply a fir filter and forget the first firlength/2 samples from the array The final result will be of datalength. You saved firlength/2 of data length.
Another very neat trick is to apply an IIR filter. First apply the filter as usual and then reverse the series and apply the IIR filter again. Make sure that you zero padd the time series by about 10% of the original time series before filtering. Once done forget the added (zero padded) length. This should give you very good results, much much shorter phase delay and linear phase.
Regards! Atmapuri.

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.