Saturday, May 22, 2010

Back from Dayton

My feet and knees hurt, I had no voice left and had to endure flying home in thunderstorms, but boy was Dayton really fun. I really enjoy meeting in person the folks that I correspond with on the reflectors and get to spend some quality time with the Austin crew (I live in North Carolina). It has taken a few days to recover and having to work a couple 20 hour days for my "day job" the week after I arrived home didn't help much either. I now feel more normal again after a few good nights worth of sleep.

By now you have probably figured out that there hasn't been a lot of new things for the FLEX-1500 testers to be testing due to the lack of activity on the ye ol' blog. That is because for the past several weeks, FlexRadio has been completely revamping the audio/control interface for the FLEX-1500. The version I have been testing utilizes the native Windows USB HID audio drivers. This approach would have allowed the FLEX-1500 not to have used a custom device driver which would have made it easier to install and support the FLEX-1500. Testing however showed that the native Windows USB HID driver just didn't have the stability, performance and timing required to deliver a really high quality product. So the developers and engineers started building their own streaming kernel mode USB driver for the FLEX-1500 and initial lab testing has been really promising in the performance arena. The RX->TX->RX switching time are really fast. I can't say how fast yet, because it all has to be packaged up with PowerSDR, but the numbers are really small (small is good). The CW folks are going to like this radio.

On another note, one of the lead developers, Eric is now experiencing a maternity non-maskable interrupt. His XYL gave birth to their fourth child on Friday May 21. Samuel Ray and mother are doing fine, but the timing of Sammy's arrival will put a slight delay the driver integration into PowerSDR progress. He will be working from home and coding in-between feedings, diper changes an taking care of the other kids while his wife is recovering. So a bit more patience will be in order. I know the whole FlexRadio engineering & Development team is working long and hard hours to get PowerSDR v2.0.0 ready for the public beta and subsequent final release. This is another "baby" that they really want to get birthed too.

Wednesday, May 12, 2010

Off to Dayton

I am off to the Dayton Hamvention with my FLEX-1500 in tow. Having received one of the first pre-production beta units, my FLEX-1500 needs a few hardware updates to bring it in line with the other production units. There was a couple of minor codec filter changes to reduce the DC noise at the "0 Hz IF" and a change to expand the capabilities of the RX preamp to give it more stages or levels to choose from depending on band and band conditions.

I'll be part of "Team FLEX" working the booth and doing hands on workshops at the Flex Banquet on Saturday night. Make sure you stop by the FlexRadio Systems booth at location SA315. See ya there!

Saturday, May 1, 2010

The FLEX-1500 goes ATOMic

I dug out my Intel ATOM 330 (D945GCLF2) XP SP3 machine from the bottom of the closet (it was stored there when it wouldn't play well with the FLEX-300) and after spending an hour or so doing BIOS, driver and other updates, finally got it running with the FLEX-1500 using the latest version of PowerSDR v1.19.3 from SVN. The results are better that when running with the FLEX-3000 (since it basically didn't).

On receive with no RX DSP special processing, it runs at about 37% utilization.

With NR/ANF/NB1/NB2/BIN enabled on SSB, it caps out at ~55% CPU with no degradation of the display or audio.

Now load up VAC 4.09, Com0Com and Fldigi for operating digital modes and the CPU utilization jumps up to ~48%. If you add on a logger or DDUTIL, I suspect I would be at the ragged edge of what this little PC can do.

This is just how it played on my ATOM desktop machine so there are no promises with your ATOM based laptop. Your mileage will vary.

I also finished my Rubidium (Rb) disciplined oscillator project. I put a LPRO-101 Rb stabilized reference oscillator in a forced air, ventilated enclosure with a DEMI 1x4 10 MHz distribution amplifier/filter so that I can slave multiple radios off of one Rb frequency source. It's 10 MHz stabilized signal is driving the DDS for both the FLEX-5000 and the FLEX-1500. I hope to have a few pictures and a new frequency stability run using it with the FLEX-1500 in the coming days. So, its true, the FLEX-1500 is really "gone atomic"!

Friday, April 30, 2010

It is Shipping!

