Sciencemadness Discussion Board
Not logged in [Login ]
Go To Bottom

Printable Version  
 Pages:  1    3    5  ..  11
Author: Subject: do-it-yourself nuclear magnetic resonance spectroscopy
aonomus
National Hazard
****




Posts: 361
Registered: 18-10-2009
Location: Toronto, Canada
Member Is Offline

Mood: Refluxing

[*] posted on 19-9-2010 at 20:51


Quote: Originally posted by 12AX7  
Quote: Originally posted by aonomus  
I'm not sure if any of you guys have the equipment to do so, but if you have any semi-mainstream DSOs, you can always get labview to work with your DSO as the data capture device, and use a labview controlled signal generator to provide the IF for the mixer and RF amplifier for the excitation coils.

Considering that DSOs are cheap now, no reason to try to reinvent the wheel if you have labview...

Just my $0.02 adjusted for inflation.


You need megs of RAM and a full width FFT window to observe ppm shifts. This is pretty well a DAQ thing (data aquisition) requiring a PC, unless you have one of the incredibly massive mainframes that costs $50k and offers spectrum analysis this refined.

Tim


Ah, my mistake. I didn't know that detecting the small shifts in signals for NMR had such a large processing and DAQ requirement. I'm not a NMR guy, so I'm watching and learning from this thread....

I guess this explains why the Bruker NMR at work has a DAQ unit the size of a fridge.
View user's profile Visit user's homepage View All Posts By User
Eclectic
International Hazard
*****




Posts: 899
Registered: 14-11-2004
Member Is Offline

Mood: Obsessive

[*] posted on 19-9-2010 at 21:26


The late Dr. Robin Dykstra?

http://www.victoria.ac.nz/ecs/staff/robin-dykstra.aspx
View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 03:42


Another thesis on the site said he passed away, but my bad (Glad he's ok):D I do recall feeling bad reading his thesis after reading the other one:( Now I feel all good again, YAY:D

Now, there is a link to a calculator in this article, the DS1085L (the 3.3V version) can be programmed to the range needed.

As to the size of the DAC/ADC's needed, I suspect they are getting smaller as we speak. The DS1085L (above) has a DAC built into the IC (all silicon and TINY). The evaluation kit (DS1070K) appears to have everything needed to "evaluate" (ie. read, write, program and generate output = everything needed for one side of the spectrometer):cool:

That has the outputs OUT0 and OUT1 which can be programmed to be the same (kind of a good idea) frequency and one could presumably be wired directly to the pulse generator (old school & programmable)

That and the synthesizer means you have the pulse pattern set, the frequency set and precisely what needs to be fed to the transmitter coil?

Does that mean we only have to work on the other half?

PS As to the DAC's being the primary concern, according to what I can glean from FGPA circuits can handle the signal processing.

[Edited on 20-9-2010 by un0me2]




quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
12AX7
Post Harlot
*****




Posts: 4803
Registered: 8-3-2005
Location: oscillating
Member Is Offline

Mood: informative

[*] posted on 20-9-2010 at 07:58


Why the hell do you need a whole frickin DDS to generate exactly one frequency? Use an LC oscillator and be done with it. Besides cheaper and simpler, it's also smaller, being a coil, transistor, a few capacitors, resistors...

Also, easy to build in through-hole, if you are so inclined. But SMD is easy enough, at least the wide pitch stuff.

The NMR signal is about 100 Hz wide (for reaaaally shifted signals). This is not high bandwidth stuff. You don't need, and you don't want, a 50MHz ADC chopping up the whole thing, all it sees is the same damn sine wave. Instead of 10k datapoints in the audio range, you need 500M datapoints with ~100MB/s bandwidth. That's ludicrous!

What is needed is precision frequency sources. An ovenized quartz oscillator should be good enough. IF frequencies can be generated with multiplier-divider-PLL blocks, which are tedious, but not difficult.

Hmm, the ATmega series does 10kSa/s pretty easily. That's plenty for a 100Hz signal. It's no DSP chip, but with external SRAM to hold the data, and a few extra seconds between pulses to process it, you could easily run the works on a dinky little microprocessor. You could even pipe the output to a graphical LCD. Push a button, click click, wait a few seconds, there's your spectrum!

Too bad the ADCs are only 10 bits. Lots of samples could be taken, using subtractive dithering to reduce error, to improve this. It would take a lot of sampling to get it up to 16 bit quality though (~4k passes!).

An ARM something would be better suited to the math, and external ADC/DAC would improve performance (something for 16 bit audio would be fine). Or you can just use a PC's soundcard, which already has all this, plus oodles of RAM and HDD storage, plus gobs of processing power, plus familiar interfaces (if you're a Windows programmer anyway).

