Powered by Invision Power Board

Forum Rules Forum Rules (Please read before posting)
  Reply to this topicStart new topicStart Poll

> Matlab Iir Filter Design
Posted: August 03, 2014 11:29 pm
Reply to this postQuote Post


Group: Trusted Members
Posts: 223
Member No.: 2,202
Joined: March 11, 2005

I am using Matlab's fdatool to compute the coefficients for a filter I plan on running as an algorithm in a PC program I will write.

The standard formula for computing IIR is here:


user posted image

Matlab spits out the numerator coefficients, denominator coefficients, and groups them into filter sections. How does this categorization translate into the standard IIR equation?

Remember to take your records off the turntable when you are done listening to them, otherwise they will warp.
PMEmail Poster
Posted: August 04, 2014 04:09 am
Reply to this postQuote Post

Forum Addict ++
Group Icon

Group: Moderators
Posts: 20,587
Member No.: 73
Joined: July 24, 2002

I believe you're looking at the x[n - i] being the input (numerator) coefficients, and y[n - j] being the denominator (feedback) coefficients.

Check out a textbook for more info (Wikipedia tends to be rather... unavailable, as far as teaching those outside the field goes).


Answering questions is a tricky subject to practice. Not due to the difficulty of formulating or locating answers, but due to the human inability of asking the right questions; a skill that, were one to possess, would put them in the "answering" category.
PMEmail PosterUsers Website
Posted: August 09, 2014 05:29 pm
Reply to this postQuote Post

Forum Addict ++

Group: Spamminator Taskforce
Posts: 1,053
Member No.: 3,131
Joined: August 29, 2005

When you apply the z transform the delays all map to powers of z. Regroup the aj terms on the left side and then divide which moves them to the denominator on the right side. This leaves you with output = input * Num(z)/Denom(z).

To implement the filter you have to factor the rational function into biquadratic sections which can be realized. It sounds like you will be using floating point variables( PC software implementation) so you probably don't need to check the dynamic range between each of the sections. If you were implementing a fixed point hardware filter you would want to verify dynamic range in simulation.

On a practical level I believe that MatLab will spit out a C source code implememntation for you, that might save you some work.
PMEmail Poster
0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll


:: support us ::

ElectronicsSkin by DutchDork & The-Force