Multi OS

A quick update: up to now almost all the FCD testing has been done in Windows. Over the past few days while the first FCD batch is being assembled, I’ve been working on getting the FCD fully working on Mac OS X and Ubuntu 10.10. I don’t have a Mac so I’m trying my luck with OS X under VMWare. I have the device recognised under both Ubuntu and OS X and I have Linrad working under Ubuntu. I have also started working on some example Ubuntu frequency changing code that hopefully will also port to the Mac. Already I can talk to the FCD’s HID interface from Ubuntu. Getting the audio interface working on the VMware Mac is proving more difficult, although to be fair it doesn’t work with a normal USB soundcard either so I might need to find some real hardware. The device is properly recognised in all operating systems. I am finding that getting SDR code working under OS X is challenging to say the least. Either the code is very old and won’t compile properly or the basic setting up is proving non-obvious. Or more often, both. I thought the Mac was meant to be easy to use?!?

A sidenote, the last time I wrote code for a Mac was on a Mac 512k over 20 years ago under Turbo Pascal writing terminal emulators (yes, they had Turbo Pascal for the Mac!). That was where I cut my teeth with software memory management and handles. Hypercard anyone?

I’m slightly better on Linux, but not by much where I wrote and tested a PC emulator under Linux that I then ported to Windows CE around 1997 so you could run MS-DOS and even Windows 3 on a Windows CE device. It was easier that way, believe me!

Many thanks, Howard

Update!!! I managed to get the FCD working on my VMware OS X after patching the USB kernel drivers…

Posted in Uncategorized | 4 Comments

Assembly order placed!

Well, it’s taken some time, and I thank you profusely for your patience, but finally I have negotiated the first batch assembly and placed the order. The parts are winging their way to Wales for assembly. Finished units are due by December 15 for delivery assuming my assemblers can deliver on time!

We can now turn to distribution. I am looking at the fairest way to do this, but it will be on a first come, first served basis. I will also be limiting the maximum number of dongles to two per person, and it will be personal orders only.

I am minded to do this via my PayPal account so we can keep track of the orders, but before I do I just need to make sure that I can organise this correctly and fairly, bearing in mind different P&P across the world and that in the EU we’ll need to include VAT but not for countries outside the EU.

Howard

Posted in Uncategorized | 34 Comments

First live telemetry frames from the FUNcube satellite

Here is a picture of the first decoded frames from the FUNcube satellite we had on terra firma at Martlesham this last weekend.The Spectravue plot to the right shows the satellite’s downlink received using a FUNcube Dongle. To the right hand side of the plot, the solid green ‘hump’ is the telemetry and the signal to the right of that being simultaneous transponded SSB voice traffic. There’s not much in the filter department on the transponder right now so the transponder noise floor stretches well beyond the 96kHz span shown here!

To the bottom left, old hands will recognise AO-40RCV – I’m using this to help me manually tune in the BPSK telemetry downlink in Spectravue as my decoder doesn’t currently have AFC. The decoder showing the demodulated frames (well, in raw hexadecimal after the forward error correction) is done by some code I wrote back in March at the top left of the shot. Nice that the coding and FEC part of the FUNcube specification has remained unchanged from its inception!

The basic telemetry specification is based heavily on AO-40’s FEC model. 256 bytes uncoded, 5200 bits coded. However the uncoded content structure is totally different with the frame shown here as packed binary hence the gobbledegook. Down “on the wire”, we’re also transmitting raw at 1200bps rather than Manchester at 400bps symbol rate as on AO-40.

Some raw detail for those of you with insomnia:

