Thursday, 17 September 2015

SSB using DATV-Express

DATV-Express TX SSB/FM Application

Just a quick preview of a small application I have been working on that turns
DATV-Express into an SSB/FM transmitter. Originally I used a couple of FFTs
to do the IQ generation, filtering and interpolation. Now inspired by
Dave, W9GR's article in QEX on CESSB (Constant Envelope Single Sideband)
I use the Weaver method of SSB generation combined with  his clippers.
I currently interpolate the output signal by 16 to 128 KSamples per sec using
halfband filters before sending that to the DATV-Express board via USB2.
On the Express board the signal is further interpolated by a factor of 64 to reach
the final sample rate.

The high sample rates is required because DATV-Express has fixed 5 MHz LPFs
for anti-aliasing, after all it was designed for digital TV rather than narrowband SSB.

The RF level sets the output level of the DATV-Express board and the AF level
sets the input audio level from the PC's microphone.

The application still has some rough edges. I wrote it so I could have something to
drive the 10 GHz transverter I have built  which requires an IF of 1 GHz.
The transverter  uses a  9 GHz YIG based oscillator for its LO.
For receive any number of cheap SDRs could be used.

The processing overhead is relatively low, I am hoping it will be low enough to run
on the Pipo X8. Something I will try later today.

For those unfamiliar with DATV-Express, it is an exciter board that produces
around 10 dBm output which will transmit anywhere from about 65 MHz to
2.48 GHz. The board has been designed for the generation of digital TV on
Amateur Radio frequencies.

Wednesday, 19 August 2015

Network Analyser


I recently bought a few (3) ADF4351 development boards from China and am
currently writing some software to control them. Out of the box you can use software
written by Analog Devices to evaluate them.

So far I have used one of the boards to provide a 10 Ghz beacon, there are reasonably
strong harmonics of the signal up to 12 Ghz.

It is important to terminate the unused output port otherwise the boards oscillate around
1.2 GHz.

I plan to use a couple of the boards combined with a receive mixer and a soundcard
as a simple form of network analyser. It will be possible to use the fundamental signal
and the 3rd harmonic to give me something useful up to 12 Ghz. The sound card will
do an FFT to measure the receive signal, it will be able to measure both the
fundamental and the harmonic.

Mini circuits do a nice 6 GHz mixer at a reasonable price which is fairly flat across the
entire range and has an IF port with a DC - 1 GHz response making it ideal for
low frequencies.

For frequencies below 35 MHz it will be possible to use a 3rd fixed oscillator and mixer.

Obviously because of the harmonics of these oscillators without filtering they will
not be much use for characterising active devices, for than I plan to use a technique
similar to that employed by Keysight in their early network analysers. They use a
filtered 3.8 GHz oscillator which they mix with a 3 - 6 GHz YIG oscillator and
low pass the result. Of course I now need to find a source of suitable YIGs.
As usual I missed the real bargains by a few days. There was someone selling exactly
the YIGs I need a couple of weeks ago at a very cheap price, all 20 of them sold in hours!

The software (and bodge board for the SPI interface) will track 2 of these synth
boards an IF apart. The IF will be in the KHz range and I plan to use a 4 channel
24 bit sound card for the receiver.

I also have a copy of Joel Dunsmore's book entitled "Handbook of Microwave
Component Measurements" which is the reference work for those using / designing
Vector Network Analysers.

I am collecting parts from eBay when they are available so I am not sure how long this
will take to do.

Sunday, 5 July 2015

Further work on MyriadRF - Zedboard project

ARM CPU configuration

System block diagram

Random data being transmitted

After a lot of studying I have managed to make some progress on my next gen DATV
project. This is all relatively new technology for me so it has taken a lot longer than
I had hoped. Some of the time was wasted by the rather poor documentation of
the sample clock generation chip on the Zipper board but I think I have it correct now.

I have a working PetaLinux installation, GPIO, I2C and SPI control of the devices
on the Zipper and MyriadRF boards.

Interfacing of my custom IP logic in the FPGA to the ARM device uses generic io
and interrupts.

The IP in the PL (FPGA) is currently very simple but will be expanded to provide
many more advanced features. It takes IQ samples from the host and sends them
to the MyriadRF board for transmission. The ultimate aim will be to add Digital
Pre-Distortion code in the PL logic to correct for non linearities in the transmit
chain. On transmit the receive channel will monitor the transmitter output and
carry out the required real time maths. On the receive obviously the receive channel
will be used for demodulation of the received signal.