Yeah Baby, that is right. The first "off the production line", no more beta units, a "real McCoy" FLEX-1500 shipped on April 30,2010 to an undisclosed recipient who is part of the extended beta testers group. This is a BIG milestone as the production hardware boards are finalized and production ramp up can begin as soon as all of the materials have been received to start the production runs. That will happen in a couple more weeks. For the hundreds of you with FLEX-1500s on order, please be patient for just a bit longer. They are coming soon. FlexRadio will notify you when they start shipping.

To prove one really did ship, there is photographic evidence of the unit being picked up by UPS


A big thanks goes to Graham (KE9H), pictured in the center who was the primary engineer on this project who took it to the finish line. That is Julie the Shipping and Receiving Manager on the right.

Now PowerSDR v2.0.0 isn't complete yet, but it is getting there. More coding was done on the BITE routines and that work is getting close to being done. Additionally, a slew of bug fixes and enhancements were added to the pre PowerSDR v2.0.0 alpha code this week, fixing a few long over due issues like a wider and user definable deviation for FM, the last changes for the software to be fully Vista/Win7 compatible so that it will operate in user mode and not need any of UACs "tricks" to make it work, new NR and ANF default settings, ANF was fixed so that it works in AM & SAM modes and a new crash recovery option that will allow you to reset the database if it is so hosed up that PowerSDR will not start are just a few of the things being added. There is a big push to get PowerSDR v2.0.0 done "real soon" so expect a lot of development activity in the coming days. The beta testers are going to be really busy.

Tuesday, April 27, 2010

I know, it has been awhile.

I know it has been awhile since my last blog entry. There really hasn't been much to blog about. Most of the BITE functionality has been put into the FLEX-1500, but there are still a few test that need tweaking. The input mixer functionality was added and that was about the biggest change recently.

One thing I have been doing is interfacing a Rubidium (Rb) disciplined10 MHz clock source to the FLEX-1500. I am using a LPRO-101 that I got from WB6RQN and I have been putting that together in a nice enclosure with a 1x4 10 MHz distribution amplifier so I can drive the FLEX-5000 and FLEX-1500 from the same clock source. There were a few software changes needed to be able to transmit and receive using the external clock source with the FLEX-1500, but it is working fine now.

The main work being done at this time is optimizing the audio subsystem for response and quality. There have been a few things uncovered using the Window's HID driver so the developers are digging into it. More on this when there is something to report.

Oh yeah. One thing I did forget to say. I established a new FLEX-1500 distance record a few days ago. On April 21, I had a nice "rag chew" PSK31 QSO on 14.070481 MHz with Harald, DL2OCE in JO41XW on the FLEX-1500. This was a distance of 4300 miles. Antenna was a 20m dipole @ 45' and the power out was about 3.5 watts as reported by the wavenode. I received a nice 579 signal report and an IMD report of -28 dB.

Propagation was good that morning and what was most important was the IMD numbers, indicating that the transmitter was operating very cleanly. This is going to be a cool little radio.

Tuesday, April 13, 2010

Still Testing...

Development of the BITE (built in test equipment) is still progressing. There isn't a whole lot to report at this point. There were some updates to the preamp configuration late last week. Rather than having a three state preamp (on/off/attenuate), it has been changed to provide +30, +20, +10, 0 and -10 dB of pre-amplification and attenuation. This will help with sensitivity on the upper bands and the two level attenuator will help with blocking dynamic range on the low bands.

Other than that, I have been listening to a local beacon on 6m since I got my 6m Moxon back in the air this weekend. It had a little accident a few weeeks ago when I was taking it down for it annual pre-eSkip maintenance. Regardless what the farmers say, planting an aluminum in the ground will not make it sprout small antennas; no matter how much you water them. Par Electronics was very prompt in sending me element replacements and for that I am very grateful. I fixed the antenna mast mount by engineering a simple tilt-over mechanism and put some shear pins in the mast sections to prevent the sudden and unexpected rotation that caused the damage. So hopefully there will not be any more accidental antenna "plantings" in my future.

Tuesday, April 6, 2010

Studying for exams and new feature alert!

One of the most intriguing features of FlexRadio Systems' SDR is their ability to calibrate themselves using BITE (built-in test equipment). There are a series of calibrations tests that the radio can run on itself to optimize various operating parameters or check the operation of the hardware. Some examples of these tests include checking the integrity the RX/TX filter banks, calibrating the S-meter so that -73 dBm is S9 on all bands and suppressing the opposite side band for single sideband modes.

