Vocoder – A Holy Grail Project, Part Two

Technology
Vocoder – A Holy Grail Project, Part Two

Catch up with Part One
By Ray Wilson

Screen Shot 2013-10-25 at 3.54.04 PM

So how did I come up with the filters for the vocoder? I started out by consulting one of my all-time favorite books, Don Lancaster’s The Active Filter Cookbook, since I knew I’d need active bandpass filters for the vocoder. I decided on the “multiple feedback bandpass filter” design since it would give me the Q and the gain I needed using one op-amp per filter. I experimented with the filter on a breadboard for a while to see how changing the components affected the response.

My next move was to look on the internet for active filter calculators since, as we all know, if you can imagine it, someone probably has a web page dedicated to it. Sure enough, there are several tools out there. The ones I found most useful were these:

OKAWA Electric Design’s Filter Calculators, Texas Instruments FilterPro, and WEBENCH Filter Designer.

I used the first two extensively, but found the third as well and it looks interesting and useful, so you might want to check it out for yourself.

The difference between the tools is this. Texas Instruments’ FilterPro takes in your filter parameters and then designs the filter for you coming up with a set of component values. You can change a value in the solution filter, but then the program recalculates the values for the other components to meet the original filter criteria, which was entered at the beginning of the wizard-driven design process.

The OKAWA supports a bidirectional design process allowing you to enter whatever component values you want and shows you the resulting filter characteristics or takes in filter criteria and calculates the component values necessary to meet them.

Regarding Texas Instruments’ FilterPro, I didn’t explore to see if you could just enter values and have the program tell you what the resultant filter’s characteristics would be. I’m certain that I only scratched the surface of what FilterPro can do. It’s a free download that will definitely help your synth-DIY filter work.

After experimenting with many filter band configurations, I hit on one that I liked. It consisted of the following filters (all are multiple feedback designs):

3330 Hi-Pass Gain = -2.13 Q = .88
2546 Band-Pass Gain = -2.8 Q = 4.48
2001 Band-Pass Gain = -3.15 Q = 5.16
1495 Band-Pass Gain = -3.4 Q = 3.2
1013 Band-Pass Gain = -2.8 Q = 3.9
720 Band-Pass Gain = -2.8 Q = 3.7
542 Band-Pass Gain = -3.12 Q = 3.75
395 Band-Pass Gain = -2.5 Q = 3.7
285 Band-Pass Gain = -3 Q = 3.55
208 Band-Pass Gain = -2.4 Q = 4
154 Band-Pass Gain = -2.4 Q = 2.96
101 Lo-Pass Gain = -2.55 Q = .55

The circuitry in the vocoder can be adjusted for the variations in the channel gains and the Qs are such that the bandpass filters overlap sufficiently but not overly between bands. Q is essentially the bandpass filter’s center frequency divided by the bandpass filter’s passband bandwidth.

For example, the 1013 hertz channel’s Q of 3.9 can bring us back to the channel’s passband bandwidth. Dividing 1013 by the Q (3.9), we obtain the passband bandwidth of 260 Hz. Thus a signal applied to the filter will have maximum output amplitude at 1013 Hz and will roll off to -3dB at 1013 +/- (260/2) Hz.

The filter will continue to roll off in both directions at a rate dependent on the Q. High Q filters are more selective (and roll off faster) and low Q filters are less so (and roll off more slowly).

I started off with the Texas Instruments FilterPro tool and used its design wizard, which leads you through entry of the pertinent filter characteristics. I accepted the defaults for all but these parameters:

• Gain
• Center Frequency
• Passband Bandwith
• Option Filter Order – (Set Fixed at 2)

In FilterPro’s solution schematic view, remember to change the component tolerance specifier selections. I selected E24 – 5% resistor and capacitor values. I did this so I could actually find the components in the filter solution’s values. If you forget, you will be given exact solution component values which will most likely not be obtainable.

When FilterPro would display its solution component values, I would often lower the capacitor values by a factor of 10, causing the program to increase the solution resistor values to maintain the originally entered filter characteristics. After calculating the necessary component values with FilterPro, I recorded them on a worksheet.

After calculating the filter’s components using FilterPro, I would browse to the OKAWA Electric Design’s Filter Calculators website and enter the values into their calculator to obtain the actual center frequency, gain, and Q value. The FilterPro program tries its best to hit the target values using the specified tolerances (E24 – 5%) but the OKAWA calculator will show you the actual filter characteristics of the values entered.

I noted that while I was often a few hertz away from ideal, gains were very close and Qs were always well within the ballpark. I adjusted a value or two in the OKAWA calculator a time or two to bring center frequencies closer to what I wanted, but these were all small value changes from the ones obtained using FilterPro.

With this knowledge, you can experiment with the filter characteristics of the MFOS vocoder if you want to. With winter coming on and my project queue in the OK-what’s-next state, I’ll probably have time to do some experiments myself this winter. I have my prototype vocoder board completely populated but I may see if adding additional filters increases intelligibility (a never-ending goal).

Talk to you next time.

What will the next generation of Make: look like? We’re inviting you to shape the future by investing in Make:. By becoming an investor, you help decide what’s next. The future of Make: is in your hands. Learn More.

Discuss this article with the rest of the community on our Discord server!

ADVERTISEMENT

Escape to an island of imagination + innovation as Maker Faire Bay Area returns for its 16th iteration!

Prices Increase in....

Days
Hours
Minutes
Seconds
FEEDBACK