Saturday, November 14, 2009

Signal Processing

Well, it's been a while since the last update.

I've finally managed to implement digital signal processing in the L2Dopplar project. I have only implemented one digital filter as of right now - the sliding window averaging filter. It is possible however to implement more complex signal processing with the current setup. We have enough information available to any particular digital filter to do FFT transformations, as well as look at the signal in the time domain.

Sean is currently working on a Qt front end for the program. Hopefully we'll have this complete before too long.

As far as performing an MCG with this setup is concerned, the capacity to perform that specific task is simply not there. We can get good information about large differences in ping times. The current implementation would be suitable for car crash detection. Unfortunately, the current setup does not have enough resolution to pick up a heart beat. It is now out of the scope of this semester project to implement an MCG using this system.

We propose a new "hardware backpack" for cellular phones (specifically the android) which has an FPGA with a custom antenna to pick up detailed information regarding the incoming signal from the ping. We can use a mobile phone to send a ping to its backpack which is isolated from the phone via some sort of Faraday cage - and have the backpack do detailed dopplar level calculations. With a system like this, we could potentially sense a heartbeat behind a wall. This will be a good project for second semester when funding goes back up.

Anyway, I've uploaded the new signal processing core to SVN. Check it out if you want. I haven't tested it very thoroughly, but it might just work!


Monday, October 26, 2009


Hello again,

Well, we've finally got a proof of concept. We decided to do a two-machine proof of concept - in which both machines are in directional antennae pointed the same way. One machine pings the other, and in order for the ping to be received, it must bounce off of something in front of the setup for the other computer to receive it. When the other computer receives this ping, it sends a response back to the sender which also must bounce off of the object in front of the rig. When the sender receives the response, it calculates a dT which we can use to approximate how far away the object is from the rig.

We're using bootable SLAX thumb drives with BlueZ loaded into them. We're using the l2ping command to ping over bluetooth. We have both machines in cardboard boxes lined with tin-foil to make a directional antenna.

Results are promising, as we can already see differences in the raw ping times. With some signal processing, we could probably even see more detail in our times. We're currently just flood pinging the other laptop and qualitatively examining the times we get.

This isn't a true dopplar radar, but the more we research what's available to us, we probably won't be able to get a dopplar shift from consumer grade hardware. We'll likely have to build our own hardware using an antenna/ADC. This proof of concept is good enough to show considerable distance differences (1, to 9 meters with reasonable resolution). We will be unlikely to get MCG information from this rig.

Source code has been posted to google code. It is currently just a renamed version of l2ping, but as we add our own signal processing to the response times the code will slowly morph into something more directed toward dopplar radar.

In other promising news, we found that BlueZ allows us to ping a secondary bluetooth device connected to the same laptop. This brings the machine count down to one - a necessity for our second milestone. Huzzah!

And in other news, BlueZ is apparently used in Android. Mobile dopplar ahoy!


Tuesday, October 6, 2009


We're currently performing research into the MCG Project, and we've finally hit pay-dirt. We figure we can perform an MCG using data packets rather than raw analog signal. Here's how we're thinking about doing it:

We send a data packet with a pseudo-random number encoded in it. We open a window shortly after this message is sent - initially a very small time interval after - and listen for the echo, checking that its the same PRN. If it's received in this time window, we know we have a signal. We can vary the window from very short to longer time intervals in order to get a broad spectrum of dopplar times. From this - we can perform some signal processing to determine where the heart beat is.

It's a very high level idea at this point, and much needs working out. The importance of this idea is more relevant to the hardware side of things - it's finally feasable to use consumer level electronics! We just need to look into enabling full-duplex communication on the same frequency with bluetooth/802.

More to come.

Sunday, September 27, 2009

Google Code Page

We've got a Google Code page now.

No source code on it yet - We're still researching the technology.


Friday, September 25, 2009


This is the blog for the microwave dopplar MCG project going on at Rensselaer Polytechnic Institute through the RCOS project. Updates soon.

This project is sponsored by the Rensselaer Center for Open Source, generously founded Sean O'Sullivan '85.