MRFM (Magnetic Resonance Force Microsocopy) and GNU Radio

The UW Quantum System Engineering Laboratory has written
code for Magnetic Resonance Force Microscopy (MRFM).
The code is available from

http://staff.washington.edu/~jon/gr-mrfm/

Some of the code might be useful to other GNU Radio users. On the
FPGA side, there is a 2-stage biquad filter with 24-bit (not 16-bit)
data path and filter coefficients. There is also an input multiplexer
and adder. On the host side, there is code (in Python with SciPy)
that transforms transfer functions, expressed as ratios of polynomials
with floating point coeffcients, into cascaded biquad stages with
scaled integer coeffcients. The host side code acts as a server, so
it can communicate with the MRFM experiment software over TCP/IP
sockets. There is a sample client, also in Python with Scipy.

I have put links to our site on the Wiki OurUsers and OtherCode pages.

Jon Jacky

Jon-

that transforms transfer functions, expressed as ratios of polynomials
with floating point coeffcients, into cascaded biquad stages with
scaled integer coeffcients. The host side code acts as a server, so
it can communicate with the MRFM experiment software over TCP/IP
sockets. There is a sample client, also in Python with Scipy.

I have put links to our site on the Wiki OurUsers and OtherCode pages.

I’m curious … what do use the ‘biquad filters’ for? I assume you mean
that you’ve
implemented a 4th order IIR filter? If so that would mean somewhat
non-linear phase
depending on the IIR design type. What type are you using? Elliptic?
Other?

Thanks.

-Jeff

Jeff -

I’m curious … what do use the ‘biquad filters’ for? I assume you mean that you’ve
implemented a 4th order IIR filter? If so that would mean somewhat non-linear phase
depending on the IIR design type. What type are you using? Elliptic? Other?

The pair of cascaded biquadratic filters form an optimal cantilever
controller. Our experiment software calculates the controller transfer
function, a ratio of polynomials with four numerator and four
denominator coeffcients (floating point), using the methods described in
the papers linked to our page at “Cantilever controller design is
discussed here …”
Our software refactors and scales that transfer function into two biquad
filter stages with 24-bit integer coefficients. So I guess the filter
type is “other”. Some phase compensation is included in the transfer
function, as described in the papers.

Jon

Jon-

stages with 24-bit integer coefficients. So I guess the filter type is
“other”. Some phase compensation is included in the transfer function,
as described in the papers.

Ok thanks. A fascinating use of the USRP hardware.

-Jeff