Getting Started with Quantitative NMR

This is a tutorial for PEAXACT - Software for Quantitative Spectroscopy from S-PACT. Its objective is to get you going with three features for the analysis of NMR data: NMR-specific pretreatments, Hard Models for dealing with peak shifts, and Custom Results for calibration-free quantitative analysis.

In this tutorial you learn how to:

  1. Apply NMR-specific pretreatments
  2. Create a Hard Model using a technique called Complemental Hard Modeling
  3. Test and adjust the Hard Model flexibility to deal with shifting peaks
  4. Define NMR-specific Custom Results for a calibration-free conversion of areas to concentrations
  5. Analyze concentrations of unknown spectra

If you have PEAXACT installed on your computer you may try this tutorial right away. If you don't have PEAXACT yet, get a free trial now.


You can find data of this tutorial in %ProgramFiles%\S-PACT\PEAXACT 5\Data\NMR - Nitration (as of PEAXACT 5.2). The directory will be referred to as DATA in the following. The data was kindly provided by Sagmeister et al. [1].

  • Start PEAXACT.
  • Select File > New Session > NMR from the menu which opens a new modelling session with NMR default settings.
  • Select Data > Load Table from the menu, browse to DATA\References, and select the Excel file DataTableModeling.xlsx. This loads spectra of salicylic acid (SA), 3-nitrosalicylic acid (3-NSA), 5-nitrosalicylic acid (5-NSA), 3,5-dinitrosalicylic acid (DNSA), as well as a couple of exemplary mixture spectra. All samples also contain a protonated solvent (isopropyl acetate).

NMR-specific Pretreatments

The first step is to transform the NMR raw data (FID) into spectra we can work with.

  • Select all samples in the Samples Panel, then select Data > Data Inspector….
  • In the Data Inspector window, switch to the Data Plotter tab.
  • At the bottom right panel, set the following pretreatments:
    • Transformation: NMR FID > spectrum (mirrored)
    • Spectrometer Frequency (MHz): 43.79
    • NMR Apodization: Exponential
    • Exponential (Hz): 0.3
    • NMR Zerofilling: 128k
    • NMR Phase correction: Auto (Negative Peak Penalization)
    • Alignment: Reference Peak
    • Reference Peak Range: -10 to 10 (the solvent peak)
    • Target Position: 2.017
    • Global Range: 6.35 to 9.21 (the aromatic region)
    • Baseline Correction: Straight line subtraction
  • Select Export to create a new model with these pretreatments. The model gets added to the Model Tree Panel of the Main Window.

Complemental Hard Modeling

The second step is to model the mixture spectra. In this case, using a Hard Model is favorable because it deals with overlapping and shifting peaks. To create the Hard Model we will be using a technique called Complemental Hard Modeling (CHM) because we don't have spectra of the pure components, but "only" spectra of them in solution, i.e. overlapping signals with the solvent 13C satellites. We start by creating a Hard Model for the solvent, which is the only component we have a pure spectrum of:

  • Back in the main window, select Solvent.1d in the Samples Panel.
  • Select Edit Model > Hard Model > Add & Autofit Peaks from the menu.
  • Enter 5 and continue. Hard Model Peaks will always be added to the Hard Model's first component.
  • Select File > Save Model from the menu and save the model as Solvent.pxm.

Next, for each of the other components X, we create a Hard Model for the mixture of solvent + X. We already have the solvent model, so we just need to complement/complete it by adding Hard Model Peaks for X.

  • Switch to the Data Inspector window and select Export again to create a new model with same pretreatments as before.
  • Select DNSA.1d in the Samples Panel.
  • Select Edit Model > Hard Model > Import Components... from the menu and load Solvent.pxm. This imports/copies the Hard Model Component of the solvent into the new model. As expected, the model is incomplete. It is missing a DNSA peak at around 9 ppm.
  • Select Edit Model > Hard Model > Add & Autofit Peaks from the menu.
  • Enter 1 to complement the model. New Hard Model Peaks will be added to the first component, i.e. the first component now represents DNSA. Let's rename the component: right-click on the first component in the Model Tree Panel and select Rename from the context menu. Enter DNSA.

During CHM it is often necessary to also adjust the imported component, e.g. because it has shifted.

  • Select Edit Model > Hard Model > Adjust Components > W/B and Peak Positions. Notice how the Hard Model Component of the solvent gets shifted to better fit the spectrum.
  • Finally, add a couple more peaks to further complement the model. Select Edit Model > Hard Model > Add & Autofit Peaks, enter 2 and continue.
  • Select File > Save Model and save the model as Solvent+DNSA.pxm.

