One possible approach is to convert the 1-D NMR sequence into a 2-D image (e.g., spectrogram) using the Short-Time Fourier Transform (STFT). Then, you can use a pre-trained CNN-ResNet (e.g., ResNet18) on a large image recognition dataset (e.g., ImageNet) as the feature extractor for the input spectrogram. Finally, you can add a denoising layer (e.g., autoencoder) on top of the CNN-ResNet to learn the mapping between the noisy spectrogram and the clean spectrogram.
Here's some Python code that demonstrates this:
main.py1858 chars63 lines
Note that this is just one possible approach and there may be other ways to solve the denoising problem. Also, you may need to adjust the hyperparameters and network architecture based on your specific dataset and application.
gistlibby LogSnag