Digitally Based Precision Time-Domain Spectrometer for NMR Relaxation and NMR Cryoporometry

: NMR Relaxation (NMRR) is an extremely useful quantitative technique for material science, particularly for studying polymers and porous materials. NMR Cryoporometry (NMRC) is a powerful technique for the measurement of pore-size distributions and total porosities. This paper discusses the use, capabilities and application of a newly developed compact NMR time-domain relaxation spectrometer suitable for studying both solid and liquid samples (Mk3 NMR Relaxation spectrometer & Cryoporometer, Lab-Tools (nano-science), Ramsgate, Kent, UK. (2019)). This highly compact precision NMR Spectrometer is based on a Field Programmable Gate array (FPGA) module and custom surface mount low-noise NMR receiver and NMR linear transmitter. A high proportion of the RF circuitry is in a digital form, implemented as ﬁrmware in the FPGA, which gives the instrument an excellent long-term stability. It also includes an on-chip Linux computer. The FPGA module is credit-card sized, and both the NMR receiver and NMR transmitter are even smaller. The software, including the top-level NMR pulse sequence deﬁnitions, are written in an array processing language, Apl. The spectrometer comes complete with a Graphical User Interface (GUI) for control and on-and ofﬂine curve ﬁtting and data analysis. The recent development of the Lab-Tools Peltier thermo-electrically cooled NMR variable-temperature (V-T) probe that cools the sample below − 60 ◦ C is also discussed. This Peltier cooling gives the precision temperature control and smoothness needed by NMR Cryoporometry (10 mK near the probe liquid bulk melting point). This enables the NMRC measurement of pore-size distributions in porous materials, for the unusually wide pore-size range of sub-nano to over 1 micron-sized pores. The NMR Spectrometer’s unusually small size, ability to measure solids, low noise and high performance make it particularly suitable for material science studies both in the ﬁeld and in university, research institute, company and even school laboratories. A human portable version now exists. Use of the controlling GUI is described, and results from example NMR Relaxation and NMR Cryoporometric measurements are given.

