Well,
Following on from my post yesterday about the BITX40 start:
http://g0mgx.blogspot.co.uk/2014/01/gluing-some-old-bits-together-to-make.html
I've finished the code for the AD9850 DDS based VFO for the transceiver.
This is what's on the bench right now:
There's an LCD display showing the VFO (well 10MHz less the VFO) frequency, plus the step size. A rotary encoder is connected to adjust the frequency and the push switch on the encoder selects the step size from 1KHz, 100Hz, 10Hz and 1Hz:
The output of the DDS on the Spectrum Analyser contains some strange and unexpected peaks at 30, 32 and 40 MHz. I'll probably add a simple low pass filter after the DDS to get rid of them (I thought there was one already on the DDS board?!)
I've included a calibrate routine where you adjust a non-volatile data value to set a 10MHz output frequency to exactly on the button. To do this I first calibrated my PIC based frequency counter from here:
http://g0mgx.blogspot.co.uk/2013/11/counting-once-more.html
using the GPS disciplined OCXO from here:
http://g0mgx.blogspot.co.uk/2013/11/gps-disciplined-really.html
So I can be fairly sure the output is on frequency.
The code is here if anyone is interested:
http://www.qsl.net/g/g0mgx//files/_40M_Bitx_DDS.ino
Anyhow, all good though, egh?
Following on from my post yesterday about the BITX40 start:
http://g0mgx.blogspot.co.uk/2014/01/gluing-some-old-bits-together-to-make.html
I've finished the code for the AD9850 DDS based VFO for the transceiver.
This is what's on the bench right now:
There's an LCD display showing the VFO (well 10MHz less the VFO) frequency, plus the step size. A rotary encoder is connected to adjust the frequency and the push switch on the encoder selects the step size from 1KHz, 100Hz, 10Hz and 1Hz:
The output of the DDS on the Spectrum Analyser contains some strange and unexpected peaks at 30, 32 and 40 MHz. I'll probably add a simple low pass filter after the DDS to get rid of them (I thought there was one already on the DDS board?!)
I've included a calibrate routine where you adjust a non-volatile data value to set a 10MHz output frequency to exactly on the button. To do this I first calibrated my PIC based frequency counter from here:
http://g0mgx.blogspot.co.uk/2013/11/counting-once-more.html
using the GPS disciplined OCXO from here:
http://g0mgx.blogspot.co.uk/2013/11/gps-disciplined-really.html
So I can be fairly sure the output is on frequency.
The code is here if anyone is interested:
http://www.qsl.net/g/g0mgx//files/_40M_Bitx_DDS.ino
Anyhow, all good though, egh?
Hi,
ReplyDeletelook at the AD9850 board and then at the AD9850 data sheet: the output is already terminated on a 200ohm resistor, and the LPF leading to it is designed for 200ohm termination, so you should not connect a low impedance load after the LPF. And this is not all, the LPF is designed for 70MHz passband (i think the board also supports AD9851, wich goes up to 60MHz).
If you want to use the AD9850 correctly, you need to remove the 100ohm resistor, the two 200ohm resistors and all the LPF and add a 1:1 balun between the two DAC outputs. At the balun output, connect a 40MHz LPF designed for 50ohm, and then you will have a clean usable signal with a linear frequency response.
I have hacked together a BITX as well with an AD9850 + Arduino and my own code, so far i'm only testing RX, covers 3-30MHz easy but I only made BPF's for 80m and 40m. I might end up "stealing" the calibration thingie from your code, at the moment for calibration I need to upload the Arduino sketch every time.