Alastair Barber

A Teensy/Arduino AD9834 Based WSPR Transmitter

WSPR

The Weak Signal Propagation Reporting (WSPR) protocol is designed to allow for radio propagation conditions to be measured across different frequencies and times. It is a slow speed digital mode, and there exists a network of thousands of receiving stations worldwide reporting the identity of received stations, along with their locations, to a central server. Whilst there are applications of this in the field of propagation condition reporting, the fact that there are many receivers always available and logging received signals in real-time, and that the protocol is slow speed and simple to implement, coupled with the fact that signals can typically propagate huge distances, makes this an exciting protocol to build your own transmitters for and see impressive results immediately.

The map above shows the stations receiving a single message sent on a December evening from the North East of England using a simple wire antenna and about 2.5 watts of power.

Using the the AD9834 DDS IC along with a Teensy (or Arduino) micro-controller, it’s possible to build a flexible WSPR transmitter. Here are some construction notes along with code snippets and repositories for implementing this.

read more

Creating PWL Files For LTSpice for PWM Signals

Composition of LTSpice circuit, real circuit and scope trace

Here is a very simple tool that can be used to simulate producing sine waves from PWM pulses and an appropriate filter in LTSpice. It can be downloaded and built or run online…

read more

Simple WebAssembly App From The Ground Up

Tool demo with LTSpice window I decided to try and learn about WebAssembly from the ground up by building the (very simple) C++ PWL file generator for the web using WebAssembly. I spent some time learning about how WebAssembly is implemented and finding out what is needed to get the program to run. Here are some notes from this process. It is intended as a bird’s eye overview of the concepts, there are links here to much more thorough and in-depth documentation. Of course this is complete overkill for this kind of utility - and conversely for anything more complicated you will appreciate the tooling available in Emscripten or similar rather than figuring it all out manually, as this article does…

read more

Meet Me Half Way

Meet Me Half Way Destination Suggestions This is a fun website that I recently put together for a hackathon run by Amadeus. I’ve not created anything for the web in ages so this was good fun to put together, and try and figure out this modern JavaScript thing :)

read more

VFX Pipeline Stats

Matchmove QC cones Update: Check out the FxGuide DigiPro Report On the 23rd of July, I’ll be presenting a paper at the Digital Production Symposium (DigiPro) in Anaheim called Camera Tracking in Visual Effects, An Industry Perspective of Structure from Motion (Free Download). The overall aim is to examine why, when there’s so much research being done in automatic camera tracking in the computer vision community, we in VFX spend so much time and human effort figuring out camera movement, even with access to the latest tools, equipment and research.

read more

Inferring Changes in Camera Intrinsics from Motion Blur

Blurry focal length change

I did this work as an earlier part of my EngD and it’s written up in the Elsevier Computers And Graphics Journal (free preprint version). The idea came about from an earlier work by Klein & Drummond who used motion blur to produce a single frame visual gryroscope. We had a go at extending this to see if you could accurately determine changes in focal length from motion blur.

read more

Using JASIOHost

JASIOHost is based upon the observer model of software design. In order to successfully gather audio data from an Audio Input – one must write a class that is able to handle the data returned – in a similar fashion to how you may handle UI events

Here’s an example…

read more

DIY Multitouch Table

For my final year project, I had to design and code a digital audio mixing program, with an interface as a multi-touch table. Although I had access to some (very good) FTIR (Frustrated Total Internal Reflection) ones in the lab at my university, I thought it’d be cool to try and build one myself over the winter holiday. Here are some pointers from my experience…

read more