Sunday, January 12, 2025

Adapting a Commercial Narrow SSB Filter for Homebrew Use: ICOM FL-80


I am a long time follower of the Soldersmoke podcast with Bill Meara N2CQR, Pete Juliano N6QW, and now Dean Souleles KK4DAS.  Pete has been kind enough to correspond a number of times with me on idle curiosity and questions that have arisen from the various topics Bill, Pete, and Dean have discussed.  (Sometimes, these topics actually are of considerable use in my day job .. but I digress.)

Recently, Pete alerted me to the availability on eBay of surplus narrow SSB filters at useful IF frequencies, culled from people parting out broken radios.  One of the best/sharpest of these is a narrow 2.4 kHz (-6 dB point) SSB compatible filter, the Icom FL-80.  Under normal circumstances, this was paired with another narrow SSB filter further down in the receiver chain at 455 kHz, the FL-44A, to enable their famous Passband Tuning (PBT) control.  However, the FL-80 is useful on its own for home-brew applications.

It sports a very nice Q of (9.0115 MHz / 2.4 kHz) = 3,754.  My skills at IF filter construction have a long way to go to reach that level of performance, so on Pete's suggestion, I picked one up - at a bargain price - for RF playing around.

So three things came to mind immediately:
  1. How to match the impedance in/out from 50 ohms behind and ahead of this filter?
  2. How to come up with a convenient mechanical interface, both for characterizing the filter and for use in home-brew constructions?
  3. How to verify that the passband is that narrow?

Let's tackle each in turn.

1. Matching in/out filter impedance

Since this filter came with no documentation, I first tried looking up schematics for rigs like the IC-781 which use this filter in the IF stages.  That ended up being not too informative.  