Most modern NMR Spectrometers capture their data in the time-domain: one or more powerful RF pulses are applied to the sample, and the resultant evolution of the sample's magnetic moment is captured, see Figure 1. The key point about using time-domain NMR is that it provides direct information on the physical motion in the sample, leading to information on sample properties that in different fields may variously be described as mobility, dynamics, stiffness, viscosity or rigidity. For examples that include hydrocarbons and polymers, see Section 7.3. Many NMR spectrometers then Fourier transform these data to the frequency domain, and, if the measurement has been made using an extremely homogeneous magnet, this provides spectral chemical information. A simply expressed reason for this sensitivity to motion in the sample is that the magnetic field at a nucleus is modified by the magnetic moment of adjacent nuclei, changing the rate at which the first nucleus precesses in the magnetic field. If everything is rigid, this extra field has a long time to act, and so, overall, the different nuclei in the sample rapidly fall out of step with one another, and the net rotating magnetic field decays rapidly, perhaps in 10 µs. As motion increasingly sets in, perhaps at higher temperatures, these fixed field offsets start averaging out over an NMR rotational period. "Motional Narrowing" sets in, and the T 2 decay time becomes longer [1]. For an example of the measurement of motional changes in the Gaussian T 2 s in brittle ice, see Section 8.2.
NMR relaxation can also be used directly to measure micron-sized pores, provided one knows the surface relaxation properties of the porous material [12,14]. Often termed NMR Relaxivity, this technique is of limited use for nano-metric sized pores.
Alternatively, NMR Cryoporometry (NMRC), the theory of which is discussed elsewhere, [10,[15][16][17][18], is a powerful technique for the measurement of nano-metric pore-size distributions and total porosities based on the lowered melting temperature of liquids in the pores-the Gibbs-Thomson effect-being the constant pressure version of the Gibbs equations [15,[19][20][21], whereas the Kelvin equation, etc., as used by Gas Adsorption is the constant temperature version. This paper discusses the design, use and application of the Lab-Tools Mk3 precision compact NMR time-domain spectrometer and optional Peltier thermo-electrically cooled variable temperature probe for both NMRR and NMRC measurements [22,23]. Specific discussion is given on the use of the Graphical User Interface (GUI) for both configuring such measurements, Sections 5.4 and 6, and for analysing the data both online and offline, Section 7.3. GUI modules have been recently added to assist with process monitoring.
This NMR spectrometer is based on a Field Programmable Gate Array (FPGA). Other examples of FPGA-based instruments appear in the literature, for instance [24][25][26], but do not appear to be as compact, complete and easy to use as NMR time-domain spectrometers. This instrument is an NMR time-domain spectrometer that auto-tunes and is immediately ready for research measurements under the control of a Graphical User Interface (GUI). The design has been optimized based on many decades of development and using both NMRR and NMRC instruments in the research laboratory.
A particular feature of this spectrometer is that it has a fast recovery and so can measure NMR Relaxation both in the bulk and in sub-nano-meter and upward-sized pores, for materials that may be liquid, gel, waxy, tarry, etc. [13], and is quite capable of measuring T 2 s in brittle ice (and hence the mobility of the ice molecules), see Section 8.2. This is highly useful for studying the properties of hydrocarbons in both recovered porous rock samples from oil reservoirs and in fired biochar porous carbon samples, for example [27]. A more detailed discussion of NMR Relaxation and specific application examples are given in Section 5.4.
The measured signal-to-noise of this low-field time-domain NMR spectrometer is good, as can be seen in Figure 1, for a single-shot measurement of the Free Induction Decay and Echo measured in 119 mg of water in a 5 mm OD standard NMR tube at 14 MHz in a Halbach NMR Magnet.
In polymers, crystalline/amorphous ratios may be measured. By swelling rubbers and polymers by adding liquids to them, the cross-link density and nano-to micro-porous properties of the polymer may be obtained [15,17,39]. In biochar, progressive changes to the quantity and mobility of hydrocarbons, as well as changes in pore-blocking, as a function of preparation temperature have been demonstrated [27].
All these measurement techniques can be implemented using this recently developed, highly compact Lab-Tools Mk3 precision NMR Time-Domain Relaxation Spectrometer, based on a custom surface mount low noise NMR receiver, an NMR linear transmitter and Red Pitaya STEMLab 125-14 [40], a commercially available data acquisition module built around the Xilinx Zynq-7010 System-on-Chip (SoC) with a dual-core ARM Cortex-A9 processor and a Field Programmable Gate Array (FPGA), connected to fast dual-channel Analog to Digital Converters (ADCs) and Digital to Analog Converters (DACs). These instruments have a high proportion of their RF signal processing circuitry in digital form, implemented as firmware in the FPGA. The data acquisition module is credit-card sized, and both the NMR receiver and NMR transmitter are even smaller. It comes complete with a Graphical User Interface (GUI) for control and on-and offline analysis.
The NMR Spectrometer's unusually small size, low noise, high performance and ability to measure solids make it particularly suitable for material science studies in the field and in universities, research institutes, companies and even school laboratories. A human portable version has been demonstrated ( Figure 2). Use of the controlling GUI is described, and results from example NMR Relaxation and NMR Cryoporometric measurements are given.

Lab-Tools Mk3 NMR Time-Domain Relaxation Spectrometer
We have developed an NMR Relaxation Spectrometer based on a Field Programmable Gate Array (FPGA) module with a dual-core Linux CPU [41]; this module is shown on the left in Figure 3.
The Lab-Tools Mk3 NMR Relaxation Spectrometer is built around a credit-card-sized data acquisition module, with custom firmware, C and array processing AplX programs added and with an attached custom surface mount low-noise receiver and linear transmitter ( Figure 3). The extreme compactness and lightness of this precision research-grade NMR Relaxation Spectrometer make it ideal for use in the field. The spectrometer system has been certified to international standards BS EN 61 326-1:2013 [42] & IEC 61326-1:2012 [43]. The low-noise NMR pre-amplifier and linear NMR transmitter modules are mounted in a gold-flashed, 3D-printed metal box and connected to the credit-card-sized data acquisition module by a screened PCB (Figure 3). In Figure 4, it is shown in use in the laboratory, with a room temperature NMR probe, a 24 MHz NMR Magnet and a fully configured all-in-one HP i5 desktop computer for control and data display and logging. In Figure 2, it is shown with an 8 h battery supply, a laptop and a Mandhalas NMR magnet, being used in the field with a laptop for control and data display and logging.
A versatile research-grade Graphical User Interface (GUI) ( Figure 5) has been developed for use with the Mk3 NMR Spectrometer.
The Lab-Tools NMR Spectrometer is controlled via the TCP server running on the CPU of the data acquisition module that communicates over an Ethernet connection to a TCP client .NET library on the Windows desktop computer. This method is able to support control and data collection from, say, an on-site study, as well as from an adjacent control computer. It is also possible to operate the GUI in offline mode, not connected to the NMR spectrometer, so as to analyze and fit pre-measured data on the local computers or other computers in the laboratory.   Figure 6 is a relational diagram that shows the various hardware modules (rectangular boxes) and software modules (oval boxes), with the connections between them.

Data Acquisition Module
We employ a Red Pitaya STEMLab 125-14 [40], a commercially available data acquisition module. The Red Pitaya STEMLab 125-14 is a compact, single-board computer (SBC) built around the Xilinx Zynq-7010 System-on-Chip (SoC) with a dual-core ARM Cortex-A9 processor and a Field Programmable Gate Array (FPGA). It has two RF inputs connected to dual-channel 14-bit 125 MSPS Digital to Analog Converters (DACs) and two RF outputs connected to dual-channel 14-bit 125 MSPS Analog to Digital Converters (ADCs). The DACs and ADCs are connected to the FPGA. It also has 16 general purpose input/output (GPIO) pins connected to the FPGA and various digital interfaces such as a Universal Asynchronous Receiver-Transmitter (UART), a Serial Peripheral Interface (SPI) and an Inter-Integrated Circuit (I2C). One of the digital outputs is used to gate the NMR transmitter, and others are used to control the low-noise receiver, including, with the serial interface, by adjusting the gain of the receiver.

Receiver
The receiver has a fast-recovery, low-noise RF amplifier, based on a surface-mount low-noise RF pre-amp, digitized by channel 1 of the ADC. Samples of digitized signals produced by the ADC are sent to the FPGA. Having most of the RF signal processing performed digitally results in excellent long-term stability. The gain of the RF amplifier is controlled by logic signals from the FPGA and an auxiliary DAC connected to the I2C interface of the data acquisition module.

Transmitter
The NMR transmitter consists of a linear power amplifier designed in surface mount components connected to the Digital to Analog Converter (DAC) 1 and a logic gate signal from the FPGA. It is combined into an all-in-one design with the receiver and a probe matching unit, see Figure 3.

NMR Spectrometer Firmware
The FPGA firmware has a modular structure with three main types of modules: • Configuration registers; • Status registers; • Signal processing modules.
The configuration and status registers are accessed from the CPU via the AXI4-Lite interface. The signal processing modules are interconnected using the AXI4-Stream interface. The configuration registers are used to configure and control the signal processing modules. The status registers are read-only, and they provide status information to the CPU about the signal processing modules.
Only a few custom IP cores had to be written for the FPGA firmware, thanks to the rich library of IP cores that come with the Xilinx Vivado Design Suite [44].
The main signal processing modules are interfaces with the ADCs and DACs, the digital down-converter,the pulse generator and the FIFO buffers. They are shown in   The source code for the FPGA firmware and building instructions can be found online at [45].

Pulse Generator
The pulse generator consists of the following blocks: These steps are repeated as long as the FIFO buffer is not empty.

NMR Spectrometer Software
This NMR software, FPGA_RedPitaya_NMR v1.5 (2023), running on the Windows desktop computer is written in the array-based computer high-level language Apl [50], which has extensive object-oriented features. When run, it creates a screen-based Graphical User Interface (GUI), and this is used to control the NMR spectrometer, as discussed in Section 5.4.
When first run, the most recent set of parameters are loaded from a file and used to set the initial GUI control parameters, which are mostly in the form of a numerical value, and an SI unit and multiplier, such as "100 mS". Before each NMR pulse, these are read and checked for validity/constancy and then used to set internal variables. These are then used to set the parameters that are used to define such things as the NMR sequences in the firmware discussed in Section 4.
The Apl program controls the NMR spectrometer using the following two software components: • A TCP server running on the CPU of the data acquisition module; • A TCP client .NET library implementing a minimalistic set of commands.

TCP Server
The TCP server runs on the CPU of the data acquisition module and communicates with the FPGA through configuration and status registers and through FIFO buffers.
The TCP server transmits the I/Q data stream to the TCP client .NET library and receives commands to configure signal processing modules. Communication between the TCP client and the TCP server is based on a TCP/IP protocol over an Ethernet link.
The command format is binary and the command size is fixed at 64 bits. The four most significant bits are used for the command code, and the remaining 60 bits are used for the command parameters. The I/Q data are 32-bit signed integer values. The data from two inputs are interleaved (I1, Q1, I2, Q2, I1, Q1, etc.).
Thanks to the simplicity of the protocol, it can be easily implemented in different programming languages and data analysis frameworks (APL, C, Julia, Matlab, Python, etc.).
The source code of the TCP server can be found at [51].

TCP Client .NET Library
The TCP client .NET library provides a minimalistic set of commands to control all parameters of signal processing modules and to program the pulse generator. Commands can be organized into the following five groups: • Commands to manage the connection with the TCP server: -Connect(address); -Disconnect(); • Commands to set the frequencies and decimation rate: • Commands to program a pulse sequence: AddPulse(level, phase, duration); • Command to start pulse sequence and receive data: • Various commands to control output RF signal level, GPIO pins and receiver RF amplifier gain: The source code of the TCP client .NET library can be found at [52].

High-Level Programming of the NMR Pulse Sequences
The NMR pulse sequences are defined in a short section of an array-based Apl software AplX version 5.1.0/7.0, that uses GUI parameters such as NMR Pulse Sequence, π and π/2 pulse widths, τ pulse separation and the pulse sequence selector value, as well as any necessary repetition, etc.; see Figure 9. These then use the TCP client .NET library to program the pulse generator in the FPGA. It is possible to define new pulse sequences in the same way, in the Apl array processing language. There is also a pulse program import module being developed to import NMR pulse sequences from standard public-domain libraries. Such imported sequences can then be added to the drop-down pulse sequence selector, if so wished. . Lab-Tools Graphical User Interface (GUI) with typical settings used to configure a Carr-Purcell-Meibooom-Gill (CPMG) NMR measurement, with averaged NMR CPMG echo chain in the top right. Below that, the echo peaks are polynomially fitted, and the polynomials solved to obtain peak amplitudes. These peaks are then fitted with an exponential. These peaks are averaged and plotted on the bottom left, and the average unwrapped pass is fitted with a straight line, to extract the spectrometer frequency offset from the sample frequency.

Use and Control of the Lab-Tools Mk3 NMR Spectrometer
The Lab-Tools Mk3 NMR Spectrometer is controlled using a Graphical User Interface (GUI). The current version of the GUI (Figure 9) is targeted at the research environment and is designed to cope with a wide range of experiments.
Simpler single-or limited-function GUIs are easy to develop for particular applications. For instance, it is simple to just hide panels of controls along with their fixed values.
The receiver sample rate may be set in the Graphical User Interface (GUI) to one of five values: 2500, 1250, 250, 125 or 25 kHz. The decimation filters have an excellent response in the frequency domain.
There is also the option of N-point integration (1 to 200) of the captured waveform. This filtering method has an excellent time-domain response, in that after each N-point bin, there is zero "carry over" into the next time-bin. The usual settings are between 2 and 10 for any given setting of the Decimation Filter and help to reduce any residual time-domain ringing from the Decimation Filter stage.
The default standard built-in NMR sequences may be selected using a drop-down selector, see Table 1. Additional sequences may be programmed into the firmware pipeline pulse sequencer, using the array processing language AplX (see Figure 10) and then added to and selected from the front-panel GUI.  . The program written in APL language, running on a Windows computer, communicates using the TCP .NET client library via an Ethernet connection with a TCP server, running on the ARM processor of the data acquisition module. The TCP server uses routines and functions written in C language to control the firmware in the Field Programmable Gate Array.

Setting Up the Spectrometer
There are a number of built-in features that enable the tuning of the spectrometer hardware and NMR probe to a target frequency and measuring parameters such as receiver linearity: The probe tuning capacitor has a monitor point, via a high-value attenuator with 50 Ohm output, via a BNC connector. A cable is then connected to the Channel 2 RF input of the data acquisition module, being terminated by a 50 Ohm load. Channel 2's output is also connected to the Channel 2 input via a 30 dB attenuator: This circuitry enables a number of calibration measurements to be made: The second channel of the ADC is used for a number of these functions: It may be used to monitor the RF pulse at the monitor point on the probe tuning circuit ( Figure 11). This is simply done by selecting the Plot type to be M Pls: Magnitude of RF Pulse Volts. Or, alternatively, RI Pls: Real and Imaginary plot of RF Pulse.
There is also a menu option to scan the spectrometer frequency while measuring the RF pulse amplitude: Menu => Sequences => Scan Pulse Frequency This then plots an RF pulse amplitude vs. frequency graph, which gives information on the probe's tuning, see Figure 12.
A second use of the second channel of the ADC is to assist with making calibration measurements of the receiver linearity. The receiver low-noise amplifier output is deliberately limited in the hardware to about 1 V, so as to not degrade the recovery time by over-driving the ADC input. Channel 2's output is connected to the Channel 2 input via a 30 dB attenuator, and from there, to the pulse monitor BNC. This serves to carry a small signal from the Channel 2 output to the receiver input, which may then be measured. There is then a menu option to vary the output amplitude and then to measure and plot the overall receiver linearity ( Figure 13).   The third use of this external circuitry is to aid in creating a swept frequency plot of the probe tuning, using just the receiver and not the transmitter. As before, the signal from Output 2 is leaked into the probe tuning circuitry, and the frequency is swept. Again, a probe tuning response is plotted, see Figure 14. When not needed for these functions, the Channel 2 output is turned off.

Acquiring First Signal and Auto-Tuning
If an approximate magnet field is known, the first step is the ability to scan the spectrometer through a range of frequencies of interest, using: Menu => Sequences => Scan Spectrometer Frequency The spectrometer is set to capture, average and peak-fit any echoes, and the amplitudes of these are plotted as a function of frequency.
Once an (off-resonance) signal has been acquired, the menu options Menu => Sequences => Tune1 (which just makes a single capture) Menu => Sequences => TuneN (which averages N times first) will usually bring the spectrometer in-tune within a few 10 s of Hertz. These methods work by measuring the unwrapped phase of the FID signal, using the least possible decimation, fitting a straight line to this phase and using the slope of the line to determine how offfrequency that measurement was.
During standard averaged NMR measurements, there is then a GUI option to Lock the Spectrometer frequency to that of the NMR signal. At the end of each average, a similar measurement of signal phase is made, and a frequency correction is applied. This is particularly useful for extended measurements, such as for NMR Cryoporometry.

NMR Signal Capture, Plotting, Averaging and Online Fitting-NMR Relaxation Examples
The capture of NMR signals from samples, using Free Induction Decays (FIDs), Echoes and Carr-Purcell-Meiboom-Gill (CPMG) and similar echo chains is straightforward-just enable "Repeat Pulse". NMR pulses are generated in the FPGA and output from the linear transmitter to the NMR probe. NMR signals are captured by the low-noise NMR receiver witha good signal-to-noise ratio; Figure 1 shows a single-shot capture of 119 mg of water in a simple room-temperature probe with a 5 mm OD standard NMR sample tube in a Halbach NMR magnet at 14 MHz.

Plotting
The plot display has a selector which can be set for a Real-Imaginary, Real, Magnitude or Phase response, or for any of these responses averaged. The Plot Selector is indeed just that-the wave-forms are all calculated at each capture, and the Plot Selector allows one to go back and forth between them, without, for instance, disturbing the averaging. The phase plot is the fully unwrapped phase. As described in Section 6, there is also the ability to plot the NMR RF pulse.

Averaging
Averaging of these traces can be carried out for a specified time, a specified count or just left to run continuously until terminated. These can be selected through a menu option, with the front panel then updated to reflect which option is active. A 'Running Average' may also be selected, when a series of recent traces are averaged together. 'Burst Average' also allows for multiple data captures to be averaged together before the display is updated.

Fitting
A particular feature of this spectrometer is that it has fast recovery and thus can measure NMR Relaxation both in the bulk and in sub-nano-meter and upward-sized pores for materials that may be liquid, gel, waxy, tarry, etc. [13]; A number of facilities are offered for fitting such data, both online and offline using pre-captured data.
The Fit Selector (aided by additional Menu =>Fitting options) allows one to choose between a number of automatic fit sequences for Free Induction Decays (FIDs), Single Echoes and Echo Chains with one or more component.
For Free Induction Decays (FIDs), for example, fits can be polynomial, followed by the extraction of the 1/e'th time and amplitude, or fully non-linear exponential or Gaussian fits, depending of the needs of the sample.

Single-Component Fitting
The single-component fitting of Free Induction Decays (FIDs) can be conducted with a polynomial, an exponential or a Gaussian. Figure 15 shows a solid fluorine signal, at an NMR frequency of 22.5 MHz (proton frequency in this magnet about 24 MHz), with a reasonable fit to a single-component Gaussian T 2 of about 26 µs. The NMR probe ringdown and receiver recovery is fast and clean; Deadtime:Post is set to 5 µs after the nominal end of the π/2 RF pulse. Measurements of T 2 relaxation times as a function of temperature are particularly informative. For an example of the measurement of Gaussian T 2 s in brittle ice (and, hence, the mobility of the ice molecules), see Section 8.2.

Two-Component Fitting
If the GUI Fit Selector is set for a two-component fit, the first component may be polynomial, exponential or Gaussian, as specified by the FID menu option. Currently, the second component will be fitted with an exponential, which is appropriate to many cases. Two-component fitting is moderately robust, see Figures 16 and 17. Figure 16 shows a two-component fit to hydrocarbons in a porous rock sample. Any residual signal from an empty probe has been subtracted. That both components are exponentials is not immediately visible to the eye; however, if the longer exponential component is subtracted from the measured data, and the result plotted logarithmically, as in Figure 17, a flat baseline is obtained with a straight-line residual at shorter times. This appears to be very convincing evidence for a double-exponential decay for the FIDS for the hydrocarbons in these pores, which provides important information regarding the mobility and dynamical processes in these samples.
In the logarithmic plot, the linearity of the baseline and the fitted short-component, following subtraction of the base-line, are also convincing evidence for the linearity of the NMR receiver and the overall quality of the measured time-domain data, including the good signal-to-noise ratio.

Fitting Echoes
For Echoes, the GUI Sample Width setting selects a window on the top of the echo, which is then polynomially fitted. The polynomial is solved to determine the echo peak amplitude and time, see Figure 18. These values are then reported to the logging window and written to file, complete with the averaged trace and the sample temperature.
A menu option enables the online calculation of the T 2 * time for an echo; this is particularly useful when working with low-homogeneity magnets. Figure 18. Averaged signal after 11 averages (red circles) from 119 mg hexadecane, with a polynomial fit to the data (green dots). The polynomial is solved to obtain peak amplitude and time (solid red dot).

Fitting Echo Chains
For Echo chains such as CPMG, each echo may be fitted as above, and then a full non-linear best single-or double-component fit is made to the echo peaks; see Figure 19 for an example of water in sol-gel silica pores. Figure 19. Water in sol-gel silica pores exponentially fitted to a CPMG Echo train. Each echo peak (blue curve) is fitted with a polynomial fit (green dots) and solved to obtain peak amplitude and time (red dot). Then, an exponential fit is made to the measured peaks (red line). Two-component fits may also be made; Figures 20 and 21, show a two-component decay in cyclohexane at −37 • C, both in zeolite pores and in bulk cyclohexane around the zeolite grains, measured using a CPMG sequence sequence with Tau 100 us. The fitting menu option to keep all the data and not just locate the peaks is used. The bulk cyclohexane is probably in its plastic (rotationally mobile) phase, and the longer component is probably liquid cyclohexane in the zeolite pores. The measured parameters are logged to the screen and written to file.
To give an idea of the robustness of such fits, simulated data were prepared for a user example, where they specified: "The signal of our typical sample can contain two exponents: Relaxation rate R21 = 3 s −1 and R22 = 0.7 s −1 . We need to save 6 s decay with an echo time 1 ms (all points)". The summed signal from two equal amplitude calculated decays was loaded into the NMR GUI, and a two-component exponential-exponential fit was carried out. As can be seen in Figure 22, the extracted decomposed curves show excellent agreement with the original calculated values.

Variable-Temperature NMR Probe, Temperature Measurement and Control
There are many NMR material science experiments which are far more informative if carried out as a function of temperature. In particular, highly useful NMR T 1 , T 1ρ and T 2 minima measurements may then be made, which provide additional information on the motional dynamics in the sample [1].
NMR Cryoporometry also ideally needs very well controlled, wide-range temperature ramps (typically from about 100 K to 350 K). The temperature measurement needs to reflect as true a temperature measurement of the sample as possible, and this apparatus is currently believed to give a controlled thermal stability better than 10 mK near the bulk melting point, certainly differentially within one measurement run; see Section 8.3 [28].
This NMR Cryoporometric probe has used a range of cooling methods as the design has evolved, including a Lindacot cooler (direct injection of liquid nitrogen droplets into a 'spashpot') [53]; an electrical heater evaporating liquid nitrogen gas; and highly dried air bubbled through liquid nitrogen. The main cooling method used now is Peltier thermoelectric cooling [28], with additional gas cooling at lower temperatures where precision is not so vital. Because the freezing interface geometry is usually different from the melting interface geometry (typically spherical/cylindrical), the equilibrium freezing temperature is lower, and it is usually necessary to cool to a significantly lower temperature than the equilibrium melting temperature in the pores. It is important to initially freeze all the liquid to obtain a valid melting curve. If additional cooling is required, liquid nitrogen may be used, but Lab-Tools usually finds it convenient to employ the expansion of liquid CO 2 , which generates small quantities of CO 2 snow at about −78.5 • C [54]. A USB-interfaced, computer-controlled high-pressure valve is used to inject bursts of CO 2 snow as needed. By using 1ms bursts every 10 s to 30 s, the sample temperature may be progressively lowered to about −80 • C or raised to the point where Peltier temperature control can be automatically established.
Peltier cooling offers the ability to have temperature ramps that last over days, and then, closer to the probe liquid's bulk melting point, offers extreme uniformity in the warming rate.

Peltier-Cooled Variable-Temperature NMR Probe
For the CryoP4 Peltier-cooled Cryoporometer (Figure 23), cooling is achieved by passing a computer-controlled current through a dual-layer Peltier element that is in contact with a copper plate (with a control thermocouple sensor), which is in turn in contact with a copper cold-finger to the NMR sample. Both 3D-printed (lost wax) designs and numerically machined designs have been successfully employed. Waste heat is removed from the Peltier element using a water cooled block, using a laboratory re-circulating chiller with the fluid set to +5 • C. Both conventional fridge designs and Peltier-cooled recirculating chillers have been successfully used. In CryoP5 and CryoP6 Peltier probes, an additional higher power Peltier element has been used between the dual-layer Peltier element and the water-cooled block.
Using just Peltier cooling in the CryoP4 probe, temperatures at the copper plate down to −55 • C have been achieved, and in the NMR sample, temperatures have been achieved down to −45 • C in cases where there is a sample thermocouple in direct contact with the glass NMR sample tube [28]. In the CryoP6 probe, sample temperatures below −60 • C can be reached reliably. The key advantages of using the Peltier elements as well as a laboratory chiller are that lower temperatures may be reached; these low-temperature sections are buried in an insulated block and are not passed around the laboratory in thermally lagged pipes; extremely good thermal control is thus achieved with negligible cycling or oscillation, as is commonly observed in standard chillers (see Figure 24). Thermocouple and electronic sensor EMFs are measured using a USB-interfaced, FPGA-controlled, five-channel averaging micro-volt DVM. The thermocouple EMFs are converted to temperature using an 18 quadratic-segment Type T thermocouple transfer function, which is believed to have less than 1 mK error with respect to the original NIST thermocouple tables [55].  A key point when using thermocouples is that a cold-junction thermal reference is needed. Two different 0 • C thermocouple junction references have been used:

1.
Referenced to a cell of distilled water maintained half frozen (Omega IceCell Model TRCIII), with a third thermocouple attached to a thermal mass in a Dewar provided a short-term temperature reference to help reduce the effect of the temperature cycling in the IceCell.

2.
Electronic diode junction 0 • C references have improved greatly in recent years, and these are in current use. They have the advantage of no temperature cycling.
To aid this thermal control stability, "sample" and "control" copper-constantan thermocouples were used; the control thermocouple offers a faster thermal response time for dynamic control purposes, while the sample thermocouple offers longer-term stability of about 10mK (see Section 8.3), being in very close thermal contact with the sample. During each measurement of the NMR signal amplitude, the DVM measurements were further averaged. This gives an NMR Cryoporometric range from sub 1 nm to over 1 micron, see Section 8.3. Figure 25 is a relational diagram that shows the various NMR cryoporometer hardware modules (rectangular boxes) and software modules (oval boxes) and the connections between them. The key differences from the previous spectrometer relational diagram is the addition of a variable temperature probe, with Peltier thermo-electric cooling and its necessary computer-controlled power supplies. It also includes the USB-interfaced digital micro-voltmeter (DVM) used to read the thermocouples and monitoring the temperatures, as well as the necessary temperature monitoring and control software.

Example Variable-Temperature Measurement: Bulk Ice T2
Using the Peltier-cooled variable-temperature probe, the Free Induction Decays (FIDs) for bulk brittle ice were measured from below −20 • C to −2 • C. As expected, a Gaussian curve was the preferred fit for all the data sets [1]; the automated fitting routine with an initial linearized fit (in the log domain), followed by a full non-linear fit (in the linear domain), was used to extract the amplitudes and relaxation times as before.
Four example measurements at −20 • C, −15 • C, −10 • C and −5 • C are shown in Figure 26. These have all been Boltzmann corrected to take into account the amplitude changes as a function of temperature [56].  The measured Gaussian T 2 s were plotted as a function of temperature, and a polynomial curve fitted to them ( Figure 27).

Ice_T2_CryoP2b
Brittle Ice Gaussian T 2 s

Example NMR Cryoporometric Measurement and Its Thermal Stability
The NMR Cryoporometry (NMRC) protocol [15,56] requires that a liquid be added to the porous material, the sample be cooled until all the liquid is frozen and the NMR signal gone, and then slowly warmed up while monitoring the amplitude of the NMR echo. Figure 28 shows an example of an NMR Cryoporometric melting curve for a sol-gel silica of 100 Å nominal pore diameter, probed by water. The ice in the pore starts melting at about a melting point depression of −5 • C; there is then a plateau where all the liquid in the pore has melted, and then a step as the bulk liquid around the grains melts. Heat flowing into the thermal mass of the sample and the set warming rate determine the slope of this step, please see Appendix D of [56]. There is then a final plateau, defining the NMR signal for the mass of all the added liquid and giving a porosity to amplitude calibration. For this sol-gel silica sample, the measured onset of this bulk melting step is at about +70 mC. This offset from 0 • C is probably due to the calibration of the electronic thermocouple cold junction that was used. However, this offset does not affect the accuracy of the NMRC measurement, as then all melting point depressions for the melting curve data are measured with respect to this value, which is freshly measured for each experiment. For NMR Cryoporometry to obtain a pore-size distribution, the raw temperature and echo amplitude data are differentiated [15]. Thus, it is important that the temperature data, as a function of temperature, should increase monotonically, as smoothly and stably as possible. Note that there is no need for the temperature ramp to be linear, and in fact, since the relation of melting point depression to pore size is an inverse function, there are major advantages to warming increasingly slowly as the bulk melting point is approached, please see Appendix F of [56]. Moreover, there is no attempt to set precise temperatures, only to maintain the calculated target warming rate for a particular temperature, without significant fluctuations. We believe these temperature fluctuations are less than 10 mk RMS, particularly near the cryoporometrically critical probe liquid's bulk melting point. Evidence supporting this is as follows: In Figure 24, the blue dots in the graph are the measured temperatures plotted as a function of time (hour of day) for this measurement for an example temperature range of −2.5 • C to −1.5 • C, and the red line is a quadratic fit to these data. Note that this warming rate and its smoothness are controlled by the software, computer-controlled digital power supplies and Peltiers, and is far slower than the natural uncontrolled warming rate of the sample. The calculated RMS deviation between these measured temperatures and the smooth best-fit quadratic polynomial is 2.3 mK, well within the claimed 10 mK.
Can there be bigger temperature excursions than this from target warming rates? Yes, but these are repeatable and occur for clear physical reasons, such as ice melting in the sample or in the body of the probe, thus sucking latent heat out of the sample. They do not appear to be due to errors in the control hardware or software or due to temperature measurement errors. In the later processing of these data, monotonicity is enforced by a monotonically weighted smoothing algorithm.
The net effect of this is that pore diameters up to 2 microns have been successfully measured using hexadecane as the probe liquid. The Gibbs-Thomson constant has been measured as 715 K·Å for the case of hexadecane. A pore diameter of 2 microns thus corresponds to a melting point depression of about 35 mK from the hexadecane bulk melting point (Paper in preparation).
For the case of the sol-gel silica with water measurement, by applying the Gibbs-Thomson transformation to convert the melting point depression curve ( Figure 28) to pore size and the Strange-Rahman-Smith transformation to convert the NMR signal amplitude to pore volume [15], we obtain the pore-size distribution shown in Figure 29.  Figure 29. Pore-size distribution for sol-gel silica of nominal pore-diameter 100 Å, as measured by NMR Cryoporometry (blue circles, red line).

NMR Cryoporometric Applications
NMR Cryoporometry is now a very widely used method of measuring pore-size distributions and phase changes. A search on Google stops listing results on page 100. NMR Cryoporometry has the ability to return useful pore volume information from sub-nanometer pore dimensions to over 1 µm. It is also particularly useful when the sample cannot be dried out without affecting the pore structure, such as for un-fired clays and hydrogels.
NMR Cryoporometry frequently returns results that are preferable to gas adsorption results, particularly at smaller pore sizes, see Figure 30 from a joint paper with Total, Belgium [32], for measurements on zeolite, where the NMRC data have been measured using this apparatus. In Figure 31, three porous rocks are each measured twice to confirm that the differences are indeed real and that the measurements are repeatable. NMR Cryoporometry is one of the few techniques able to measure the small pores in shales and carbonates.  Porous carbons are a very important class of porous material [15]; biochar has been used as a soil improvement dressing for millennia [27,37,57]. Pore distributions in porous carbons often extend to very small sizes and are difficult to measure without NMR Cryoporometry, see Figure 32 [38].  Another application for NMR Cryoporometry is to determine changes in porosity for treated poplar. Figure 33 shows the porosity in a sample of poplar after various lengths of acidic pretreatment, and Figure 34 shows the porosity after various lengths of enzyme pretreatment [36]. This is an interesting application, as these samples cannot be dried before measurement without damaging the pore structure, which excludes many other porosity measuring techniques.  Figure 33. Poplar porosity after various lengths of acidic pretreatment Reprinted/adapted with permission from [36]. 2019, American Chemical Society.  Figure 34. Poplar porosity after various lengths of pretreatment with enzymes Reprinted/adapted with permission from [36]. 2019, American Chemical Society.

Further Example Applications
A compact Klystron magnet gave a surprisingly linear magnetic gradient in the plane of the horseshoe of −64 mT.m −1 . This enabled two magnetic-gradient-dependent experiments: simple one-dimensional imaging and the measurement of self-diffusion of liquids.

Measurement of 1D Imaging in a Structured Rubber Sample
A 1D structured sample of white rubber (from an eraser) was prepared in a 5 mm NMR sample tube. Complex NMR data were captured in the above 1D magnetic gradient and then Fast Fourier Transformed. Zero extension and a cos 2 window was applied. Figure 35 shows the result of one of a number of quick tests conducted to evaluate this application, where we are plotting the magnitude off the signal as a representation of a 1D sample profile.

Measurement of Diffusion in Various Liquids in a 1D Magnetic Gradient
Torrey showed [58] that the evolution of the magnetization following a 90 • pulse in a magnetic gradient is given by: A = exp(−1/3Dγ 2 G 2 t 3 ).
Some simple diffusion measurements were performed in water and in various organic liquids, including three n-alkanes, while noting the sample temperature. Figure 36 shows the result of some quick tests carried out to evaluate this application.

Diffn_3_norm_Water_A
Normalised Diffusion graphs vs. Time

System Performance
Magnets: This NMR spectrometer can be used with any convenient NMR magnet and can be supplied with a choice of three NMR magnets: a 0.5 T 24 MHz Protons H-frame magnet with a gap of 20 mm and a homogeneity of 100 ppm (see Figure 4); a 0.33 T 14 MHz Protons Halbach Magnet with a bore of 55 mm and a homogeneity of 50 ppm (see Figure 1); or a 0.3 T 12.5 MHz Protons Mandhalas Magnet with a bore of 36 mm and a very poor homogeneity that is still adequate for CMPG pulse sequences and NMR Cryoporometry (see Figures 9 and 19). The latter two magnets work well with the variable-temperature probe.
Spectrometer: 90°Pulse Length: 6 µs to 11 µs for 5 mm diameter NMR sample tube, depending on probe. Dead Time: 8 µs from center of 90°pulse to fully recovered NMR signal, see Figure 26. Signal-to-Noise Ratio (S/N): typically 500 for a 25 microliter sample in a 3 mm NMR sample tube, single-shot. (For 119 microliter water in a 5 mm sample tube, see Figure 1).
Variable Temperature Probe: The sample thermocouple is in close thermal contact with the NMR sample tube [28]. Probable error in thermocouple Cold Junction: <100 mK Relative error in melting point depression near bulk melting point: 10 mK. RMS error in 18 quadratic segment Type T thermocouple transfer function: <1 mK [55]. V-T probe gain calibration as a function of temperature: calculated Boltzmann and coil resistance gain changes confirmed using a non-freezing liquid such as decane. Temperature homogeneity: temperature homogeneity has been deduced by warming the probe slowly at different rates, through the bulk melting point, please see Appendix D of [56], and is sufficient in a 3 mm sample for the quoted NMR Cryoporometric performance (below).
Cryoporometric Performance: Sensitivity for NMR Cryoporometry: for 300 averages, typically 15 nl of porosity or less. Pore diameter range in 3 mm NMR sample tube: subnanometer to about 2 µm.

System Comparisons
There are two important comparisons needed here: (2) Comparison of NMR Cryoporometers. We know of no other commercial NMR Cryoporometers with which to make comparisons. Many commercial NMR Spectrometers may be used to make variable temperature measurements, but in most cases, the temperature control accuracy is worse by a factor of 10 or so than this dedicated NMR Cryoporometer, which limits the upper pore size that may be measured by a corresponding factor of 10.

Conclusions
Some decades of design have gone into the creation, development and testing of this NMR Spectrometer. It is compact and is an extremely capable time-domain instrument.
The spectrometer has not yet been used with a high-resolution NMR magnet to obtain chemical spectral resolution, and it would need to have an import facility for a standard library of NMR pulse sequences to be used in such a way. However, as a time-domain NMR Spectrometer, it has satisfied the original design goals, and then evolved to become a considerably more capable NMR instrument, particularly for NMR Cryoporometry.