Recent Posts

Easy to Customize Universal Low Pass Filter

The circuit below shows an active low pass filter that is universally applicable. Only 4 equal (!) resistors needs to be changed to change the filter corner frequency fc. It uses only standard parts, is suitable for a large supply voltage range and needs only a modest 2mA of supply current.

R2, R3 and R4 set the input bias voltage at half the supply voltage. R5-R8 and C3-C6 are the low pass filter network. C3, C4, C5 are bootstrapped to provide a sharper roll-off. Q1 and Q2 are a series-feedback pair and function as a ‘super’ emitter-follower. A standard emitter follower has a gain of ≈ 0.90 … 0.95x. This ‘super’ emitter follower has a gain of ≈ 0.99x. Just like an OpAmp with feedback, in this series feedback amplifier, the feedback increases the input impedance, lowers the output impedance, stabilizes gain and lowers distortion. Not bad for a single €0.10 transistor that is added!

PA3COR - Universal RC Low Pass Filter fc = 3.3KHz
PA3COR – Universal RC Low Pass Filter fc = 3.3KHz

An OpAmp has a relatively good rejection of noise on the power supply rails (Power Supply Rejection Ratio). This feedback pair is not so good at that. For noise coming from the power rails. Q2 can be thought of as being a grounded base amplifier. To remedy this, the power rail and the bias network are decoupled. The voltage divider R2 and R3 are relatively high impedance and are decoupled with the large capacitor C2, The time-constant of R2//R3 * C2 is 5 sec, which might be a bit too long but it provides good attenuation of noise from the power rails. The incoming power is decoupled with R12 and C8. The input voltage can be anything between 8V … 24V. The power consumption is circa 2mA at 9V, rising to ≈5mA @ 24V. (Be aware of the working voltage of capacitors C2 and C7). The low-end corner frequency is set by C1 and R4 and is circa 35 Hz.

The formula to change the cut-off frequency fc is :

\[ R_5=R_6=R_7=R_8 = \frac {12900 }{f _c [Hz]} [ k \Omega ]\] \[ C_3=C_4=C_5=C_6 = 4.7nF \]

And here are the measurement results! As you can see the lower fc is indeed around 35Hz. The passband gain is (very close) to 0 dB. The upper -3 dB point is around 3500 Hz. It might seem the filter slope is gradual but don’t be fooled! The vertical axis is displaying over 100 dB….

PA3COR 4th order RC Low Pass Filter, curve
PA3COR 4th order RC Low Pass Filter, curve

And the obligatory PCB photo :

PA3COR - RC Low Pass Filter fx=3.3 KHz
PA3COR – RC Low Pass Filter fx=3.3 KHz