Tim




Seven Transistor Labs LLC http://seventransistorlabs.com/
Electronic Design, from Concept to Layout.
Need engineering assistance? Drop me a message!
View user's profile Visit user's homepage View All Posts By User This user has MSN Messenger
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 10:31


Texas A&M magnetic resonance lab made a DIY MRI for 1 cu.in. samples
in a 0.22T field == ~9.3MHz Larmor freq. where a 15ppm shift is ~150 Hz.
Control was by a PIII desktop computer.

The paper dates to ~2000, features schematics for some of it, mentions
the AD607 as an RF downconverter of choice, plus assorted other RF
amps available from RadioShack (or were in 2000).

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.142...

This is a free "teaser" article.
The full report is available by payment, DOI: 10.1007/BF02678594

View user's profile View All Posts By User
Vogelzang
Banned





Posts: 662
Registered: 26-4-2008
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 13:43


Fourier Transform Nuclear Magnetic Resonance Spectroscopy Experiment for Undergraduate and Graduate Students

Matthew A. Doscotch , John F. Evans and Eric J. Munson
Department of Chemistry, University of Minnesota, Minneapolis, MN 55455
J. Chem. Educ., 1998, 75 (8), p 1008
DOI: 10.1021/ed075p1008
Publication Date (Web): August 1, 1998

http://pubs.acs.org/doi/pdf/10.1021/ed075p1008

View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 13:43


Quote: Originally posted by 12AX7  
Why the hell do you need a whole frickin DDS to generate exactly one frequency? Use an LC oscillator and be done with it. Besides cheaper and simpler, it's also smaller, being a coil, transistor, a few capacitors, resistors...

Also, easy to build in through-hole, if you are so inclined. But SMD is easy enough, at least the wide pitch stuff.

The NMR signal is about 100 Hz wide (for reaaaally shifted signals). This is not high bandwidth stuff. You don't need, and you don't want, a 50MHz ADC chopping up the whole thing, all it sees is the same damn sine wave. Instead of 10k datapoints in the audio range, you need 500M datapoints with ~100MB/s bandwidth. That's ludicrous!

What is needed is precision frequency sources. An ovenized quartz oscillator should be good enough. IF frequencies can be generated with multiplier-divider-PLL blocks, which are tedious, but not difficult.

Hmm, the ATmega series does 10kSa/s pretty easily. That's plenty for a 100Hz signal. It's no DSP chip, but with external SRAM to hold the data, and a few extra seconds between pulses to process it, you could easily run the works on a dinky little microprocessor. You could even pipe the output to a graphical LCD. Push a button, click click, wait a few seconds, there's your spectrum!

Too bad the ADCs are only 10 bits. Lots of samples could be taken, using subtractive dithering to reduce error, to improve this. It would take a lot of sampling to get it up to 16 bit quality though (~4k passes!).

An ARM something would be better suited to the math, and external ADC/DAC would improve performance (something for 16 bit audio would be fine). Or you can just use a PC's soundcard, which already has all this, plus oodles of RAM and HDD storage, plus gobs of processing power, plus familiar interfaces (if you're a Windows programmer anyway).

Tim


Yes, but I want to be able to hook this up to other magnets as and when they are available, as the magnets change, so will the frequency. I've seen the reference to the sound card before, but getting the CPU to transfer the signal from the USB to the Soundcard in a timely manner, instead of concentrating on Windows programs first (for performance) is the reason why people are trying to keep the signal processing external to the Laptop/CPU (see especially Dykstra's work and also Takedo). Windows is known for it too, whenever it is short of RAM for XP/Vista, everything else slows down and Vista especially is a memory hog.

The programmable on-chip-solutions are physically smaller and less complex than building a solution, they also require less board space, while the USB port is more than capable of being configured for the necessary programming. It is using brute force to crack a rather small nut, yes - but the brute force solution is more accessible (in terms of time, space and money) then the less complex, less configurable solution. It isn't elegant and uses less than half the bells and whistles that are available. That said, it will be more than capable of providing the solution.





quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 18:34
Yet More NMR history


The history of NMR is also the history of Varian Associates.
This draws from Stan's NMR blog at http://www.ebyte.it/stan/blog.html

