mtwieg
Advanced Member level 6
Hello, for the last year I've been building simple desktop NMR systems. In short, it involves transmitting and receiving signals at a specific frequency with a small bandwidth. For example, for the system I've been working on recently I work at 64MHz with a bandwidth around 100KHz. However my system has several limitations I'd like to overcome in my next revision, and I'd like help on implementing changes.
Below is a simple block diagram for my current setup. I have a single AD9851 DDS synthesizing the 64MHz for both the transmit amp and the LO for downconversion. My transmitter is modulated by controlling the TR switch and also the biasing of the TX PA. On the receive side I downconvert directly from 64MHz to baseband. I don't have to transmit and receive at the same time, so I can change the DDS frequency and phase between transmitting and downconversion.
![currentsystem.PNG currentsystem.PNG](https://www.edaboard.com/data/attachments/9/9017-8924384829e582be8a96d07cfec9b33e.jpg)
So there are a few major issues. First, I have to tune the phase of the LO going to the downconverter in order to match with the phase of the received signal. That phase changes with cable lengths, different coils, etc. I'd like to have an IQ downconversion scheme so I can sample both and get the magnitude of the signal regardless of its phase.
Second, since my LO frequency is the same as my received signal frequency, I get feedthrough of the LO through the RX amplification chain, which mixes down to DC and noise. This is undesirable, so I'd like to use an IF and two stage downconversion rather than downconverting directly to baseband in one stage.
Third, I have to control my transmit amplitude, but the AD9851 isn't built for amplitude modulation. I've been using a variable current source on its Rset pin, which works okay, but is very nonlinear. I'd like a better, more predictable way to vary the output of the transmitter.
Also in the future I'll probably have to operate at a much lower frequency (around 9-10MHz).
So overall I think I want something like the classic IQ demodulator here:
![desiredsystem.PNG desiredsystem.PNG](https://www.edaboard.com/data/attachments/9/9018-86154653c3cd02e566620684f2fe4875.jpg)
So my question is how best to implement everything here (and keeping in mind I still need to synthesize RF for the transmitter) with the minimum number of components. Another limitation I face is that my microcontroller is just a ATMEGA328, which is limited in power and IOs. Here's a short list of concerns I'm looking for commentary on:
Any comments are appreciated.
-Mike
Below is a simple block diagram for my current setup. I have a single AD9851 DDS synthesizing the 64MHz for both the transmit amp and the LO for downconversion. My transmitter is modulated by controlling the TR switch and also the biasing of the TX PA. On the receive side I downconvert directly from 64MHz to baseband. I don't have to transmit and receive at the same time, so I can change the DDS frequency and phase between transmitting and downconversion.
![currentsystem.PNG currentsystem.PNG](https://www.edaboard.com/data/attachments/9/9017-8924384829e582be8a96d07cfec9b33e.jpg)
So there are a few major issues. First, I have to tune the phase of the LO going to the downconverter in order to match with the phase of the received signal. That phase changes with cable lengths, different coils, etc. I'd like to have an IQ downconversion scheme so I can sample both and get the magnitude of the signal regardless of its phase.
Second, since my LO frequency is the same as my received signal frequency, I get feedthrough of the LO through the RX amplification chain, which mixes down to DC and noise. This is undesirable, so I'd like to use an IF and two stage downconversion rather than downconverting directly to baseband in one stage.
Third, I have to control my transmit amplitude, but the AD9851 isn't built for amplitude modulation. I've been using a variable current source on its Rset pin, which works okay, but is very nonlinear. I'd like a better, more predictable way to vary the output of the transmitter.
Also in the future I'll probably have to operate at a much lower frequency (around 9-10MHz).
So overall I think I want something like the classic IQ demodulator here:
![desiredsystem.PNG desiredsystem.PNG](https://www.edaboard.com/data/attachments/9/9018-86154653c3cd02e566620684f2fe4875.jpg)
So my question is how best to implement everything here (and keeping in mind I still need to synthesize RF for the transmitter) with the minimum number of components. Another limitation I face is that my microcontroller is just a ATMEGA328, which is limited in power and IOs. Here's a short list of concerns I'm looking for commentary on:
- I'm open to using another type of DDS that has better amplitude control than the AD9851. Needs to have an SPI interface though. Also, all of my synthesized signals must maintain their relative phase, so I assume that means they must all share a clock source.
- I'd prefer to use one DDS to generate both my I and Q IF signals. Would using a hybrid coupler work at 1MHz?
- I would need an ADC with simultaneous sampling for the I and Q signals. But I'd like one that clocks out the two samples sequentially, not at the same time, and in just 16 bits each. Any recommendations?
- So far I've been using doubly balanced mixers (ADE-1L from minicircuits), which are rated from 2-500MHz. For the IF to baseband IQ stage I'd need something that can go lower in frequency. I'm open to different mixer topologies. I'd like something that's easy to match to 50ohms.
Any comments are appreciated.
-Mike