So when I found that my IM-ME spectrum analyzer had a frequency offset, I sent a tweet to the author wondering if he had a clue what was going on. Turns out that he did.
|Well, There's Your Problem|
Michael pointed me to where the code can be fixed. Here are a few lines out of specan.c
/* the frequency setting is in units of 396.728515625 Hz */
u32 setting = (u32) (freq * .0025206154);
So it should be just a matter of scaling the constant above by the ratio of the frequency difference to fix the problem. Like so:
u32 setting = (u32) (freq * .0025206154 * 26.0 / 27.0);
No real idea why my IM-ME has a 27 MHz oscillator where others have 26 MHz. It might be a difference in the US vs UK models, or it might be a design change they made in a rev of the hardware.
I'm just psyched that my IM-ME is pimping a 4% overclock. Boo-ya.