The two most important advances in early NMR spectroscopy were sample spinning and field homogeneity coils.

In 1954, Bloch at Varian suggested sample spinning ~10Hz to mitigate effects of field inhomogeneity. Two of his students quickly implemented a hack proof of concept; the commercial implementation followed shortly after.

The concept and experiment were quickly published in Physical Review 1954, a patent applied for the same year.

Patent 2,960,649 for "Line-Narrowing Gyromagnetic Apparatus" was issued in 1960 (one year after Russ Varian died).

In 1957, Perkin-Elmer mathematician Marcel Golay published early ideas and results of using coils to improve NMR field homogeneity. Varian made an early implementation in an attempt to get a device on the market first, in this case called the A-60.

Field homogeneity improvement using shim coils was Marcel Golay's brainchild, so valuable that they are still reverentially called Golay Plates.

Latter implementations are very complex looking to judge from Golay's patent 3,622,869 "Homogenizing Coils For NMR Apparatus"

Varian Inc has a short but informative 2.2Meg pdf on NMR history at:
http://www.varianinc.com/image/vimage/docs/products/nmr/spec...
View user's profile View All Posts By User
12AX7
Post Harlot
*****




Posts: 4803
Registered: 8-3-2005
Location: oscillating
Member Is Offline

Mood: informative

[*] posted on 20-9-2010 at 20:10


Quote: Originally posted by un0me2  
Yes, but I want to be able to hook this up to other magnets as and when they are available, as the magnets change, so will the frequency.


So? Change the local oscillator. A very stable and very controllable oscillator can be built from a OCXO, a pair of programmable dividers and a PLL. The dividers can be hard wired for a specific frequency, or programmable for any reasonable rational ratio to the OCXO.

Quote:
I've seen the reference to the sound card before, but getting the CPU to transfer the signal from the USB to the Soundcard in a timely manner,


Wait, USB what?

RF is converted to audio is converted to wave. Wave goes into buffer into memory. No data lost anywhere. In fact, no Microsoft anywhere. It's all done in hardware through DMA. And you don't have to write a line of code to do any of it.

The only reason you might want USB is, for instance, to program and trigger the pulse generator for another go. You can have the sound card recording before the pulse is sent, so even if you're watching ten porn movies at once, the starting transient will still be recorded.

And under much more reasonable circumstances, like a dedicated machine having no other programs open, minimal services (e.g., no background antivirus pain) and no bothersome internet connection, the USB connection will respond in what, miliseconds worst case? Microseconds or better is probably typical, though I would be interested to see the actual time spread before putting much trust in that short a range.

Quote:
Windows is known for it too, whenever it is short of RAM for XP/Vista, everything else slows down and Vista especially is a memory hog.


Your fault in OS choice / watching too much porn. I have a copy of MS-DOS 6.2 if you're interested. ;) Don't worry, you can find MS-DOS, protected mode, SVGA movie viewers so you won't even have to go without porn (though you may have to go without multitasking). :D

Quote:
The programmable on-chip-solutions are physically smaller and less complex than building a solution, they also require less board space
Quote:


Hmm, if I had the money and time (and probably the same problem for yourself), I might actually challenge you to a proper wager on that. We'd each build our own unit and compare board areas and total cost. That includes power supplies and anything else in the chain (computer, display, etc.)!

Quote:
the brute force solution is more accessible (in terms of time, space and money)


Sorry, micro ITX boards are cheaper. :D

Tim




Seven Transistor Labs LLC http://seventransistorlabs.com/
Electronic Design, from Concept to Layout.
Need engineering assistance? Drop me a message!
View user's profile Visit user's homepage View All Posts By User This user has MSN Messenger
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 20-9-2010 at 23:35


Quote: Originally posted by 12AX7  
Quote: Originally posted by un0me2  
Yes, but I want to be able to hook this up to other magnets as and when they are available, as the magnets change, so will the frequency.


So? Change the local oscillator. A very stable and very controllable oscillator can be built from a OCXO, a pair of programmable dividers and a PLL. The dividers can be hard wired for a specific frequency, or programmable for any reasonable rational ratio to the OCXO.



And a programmable oscillator is what? A few bucks? A board with it all pre-populated isn't that hard to ask for I'd imagine.:cool:

Quote:
Quote:
I've seen the reference to the sound card before, but getting the CPU to transfer the signal from the USB to the Soundcard in a timely manner,


Wait, USB what?

