Non-causal filter coefficients

9 views (last 30 days)
Des
Des on 16 Mar 2011
Hi all I need to write filter coefficients for the following filter: y(n) = (-x(n+4) - x(n+3) - x(n+2) - x(n+1) + 9x(n) - x(n-1) % - x(n-2) - x(n-3) - x(n-4))
As you can see, the output uses future inputs. I've done causal filters no problem, but am a bit lost with this one.
Any help would be appreciated!

Accepted Answer

Honglei Chen
Honglei Chen on 16 Mar 2011
Hi Des,
The non-causal filter is not physically realizable. However, if you do a variable replacement of m=n+4, your equation becomes causal and you can then use all the techniques available for the causal filers.
One way to think about this equation is that, you do not get an appropriate output until you have 4 samples in the pipeline. So your output is delayed by 4 samples. In real applications, if you are starting the filter for the first time, you can discard the first four output samples.
HTH,
Honglei
  6 Comments
Honglei Chen
Honglei Chen on 16 Mar 2011
It is. The difference between the two is the delay in the output. In terms of filtering operation, there is no difference. In both systems, you grab 9 samples and then do a linear combination with them.
Jigar Gada
Jigar Gada on 25 Sep 2013
In this case, the phase will be non-zero. What you expect for a symmetric filter across 0 is that phase is constant (0). Since we are shifting the output, the phase will be a function of delay (a straight line with negative slope proportional to delay).

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!