Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

10 band EQ on blackfin ADSP

Status
Not open for further replies.

TypicalUserName

Newbie level 3
Joined
Nov 9, 2012
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,318
Hi! I'm beginner in DSP area and I want to implement 10 band equalizer with additional Q - control (width of the band) and maybe even center frequency point control (extension to parametric EQ), if it doesn't complicate things too much. Boost should be in +/- 12 to 18dB range. EQ will be run on ADSP-BF548 (Blackfin).

Here are some questions for you guys:

1. What model should I choose(IIR or FIR)?
I've been googling about this a bit and it seems that standard way (and possibly the simplest?) is to use a bunch of BP filters and one LP and HP and sum their outputs together. As filter type it seems that IIR is used mostly for this type of application.

I wanted to use FIR in my case, because it's simplest to implement but I saw 2 possible problems when playing around in Mathlabs FDATOOL.
-A high number of coefficients is needed to achieve desired response ( I hope I wasn't unnecessarily too picky when designing signal response curve).
-Response for each band pass filter looks strange for me. At around -60db there is a very 'hilly' region instead of smooth rolloff and I don't know if this can reasonably affect audio signal. Maybe it doesn't matter what's the shape of band-pass filter response below like 24db or so?

IIR seems to be a good choice here because you don't have much coefficients to get desired results. And response curve looks very flat with sharp rolloffs.
-But there is a problem with coefficients, if single form is implemented. DENs are like in the range of 100 and NUMs are in the range of 10^-24. When you take in account that I can use only integer data format (for some reason this blackfin is very uncomfortable with floats) a problem with overflowing arises. This can be (I think) avoided if you use 2nd order of IIR filter and then you make a cascade of them. This just complicates implementation and maybe it's equal to the simple FIR from a standpoint of performance.

So again, FIR or IIR?

2. How to implement Q and center frequency point control?
-These two must be hidden in coefficients and I have no idea how to control them in some analytic way. A 2D lookup table with different Qs and center freq. points with interpolation sounds like a bad idea.
 

Without commenting your considerations in detail, just two points:

A single parametric filter with variable Q and center frequency corresponds to a second order difference equation (harmonic oscillator) and has a simple relation of parameters and coefficients. In so far it suggests a straightforward way to implement IIR parametric filters.

Large fc/fs ratios involve a high coefficient resolution and extra accumulator bits. Floating point numbers could ease the coefficient handling but don't necessarily solve the problem of datapath word width, at least if you think of small float formats. Audio digital signal processing is mostly using fixed point, by the way.

You said you have played around with FIR filters. Did you also consider filters with e.g. 20 Hz center and 48 kHz sampling frequency? Did you look at the required number of coefficients? I don't think that a similar filter can be implemented in a usual DSP without referring to multirate techniques. The example possibly answers your FIR or IIR question.
 
  • Like
Reactions: tpetar

    tpetar

    Points: 2
    Helpful Answer Positive Rating
Without commenting your considerations in detail, just two points:

A single parametric filter with variable Q and center frequency corresponds to a second order difference equation (harmonic oscillator) and has a simple relation of parameters and coefficients. In so far it suggests a straightforward way to implement IIR parametric filters.

I would really appreciate if someone could supply some specific info about this one.I implemented Direct form 1 IIR filter, with second order sections and I would like to know what is the connection between coefficients and Q and fc, so I can control these two.
 

The digital filter design methods are discussed in digital signal processing text books, e.g. Oppenheim or Stearns. Most practioneers don't want to be bothered by too much theory and are referring to calculation tools, Matlab/Octave or a specific filter tools like Nuhertz Filter Solutions.

The said simple relation of equation coefficients to filter parameters exists primarly for the time continuous s-domain description. z-domain transfe functions have a similar form, but the exact equivalence is achieved by a transformation, bilinear transformation is achieving best fit in frequency domain.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top