Do NOT use this filter if:
– you want the steepest roll-off. Use a Chebyshev instead or use a LC elliptical filter (see 40m DC receiver (2) for an example
– you want a high output drive. The quiescent current through Q2 is only 2 mA

1 transistor CW – filter

You cannot get it more simple than this, a 1 transistor CW filter. This filter is build according to the (surprise !) Multiple Feedback BandPass Filter (MFBPF) topology. Below, you see the circuit, originally designed by KE3IJ (alas now SK).

Transistor R1, R2 and R3 together with C1 and C2 form the standard MFBPF topology. R3 is part of the feedback network and doubles as the resistor to set the bias current. The open-loop gain of a single transistor is much smaller than of an opamp, of course. So the measured values for center frequency fc, Q and especially gain might differ somewhat.

It was build dead-bug style on a piece of copper clad board. Turns out there was an error in the circuit and fc was set around 485Hz (not 700Hz as advertised). Also I wanted to have a gain of ≈ 1x. So I changed the values from R1 and R2 to 82k and 2k2. The simulated gain is now -2 dB (≈ 0.79x).

PA3COR - One transistor CW filter, 2x
PA3COR – One transistor CW filter, 2x

Below the measured actual response. This is from two stages, so that I could compare it to the previous designs. Gain is circa -5 dB and center frequency fc is circa 830 Hz.

PA3COR - One transistor CW filter
PA3COR – One transistor CW filter

All in all a pretty nice filter that can quickly be build. it is nice variation on the MFBPF topology theme and might come quit useful. Even though the overall gain is little lower then aimed for!

40m DC Receiver – CW Filter

So after studying some designs of multiple feedback band-pass filters for CW by other designers (see my previous post), I’ve decided to try my hand at designing and building one myself. Actually, I’ve made two different versions. The first one is designed by myself and is a two stage filter with an fc of 750 Hz. The second one is the filter designed by Tom Hall GM3HBT and published in Ham Radio Today 1987. I selected this filter because the gain ( ~1x), the center frequency ( ~750 Hz) and the Q / bandwidth ( ~5x / 100Hz).

[ kΩ ]
[ kΩ ]
[ kΩ ]
[ nF ]
[ ]
[ Hz ]
[ ]
[ Hz ]
13. GM3HBT2-3390128202.21.17404.20176
Overview of MFBP CW filter found in radio literature –

Tom Hall GM3HBT

The design by OM GM3HBT is a 2 or 3 stage filter. Tom claims a center frequency of fc of 740 Hz and a filter bandwidth (presumably 2-stage) of 120 Hz. The filter was build on a 9 x 6 cm of Perfboard. Input on the left, output on the right. The power supply connection is at the left down and should be somewhere between 9V and 18V and well stabilized. The capacitors were not selected but randomly grabbed from stock.

PA3COR - 3 stage CW filter by GM3HBT
PA3COR – 3 stage CW filter by GM3HBT

The filter was measured with my soundcard interface and the excellent audiotester V3.0 software. The results are show below:

PA3COR measured 3-stage MFBPF CW Filter GM3HBT
PA3COR measured 3-stage MFBPF CW Filter GM3HBT

The results are actually pretty impressive! The measured maximum obtained attenuation is around 94 dB! The second ( unconnected ) channel shows a gradual increase above 1.5 kHz. and so does the actual measured channel. So the maximum measured attenuation is most likely limited by the measurement set-up and not so much by the filter. The peak is around 760 Hz and the -3 dB around 100 Hz. So all pretty nice!

After this I discovered the audiotester software also does also have the ability to send a sine burst and test the impulse response. The software was set-up to send a burst of 35 sine waves with a frequency of 750 Hz at a level of 0dB

PA3COR measured 3-stage CW filter impulse response of GM3HBT filter
PA3COR measured 3-stage CW filter impulse response of GM3HBT filter

The builtin ‘scope’ was set to 10ms/div horizontal and 200mV/div (vertical). I have my doubts about the last spec, for I have never tested it or calibrated my soundcard. However, for this test this is not important. In the graph, you can see 35 sine waves before the output start to decline again. It takes slightly more than 1 division before the output has stopped ringing, so about 11-12 msec.


This is a 2-stage MFBF filter with a gain of 0 dB (1x). The gain was chosen deliberately so that it can be inserted in an existing receiver. The center frequency fc was set to circa 750 Hz. It was build on a piece of single-sided copper-clad board. Designs build in this way tend to be a bit larger than as build on Perfboard. It is more easy to swap out components and to experiment with values, however.

PA3COR 2-stage CW-filter
PA3COR 2-stage CW-filter

Below you can see the measured filter response. The sides are less steep as the GM3HBT design. This expected as this is only a 2-stage filter vs the 3-stages from GM3HBT.

PA3COR measured 2-stage CW filter
PA3COR measured 2-stage CW filter

As you can see the gain matches pretty nicely and is close to -0.5 dB. The center frequency is a bit higher. This might be because the capacitors selected (see below) were 9.48 nF and the 10 nF the filter was designed for. In practice this will make little to no difference.

Matching components

To get the best results (or at least results that are best matching with theory) it is sometimes necessary to use parts with close matching values. To get best matches, I use the following three step approach:

  1. Measuring
  2. Sorting
  3. Grouping

1. Measuring

This is actually the most labor intensive part of the process but still it only need to take about 30 mins or so. I would recommend to take group of maybe 10x the desired number of matched components. For a two stage filter with each 2 matched capacitors, I would go for a batch of about 40 capacitors. Then just measure the value with your desired instrument, this can be a multimeter with capacitor function and RLC tweezer set of some sort or whatever you have on hand. Measure the values and write them down (my preference is to write them down and later transfer the data to a spreadsheet, whatever works best for you)

2. Sorting

If not already done at 1) above, transfer the data to your favorite spreadsheet program on your computer. I prefer OpenOffice Calc because of the truly open file format. Not absolutely necessary but I prefer to add an index number in front of the column with measurement values. This will help to find back the part later on more easily. You should end up with something like the data in the left. Now sort the data off the measured capacitors. You should end up with something like the sheet on the right.

