Monthly Archives: July 2008

YouTube – Adam’s Airman Run, July 31, 2008

YouTube – Adam’s Airman Run, July 31, 2008 (Higher Quality)

Today we got to see Adam for the first time in six and a half weeks. He’s been off for Basic Military Training in the Air Force, and tomorrow will be his graduation ceremony. Today, we saw him take part in the Airman’s Run. Around 1:38 into the video, you’ll see him pass in the back, wearing a red shirt, and flashing a little hello our way.

On Monday, he ships out for Sheppard, where he’ll do 11+ weeks of technical training.

We’re very proud of him. Well done, son.

Here he is, looking damned fine in his dress blues.

First two contacts via PSK31!

Tonight was a momentous occasion. Using 5w of power into a low end fed antenna, I managed to get two contacts. The first was Chuck, KB7OGE on 30m, and the second was Don, W7DTG via 40m. It’s very odd. I can’t seem to hit hams who are just a few miles from here (probably because of the valley I live in, but my 5 watts got me all the way to Washington, a distance of about 700 miles.

Still, success!

SPLAT! A Terrestrial RF Path Analysis Application For Linux/Unix

While mucking around last night, I ended up asking myself how i could find out what the attenuation of the TV antennas atop Sutro Tower would be. While trying to answer this question, I found out about Splat!

SPLAT! A Terrestrial RF Path Analysis Application For Linux/Unix

I haven’t worked out the attenuation from Sutro Tower yet, but it did allow me to make this map of how signals from my home on the 6m band might get out.



Addendum: Worked out the Sutro Tower example. At 190Mhz, we get the following:

Summary for the link between KQED and HOME:

Free space path loss: 107.37 dB
Longley-Rice path loss: 129.46 dB
Attenuation due to effects of terrain: 22.09 dB
Field strength at HOME: 78.37 dBuV/meter
Voltage produced by a terminated 50 ohm 0 dBd gain antenna: 1724.03 uV
Voltage produced by a terminated 75 ohm 0 dBd gain antenna: 2111.50 uV
Mode of propagation: Single Horizon, Diffraction Dominant

Addendum2: Doug Lung has a fairly nice introductory tutorial. There is also a chapter dealing with this in the Mapping Hacks book.

Writing a tunable bandpass filter…

Today, I decided to code up a little test of something that I’ve been meaning to do for quite some time: to write an implementation of a tunable bandpass filter. The algorithm is actually pretty darned simple, at least if you have a couple of pieces of code available. Let’s say you want to create a 500hz wide filter. You begin by designing a low pass filter with a cutoff at 250hz or so. If you don’t know how to do that, you can start by using this excellent webpage, which allows you to enter a filter specification and which dumps out code for the filtering operation. Once you have this, the algorithm is pretty simple: you generate two signals (which we will call I and Q) by multiplying your real-valued input signal by a sine and cosine at the frequency you wish to be the center of the bandpass. You then low pass filter each I and Q signals, and then remultiply them again by the sine and cosine as before. You then add the two channels back together, and voila! You’re done. Here’s the spectrogram of an original signal:


And then after filtering…

It works! Here’s the basic code, compressed down. It uses the libsndfile library to read and write .wav files.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sndfile.h>
SNDFILE*sf_inp,*sf_out;SF_INFO sf_info_inp;SF_INFO sf_info_out;
#define NZEROS 6
#define NPOLES 6
#define GAIN 1.602073263e+06
double cx[NZEROS+1],sx[NZEROS+1];double cy[NPOLES+1],sy[NPOLES+1];static double
filter(double xv[NZEROS+1],double yv[NPOLES+1],double n){xv[0]=xv[1];xv[1]=xv[2
];xv[2]=xv[3];xv[3]=xv[4];xv[4]=xv[5];xv[5]=xv[6];xv[6]=n/GAIN;yv[0]=yv[1];yv[1
]=yv[2];yv[2]=yv[3];yv[3]=yv[4];yv[4]=yv[5];yv[5]=yv[6];yv[6]=(xv[0]+xv[6])+6*(
xv[1]+xv[5])+15*(xv[2]+xv[4])+20*xv[3]+(-0.4675793776*yv[0])+(3.1600883661*yv[1
])+(-8.9237117766*yv[2])+(13.4798197900*yv[3])+(-11.4902571630*yv[4])+(
5.2416002121*yv[5]);return yv[6];}
#define BUFFERSIZE (8192)
main(){int i;double din[BUFFERSIZE];double dout[BUFFERSIZE];sf_count_t total,n;
double ang=0.0,dang;double s,c;sf_inp=sf_open("input.wav",SFM_READ,&sf_info_inp
);sf_info_out.channels=1;sf_info_out.samplerate=sf_info_inp.samplerate;
sf_info_out.format=SF_FORMAT_WAV|SF_FORMAT_PCM_16;sf_out=sf_open("output.wav",
SFM_WRITE,&sf_info_out);dang=2.0*M_PI*1000.0/sf_info_inp.samplerate;total=0;
while(total<sf_info_inp.frames){n=sf_read_double(sf_inp,din,BUFFERSIZE);for(i=0
;i<n;i++){s=sin(ang);c=cos(ang);dout[i]=2.0*(c*filter(cx,cy,c*din[i])+s*filter(
sx,sy,s*din[i]));ang+=dang;ang=fmod(ang,2.0*M_PI);}sf_write_double(sf_out,dout,
n);total+=n;}sf_close(sf_inp);sf_close(sf_out);}

DJ1YFK – Ham Stuff

I need to remember to bookmark DJ1YFK’s website. He’s a regular on the #hamradio irc channel, and he has a bunch of nifty stuff on his website. I was most interested in his experiments with simulated Morse at various noise levels, which duplicate some experiments I’ve been tinkering with for the last few days.

DJ1YFK – Ham Stuff

HF Volmet Broadcasts

While tuning around below the 30m band on my FT-817, I heard a rather loud and clear weather broadcast on 10.051Mhz. It turned out to be a “VOLMET” broadcast from New York. These broadcasts are apparently provided for aviation purposes. Here is a page which lists the various broadcasts:

HF Volmet Broadcasts

I went down to 8.858Mhz to see if I could hear the broadcasts from Honolulu that covered the west coast of the United States. I could!

VOLMET broadcast from Honolulu on 8.858Mhz

Ironically, just before this I was listening to the aviation warnings for Alaska, and heard a volcanic ash warning from the Aleutian volcano, Mount Cleveland. I thought it was cool enough to fire up Google Earth and see where that was. It’s pretty cool actually.

BT878 Audio Capture Trials

I subscribe to a number of different mailing lists related to radio topics. Something that has intrigued me for quite some time is VLF or Very Low Frequency radio, especially so-called Part 15 or “lowfer” operation. There has lately been some overlap with my interest in software defined radio. Some people have recognized that there is a family of fairly inexpensive video capture cards based upon the Brooktree 878 chipset which can be retargeted to do high A/D conversion of raw signals. These cards are quite inexpensive (the last one I got was about $40 or so), so they might make a reasonable platform to create a SDR platform.

Check out BT878 Audio Capture Trials for some information about what is possible.

Happy Birthday, Brainwagon

On this day in 2002, I made my first posting to this blog. If any of you have hung around since then, you will see that it’s gone through a number of twists and turns, just as my own interests have twisted and turned throughout the last six years. I wonder what people have learned about me in the 2,730 posts that I have made here in that time. Sure, you know a bit about what interests me, but my blog isn’t really about my private life so much. Still, I wonder how much of that is revealed from what I type here.

Ever since I added the “on this date” section to the right, each morning I’m reminded of something that I did, or learned, or thought was interesting on the same date in previous years. It’s an oddly comforting and useful thing, to be forced to return to the past for just a few seconds each day, to recall what was going on in one’s head.

Today? I’m worried about my trip to San Antonio to go visit my son who will be finishing up basic training in the Air Force. My car battery seemed to be completely dead yesterday, but after charging seems fine today. Carmen is still looking for a job. Will any of this still be relevent a year from now when this anniversary comes around again?

Probably not.


WWV and WWVH

I have been monitoring 30m to try to detect some of those MEPT (Manned Experimental Propagation Transmitters) that I wrote about a few weeks ago, without any real luck. I’ll be trying again this weekend, but since I was bored, I decided to tune down to 10.000 Mhz and try receiving the time signal. It’s sent with LOTS of power, and so is pretty easy to receive. In fact, I had to enable the attenuator and turn off the preamplifier on my FT-817nd to prevent serious clipping from occurring.

I was confused by something though. I heard both a male and female voice announcing the time: here’s the recording…

Recording of two different time signals on 10Mhz.

And here’s the spectrogram of the resulting signal, just for fun.

Spectrogram of WWV signal…

It turns out that I’m receiving two overlapping signals, one from WWV in Colorado, and one from WWVH which is in Hawaii. Typically, you can only hear one or the other. The WWVH signal is supposedly aimed away from the continental U.S. and you normally can’t hear it, but to keep them from interfering with each other when propagation is enhanced, it announces in a female voice somewhat earlier than the WWV signal does. The two “tones” they use to announce the start of the minute occur at different frequencies too. The WWVH signal also includes marine weather warnings, which you can hear at the beginning.

By tuning down to 5 Mhz, I found that I could no longer pick up the WWVH signal at all, demonstrating that propagation does indeed depend on frequency.

Anyway, super trivial thing, but I thought it was interesting. You can read a lot more about time signals at The NIST Time and Frequency Website.

Dear God, Will It Never End?

The All-Star game is going to the bottom of the 13th in a 3-3 tie. Both teams are 3-27 with runners in scoring position. There have been something like 19 pitchers used. Gadzooks.

Addendum: Uggla just committed his third error, a new player record for the All-Star game.

Addendum: Michael Young gets a sacrifice fly, scoring Morneau from third in the bottom of the 15th. Sweet Zombie Jesus, what a marathon that one was. AL wins 4-3.