Today I’m going to try and figure out why my FIR Filter doesn’t seem to work properly. I’m doing IQ Demodulation for a radio location system we’re developing but the output of my new FIR Filter looks really weird. Hopefully it’s just the taps for the filter that are wrong. I’ll update this post as I go along and I’ll eventually post the FIR code for the ARM that’s based on some code in the excellent ARM System Developer’s Guide but modified to take IQ interleaved data.

Update: 2:02 PM
Note to self: An array of int16’s looks weird when you treat them like int32’s. Ok, so the FIR filters work fine; it was my data display that was screwy.

Update: 5:03 PM
IQ Demodulation is working great. My goal is to do all our mathematics within 5 milliseconds so that our acquisition time is greater than our processing time. That way we can process continually so we won’t have to deal with synchronizing bursts of packets. IQ demod is taking 1.8ms so I have 3.2ms to do everything else. Should be fun! 🙂