2
\$\begingroup\$

I have a school project that i need to separate musical notes with filters at least i thought that i can do it with band pass filter, here are the results

These are the resistor and capacitor values that i calculated for note frequencies enter image description here

These are first two band pass filters enter image description here

And this is my problem these are Vout values and they are so close to each other. I want to connect a LED for to every output that will be on at max vout value, i need your suggestions what should i do about these values. enter image description here

\$\endgroup\$
  • 2
    \$\begingroup\$ You might want a higher-Q filter for this purpose. \$\endgroup\$ – Hearth May 10 '18 at 22:21
  • 1
    \$\begingroup\$ Please don't try to separate many frequencies in analogue hardware! This is really a job for DSP. If you are only trying to detect the difference between two pitches, then hardware isn't awful, but more than that and it will become overly-complex. \$\endgroup\$ – loudnoises May 10 '18 at 22:34
  • \$\begingroup\$ Maybe this was a trick question from your teacher, to realize the limitations of analog filters and filtering, in general. \$\endgroup\$ – a concerned citizen May 13 '18 at 6:56
1
\$\begingroup\$

Those are technically second-order filters, but because they're band-pass, it's like a first-order high-pass combined with a first-order low-pass; your filter just doesn't roll off fast enough as you move past the "cutoff" frequencies.

A filter order like that might be ok for a crossover network, where you can accept a fair bit of energy past the cutoff frequency, or a hypothetical application where you wanted to separate a 100 Hz tone from a 10,000 Hz tone, but for tones as close to each other as 941 and 1,026 Hz, you need a much steeper rolloff, which is going to mean a higher order filter. Also keep in mind as you increase the order that filter coefficients producing steeper gain rolloffs for the same filter order (say, a Chebyshev as opposed to a Butterworth or Bessel) tend to have more ripple in the pass-band, which can also make separation of nearby tones worse.

As loudnoises has mentioned, high-order filter implementation is often done in software (via DSP) as it is often easier to implement the math for, say, a 12-th order filter than it is to deal with all the parts for a 12th order physical device.

If you just want to "try out" some other potential hardware designs anyway, Texas Instruments had a free tool to recommend values and show performance once values were selected, but it looks different than it did the last time I used it.

\$\endgroup\$
1
\$\begingroup\$

Musically, from one semitone to the next is a frequency ratio of \$^{12}\sqrt2\$ or, in real numbers 1.059463 i.e. semitones are spaced about 6% apart and that is really difficult to filter with an analogue circuit. Consider this picture below. It is a low pass-flter with high resonance made from an inductor, resistor and capacitor: -

enter image description here

Calculator source

I have set the peaking frequency to be 1.059463 kHz and I've moved the cursor to precisely 1 kHz BUT, even though this is a really peaky filter there is only 20 dB attenuation between 1.000 kHz and 1.059 kHz and this is something you will have to face up to. What you are wanting to achieve is something that is really hard to achieve in analogue electronics.

Sure you can convert the above RLC circuit to op-amp filters but the exactitude of component values makes the implementation a nightmare.

Consider that what you are attempting to do is really the same as a commercial graphic equalizer but consider also that analogue graphic equalisers haven't got a resolution better than one-third of an octave i.e. a frequency change of about 26% between consecutive bands. Semitones require a little less than 6%. This is a tall order using analogue components.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.