Sunday, August 25, 2013

Polysix - Frequency Response with Deeper Bass

In my previous post, I modified my Korg Polysix to strengthen the deepest bass frequencies.  The key is to bypass (or remove) C61 on the KLM-368 Effects PCB.  In my previous post, I attempted to show the frequency response due to this modification, but the graph was pretty poor.  Today, I have taken new measurements and made a much better graph.  Now we can clearly see the effect of bypassing C61.

Lower Cutoff Frequency:  This graph clearly shows that the low-frequency cutoff for the synth drops substantially by bypassing C61.  As measured at the -3dB point, removing C61 drops the cutoff from about 62 Hz down to about 20 Hz.  This means that removing C61 extends the deepest bass frequencies.  Whether or not this is a good idea is up to you.  For me, after living with it for a few more days since my original post, I like it.  I think that I will keep it.

Let's talk about some details of the measurement technique...

Measurement Approach:  By treating the Polysix as a "black box" system, I evaluated the frequency response by measuring the transfer function of the "black box".  I did this using a standard technique -- I injected a known broadband signal into the system and I recorded the output signal that was generated by the system.  Comparing the output to the input yields the transfer function.  By looking at the transfer function in the frequency domain, you get the frequency response of the system.  In this case, of course, the "system" is my Polysix.

Injecting the Test Signal:  All of the circuits that interest me at the moment are on the KLM-368 Effects PCB.  To measure its frequency response, I need to inject my signal before the audio pathway gets to KLM-368.  I chose to inject my signal at the end of Voice 1 on KLM-366, just before it is mixed with the other voices and sent off to KLM-368.  As seen in the picture below, I injected my signal at R133.  To allow my signal to mix properly into the synth's audio path at this point, I used a 10K resistor in series between my computer (which is playing the signal) and the green clip lead shown in the picture.  For the "output" of KLM-368, I simply recorded the main output of the synth because there is very little circuitry after KLM-368.

Injecting my Signal on the Lower Leg of R133 (the Green Clip).  Not shown is the 10K Resistor Between my Signal Source and the Green Clip.
Processing with Matlab:  To produce the frequency response graph shown at the top, I processed the audio recording of the input signal and of the output signal using Matlab, which is unfortunately not cheap nor readily accessible.  It is a very good programming environment for doing this kind of signal processing, but there are other choices.  The Matlab functions that I needed are the FFT function (which converts time-domain signals into frequency-domain signals) and Matlab's plotting functions.  As an alternative to Matlab, I believe that this analysis could be easily done in Octave (which is free) because it has a perfectly fine FFT function, as well as, perfectly fine plotting functions.

Compute the Transfer Function:  Whatever computational tool you use, the core of the calculation is to take the FFT of the output audio and divide it by the FFT of the input audio.  This division operation in the frequency domain yields the output/input transfer function of the system being measured (in my case, KLM-368).  Take the magnitude of the transfer function, plot as "dB", and you've got the amplitude response as a function of frequency.  This is what I show in my graph.

Chosing the Input Signal:  For anyone who has made these kinds of measurements before, you know that there are several different choices for "broadband" input signals that one can use.   Ideally, the input signal is flat in the frequency domain, so that any deviation from a flat output is most easily assessed.  The typical choice is to use either a linear frequency sweep or some random white noise.  Personally, I like to use noise.

Maximum Length Sequence:  In the category of "random white noise", I chose to try something new...instead of traditional Gaussian white noise, today I tried using a Maximum Length Sequence.  Unlike traditional white noise, which is only truly flat in the frequency domain after lots and lots of averaging, an MLS sequence is designed to be perfectly flat within whatever fixed period of time that you'd like.  As a result, you get much smoother results in a much shorter recording.

Smooth MLS Results:  I generated a sample of MLS using the "MLS.m" routine downloaded from the Matlab File Exchange. I generated the sequence and saved it out as WAV file, just like I would do for any other noise sample.  After running it through the synth and processing the results, I get the very nice graph seen at the top of this post.  This is the first time that I've used MLS and, given the smoothness of the graph (copied again below, but with different annotations), I like how the results turned out.

One More Look at the Graph:  OK, sorry for the digression about transfer functions and maximum length sequences.  Let's get back to the results at hand.  However I got there, this new graph shows the frequency response of the synth much better than my old one.  It shows that the effect of bypassing C61 is substantial, but only at the deepest frequencies.  As a secondary result, I also see that the KLM-368 PCB (with or without C61) produces a sizable boost seen in the treble frequencies.  I believe that this is the effect of Korg's built-in treble boost that was discussed in this older post.  I'm going to address this "feature" in another post later.

Update: I decided to properly bypass C61 using a jumper wire instead of my clip leads. See here.

No comments:

Post a Comment