O 1200bps DBPSK channel bit rate (phase change -> zero, no phase change -> one)
O Tx: x/sin(x) compensated Beta=0.5 root raised cosine
O Rx: Beta=0.5 root raised cosine
O Each tlm block is 256 bytes (2048 bits)
O FEC encoding (http://www.amsat.org/amsat/articles/g3ruh/125.html) makes 5200 channel bits
O Although there is a 65 bit distributed sync vector/marker within the FEC, an additional 32 bit sync marker (0x1acffc1d) prepends the 5200 FEC’d bits sent MSB first. This prepended sync marker is now largely vestigial, although for low power receivers use of the 32 bit sync vector may be beneficial as it is much less CPU intensive at the expense of a dB or so of sensitivity.
O 768 bits preamble of zeros: technically not needed for demodulation, however lets you “hear” the signal and see it on a waterfall under low s/n conditions.
O Total channel bits = 768 (preamble) + 32 (vestigial sync marker) + 5200 (FEC bits) = 6000 bits, or exactly 5 seconds at 1200bps.

Some further info on the BPSK filtering used:

TX

Root raised cosine
x/sin(x) compensated
9600Hz sampling rate
600Hz roll off
Beta=0.5
length=71 taps (chosen as 65 taps [9 bytes] is recommended minimum, but it costs no more to make it up to 71 taps)
Hamming window
Sum of taps are “massaged” into signed 8 bit using a spreadsheet
4096 bytes ROM required

RX

Root raised cosine
No x/sin(x) compensation
9600Hz sampling rate
600Hz roll off
Beta=0.5
length=65 taps
Hamming window
Real time single precision floating point calculation used

And an audio example of what we can decode 100%:Noisy FUNcube telemetry, and here are the corrections performed for the audio:

Howard

Posted in Uncategorized | 2 Comments

FUNcube Dongle at the Martlesham Microwave Round Table

Folks,

I was lucky enough to be asked to do a talk at the Martlesham Microwave Round Table today at BT’s Adastral Park Research Centre, where most of the FUNcube satellite team met for the weekend for a serious bunch of tests and some excellent results that I am sure will appear very soon on http://www.funcube.org.uk. The end result was that we did a full end-end test of commanding the satellite (albeit sitting on the bench!) and receiving the downlink, both telemetry and voice, successfully with the FUNcube Dongle.

But what a reception the Dongle received! I have to say I am deeply humbled, and, just like last week at Kempton, I just wish I’d had a ton of them ready to sell.

During the talk, I did a Doppler Demo. Next time you see me, ask for a repeat, it might not be quite what you were expecting…

Richard G8JVM, if you are reading the blog, I left you a reply, apologies for the delay, I’d thought that your question had already been answered elsewhere on the blog shortly afterwards.

Also the G8??? who I chatted to directly after the talk about certification, if you are reading please get in touch. Many thanks!

All in all a great weekend – except for one thing. Three of the four units I built on Thursday night were a nightmare to get working. A delivery of solder paste was late so I used some old stuff that I’ve had in the fridge for at least five years. BIG MISTAKE! It might have looked great when applied, but I had many, many shorts under the QFNs and even one 0402 resistor. That took about 3 hours to fix all three boards. Cough, don’t want to be doing that on a batch of 100…

Howard

Posted in Uncategorized | 7 Comments

Assembly update

Folks

I was hoping to have placed the assembly order this week, but we’re still in discussions with the manufacturers about this. With a bit of luck this will be resolved today and I’ll have a better idea of delivery dates.

In the meantime, this week we’ve been continuing work on front end filtering and I’ve built another four units for testing purposes.

I’ll also have some units being demo’d at Microwave Roundtable and Martlesham this weekend if you’re attending.

Many thanks, Howard

Posted in Uncategorized | 2 Comments

Doppler shift compensation

I’ve had a question about Doppler shift compensation on the FUNcube satellite. On the downlink on 145MHz, the Doppler shift as the satellite passes over will start at about 3kHz low and end at about 3kHz high.

For FM reception and transmission this is often not a problem as the IF passbands for FM receivers are generous enough such that distortion is negligible and the capture effect of FM automtically helps us. However, the downlink of FUNcube isn’t FM, it’s linear and it’s a mixture of SSB voice and BPSK telemetry.

SSB can be corrected with an “open loop” scheme where given a downlink frequency (or indeed and uplink frequency), over time knowing the satellite’s orbit from its up-to-date Keplerian elements, the frequency can be corrected: programs like IntantTrack together with InstantTune have been doing this for a very long time!

However the accuracy required for narrow band BPSK telemetry is very much more and really needs a closed loop design due to the vaguaries of downlink frequency deviations mostly due to the continual temperature changes on the satellite as it spins and goes into and out of eclipse. The software we’re developing for FUNcube has two modes: a hunt mode and a tracking mode. In hunt mode, the signal is not locked and the software performs an exhaustive search across the available passband. In tracking mode, the carrier has been found and can be tracked by detecting incremental longer term agregate phase aberrations from the nominal hunted frequency.

There are two neat things about using an SDR like the FCD. Firstly, hunting for the signal is quite CPU intensive, but once it’s hunted the signal down, it can go back through the raw spectrum history and extract frames retrospectively. Secondly, it is entirely feasible to track multiple satellites within the SDR passband concurrently.

Howard

Posted in Uncategorized | 6 Comments

Kempton feedback

It was great to see everyone on Sunday at Kempton. And what a response! Jim and I on the AMSAT stand at the Kempton show on Sunday did not stop for the first three hours, it was the busiest I can ever remember. Wish I’d had some Dongles to sell, I can tell you!

Feedback was universally positive – except from one visitor who saw the unit being demonstrated on Windows and commented that “no-one ever develops these for Linux or the Mac”: but it was all smiles when I explained that the FUNcube Dongle device is specifically designed to be platform agnostic – it’s compatible with Windows, Linux or Mac OSX, and your choice of either 32 bit or 64 bit.

We took a design decision quite some time ago to make the FCD as simple to use as possible, and that included using the device drivers that are already integrated with your operating system. Not only that, but only a masochist would want to develop and test host USB device drivers that work across a dozen different platforms!

Howard

Posted in Uncategorized | Comments Off on Kempton feedback

Frequency coverage update

Folks

On Saturday I worked on some further testing including the frequency coverage of the device. At the bottom end, we seem to be able to consistently achieve coverage down to 52MHz and up to beyond 2,000MHz.

The spec sheet of the tuner chip states “64 to 1,700MHz” however we have found a gap between 1,100MHz and 1,270MHz where the local oscillator won’t lock. I’m currently characterising this across preproduction devices to determine a guaranteed coverage. We may be able to improve things by altering the fractional-N and post divider settings, but I suspect that this is a flaw in the tuner chip’s specification.

Howard

Posted in Uncategorized | 6 Comments

The FUNcube Dongle Pro+: LF to L band software-defined radio

 Click here to order.

Any mode, anywhere

No drivers required! Device drivers are already included in your operating system – Windows, Linux or Mac OSX, 32 or 64 bit.

* The guaranteed coverage of the FUNcube Dongle Pro+ is from 150kHz to 1.9GHz, and there is a gap in coverage between 240MHz and 420MHz.

Posted in Uncategorized | 76 Comments

Production PCBs arrived and certified

One hundred and ten panelled production PCBs arrived on Saturday and at Kempton on Sunday I started building a test unit using one of these PCBs. Tonight I finished the test unit off (Serial #14), and it worked perfectly first time, so we’ll be committing to a production run tomorrow!

Howard

Posted in Uncategorized | 2 Comments