Matching – step 1- measured
Matching – step 2 – sorted

You can clearly see that the measured capacitors are now listed in ascending order.

3. Grouping

We now want to select a group of 4 capacitors (2 for each filter section), that are as close together as possible. Of course, we can manually browse through the table and the fact that the data is now ordered will help us greatly. A little bit of spreadsheet math will help us greatly. We calculate the standard deviation of 4 consecutive values of column C (Values). We now, only need to pick the lowest value to get the 4 best matching capacitors of the lot. In cell D12 we can see an SD value of 0.000 meaning there are 4 capacitors with the same value (see cell C12-C15).

So there you have it! A simple 3 step approach to finding matching capacitors from a lot.

Soundcard Interface

Coming soon

Multiple Feedback Band-Pass filter

Band-pass filters are filters that are designed to let only a certain set of frequencies pass through. Overtime a myriad of different topologies have been developed by some very creative designers. Passive vs active, RC-filters vs LC filters, combinations of low pass and high pass filters, with gain and without gain, etc. One of the topologies that are often used for CW filters in receivers is the multiple feedback band-pass filter :

Continue reading Multiple Feedback Band-Pass filter

40m DC-receiver – What’s next?

Now that the basic receiver is working, what do I want to add to consider the receiver ‘complete’ ? This is the current set-up :

The following things I would like to add:

  • S-meter : shows the strength of the received signal. Based on AF signal
  • CW filter : Multiple Feedback Band-Pass filter, 1 or 2 stages, centered around 750Hz
  • Audio Amp – current the bench utility amp is used with a gain of 20 dB.
  • Keypad – Add 3×4 Keypad much like the K-225 keypad as found in Lowe HF-255 receivers

40m DC-receiver – VFO

So the receiver is alive and kicking and I have received amateurs from The Netherlands, UK and Italy on a simple 10m wire antenna. However, the VFO is comprised of a Siglent SDG1032X function generator from work. Hardly a self-contained solution!
After an article by Bill Merea in the GQRP Sprat magazine, I’ve decided to go for a digital VFO. The clock generator is based on a Si5351 module. The I2C interface is controlled via an Arduino Nano board together with a Groove I2C LCD.

Continue reading 40m DC-receiver – VFO


An attenuation network is often used in devices like a (digital) voltmeter, in oscilloscopes, etc. It offers the possibility to expand the input range of the measurement tool and thus makes it more versatile. Usually the attenuation network is build with a couple of resistor as shown in fig. 1. If the input resistance of the rest of devices is considered indefinite (as for example with a J-FET) the voltage is Vo=Vi*R1/(R1+R2). This works very well with DC-voltages.

However, with AC-voltages, things are not quit that simple. There are parasitic capacitances that ruins this simple setup. Figure 2 shows what is happening. For a DC-voltage this setup still works. However, with an AC-voltage it now becomes different. The total resistance is now the parallel impedance of the resistor and the capacitance and is thus lower. The meter will thus show a lower reading and the accuracy of the instrument so carefully constructed is down the drain….

However, this can easily solved by adding some more capacitors. Yes, you read it correct even more capacitors!