In the first phase I am simply going to use a PC based program like GNURadio
or DATV-Express to generate samples that will be sent to the Zedboard via
Gigabit Ethernet. I will probably post again when I have something sensible to

Friday, 29 May 2015

Reflow oven revisted

Currently I am trying to finish off a load of projects that have been hanging around
my lab for sometime. First off was the re-flow oven project I bought the parts for
last year. It uses an Arduino Mega 2560 and a touch screen display. The oven is a
'toaster oven' bought on eBay for around 20 pounds. The heating element is controlled
using a Solid State Relay (SSR).

In the top image you can see the solder profile in white and the profile achieved by
the oven in yellow. As you can see it does not cool down fast enough on its own so
once it has achieved maximum heat and is starting to cool it is a good idea to open the
front door.

Another issue with these ovens it getting an even heat across the PCB being cooked.
This is an issue that most people have and I intend to replace the tray in my oven with
a solid piece of thick aluminium. Also where to place the heat sensor is another
issue. Plenty of things to experiment with.

For anyone that wants to make their own, you don't need to go to the expense of using a
touch display like I did. There are plenty of people selling kits both on eBay and on their
own project pages.

The next project to finish off is a small Global Positioning System Disciplined Oscillator
(GPSDO) for my Yig based 10 Ghz DATV transceiver. I bought a cheap CPLD board
for that. To follow ...

Friday, 1 May 2015

Back to the Zynq project

Zynq + MyriadRF in 19 inch draw

Now that work is starting to wind down on DATV-Express I have started to look at
what to do next on the DATV front. 

Lime Microcircuits have recently reduced the price of their LMS6002D FPRF chip,
also the price of Zynq based CPU/FPGA boards is starting to come down, for
example the Z Turn   so I thought it was time to look again at the Zedboard I bought
used a while ago.

The picture shows a Zedboard connected via a low density FMC socket to a MyriadRF
board plugged into a Zipper adapter. The PSU to the left is a DC-DC supply for a
car computer and supplies 12v 5v and 3v3 at reasonable current levels to power the

The last few days I have been attempting to create a PetaLinux BSP for the hardware,
after a lot of work I finally have managed to create a basic Linux install for the system
with I2C and SPI support. I hit all the problems that everyone else seem to hit, mainly
with the configuration of the device tree. While this has been very frustrating it has
forced me to learn quite a lot about low level Linux support on ARM platforms.

The next job will be to write the code to configure the MyriadRF then I have to decide
on how I intend to do the signal processing.

For those not familiar with the Zynq, it is basically an FPGA with two ARM cores
connected in the fabric, it also has all the usual ARM peripherals like I2C, SPI,
Ethernet etc.

What I would like to do is to implement the DATV-Express software on it to begin
with, then to add the DPD (Digital Pre Distortion), then DVB-S/T receive. There
may be other things like video capture and MPEG encoding that could be added
but that would be a lot of work and I may not bother as even low end ARM boards
can do that sort of thing now.

My current thoughts are to use one CPU for Linux and the other (in combination
with the programmable logic) to do the DVB-S/T encoding / decoding and DPD.

Even with all these goodies the system still looks expensive, the solution maybe
to throw in a SDR transceiver as well. For the moment this will just be a personal
project. I will let you know how things progress.

Wednesday, 8 April 2015

Follow up to my previous post

On air tests of NIM software

DATV being streamed to an iPhone 5

This shows the initial results of my tests with the Sharp STB0899 based NIM tuner.
On the transmit side I used a USB webcam who's output was captured using Vmix
this was then exported as a DirectShow source to a graphedit script that converted
it into an MPEG2 encoded transport stream. The transport stream was then sent
across my LAN to a remote Odroid-C which was running Express-server software.
The signal was then translated to RF by a DATV-Express transmitter board and
transmitted on 1249 MHz @ 4MS/s FEC=1/2 DVB-S. The signal was received
using a 5 Euro Sharp Tuner module donated by Rob. The resulting transport stream
was sent to a Linux computer using a cheap Chinese EZ-USB board. Once received
on the Linux machine it was sent to the VLC player using UDP packets via
the loop-back  address for display. You can see the received picture on the left screen.

The code used to control the tuner is far from a state where it could be used in action
but at least it shows things are moving in the right direction and all the components work.
I have to thank both Evariste F5OEO and Rob M0DTS for getting the project to this