V1 Chapter 5
More concentration on the software side of the system in this chapter. I was able to lock the antenna to a point in the sky using the SETI Net Clock software ( 6/15/2001) and was able to integrate a sky map to show just where the antenna is pointedIntegrate the sky map (7/9/2001). I was also able to create the first waterfall image of the sky when locked and tracking Waterfall (9/9/2001). The recording and playback of the data stream proved to be a daunting task only partially solved during this period Recording and Playback of Raw Data -(11/1/2001 ) and finally I tackled the ever-present problem of making the waterfall display presentable in Normalization of the receiver band pass (12/7/2001).
31. Normalization of the receiver band pass (12/7/2001 - 2/4/2002).
Problem - The Waterfall display has equalizer lines in it
The modification of the WiNRADiO 1500i to get 20 KHz of bandwidth works well. Using my scanner software and 2048 point FFT I can see a signal come into the band pass and move through each of the bins of the FFT. The problem is that the receiver gain is not uniform over the band. The portion from about 100 Hz to about 3 KHz shows a high output but the area above that to about 17 KHz is much less. Between 17 KHz and 20 KHz it rolls off very rapidly.
This difference in amplitude is to be expected because the receiver is optimized for audio not wide band. When I display the data in a waterfall format it makes the audio portion of the display appear much "hotter" than the remainder.
I thought I solved the problem by coding up a twenty position audio equalizer. Using that and the receiver audio noise output I simply moved the sliders until the scanner display looked flat. The equalizer sliders then formed a 'V" shape which is the inverse of the receiver audio response. Joy is found.
The problem came to light when I changed the dynamic range of the waterfall display. I now takes the FFT power spectrum output directly and displays it as a color pixels. Right away lines appear in the display and I realized that they are right on the boundaries of the 20 equalizer sliders. The equalizer sliders are causing the lines. No Joy.
Solution - I am going to try to build a replacement of the equalizer. This will be a separate routine that normalizes each bin of the FFT rather than grouping 100 bins under each slider. This routine will use the receiver noise (better yet a noise generator) and calculate a factor for each bin. This will be applied to the data array on its way to the waterfall display.
As of this date I still don't have a good solution to this problem. I have all but given up on a good automatic way to normalize the receiver and I still have lines in the output do to the sliders on my equalizer.
Late note: 2/4/2002 - I went back and reworked the original design of 20 equalizer sliders. Now each bin is equalized by the slider it is controlled by (100 bins / slider) but the adjustment is a linear interpolation between the slider and its next neighbor. Problem solved
Even Later Note: 3/12/2002 - None of the 'high tech' solutions worked. Not the averaging then subtraction method suggested by many, not the use of software sliders, not filters of any type. The final solution was the installation of a simple analog equalizer between the radio output and the sound card line input.
The equalizer was bought from EBay for less than $80. It is mono and has 31 sliders so it covers the top end of the band where it is needed the most. Once installed it was a simple matter to tune to a quite place in the waterhole (anywhere really) and simply play with the sliders to get the flattest display possible. Task Complete.
30. Recording and Playback of Raw Data - (11/1/2001 )
The best way to archive the data generated by the SETI Net receiver is to simply save it away all the raw data for future analysis. The problem is that this represents between 20 and 30 Meg of data every three minute collection period . Three minutes is the collection unit I have settled on where one unit fills the screen of a waterfall display.
The solution to this POD will be a trade analysis as it usually is.
Basic Problem - Large amounts of data collected and narrow window for processing (it always comes down to space and time doesn't it).
Best Case Scenario - System running in two channel, 16 bit stereo recording at the highest recording rate (44100 samples per second). Each buffer of this data would be recorded and run through the SETI Net 4096 point Fast Fourier Transform (FFT) and the resulting power spectrum used to produce a spectrum display and one line on the waterfall display.
When a full waterfall screen is completed (600 lines) the screen would be analyzed for ET lines. Hits would sound alarms and mark the raw data for recovery.
The system would be configured to accept raw data from either the receiver or from a recorded WAV file for playback of any hit data.
Recording of raw data rather than the much smaller power spectrum data will allow the development of analysis algorithms that can go back and 'mine' the raw data for undiscovered hits.
Trade Off - Well my pick is bent. After spending a huge amount of time trying various approaches I have come to the following conclusions:
- The people that invented the RIFF format for WAV files are maniacs and must be watched closely (who were these people anyway).
- You can't collect WAV data in a thread. Something to do with the way Windows manages messages (Bill G. screwed this one up big time).
- Since I can't run the data collection in a thread I can't concurrently collect and analyze the data.
- I must put three minutes of data on the screen as a waterfall and then run an analysis of it for hits.
- If there is anything interesting in the waterfall the system will rerun the same point (Az/El, Frequency etc) and save that to a file as .wav data along with SML data to keep it identified.
- There will also be a mode where it will display three minutes then save three minutes then display 3, save 3 etc. (huge file generator).
- The waterfall data will be saved in a format that can include the SML tags as well.
- I have to stop letting myself be sidetracked into these software pits.
29. Waterfall (9/9/2001) - The waterfall presentation doesn't seem to be working correctly, it has to be fixed, and I need to make some decisions on how I will analyze the data in the display. Problems are:
Pixel Access - I need to update each pixel on the display based on the output of the FFT bin at that point. I doesn't have to be the swiftest access in the land but it can't slow the rest of the system down. ScanLine function seems to work but a DirectX implementation might be better. Solution - ScanLine was not the solution at all. In fact it was a wild goose chase that cost me several day of hunting around. Once more my good friend David Taylor put me straight in his answer a Delphi newsgroup question of mine. If you would like to look at the code you can download it from the software section.
Pixel Color - I would like to color each pixel based on the perception of the human viewer of its relative heat. A low amplitude pixel would be a cool color, the highest amplitude would be a hot color. I need to find a translation scheme and decided on the color depth of the image (256 color, 32,000, high color, etc). This is the Next problem to tackle
Analyze - The hard part will be to build an automatic color analyzer for each screen. When each screen full is completed it should come on and search for lines and edges in the image and make a decision to rescan, move off beam and rescan, ring alarm etc.
Save - I need to be able to save the data in an archive. Right now I am thinking that I'll simply run the .wav files off to a huge hard drive (see the next POD).
Many decisions to make in this POD. I have moved to the problem of recording of the data generated for the first step.
28. Antenna Position Lock ( 6/15/2001) - For the antenna to be able to "lock" or track a position in the sky requires the following tasks:
a. Conversation Software - Write software with the ability to convert Declination and Right Ascension to Azimuth and Elevation.
This is completed and can be downloaded in the form of the SETI Net Clock. Create a downloadable library to be made available to other users. Task Complete (7/1/2001)
Where in the world am I?
As I was constructing the SETI Net clock I was forced to come to terms with the fact that I didn't know where I was - that is where my antenna was pointing. I had lined it up with a compass - one of the better ones with a good rose and a sighting slit, but when I compared where my antenna was pointing with where my software thought it was pointing the software was way off.
I finally got it sorted out with the help of the US Navy. They publish a list of the location of the sun and moon for any spot on earth during the day. With this list I was able to drive my antenna to where the sun should be at say 12:20 today and then, when that time came by, loosen the bolts on the antenna rotor and move it so that it actually pointed to the sun.
I know when I'm pointed at the sun by the shadow of the feed horn on the dish surface. I just jockey the dish back and forward until the shadow falls in the center of the dish.
This technique should give me the pointing accuracy needed to move the dish and be assured that I know where I'm looking.
b. Radio Sky (7/4/2001) - Create a bitmap of the radio sky similar to that shown on page 8-3 of "Radio Astronomy" by J.D. Kraus .
So far I have digitized the image directly from my copy of Kraus. and have attempted to merge it into my application - it's not working out. The BMP is too poor and not sized right. I have attempted to convert it to a vector using Corel but the results are not encouraging. I have searched the web for a suitable image but have found none.
Good News - I have found a better sky map than the one in Kraus. This one came directly from the SETI@home project Tobias also allowed me to use the Delphi code from his project which helped a lot
c. Integrate the sky map (7/9/2001) - The completed Sky Map will allow the antenna pointing software to track the selected point. It will show the range of movement possible imposed over the map. This will allow me to schedule the antenna movement to the target selected.
Using the SETI Time software library, the same code that is the backbone of the Sidereal Clock, I was able to paint a rectangle on the sky map that represents my current 'searchable area'. This is derived from the antenna minimum and maximum pointing angles in both Az and El. The software then converts those four points to four Dec/RA points. These points are then painted on the original Sky Map image using the BitBlit function in the windows operating system.
The search area changes with mechanical settings of the antenna. When I move the antenna elevation 'wedge' up from 0 degrees to +15 degrees to get more of the upper sky, the search area will move accordingly. When I turn the antenna mounting from home-west to home north, east or south the search area will change as well.
Now that I can draw the area that can be searched with these settings I will be able to draw a circle inside the rectangle that shows the exact area under examination. I expect this to be a three degree circle but due to the distortions caused by the mercator projection Sky Map it may not be a very good looking circle (in fact it shouldn't be). To get an idea of the distortions find the big dipper on the chart, top right, and see what this projection does to the Big Dipper (UMr).
8/3/2001 - It took a lot longer than I expected but I now have a Sky Map that is active and shows the current searchable area and the area now being searched. Click on the image below.
Click to expand
This figure shows two graphics drawn by the SETI software the Search Area and the Current Antenna Position.
The Search Area is made up of all the area that can be searched with the antenna mount configured as follows:
- AZ: 270 to 90 Degrees
- EL: +23 to +63 Degrees.
The top curve is calculated by finding the line of equal elevation (63 degrees) and the points between 270 and 90 Az. The bottom curve is the same except the minimum elevation (23 degrees) is used.
The right and left side lines are calculated similarly by varying the elevation with a fixed azimuth. During the observation session the Search Area moves across the screen and appears on the other side. When this screen was grabbed the Search Area had moved to the left side of the screen and some of it reappeared on the right.
The reason that the space isn't a rectangle is because the background map is distorted to make square Dec and RA grid lines. This is the same image that is used by theSETI@home project and is a 'Mercator' projection.
To search other areas of the sky requires that the antenna mount be moved to another home position (north, east, south, or west) or that the elevation be adjusted higher with a swing arm mount - the 'wedge'. This operation takes about 20 minutes to complete. When the antenna is reconfigured this way the Search Area changes accordingly.
Current Antenna Position - The real eye opener is the Current Antenna Position shown on the figure near Gemini. This small circle represents the three degree beam width of the SETI Net antenna (12' diameter) running at the water hole (1420 MHz). Small isn't it! This spot stays locked onto the selected star until the star moves out of the Search Area.
Observation Cycle - During an operation cycle the operator selects a point within the Search Area with the mouse and right clicks on it. The 3 degree circle appears and the antenna to slews to that point. The software then causes the antenna to follow that point until it moves outside of the Search Area. The antenna movement then shuts down and the operator is notified.
The size of the Current Antenna Position spot makes you realize how huge the area is to be searched is - and remember that this is just one axis. The frequency must also be searched at those same points.
In effect one spot can be selected and searched for the duration of the project.
There is no crowding in space.
There is still a lot of software to cleaned up on this POD but it should be completed this week sometime.
d. Joy Stick - Consider using a joy stick to set the position of the antenna in Dec and Right Ascension. The more I look at this the less likely it seems to be necessary. I think I'll move on to more productive are