RF is converted to audio is converted to wave. Wave goes into buffer into memory. No data lost anywhere. In fact, no Microsoft anywhere. It's all done in hardware through DMA. And you don't have to write a line of code to do any of it.

The only reason you might want USB is, for instance, to program and trigger the pulse generator for another go. You can have the sound card recording before the pulse is sent, so even if you're watching ten porn movies at once, the starting transient will still be recorded.

And under much more reasonable circumstances, like a dedicated machine having no other programs open, minimal services (e.g., no background antivirus pain) and no bothersome internet connection, the USB connection will respond in what, miliseconds worst case? Microseconds or better is probably typical, though I would be interested to see the actual time spread before putting much trust in that short a range.



There is that much extraneous crud on this system (sans porn, although I only like to see other midget wrestlers, that's all, I promise) gmail breaks it sometimes.

Quote:
Quote:
Windows is known for it too, whenever it is short of RAM for XP/Vista, everything else slows down and Vista especially is a memory hog.


Your fault in OS choice / watching too much porn. I have a copy of MS-DOS 6.2 if you're interested. ;) Don't worry, you can find MS-DOS, protected mode, SVGA movie viewers so you won't even have to go without porn (though you may have to go without multitasking). :D



Can't say it is a "Choice" in OS choice, more pure laziness and unwillingness to work out how to get office programs which I need for study to work properly on Linux (please don't suggest open office, it shits me to tears), whereas the full, unlocked version of Office 2003 cost me zip.

Quote:
The programmable on-chip-solutions are physically smaller and less complex than building a solution, they also require less board space
Quote:


Hmm, if I had the money and time (and probably the same problem for yourself), I might actually challenge you to a proper wager on that. We'd each build our own unit and compare board areas and total cost. That includes power supplies and anything else in the chain (computer, display, etc.)!

Quote:
the brute force solution is more accessible (in terms of time, space and money)


Sorry, micro ITX boards are cheaper. :D

Tim


Micro boards are cheap, but that is a personal choice. Integrated solutions do it for me, if you ask nicely people who know what they are doing will do a lot of the work for lazy fuckers like me, chip choice, board design, etc.

Anyway, I mean I've got the old Amstrad 64 green screen out the back somewhere (the 512 Orange Screen too) if I want a dedicated system to do it:P

Damn, remember when you didn't need "VISUAL" fucking anything? They've even fucked up Fortran (no more punch cards, WTF?)...

Yes, there are classes in it now, same as basic, but I remember writing in basic when you had to physically type in the numbers at the start of the line, GOTO, GOSUB, LET n=0, LET n=n+1, NEXT n ring any bells? Who needed stinking classes when you had routines & subroutines? I don't like writing shit into code "because that is what you do" I like to know "why"...

That said, I suck at soldering projects together, I'd rather buy minimal numbers of parts (I can understand electronics when it has a datasheet & tells me what it is & does) and pay some poor sod to do it for me.

EDIT

What does suprise me is that if we are going to use the sound-card, NVIDIA seems to be fairly ubiquitous, to receive and interpret the data, why can't it be used to synthesize (or alternatively simply play) a prerecorded pulsed signal? I mean, that is pretty much what it does - it sends pulsed signals to audio output and can receive the same/similar from audio inputs. No real hacks needed, that is its reason for being.

That would put the entirety of the spectrometer on the PC, except for the output & input wires & coils, and given the degree of amplification one can get out of a speaker, it really shouldn't need additional power sources. That would make for one trippy small fucking FT-H-NMR Spectrometer - with what? Two audio wires running to the spectrometer?

That would be smaller and more compact than any external spectrometer, and I know it could work, there is more fucking RAM on most machines than there was ROM on the fucking mainframe my mother used to program (and that sucker took up a building and used punchcards)

Hang on, DSD looks promising, it can transmit/record at the appropriate frequencies and samples fast enough. How to control it? Or better, build a control for both the input & output streams? A digital sound file could be synthesized with the pulse built in, and a digital sound file could be programmatically dealt with in next to real time...

There are some fucking wild ideas coming out of this thread:cool: Here's a wilder one, a sine/square/triangle/etc. wave generator and oscilope based on the sound card (here).

[Edited on 21-9-2010 by un0me2]




quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 21-9-2010 at 07:37


Quote: Originally posted by 12AX7  

And under much more reasonable circumstances, like a dedicated machine having no other programs open, minimal services (e.g., no background antivirus pain) and no bothersome internet connection, the USB connection will respond in what, miliseconds worst case? Microseconds or better is probably typical, though I would be interested to see the actual time spread before putting much trust in that short a range.
The excitation coil takes time to quench after its pulse ends.
Capturing the demodulated FID wave can easily wait a small few milliseconds.