Adding the BITE functionality into PowerSDR for a new radio is not a trivial task, but it is a foundational aspect of hardware integration that must be done right first off. These are the activities that have been going on for the past several days and why the blog entries have not been as numerous. The FLEX-1500 is studying hard to pass his tests. It is also a fairly slow time for the beta testers. The developers work all day to add a new hardware calibration test and the testers wring it out in 15 minutes. It isn't very exciting for the testers, but it is a critical path process that will lead to getting other features working like CW and optimizing phone modes.

There is a new feature to talk about that has never been publicly stated. You will be able to connect a receive only antenna to the FLEX-1500. That is right. You can select the transverter XVRX port or the transverter XVTX/C as a receive only port with the PA (5 watt output) port in addition to being able to the the PA port as a transceiver port. This is controlled by an antenna form similar to the one for the FLEX-5000. Like the FLEX-5000, there is an expert antenna mode where you can define the RX and TX antenna on a per band basis. It is a really nifty feature, especially for a low-end QRP rig.

Wednesday, March 31, 2010

What's the Frequency, Kenneth?

The developers are heads down taking care of the stuff the beta team has provided as feedback and they are tackling the hard stuff first, so there were not too many updates that came out of the software factory yesterday and today other than the ability to key the radio using the FlexWire v2.0 port and some features that would be applicable to transverter use.
With a little time in-between the software feature/functionality testing, I decided to do some frequency stability tests of the FLEX-1500. It should be very good because it uses the same XO as the FLEX-3000.

I set up a test scenario where I used WWV as the frequency reference (yeah, I know, it is not the most stable reference due to atmospheric perturbation of the RF) and used the Frequency Analysis mode in Fldigi v3.20.0b8 to plot variations from a center frequency. In this mode the Fldigi decoder is merely a very narrow band AFC tracking filter. The filter bandwidth is set to 2 Hz and the tracking time constants to about 5 seconds. This reads variations in the frequency and logs them to a CSV file for further analysis.

Below is a graph of the frequency error for 32,000 data points that represents a little less than 4.5 hours of data collection.
(Click on image to enlarge)

What I have observed is that the frequency variation is approximately +/- 0.6 Hz @ 10 MHz over a long sample time (hour). That is a total variation of 0. 12 ppm. Not to bad for a $650 radio. How much is this the ionosphere induced Doppler effect and what is real error? Don't know. I'll let you know when I get my Rb atomic frequency reference.

But what is good is that the frequency drift is minimal when the ambient temperature is fairly constant. A more interesting test would be to observe the drift as a function of temperature during transmit. Maybe that will be the next science project once I can dig up a thermocouple.

Monday, March 29, 2010

I can hear clearly now, the warble is gone...

More big strides made today on the software development front for the FLEX-1500. The Frequency calibration routines, Spur Reduction and the ability to fine tune the frequency of the radio by manually tweaking the DDS Clock Offset is now working.

My FLEX-1500 was off by about 15 Hz, which generates a noticeable warble in the receive audio when you listen to WWV in DSP mode. Now the warble is gone after running the frequency calibration.

I should note that these changes do not have anything to do with frequency stability, just the accuracy of being on frequency when compared to a reference frequency, like WWV. I should be receiving a Rb frequency standard in the next week and I plan to use it to calibrate and check frequency drift.

Sunday, March 28, 2010

If one is good, two are much better

It has been an interesting day testing the FLEX-1500.

This afternoon I went on a PSK spree and announced I was QRV on the FlexRadio reflectors. Propagation wasn't that grand, but there was a nice opening into Texas from NC. Below were the QSOs I made in about an hour of CQing
  • KJ7HQ, Olin
  • WB2TQE, Howard
  • K5KDN, BobT - Running a FLEX-5000 (a FlexRadio software developer)
  • W9OL, Bill - Running a FLEX-5000 (aka Firebrick - A 2009 Flexie award winner)
  • KD5TFD, Bill - Running a SDR-1000 (one of the original SDR experimenters and HPSDR guru)
  • WI5C, Ron
I received very good reports on signal quality, which is what I was most concerned about. Looks like this is going to make a nice digital QRP radio.

