How to insert delay element in polyhase FIR filter implementation
1 view (last 30 days)
Show older comments
I am able to create polyphase branches of Fir filter but now to add each branch response I need to insert delay element , how i can do it in coding
0 Comments
Answers (1)
Matt Cohen
on 10 Sep 2015
Hi Sagar,
I understand you are interested in inserting delay elements in a polyphase FIR filter implementation.
What form is your polyphase FIR filter stored in? Are you using a MATLAB System object to store it, or are you storing the filter coefficients for each branch in a matrix? From your question, it sounds like you have the branch FIR coefficients stored in something like the matrix form.
Typically with polyphase filters, you will have your branch filters designed with a certain filter length and an associated decimation value/rate for each branch. Each set of filter coefficients is responsible for filtering only a subset of the signal, starting at some delayed point in the signal and with samples spaced out by the decimation value. To accomplish the delay portion of the process, you will probably just need to shift the starting point of your array index while iterating over the signal.
For example, for a decimation rate of M = 2, with two filters (h1 and h2) and signal x, you could do two iterations, the first one using the signal subset x(1:M:end) and the second using x(2:M:end), and you could use the "filter" function to apply the branch filter - for example, for iteration 1, you could use "filter(h1,1,x(1:M:end))". In the end, you would sum up all of these filtered outputs, with some additional steps along the way.
I hope this helps. If this does not address your issue, please provide more details about your specific problem.
Matt
See Also
Categories
Find more on Multirate and Multistage Filters in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!