A single power diode (p-i-n, maybe?) or an H-bridge will quench the excitation coil in a timely manner.

Similarly, you don't want to overload the RF receiver during the excitation pulse.
The sample coil is trivially clamped with an anti-parallel diode pair.
View user's profile View All Posts By User
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 21-9-2010 at 16:15
Stelter Magnet array


Stelter arrays are a simplified derivative of Hallbach arrays, and are
described in US patent 5,635,889.

See figure 6 for something trivially input to FEMM.

Attachment: Design_and_Tech_US05635889.pdf (1.1MB)
This file has been downloaded 729 times
View user's profile View All Posts By User
12AX7
Post Harlot
*****




Posts: 4803
Registered: 8-3-2005
Location: oscillating
Member Is Offline

Mood: informative

[*] posted on 21-9-2010 at 17:39


Hmm, that diagram shows a lot of leakage. Looks like it would work even better locked inside a few inches of solid steel. Making adjustments for the change in internal field, of course.

Tim




Seven Transistor Labs LLC http://seventransistorlabs.com/
Electronic Design, from Concept to Layout.
Need engineering assistance? Drop me a message!
View user's profile Visit user's homepage View All Posts By User This user has MSN Messenger
not_important
International Hazard
*****




Posts: 3873
Registered: 21-7-2006
Member Is Offline

Mood: No Mood

[*] posted on 21-9-2010 at 17:45


Quote: Originally posted by 12AX7  
Why the hell do you need a whole frickin DDS to generate exactly one frequency? Use an LC oscillator and be done with it. Besides cheaper and simpler, it's also smaller, being a coil, transistor, a few capacitors, resistors...

----------------------

r. A very stable and very controllable oscillator can be built from a OCXO, a pair of programmable dividers and a PLL. The dividers can be hard wired for a specific frequency, or programmable for any reasonable rational ratio to the OCXO.

Tim


Which is as much trouble as using the DDS chip, if not more. The DDS gives quadrature signals out, and very fine resolution on the frequency. DDS gives the possibility of H<sup>1</sup> and F<sup>19</sup> with the same system save for the probe, and H<sup>2</sup> and C<sup>13</sup> might be doable.

Quote: Originally posted by un0me2  

...
And a programmable oscillator is what? A few bucks?
...
What does suprise me is that if we are going to use the sound-card, NVIDIA seems to be fairly ubiquitous, to receive and interpret the data, why can't it be used to synthesize (or alternatively simply play) a prerecorded pulsed signal? I mean, that is pretty much what it does - it sends pulsed signals to audio output and can receive the same/similar from audio inputs. No real hacks needed, that is its reason for being.


Simple programmable oscillators, even at the level of the DS1085, likely don't provide the needed level of stability (without the OCXO or at least TCO), tunablility and resolution.

The excitation is RF, above where most sounds cards work. And you still need power amp - remember the level of the excitation pulse, front end amplification and down-mixing, plus buffering to drive the lines back to the PC. Isolation & noise are critical, the front end will take a bit of care.

It comes down to what you want the NMR for. If you know more of less what the sample is and just are after impurity detection or level of some structure, it's much easier than if you are out for a research grade unit for structure determination of unknowns. Ditto for IR and mass spec.

View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 21-9-2010 at 19:18


That is a problem not_important, I prefer the 1085L (in terms of price and available support). Analog Devices seem to be too precious with their tech, whereas Maxim has been helpful.

I'd prefer to build something for determination of unknowns, that is why we are here.

But I'm interested in how the SoundCard (and DirectSound) are going to deal with the output from the device, when the filters and inherent limitations of the SoundCard/DirectSound stop so much of the signal (I'm tossing up in my mind whether that is good or bad, killing a big bunch of the signal dead and just looking at the small cross-section of the decay signal that would actually be taken in has some merit, but it seems like a brutal way to do it, with the inherent lack of sensitivity). The signal to the PC SoundCard would have to be heavily filtered first or a lot of it is just going to be discarded.

DDS has the range, but that depends directly upon which magnet I use, if I go for the 1.25T field the <50MHz DDS chip won't work (~53-55MHz IIRC) whereas the stabilized 1T magnet would be within the range (-44MHz). Maxim has a paper on the need to stabilize the output of the Oscillator, but I am seriously considering if the pulse generation couldn't come down from the PC/Laptop.




quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
12AX7
Post Harlot
*****




Posts: 4803
Registered: 8-3-2005
Location: oscillating
Member Is Offline

Mood: informative

[*] posted on 21-9-2010 at 20:29


Uh, did you notice my scheme? Downconvert the signal to a ~1kHz carrier. Tons of bandwidth. 44kHz sample rate is good for what, 22,000,000 ppm of shift? :D

Easy enough to add a few latches, and a DAC or counter, to generate a programmable pulse. Obviously, generating the timing from a PC is stupid.

Tim




Seven Transistor Labs LLC http://seventransistorlabs.com/
Electronic Design, from Concept to Layout.
Need engineering assistance? Drop me a message!
View user's profile Visit user's homepage View All Posts By User This user has MSN Messenger
12AX7
Post Harlot
*****




Posts: 4803
Registered: 8-3-2005
Location: oscillating
Member Is Offline

Mood: informative

[*] posted on 21-9-2010 at 20:41


Quote: Originally posted by not_important  

Simple programmable oscillators, even at the level of the DS1085, likely don't provide the needed level of stability (without the OCXO or at least TCO), tunablility and resolution.


Hence the PLL and OCXO.

Quote:
The excitation is RF, above where most sounds cards work. And you still need power amp -


God, did I forget to mention "use hardware"? It must be me, because now two people are reading past it.

I did not suggest using the sound card for pulse generation. Typical pulse widths are in the 10us range, IIRC. That would be better generated with a clock and programmable counter, or programmable one-shot timer (the timer uses fewer components, semantically speaking).

RF hardware is a given, completely and utterly regardless of any scheme you persue, whether abusing DSP or taking the subtle approach.

The RF circuitry necessarily locks the frequency range into bands. There is nothing in radio that says you can have a single range measured in decades AND high sensitivity. That's preposterous.

The cheapest, simplest and most ameteur-friendly method is pluggable coils. Adjust the tuning components for the desired band, then plug in another set when you want a different band. This technique goes back about a century and should come as no inconvienience to anyone who is sufficiently familiar with RF to actually build one of these things.

Or adjust the magnetic field to fit your band.

Quote:
It comes down to what you want the NMR for. If you know more of less what the sample is and just are after impurity detection or level of some structure, it's much easier than if you are out for a research grade unit for structure determination of unknowns. Ditto for IR and mass spec.


It should be quite feasible to build an NMR capable of measuring adjecent-proton splitting, such as the methyl and methylene groups in ethanol. That's typical of ~60MHz FT NMR, good enough for simple structural determination.

Tim




Seven Transistor Labs LLC http://seventransistorlabs.com/
Electronic Design, from Concept to Layout.
Need engineering assistance? Drop me a message!
View user's profile Visit user's homepage View All Posts By User This user has MSN Messenger
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 21-9-2010 at 20:53


Quote: Originally posted by un0me2  

But I'm interested in how the SoundCard (and DirectSound) are going to deal with the output from the device, when the filters and inherent limitations of the SoundCard/DirectSound stop so much of the signal...
tags: downconversion, quadrature detector, double balanced mixer (DBM)
search string: "NMR double balanced mixer"


Basics of NMR online tutorial at RIT:
http://www.cis.rit.edu/htbooks/nmr/

See chapter 7: NMR hardware; quadrature detector

Cute but utterly unambiguous animation of double balanced mixer action:
http://www.cis.rit.edu/htbooks/nmr/chap-7/i5-1.htm

WHAT IT MEANS:
You extract the difference signal using a double balanced mixer (AKA downconverter)
which takes as input the excitation frequency (60MHz) and the preamplified FID signal.
At 60MHz, the FID spectral bandwidth of interest is 15ppm or 900Hz.
At 0.8T, 15ppm shift is only 525 Hz.

The problem is that very low proton shifts (as has tetramethyl silane) will
appear as DC or nearly so, which is blocked by PC sound cards because
ALL their inputs are capacitively coupled.

An ADC of 12-bits at 20k samples/sec that handles DC to 3.3 or 5 volts is
vastly preferable to a 96kHz 16-24 bit sound card that rolls off below 60Hz.

Practically speaking,for adequate phase resolution, the ADC sample
rate should be 10x the maximum frequency of interest, although you
might pre-filter to remove unwanted high frequencies first.
View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 05:13


I'm watching and reading, meanwhile I am working on the magnets...

@12AX7

