Matched filters – Review

At the risk of revealing (again) my simple-mindedness, I thought I’d summarize some basics that I have had to review in the last couple of days.

As part of my research, I’m looking at seismic data collected by a network of ocean bottom seismometers (OBSs).  I’m not looking for earthquakes, though – I’m looking for whales.  Fin whales, and also some blue whales, since their calls are at lower frequencies that are within the seismometers’ bandwidth.  Fin whales are the focus for now – we see a lot more of them than the blue whales.

Dax Soule has spent a couple of years working with our advisor to develop code to detect whales, count them, look at the call statistics, and also to track them.   Dax will be moving on to other work (seismic tomography! so cool!), and I’ve been going through his code to understand what he did.  He’s got some really slick algorithms that I’m trying to incorporate into the next generation of the code that will allow us to look at similar data from other sites.

One of the new things that I added was a really basic matched filter/cross correlator.  And in order to do that, I had to remember what they were, and how they worked.  So I made up a couple of signals.  A chirp and a continuous wave pulse.  They were both the same length (1 second).  The chirp swept from 24 – 15 Hz, which is similar to a fin whale call.  The CW pulse was just at 20 Hz.

Here they are:  they’re the same length, and the amplitude of the random noise is the same. Just glancing at them, the signals look really similar.  But the cross correlation results are really different!

The chirp signal has a much narrower peak in the cross correlation result.  This is because, even though they are the same length, and are centered on the same frequency, the chirp has a larger bandwidth, and our ability to detect a signal improves with increasing bandwidth.

There’s something interesting happening here, though:  if you squint a little, and look at the general shape of the cross correlator output, it looks like a triangle in the first figure, and like a sinc function in the second.  But there’s a higher frequency signal living “inside” these bigger shapes.  When we’re trying to pick a peak, that higher frequency stuff really just gets in the way. So how do we deal with this?  One thing we can do to improve our picking ability is to baseband the signal using quadrature demodulation.  That means that instead of looking at a 20 Hz signal, we bump it down so that it’s centered at 0 Hz.  The basebanded signal just looks like an envelope over the original signal.

When you do this, the cross-correlator output looks much better, and it’s far easier to pick a peak.  Here’s the chirp cross correlation before and after basebanding:

Anyone who knows what this is all about will realize that I’ve done a huge amount of glossing over the details. But the good news is it seems to work.

Leave a Reply

Your email address will not be published. Required fields are marked *