Posts Tagged filter
Idiom Press SCAF-1 Audio filter
Posted by jeff in Shack Stuff on August 24th, 2010
Recently I was researching computer rotor interfaces and happened across the website of Idiom Press, who makes a product called Rotor Card. While browsing their site I found that they sell an audio filtering kit called the SCAF-1. The filter was designed for older radios without DSP (digital signal processing) or additional filtering to make those heavy QRM filled QSO’s more tolerable. My Icom-746 is one of the first generation radios with DSP and I also have 2 additional filters installed (350hz and 1900hz), but I wanted a little more flexibility in my filtering options.
On my particular rig when I enable noise reduction (NR) I tend to get a fair amount of ringing in the filter, an artifact of the older DSP technology. In addition to that Icom’s PBT (PassBand Tuning) only goes so far. My 1900hz filter in the rig could clean up the IF stage of the receiver, but I needed something more to make QRM filled receive audio more tolerable. I also started thinking about the possibilities with RTTY and PSK31.
After listening to Idiom Press’ audio samples on SSB phone and CW, I was sold. I decided to go with the kit form to save a few bucks and experience the challenge of building a kit. Since my last kit (D-Star hotspot) was a success, I was up for the challenge. $90 and 3 days later the kit arrived.
The included instructions were very clear and very consise and the kit assembled exactly like they had stated. One issue I encountered was wrong resistor (miscount). Where I required a 3rd 10k ohm, I had a 100 ohm. No biggie, nothing that I can’t get at my local Radio Shack. Thankfully mine still sells common electronic components. The other issue was trying to figure out the pin ID on the DPDT switch. Unfortunately I soldered mine backwards and the switch is keyed to install in only one direction. All this really means is the UP position is OFF and DOWN is ON. Again, no big deal.
I had most of the kit assembled in the course of 3 hours while I was carrying participating in my usual 8PM net on 1900khz. Today I was able to pickup the remaining resistors and also some audio cables to interface it into my rig setup. I decided to place it between the AF output of the radio (accessory audio output) and the rig audio input of my Rigblaster. This way I could utilize it for digital modes on the computer, which is a direct feed to my monitor speakers. The filter has 2 audio outputs, one for headphones and external speaker audio. The kit gives you the luxury of choosing which size jack 1/4 or 1/8 inch you wish for either function as well as if you want stereo or mono. Since it’s ham radio and the most audio bandwidth I’ll ever hear (from a properly tuned transmitter) is 6khz (on AM), I decided to go mono for both.
Upon powering up the filter for the first time, I was happy to hear the exact results I had heard on their website as well as nothing blowing up (reverse polarity electrolytic capacitors become missiles). The instructions call for you to adjust the internal potentiometer, but I had found the audio to be consistent with it set to the middle.
Check out the photos below and also take a look at the audio spectrum I had captured with the filter in line as well as out.
So far I’m happy with the results and look forward to using it during contests and busy digital waterfalls.
DXspider US callsign database
While troubleshooting the filtering functions of my DXspider installation, I found there was very little documentation on how to get filtering to actually work. For the uninitiated, browse to the bottom of this post if you only require an updated version of usdbraw.gz from 12/23/09.
First I started with G1TLH’s download documentation. It references a file named usdbraw.gz which was unfortunately unavailable at the time. After a brief google search, I found the file, expecting it to only contain states and cities, but instead it IS the US FCC callsign database. The newest one I found was from 2004. Importing this database would make state filtering spuratic at best since so many new callsigns have been issued in the US of the course of the last 5 years and DXspider would only filter callsigns it knew about.
The FCC provides a daily updated database archive on their site available for download. Their database structure by itself is not compatible with DXspider and requires massaging of the data to ready it for import.
A huge find in this process was G1TLH’s USDB generation script. Dirk’s script takes the compressed FCC archive and converts it into DXspider format which happens to be output as usdbraw.gz.
Taken that process, then reverting back to the download documentation, then importing the database renders a newly up-to-date reference to apply state filters against.
This is great, but new callsigns are generated daily and I wanted to keep DXspider as up-to-date as possible with little to no administrative intervention from me. Introduce a little scripting and the use of cron.
My shell scripting skills a disasterous at best but it does function as advertised. I named my script usdb-update.sh and wrote it in /spider/local_cmds. It seemed to be the most obvious place for it at the time. Now let’s step through the script:
#!/bin/sh
SPIDERDATA=/spider/data
SPIDERPERL=/spider/perl
wget -P $SPIDERDATA http://wireless.fcc.gov/uls/data/complete/l_amat.zip
$SPIDERPERL/gen_usdb_data.pl $SPIDERDATA/l_amat.zip
$SPIDERPERL/create_usdb.pl $SPIDERDATA/usdbraw.gz
rm $SPIDERDATA/l_amat.zip
rm $SPIDERDATA/usdbraw.gz
At this point if all has gone swimmingly you have the US callsign database waiting for you in DXspider. We now have to load it to make it available to our cluster users.
Telnet to your cluster, login as your privileged callsign and load the database:
load/usdb
30 5 * * * run_cmd('load/usdb')
So my cron entry above executes the command load/usdb within the cluster environment every day at 5:30AM GMT.
Since the previous cron entry only works within the cluster environment, I need to execute the data collection process external to DXspider.
[sysop@dxspider1 ~]$ crontab -e
Append the following entry into the sysop user’s crontab
00 5 * * * /spider/local_cmd/usdb-update.sh
I’ve decided to run the usdb-update.sh we detailed earlier at 5:00AM GMT. In practice I’ve found the data collection and processing only took 5 minutes so to execute the actual load of the database in DXspider 30 minutes later was plenty of time. This allows for internet or server slowness. Feel free to set these times however it suits your needs.
Below are the files I’ve referenced in the above documentation:
G1TLH’s gen_usdb_data Perl script and my data collection script
usdbraw.gz created 12/23/09