Once that was out of the way, I embarked on a mission. I got to thinking. There is no technical reason why you can not run a FLEX-1500 and a FLEX-x000 (Firewire based SDR) on the same PC. PowerSDR 1.19.3 (aka PB-PAL) has the facility to tell PowerSDR what directory is used for storing dynamic data, such as the database, EEPROM backups, etc... So if each instance has it's own dedicated database configured specifically for the radio hardware, it should work.

After a bit of trial and error and learning how to use an undocumented feature (developers never document their code very well), I was able to get a FLEX-3000 and FLEX-1500 running on the same PC at the same time. This was a big deal, but I was not satisfied. Oh no, I have to get dual SDRs running with dual digimode programs at the same time.

For those who are not versed in this, it requires additional digital audio paths from PowerSDR to the digimode sound card program. So I created two additional VAC cables for the second instance of PowerSDR running the FLEX-3000. You have to be able to control this beast, so an additional virtual com port was defined for CAT control.

A low and behold, it WORKS! This is what it looks like on a wide screen monitor. I put everything on one monitor to prove it was not two separate computers.

(click to enlarge)

The FLEX-1500 running @ 48 KHz is in the top right hand side of the monitor and the FLEX-3000 running @ 96 KHz is in the bottom left hand corner. Both are decoding PSK-31 QSOs on different frequencies.

Fldigi is connected to the FLEX-1500 and it is below the FLEX-1500 PowerSDR console.

MixW is connected to the FLEX-3000 and is above the FLEX-3000 PowerSDR console.

Methinks this is way cool.

The Firmware Dance is a "Happy" Dance

I was testing out the FLEX-1500 preamp and noticed something very wrong. When the preamp was enabled, the noise floor and the signal strength rose by 30 dBm. For anyone who has used a FlexRadio Systems SDR knows that this is the exact opposite behavior that is expected. The function of the preamp is to lower the noise floor so that weak signal are not washed out by the noise while the signals' strength does not increase (the S-meter should show no change in the signal strength).

An e-mail relating this observation sent to the hardware gurus on Saturday afternoon was soon answered. "Oh yeah, you don't have the latest firmware and that is needed for the RX level calibration to work". In short order I received the firmware update from Austin, after a round of e-mail clients eating zip files with executables inside them. I un-zipped the new firmware and installer and ran the update. The firmware installation was breeze. It took less than 2 minutes for the whole unpacking, burning and resetting the hardware. BTW, you have to manually power cycle the FLEX-1500 after a firmware update - no big deal.

I ran the RX level calibration and all was well again. The preamp now behaves as it should.

So the "firmware dance" was easy to learn and in the end was a "happy dance" at that.

Sometimes you do dumb things...

Other times you do really stupid things.

Last night I did a really stupid thing.

I was cleaning up the work/test bench and placed the FLEX-1500 and the Astron RS-4A power supply on top of a Shuttle xPC computer getting ready for today's testing. This is a computer I had working with the FLEX-1500 earlier in the day, but the SDR and the p/s were on the bench, not on top of the computer.

So, just before going to bed I fired up the FLEX-1500 so that I could leave it burning in over night in receive mode while I slept. Within 1 second of firing up PowerSDR I received a dreaded Blue Screen of Death (BSoD). Oh no. It can't be. The FLEX-1500 can not be responsible for generating BSoDs. This would be worse than HORRIBLE! Reboot. BSoD. Reboot again. BSoD. I start to panic until I realized something. I had done something REALLY stupid. I mean REALLY STUPID.

I had placed the Astron RS-4A power supply on top of the computer. It is not a switcher, but a linear power supply. They have transformers. Transformers put off strong magnetic fields. RAM chips in strong magnetic fields go bonkers. Scrambled RAM = BSoD. DUH!

I relocated the RS-4A to a place far, far away from the PC and all is well. I did do an extensive checkdisk to make sure the hard drive was not affected too and it wasn't. All is well.

WARNING: When you are tired, stop operating heavy machinery and do not rearrange the shack.

Saturday, March 27, 2010

In the beginning...


It has been a really busy day at the FlexRadio Hardware Beta Test Lab: South-East. I thought that I might share some updates and interesting observations related to my first impressions of the FLEX-1500, as I don't get to see the hardware as it is developed and tested in the lab at HQ (Austin) before I get it to play with it and break it.