\[R_1C_1 = \tau_1 \] \[R_2C_2 = \tau_2 \] \[ Z_1 = R_1//C_1 \] \[ Z_1 = R_1//Z_{C1} = { {R_1 {{1}\over {j \omega C_1} }} \over {R_1 + {{1}\over {j \omega C_1} }} } = {{R_1}\over {1+j \omega R_1C_1} } \] \[ Z_2 = R_2//C_2 \] Likewise : \[ Z_2 = R_2//Z_{C2} = {{R_2}\over {1+j \omega R_2C_2} } \] \[ {{V_o}\over{V_i}} = {{Z_2}\over{Z_1+Z_2}} = {{ {{R_2}\over {1+j \omega R_2C_2} }}\over {{{R_1}\over {1+j \omega R_1C_1} }+{{R_2}\over {1+j \omega R_2C_2} } }} \] \[ \tau_1 = \tau_2 = \tau \] \[ {{V_o}\over{V_i}} = {{ {{R_2}\over {1+j \omega \tau} }}\over {{{R_1}\over {1+j \omega \tau} }+{{R_2}\over {1+j \omega \tau} } }} {{1+j \omega \tau}\over {1+j \omega \tau}} \] \[ {{V_o}\over{V_i}} = {{R_2} \over {R_1 + R_2}} qed \]

Milliohm meter

This is a simple but accurate milliohm meter with a range of 0 – 2000 milliohm (= 2 Ohm). It has a typical accuracy of 2%-3%. Unlike other designs this circuits doesn’t use large currents to measure these small resistances. So there is no risk to damage components. A small alternating current is used to excite the resistance under test. This AC voltage is then amplified with a common OpAmp AC gain block. Therefor the OpAmp DC offset voltage doesn’t come into play. It can be used to measure contact resistance of coax connectors, relays, switches, etc. It is powered from 2 9V / 6LR61 batteries.

Milliohm meter – block diagram – pa3cor

The circuit is build up with 5 separate blocks that can be build and tested sequentially. A square wave oscillator with 50% duty cycle and two complementary outputs. The non-inverted output switches the 10 mA current-source on and off. This current is passed through the unknown resistance. The voltage drop is then amplified 200 times. The output of OpAmp is then rectified by the synchronous rectifier (more on this later). The DC voltage still contains some switching artifacts and is then smoothed out by a 3-pole low pass filter. The resulting smoothed DC voltage can then be offered to a 3 1/2 DMM or an analog meter.

Continue reading Milliohm meter

40m DC receiver – “It’s alive!”

With a three day Pentecost weekend and my wife away on a camping trip with my son, I had some time to look into the receiver again. With the previous series of tests, I’ve found that product detector was working fine and featured good conversion gain. The LO oscillator injection was flawed because the 74LS132 was behaving incorrectly. I could use my work-horse the PM5134 20MHz function generator. Because the frequency setting is a bit course, I risked the chance of missing a signal in band and thus still not knowing the outcome. Therefor I borrowed the Siglent SDG1032X DDS function generator from my work.

I decided to focus on the hart of the receiver, the product detector, first. I hooked up my random length wire antenna to the gate of the J-FET, the function generator to the control inputs of the switches and a utility bench amplifier to the OpAmp output. (Max gain of 20dB) . I started at 7 Mhz and slowly increased the frequency up to 7.3Mhz. Although I definitely received some signals, it all sounded heavily distorted, except for CW. Connecting a scope to the output of the OpAmp showed some serious clipping. I decided to lower the OpAmp gain by increasing the resistor back again to 2k2. The gain is now Av = 46x = 33dB. This definitely improved the situation, weaker signals were now understandable but strong signals still featured clipping. Therefor I decided to add a RF gain pot to the input of the JFet. After playing around a bit, I’ve found that setting this 1/4 is sufficient in most cases.

With these changes I was able to receive signals all over the 40m band. Within 25 minutes I picked up signals from hams from the UK, Italy, Netherlands and Germany and possible a couple from the USA. By this time it was already 2345h, time to shuffle off.

Next, I’ve added the audio low pass filter to the output of the OpAmp. This definitely improved the audio quality! Much of the annoying high frequency noise was gone. CW signals are now much better to copy for only a smaller part of the band is received. There is still some 50Hz/100Hz hum picked up. Which is almost unavoidable with a receiver lying open on the bench. I realized that there are only low pass filter functions in the gain chain. The corner frequency for the OpAmp is set by Rx and Cx and is set at 0.7Hz… I’ve decided to decrease Cx to 0.22uF, the -3dB point is now set at 330Hz, much better!

Recalculating all RC filter points again, I realized that the input filter to the difference amplifier, also needed to be changed. The current filter point is set by R6+R7 and (C4 + C5//C6) and is only 2.6kHz. Which is fine for CW listening but cuts of a tad too much for voice signals. Therefor C4 was lowered to 4n7, giving a -3dB frequency of 5.1 kHz.

40m DC receiver Rev-C

Next step is to build a local oscillator: one VFO to rule them all!