Now its your turn. Repeat the steps above for the remaining components 5-NSA, 3-NSA and SA. Start by selecting the next sample in the Samples Panel and re-exporting pretreatments from the Data Inspector to a new model. You will need to fit a different number of peaks for each component. The following table is a suggestion.

Component# Peaks
Recommended number of peaks to be fitted
before (first number) and after (second number) adjusting the imported component.

There is one final step to CHM, that is to create the Hard Model of the mixture by combining all Hard Model Components from above in a single model.

  • Switch to the Data Inspector window and select Export again to create a new model with same pretreatments as before.
  • Select Edit Model > Hard Model > Import Components from the menu.
  • Select all four model files (Solvent+SA, Solvent+3-NSA, Solvent+5-NSA, Solvent+DNSA) and continue.
  • Since the solvent is present in all 4 models it is imported 4 times. Remove 3 of the 4 solvent components by selecting the duplicate in the Model Tree Panel and pressing the Delete key.
  • Select File > Save Model and save the model as Mixture.pxm.

Congrats - you have successfully created a Hard Model for the nitration process. Whenever you apply this Hard Model to a mixture spectrum - e.g. when performing Component Fitting from the Analysis menu - you will experience how the model flexibility helps to determine the correct contributions (component areas) of the five components to the mixture.

Model Flexibility

Perhaps you noticed a strange term in that last paragraph: model flexibility. The flexibility of a mixture model is its robustness against changing peak. As NMR peaks tend to shift quite a lot you may want to increase the flexibility.

  • Select the mixture Hard Model in the Model Tree and then click the cog button (at the right side of the Model Properties Panel) to display Hard Model settings.
  • Find the option named Fitting Mode and change it to Maximal Interaction (All Parameters).
  • Select Analysis > Manage Fits > Preview Component Fit from the menu (or select from the toolbar). The model gets fitted to the currently selected sample using the chosen model flexibility. You should evaluate the model flexibility for some mixture spectra (e.g. Level 2.1d to Level 10.1d). The spectral residuals are a good indicator for the goodness of fit.
  • Save the model.

Defining Custom Results

Let's take a look at what we did so far. We created a Hard Model from a few specific spectra and made it flexible enough so that it can automatically be fitted to any mixture spectrum. Fitting the model would deliver component areas, but we want actual concentrations. A nice property of NMR is that areas can be converted to concentrations using a single, component-independent conversion factor (CF), which e.g. can be calculated from a spectrum with known concentration. We determined CF for you (CF=1.21e-5), so let's do the math:

  • First the component areas: select the mixture model and then select Edit Model > Custom Results > Add... from the menu.
  • Use the dialog window to specify the result as follows: Analysis = Component Fitting, Returns = Component Area, Of = DNSA, As = Area DNSA.
  • Add similar custom results for components 3-NSA, SA, and 5-NSA.
  • Now for the concentrations: add another Custom Result with following specifications: Analysis = Custom, Returns = Custom Number, As = c DNSA (mol/L)
  • Enter a mathematical expression to calculate the concentration by using the editor in the Model Properties Panel. Add a reference to Area DNSA from the -References- drop-down list and use it according to the generic conversion formula:
    area of component k / number of protons k * CF. The number of protons for each component is provided in the table below. E.g., the expression for DNSA should read:
    Area DNSA / 2 * 1.21e-5
  • Press Return to save the expression.
  • Add similar custom results for 3-NSA, SA, and 5-NSA.
  • Save the Model.
Component# protons
Number of aromatic protons


Finally, let's analyze some unknown spectra from a nitration process.

  • Select Data > Load Table from the menu and browse to DATA\Analysis. Select the Excel file DataTableFlowReaction.xlsx to load samples of a continuous flow experiment.
  • Select the new samples in the Samples Panel and select Analysis > Custom from the menu.
  • Results (areas and concentrations) are displayed in a Report Window. You can now evaluate the results in different reports and export them by clicking the Export button. What you see is what you export!
That's the power of spectral hard modeling for NMR data! If you made it through the whole tutorial you certainly earned a Brownie point. Still want more? Check out our other tutorials at the PEAXACT Quick Start page!


[1] Sagmeister, P., Poms, J., Williams, J. D., & Kappe, C. O. (2020). Multivariate analysis of inline benchtop NMR data enables rapid optimization of a complex nitration in flow. Reaction Chemistry & Engineering.



Burtscheider Str. 1
52064 Aachen
Tel.: +49 241 - 9569 9812
Fax: +49 241 - 4354 4308