First off the FLEX-1500 arrived Friday AM bright and early via UPS.


It is a small little thing. Definitely a "Baby Flex". Very light too. My Astron RS-4A power supply weighs a lot more than it does.

After ripping open the package like a crazed child on Christmas morning to see what was inside, I was happy to find a FLEX-1500 (s/n 10-10-0009), an unterminated power cable and a USB A-B cable.

The first order of business is amps and volts. I terminated the power cable with a pair of 15 amp Anderson PowerPole connectors. All of my Vdc distribution blocks are Anderson PowerPoles. It makes it easy to connect and disconnect different devices that way. That took about 5 minutes to install the connectors of which 4 of those minutes were spent looking for the crimper.

Now we have "juice".

The first order of business was to perform the "How many USB controllers can you plug this thing into and it show up in the Windows Device Manager" test. The FLEX-1500 appears to Windows and a USB HID audio device and uses the standard USB audio drivers that comes as a default driver with Windows, so there is nothing to install as far as a hardware driver is concerned. This is NICE. So I tested a XP laptop and Desktop, two different Win7 x64 machines and one ATOM 330 running XP. For the most part, we had no problems with this test. One controller on a AMD machine running Win7 x64 is having some issues and we are investigating that. It could be the low-level USB hub driver that is the issue.

Now on to the good stuff. Firing up PowerSDR and making this Baby Flex sing.

Before I get into this in detail, I need to note that the hardware integration into PowerSDR v1.19.3 (aka PB-PAL) is not 100% complete, so there are things that don't work yet and parameters you have to set manually. It can be a bit cumbersome and you really have to pay attention to what is going on. This requires taking lots of notes and lots of feedback to the hardware and software development teams.

I fired up the FLEX-1500 using an existing PowerSDR database I was using for a FLEX-5000. Obviously it could not find the F5K hardware, so I had to go into demo mode, reset the DB for a FLEX-1500 and restart. All this fumbling around took about 10 minutes to figure this out and to get the radio operational in receive mode. YIPPEE! I am hearing and seeing signal on the Panadapter. NICE.

First thing I check was to see if the RX was on frequency with WWV. It was not. I was a few KHz off. So a quick phone call to the gurus in Austin revealed that Eric had taken the day off to move into a new home! I will not go into the gory details only to say that my FLEX-1500 arrived 20 minutes before the "How to use your beta FLEX-1500" e-mail was sent and by that time I was in SDR nirvana and never saw it arrive. My problem resolution was in the e-mail DOH!

Now I am back on frequency, only 13 Hz low. Should I run a frequency calibration? No. That feature isn't in the code yet. 13 Hz is close enough.

Time for a QSO. I decided on a digital mode QSO due to the low power, so I configured VAC and Fldigi and was decoding PSK in a matter of minutes. So far so good.

I checked out TX using a dummy load and got that working. The PA gain settings are not yet stored in the EEPROM, so you have to manually set the drive gain for each band. I listened and visually observed my transmitted PSK signals on a FLEX-3000 and all looked good. It is time for a CQ.

I called Austin and we set up a PSK31 SKED. At 1931 UTC on 26-3-2010, the first FLEX-1500 to FLEX-1500 QSO was logged with K5FRS in Austin TX. A distance of about 1100 miles. The signal reports were 539 each way. Having a HOT receiver allows you to hear in the noise.

After the "fun" was over, it was time to start doing a more critical analysis of what was working, what wasn't working and what was acting strange. I'm not going to go into the details of all that, because it really doesn't matter since those things will be addressed in short order and it is a closed beta test. No need to air dirty laundry when wash day is close at hand. I will say the issues are very minimal and software related (as they should be).

I had to take some time out to go see one of my neighbor's daughter in her school play and then watch my beloved Vols whip the Ohio State University in B-ball. Between the Vols winning and playing with the FLEX-1500, it was a very good day.

By the end of the night, I was making several PSK-31 QSOs. The last one was a nice little rag chew with AD5QE who was operating a Ten-Tec.

The plan for tomorrow is to get the FLEX-1500 working on 5 different computers that all have different processor types and operating systems. More digital mode QSOs and hopefully a new distance record for the FLEX-1500. It will be a busy day.