Alastair Barber

A Teensy/Arduino AD9834 Based WSPR Transmitter

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.

Read more

Creating PWL Files For LTSpice for PWM Signals

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

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

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 :)

The backend is written in Python 3 using Flask and runs on a fun mix of Amazon Lambda, S3 and the excellent Python Anywhere. It’s something that I’m keen on developing - one of the most interesting things I’ve found is the amount of data that can be retrieved from a simple flight query that you would need to take into account: Things such as operating vs. marketing Airlines, Routing, Stopovers, Pricing Rules etc etc. I found that to make this app though I was only scratching the surface of what could be done with all this information and throwing a lot of valuable data away.

Read more

VFX Pipeline Stats

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

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

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