Upon further reflection, I realized that Inrad makes replacement IF filter stages for a number of radios, including a line of narrow SSB ones at the ~9 MHz IF frequency.  A quick email to Inrad revealed that their discontinued Icom 2.3 kHz SSB IF filter (#110) had an impedance of 1000 ohms, which is not that unusual, so I settled on that as the target filter impedance.

As Pete advised, the match from 50 ohms to 1000 ohms at 9 MHz can be accomplished with a mix 43 ferrite toroid, such as the FT50-43, using a solenoid winding (auto-transformer) with a 9:2 winding ratio.  This provides (81/4) = 20.25 times impedance match, which is almost perfect compared to 1000/50 = 20.

I wound two of these toroids in short order, leaving a loop at 2 turns for the 50 ohm side (the full 9 turns will go to the filter input or output).  My toroids all come from the "Toroid King", Diz at kitsandparts.com.  Handy tip: the toroid calculator also provides an estimate for how much magnet wire you'll need, so you can remain economical.

2. Interfacing the filter

Even though Pete does not completely trust it, I planned to use my NanoVNA-H4 with updated firmware to characterize the filter, which uses 401 points across the stimulus range.  I've compared the H4 to precision grade $$$ test equipment, and find that the Nano is an accurate instrument if you understand its limitations - one of which is significant inaccuracy in measurement if the impedance of the device under test is far away from 50 ohms (either direction, high or low).  Fortunately, this was not going to be the case since we are using toroids to transform impedance.

A few years ago, since my fingers don't always have maximum dexterity, I invested in a very convenient VNA testing jig for the series of bandpass and low-pass filters made by Hans G0UPL at QRP Labs.  The jig was created by Lex PH2LB, and looks like this:



There are convenient, quick jumpers on the board to use when you are calibrating the VNA for various start/stop frequencies (Open/Short/Load/Isolation/Thru) and the 50 ohm load is built in.  You can also see that the In and Out are set up to be perfectly plug-compatible with QRP Labs filters through 4 pin 0.1" spaced headers.  The jig was perfect for my needs, and the mechanical interface would also be useful later when applying the filter in a home-brew setup.

So I ordered a LP filter board/kit for less than $5 from QRP Labs, and it arrived in just over a week from Turkey!  (International FedEx shipping is remarkably quick including customs clearance).  This got me the following bare board:



The second step was to figure out how the board could be adapted for my use.  From the amazingly detailed kit instructions (a hallmark of all G0UPL's work), this is the schematic for the LP filter:



I was going to have no capacitors and only two toroids - L1 and L3 equivalent in the above diagram - with the FL-80 in the middle between them - the 7t here refers to the turns above the 2t, so a total of 9 turns on the filter side:




After a minute or two, I realized things could be hooked up this way (using the kit wiring diagram):



(The two connections for "2t" come about because I twisted a loop in the wires when winding the autotransformer; this way, I could just cut them to length and plug the two wires into the two marked plated holes.)

Out came the soldering iron, and this somewhat hacked-up board emerged:





You can see the two 9:2 wound toroids on either end and the wires going off to the filter in the middle, where C2 and C3's connections were.  (The In and Out of the filter connect between L1 and L3.)

Here's a view plugged into PH2LB's interface.  Yes it's a bit mechanically unstable; I'll try to fix that when putting it to actual use, and shorten up the connection wires where I can.



3. Filter Performance

Now that the board was ready, it was time to characterize it.  Here are the S21 (e.g. through response) results with the NanoVNA-H4, all centered at 9.011 MHz (OK, I was a little off in the center frequency.)

First at 1 MHz span:




Next zooming in to 100 kHz span:




Let's go in further to 50 kHz span:




Finally, 10 kHz span:




The filter looks very good and the markers in the last plot indicate that it is indeed about 2.1 kHz wide at 3 dB down; if I had remembered to check 6 dB down, I would have found it to be very close to 2.4 kHz.  There are some wiggles in the passband but I chalk those up to some of the deficiencies in my wiring, capacitive strays on the toroid, or other non-idealities.  Plenty good enough for experimentation!  

Filter loss is just over 8 dB, which I will take care of in actual implementation through a preamp in this IF filter stage.

Finally, the filter is probably cutting off well below 30 dB on the wings, but the NanoVNA's limitations in measurement are showing here.  It's more than good enough for me to conclude things are working properly.


Conclusion

This approach is a pretty good way to get a spectacularly narrow IF filter for your own RF creations.  It's also good because the Icom people did the hard part!  Yes, one can build your own IF filter, but this is also a nice approach to use and to compare with your own home-brew efforts.

Thanks as always to Pete N6QW for information and wisdom.

Monday, February 19, 2024

Statistics of Parts Sorting

 [Today I was listening to SolderSmoke podcast #250 and was shocked to find my name mentioned for the 10m AM conversion I have been doing, as documented here.  I'm famous now!]

During the podcast, the trio mentioned the need to pay attention to the quality of the parts one orders from various sources, some with better results than others.  This reminded me that some people haven't really thought that much either about what it means when you buy a part at a given tolerance - e.g 1%, 5%, etc.

What you get actually depends critically on how the parts sorting is done.  Let's demonstrate.  This is a plot of 10,000 resistor values, with 100 ohm target and assuming a 10% Gaussian distribution:


Now the factory selects their 1% grade parts and puts them aside in a bin.  What's the distribution now look like?


Not bad; the 1% didn't take many out so that on average, you're still looking at Gaussian approximate distribution of the parts.  So a selection taken at random here from the parts left still has about 100 ohm mean with 10% variation.

However, now let's do a second bin sorting and take out all the 5% parts.  What's left for the hapless 10% "floor sweepings" tolerance buyer?

Decidedly NOT a Gaussian distribution any longer.  It's bimodal.  In fact, as you can see, you get parts with two means: 111.63 ohms, and 88.60 ohms!  The distribution around those values also looks really Poisson to me, no longer a bell curve.

So depending on how the sorting is done at the factory, you can end up with large gaps in the values of the parts you might naively think are 10% distributed - which in this case is definitely NOT (100 +/- 10 ohms).  The good stuff disappeared.  It might also make a difference to you if you are expecting to sort parts looking for matches for e.g. building filters, etc. - you'd probably have to buy more parts (twice as many?) to get a good number within some distance of one another.  Think about the distance between those two distributions (vs. the distance within one).

Yet another reason to make sure your designs don't depend critically on absolute part values.

==================================

PS: Here's the Python code that generated the plots, for any who are interested.

#!/usr/bin/env python
#
# Demonstrate effects of parts sorting on statistics of remaining population
# 2024-02-19 PJE
#
import numpy
import scipy.stats
import numpy.random
import pylab
# 10,000 parts with 10% tolerance: 100 ohm resistor
rcenter = 100
tol = 0.1
N = 10000
rp = numpy.random.normal(loc=rcenter, scale=rcenter*tol, size=N)

# plot with overlaid bell curve
def plotdist(rp, rcenter, tol, tstr, fname, pval=None):
    pylab.figure()
    x = numpy.linspace(rcenter*(1-5*tol),rcenter*(1+5*tol),1000)
    n,bins,patch = pylab.hist(rp, bins=500,density=True,label='Parts dist')
    pylab.plot(x, scipy.stats.norm.pdf(x, rcenter, tol*rcenter),'m-',linewidth=4,label='Gaussian distribution')
    if pval:
        # mark means as vertical lines
        for k in range(len(pval)):
            rpsel = rp[pval[k]]
            rpmean = numpy.mean(rpsel)
            pylab.axvline(rpmean, color='r', label='Mean: %.2f' % (rpmean))
    pylab.legend(fontsize=10)
    pylab.grid()
    pylab.xlabel('Resistor value (ohms)')
    pylab.ylabel('Relative number of parts')
    pylab.title(tstr)
    pylab.savefig(fname, dpi=300)

# define a part sorting function.  tol = absolute fraction of parts to take out.
def binsort(x, tol):
    xm = numpy.mean(x)
    indx = numpy.where(numpy.abs((x-xm)/xm) > tol)[0]
    return x[indx]

#######

# plot unaltered bins
plotdist(rp, rcenter, tol, '%i original parts' % (N), 'original.png')

# sort the 1% parts
rpfirst = binsort(rp, tol=0.01)

# plot first sort
plotdist(rpfirst, rcenter, tol, '1% Parts Sort', 'no_1_pct.png')

# sort the 5% parts next
# yes, a bit silly since 1% parts are already gone, but it makes a point
rpsecond = binsort(rpfirst, tol=0.05)

# This is very bifurcated: separate positive and negative populations
posindx = numpy.where(rpsecond > rcenter)[0]
negindx = numpy.where(rpsecond < rcenter)[0]

# plot second sort
plotdist(rpsecond, rcenter, tol, '5% Parts Sort', 'no_5_pct.png', pval = [posindx,negindx])

Converting an 11m CB to Amateur Use: 10m Fun with General Electric (Part 4: Waterfall plots of AM modulation)

As a conclusion to the 10m AM modification blog, here's what the modulation looks like on a waterfall plot when tuned to "channel 12" / 29.025 MHz thanks to my KiwiSDR - transmission distance was about 2 meters into a dummy load across the bench using a clip lead as an antenna:


and here's the demodulated audio (Click here to play).

Notice the carrier is offset by about 400 Hz, probably due to the reference crystal being off in the LO.  400 Hz / 29025 kHz = 13.8 parts per million.  AM cares not!

Now I have to construct a simple coaxial vertical dipole for the acid test: QSO time.  I'll revisit then.


Tuesday, January 30, 2024

Converting an 11m CB to Amateur Use: 10m Fun with General Electric (Part 2: Power Out and AM Mod Depth)

Quick update: testing TX power without a RF power meter.  This is easy.  Hooked to a 50 ohm load (Termaline resistor), clipping onto the output jacks with a scope reveals the AM carrier (unmodulated):


That's channel 1.  The top of the range - channel 40 - is identical:


So Vp-p = 38.4 V.  (38.4)**2/(8*50) = 3.68 W in the RMS sense.  Since this is supposed to be a 5W radio, it's close enough to declare the finals are working.

How does the modulation look?  Here's an unsophisticated test: pump a 400 Hz tone from a cellphone audio generator app into the microphone, held up to the speaker.




Looks pretty deep modulation to me - 80%? 90%? - and no distortion/crossover.  Anyhow, the mod circuit is working fine as well.



Sunday, January 28, 2024

Converting an 11m CB to Amateur Use: 10m Fun with General Electric (Part 1)

I grew up in Schenectady, NY, home of the famous General Electric company and its scientific and technical innovations led out of their Research and Development laboratory, traceable back through Langmuir to Edison and Steinmetz and the beginning of the enterprise.  So when I saw Bill N2CQR's recent work documented on the Soldersmoke blog with converting a General Electric late 1970s vintage CB radio from 11 meter work to 10 meter AM work, I was intrigued and had flashbacks to earlier days.  

This type of project is especially interesting since as we ascend to the peak of Solar Cycle 25, electron density is way up and higher bands like 10 meters (with their accompanying lower noise floors) have now opened up for longer distance contacts.

Off I went to eBay, where I ended up with a pristine GE model 3-5804D, with 2 crystal configuration but importantly the PLL02A chip from a core Cybernet design that has been the subject of a large number of CB conversion projects over the years of this sort.  My find even has the GE front name plate - a must in this case - which apparently likes to detach itself from the radio.



Most of the modifications are CB related - like this one - but we'll be following the prescription for 10m conversion from Jerry K5JC.

The first step is to make sure the radio still works on 11m, and here we encounter our first problem: no response when feeding 12VDC at all.  Then I opened the covers and found something strange: the back DC plug clearly marks "-" and "+" polarity:



Yet inside the radio the red wire was going to "-" and black to "+".  Wiring error from the overworked GE factory technicians?  Or something else?



It soon became clear: someone had reversed input polarity in this radio's past, and had blown the reverse protection diode in shorted mode.  In a fit of desperation, the 'golden screwdriver' came out and they reversed the leads inside the radio - but to no avail, since the diode was gone.  Here it is:



A quick reinstallation of a new diode (used a 1N4007 which has plenty good rating), and reverse the power leads to their proper positions, and the radio came to life.


Using a forceps clamp stuck into the center conductor of the SO239 jack (there's an efficient antenna for you), one of those types with a kilowatt+ "special" amplifier appears on Channel 6, yelling away into their splattered and horribly overdriven set. Yes, that's the CB band - things clearly worked!


Hooking up a calibrated signal generator with AM modulation, we see that the S meter isn't really that far off; -73 dBm is nearly S9.  Good enough for government work, or GE, in this case.  Channels are where they are supposed to be tuned.


Then the final check of the transmit section.  Hooked up to a dummy load, it drew about 1.25 amps at 13.6V from the power supply, so guessing a reasonable power out.  (Power meter was not available right now but I'll check that later.).  Employing my KiwiSDR with a 6 inch piece of wire jammed into the center connector, I listened to the audio.  I did notice on the waterfall that the frequency was low by maybe 1 kHz but for AM, that doesn't matter.  Audio was reasonable quality for this handheld microphone but my ersatz antenna meant that I'm not worrying about it too much yet.  Here's a sample (click to play).

So here ends Part 1: the radio works as intended.  Next step: modification.


Tuesday, January 11, 2022

Repairing an HP E3612A Power Supply

A while ago, I obtained a nice, compact test equipment grade 30 watt linear power supply, an HP E3612A, from a local surplus reseller.  It is of early 1990s vintage and has an attractive output range: 0-60 V at up to 0.5 A, and 0-120 V at up to 0.25 A.  Both constant current and constant voltage settings are available.  (One can directly drive a regenerative one-tube receiver with that upper voltage range!) 




Being HP equipment, it of course will go beyond that range to 90 V on the 0.5 A setting, or even 135 V on the 0.25A current setting.  A former HP employee told me the key to their success was attempting to build things that could outperform the published specifications by at least 3 dB and sometimes even 10 dB, ensuring they would minimize returns that way.  It explains why vintage HP equipment has such a dedicated following and why items from the 'golden age' of HP survive decades in good working order.  The manuals for these instruments are also unbelievably detailed with real schematics and calibration procedures!  Very nice.

This instrument however was not feeling well when I obtained it.  Voltage in either high or low range would not go very high even with the adjustment knob all the way to maximum, and current limiting was not working either.  So I opened it up, and discovered of course the bane of repairing existence: a couple capacitors had failed and leaked all over the board, disabling the regulation circuits.  Cleanup time!

Fortunately, no traces had been eaten through by the corrosive stuff, although some of the traces had their solder mask partially eaten away.  Can you spot the bulging electrolytics C7 and C13?




The problems are evident here when examining C7 close up - check out those nearby traces:


Time to desolder, and while I was at it, time to also replace all the electrolytics (except the very largest ones, which seemed OK and which were also RTV'd down to the board).  Removing the old ones revealed further electrolyte ugliness:



Here's the bottom of C7 after removal.  No thanks - destined for the trash.



The bottom of C13 was no better on the board - nearly took out the rectifier CR9 next door.



With a lot of isopropyl alcohol, KimWipes, and Q Tips, I managed to scrub off the board and remove nearly all the nasty green remnants of the failed electrolytic caps.  Removing the old electrolyte was definitely necessary, as measuring resistance between two parts of the board covered in solder mask would at times give < 1 megohm resistance where one would expect nearly infinite resistance.  (Electrolyte goo is conductive!)  Not a good thing for a power supply.  Here's a typical Q Tip after one pass over the board - ugh:



Things look somewhat better after cleanup.  Traces look damaged but they tested fine.





After my Digikey order came in, I set about replacing all the caps I had carefully removed.  After a quick power check and calibration following the manual's procedure, this returned the E3612A to full service.  Success!  

Here it is putting out over the rated voltage.




Here's constant current mode, using a ceramic 0.1 ohm 5W resistor as a load.



One down, many to go...

Addendum:

For those reading this with a similar supply that is not feeling well, I found some useful Youtube examples of how to get the case open and repair.  These might be helpful.




Adapting a Commercial Narrow SSB Filter for Homebrew Use: ICOM FL-80

I am a long time follower of the Soldersmoke podcast with Bill Meara N2CQR, Pete Juliano N6QW, and now Dean Souleles KK4DAS.  Pete has been...