Yes, I did read the posts, I honestly didn't see the point you raised, sorry.*

@arsphenamine

Yeah, it is essentially an audio notch filter, you filter out the radiation you put in & what is left is noise+response (or that is my take). Hang on, why are we at 60MHz? I'm struggling with what frequency I need, do I or don't I need to put in a specific frequency, based upon the field strength (0.8T as you pointed out earlier is well below that (IIRC 44MHz/T?), or I've missed something basic, not unusual)?

That said, a digital input via the soundcard/DirectSound would be promising, that enables access without the vagaries of Windows OS prioritization getting in the way. A fast ADC is going to be needed, but I'm interested in seeing more about how to generate the signal in the first place.

* Why is generating the pulse from a PC so out of the question? Timers, like fan-type speed controllers, are on every board I can remember seeing, surely they can be reached programmatically? The pulse doesn't do anything but open the gates for the generated frequency to go through does it? The clock on the SoundCard, which is already going to be wired into one side of the unit, runs at how many hertz?

PS This ain't a College/University, more is learned by arguing points than most will ever acknowledge.:) Argument isn't bad per se.





quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 08:55


Filtering a downconverted FID:
I had in mind a low-pass filter since you want to see the near-
zero chemical shifts
. Don't want to miss that cyclopropyl radical, do you?
If the spectral bandwidth is Fs, set a filter at 2*Fs but sample at 10*Fs
for adequate phase information up to Fs.

UWisc Chem's online NMR-IR database has a good explanatory gif of well-
known NMR shifts here:
http://www.chem.wisc.edu/areas/reich/handouts/nmr-h/hdata{00...

Sample Data Volume
Assume 15ppm @60MHz, scale linearly for your particular magnet.
900Hz, 10x oversampled = 9000 samples/sec.
Worst case 4 sec FID period = 36k samples =>~72kBytes unpacked.
The nominal T2 period for liquid solutions is 1-2 seconds.
In other words, the entire FID signal will often fit in a 64kB segment.

You don't need a fast ADC, merely 12bits, DC response, 10kHz minimum
sample rate, ideally with on-board buffering for DMA block xfer.

Why 60MHz:
A huge lot 60MHz data already exists for comparison, so I use it with the
assumption that people can confirm it, perhaps call me out if I'm wrong.

Soundcards and USB:
If you up-convert by enough Hz to get out of the way of a soundcard's AC
input coupling, then remove the upconversion digitally, a consumer grade
soundcard can be plausibly used. PS, they tend not to be linear in the
pass band.

Windows latencies
Windows, if lightly loaded(no videos, no compilations, minimal network
traffic, no DVD burning), usually allows timely DMA transfer from a drive
controller or sound card. These occur either interleaved with or instead
of CPU bus traffic.

USB 2.0 traffic contains a large amount of polled mode CPU intervention
and DOES cause undesirable latencies. Bring up the task manager CPU
load graph, plug in a USB drive, and determine for yourself what level of
load/latency is acceptable.

Pulse generation
Pulse widths from box fans and parallel ports under CPU control are
insufficiently reproducible when you need something accurate
in small parts per million.

It would be cheap+easy+highly reproducible to program an Arduino or
PIC board as a pulse generator (AKA retriggerable one-shot multivibrator).
Install a better clock crystal on the board or use a suitable external clock.

BEG/BORROW/BUY/STEAL THIS BOOK!
For a practical understanding of most of these issues, I strongly
recommend the Exstrom book on an earth-field NMR, despite their brute
force handling of the excitation coil quenching.

This is as close as you'll ever get to a DIY NMR book!
Outside of an NMR manufacturor's engineering lab, none exist.

http://www.exstrom.com/magnum.html
View user's profile View All Posts By User
not_important
International Hazard
*****




Posts: 3873
Registered: 21-7-2006
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 10:31


Uh, Tim, did you notice the text about the sound card I commented on came from un0me2 , and it said "why can't it be used to synthesize (or alternatively simply play) a prerecorded pulsed signal" Ditto regards the programmable oscillator, and RF front end comments. By the time you add in the outboarded PLL and other stuff, you might as well go with a DDS chip.

Ah, thanks arsphenamine, I forgot to mention the low end rolloff of soundcards; they're designed to work with the human ear rather than research type stuff.

And, yes, PCs running Windows tend to be iffy about timing, even when using the PC hardware. Note that much of it isn't directly accessible as an I/O device, being dedicated to PC functions. One place I worked got a lot of push from MS to use their OSes, both standard Windows and WinCE (badly if apply named). When asked about determinacy of timing, and got the reply "well, just use a faster and faster processor until it works."

View user's profile View All Posts By User
arsphenamine
Hazard to Others
***




Posts: 236
Registered: 12-8-2010
Location: I smell horses, Maryland, USA
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 12:58
NMR process control thots


As an unregenerate embedded systems geek, I've given the controller some thought.

A 10 bit ADC gets you 60dB, enough for proof of concept with .8T magnet = 34MHz Larmor frequency.
For 15ppm, you need 5400 samples/sec = 10.8kb/sec.

It can't be buffered much on a microcontroller but may be sent in 254 byte
blocks asynchronously by a network chip.

An Arduino with a WizNet 100base/T shield is a likely tool since the network
chip can buffer 8kb.

If you don't mind programming in C++ as if it is C, using free/open source
tools, plus a HUGE volume of pedagogical material, plus online source code
projects+libraries+community, plus a plethora of daughterboards, then
the Arduino might appeal to you.

It certainly did to me.

Ironically, my first Arduino project was a modest gaussmeter.

Arduino: http://arduino.cc/en/Main/ArduinoBoardDuemilanove
Net daughterboard: http://arduino.cc/en/Main/ArduinoEthernetShield
$80, please.

A few digital IO lines handle the excitation pulse width and coil quenching.
There remain sufficient IO lines (need 3) to set up the
DDS-60, a 60MHz DDS siggen board which uses the AD9851.

The DDS-60 is available assembled and tested.
http://midnightdesignsolutions.com/dds60/index.html

Another $80, please.

IOW, the control hardware and software libraries are all nearly done for us.

What remains are the RF power and detection, downconverter design, and coil designs.

View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 13:40


Hmmm, I wasn't suggesting above sending an analog signal to the Soundcard, but sending the filtered & digitized signal to the SoundCard. DirectSound is the Direct X controller for Soundcards, which can take digital input and deal with it programmatically.

I'm almost certain there will be well documented examples somewhere of taking a signal, filtering the piss out of it, then digitizing it directly to WAV format.

Coil design will be either a basic birdcage/double saddle design to begin with.

The RF power amplification is certainly available, the 16-Bit ADC's are easy enough to find.




quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
IrC
International Hazard
*****




Posts: 2710
Registered: 7-3-2005
Location: Eureka
Member Is Offline

Mood: Discovering

[*] posted on 22-9-2010 at 17:51


Why deal with a sound card? Could you not take a serial data output from a fast ADC and feed it in the RS-232 serial port with a little program written in C or Visual Basic or something similar?

Edit to add: or for that matter the USB port?


[Edited on 9-23-2010 by IrC]




"Science is the belief in the ignorance of the experts" Richard Feynman
View user's profile View All Posts By User
un0me2
aliced25 sock puppet
***




Posts: 205
Registered: 3-2-2010
Member Is Offline

Mood: No Mood

[*] posted on 22-9-2010 at 18:48


Well that is what I thought originally, then the whole cluster-fuck that is Windows OS and its way of dealing with non-Windows programs in terms of timing made everyone a little nervous... I'll have to have a look, I assume DirectSound can be manipulated to access a USB port as the address for digitized audio input (otherwise it would be impossible to use MP3/whatever else via USB).

Ok - we'll need an RF receiver, yes?

How about the MAX2014 (50MHz to 1000MHz, 75dB Logarithmic Detector/Controller), with the MAX1421 (12-Bit, 40Msps, 3.3V, Low-Power ADC with Internal Reference) high-speed DAC? The MAX2014 would appear to be the top of the line from that vendor, is it suited or not? Obviously there are no dedicated filters on the board yet, they will be needed obviously.

I'm also considering MAX2650 DC-to-Microwave, +5V Low-Noise Amplifier for both ends of the RF signal (pre-transmission & pre-processing).

Any decision on the preferences? The Analog Devices/Maxim route? I'm quite confident that AD have the same/similar IC's for each suggested one above.

Ideas, discussion?

not_important, how strong does the pulse have to be? I'm struggling to find anything useful, obviously everyone says as strong as possible, great, informative as fuck. What would be the bottom, top and middle ground you'd suggest in either dB/W...

[Edited on 23-9-2010 by un0me2]




quam temere in nosmet legem sancimus iniquam
View user's profile View All Posts By User
 Pages:  1    3    5  ..  11

  Go To Top