NMR 交互式傅里叶变换

Interactive Fourier Transform for Basic NMR Demonstration — Based on Hoffmann, J. Chem. Educ. 2009, 86, 399

🔬 仪器分析教学工具 ⚡ 离线独立运行

🧪 关于本工具

核磁共振波谱法(NMR)是化学家和众多领域科学家不可或缺的分析工具。然而,NMR的基本原理和傅里叶变换概念对学生来说往往难以理解。

本交互式工具基于 Markus M. Hoffmann (2009) 发表于 Journal of Chemical Education 的经典教学论文设计,通过可视化交互帮助你直观理解:

📉
自由感应衰减 FID
观察不同频率、振幅、相位的余弦波如何叠加形成FID信号
🔄
傅里叶变换 FT
理解如何通过逐点乘法求和把时域信号转换为频域谱图
🔧
窗函数 Apodization
探索指数窗和高斯窗函数对分辨率和信噪比的影响
⚠️
伪影与假象
发现混叠、折叠、截尾、接收器溢出等常见NMR伪影
参考文献:Hoffmann, M. M. J. Chem. Educ. 2009, 86, 399.

📐 核心数学原理

FID(t) = Σ An · cos(2πfnt + φ) · exp(−t/T₂*)

多组分自由感应衰减信号:n个余弦波叠加,被T₂*指数包络衰减

W(t) = exp(−a·t) · exp(−b·t²)

指数-高斯窗函数:a控制指数增宽(SNR),b控制高斯增宽(分辨率)

S(f) = Σ FID(t)·W(t) · cos(2πf·t) · Δt

离散余弦傅里叶变换:对每个试验频率f,逐点乘累加(原Excel逐单元格复现)

📊 采样参数

• Dwell time (DW) = 0.01 s — 采样间隔
• 总采集时间 = 5 s(500个采样点)
• Nyquist 频率 = 50 Hz(= 1/(2·DW))
• 谱宽 SW = 20 Hz(0–20 Hz,200个试验频率点)
• 谱分辨率 = 0.1 Hz/pt(= SW / 200)
💡 学习路径:从"FID生成"开始,观察单波→多波→加噪→加窗→傅里叶变换的完整流程,最后在"综合演示"中亲手调节所有参数。
B₀
NMR 波谱仪原理示意:B₀磁场 + RF射频线圈 + 样品管
Bruker NMR Spectrometer
Bruker AVANCE 核磁共振波谱仪 超导磁体 · 傅里叶变换 · 实验室分析仪器

🔄 信号处理流程

脉冲激发
90° RF Pulse
→
FID采集
T₂*衰减信号
→
窗函数
Apodization
→
傅里叶变换
离散余弦FT
→
NMR谱图
频域结果
🎛️ 全局参数控制
相位 Phase 0.45
0~2 对应0~360°,0.5=π反相,0.25=π/2色散
T₂* 弛豫 (s) 1.00
数值越大衰减越慢,谱峰越窄
采样点数
500 点
DW=0.01s,总时长5s
Nyquist频率
50 Hz
= 1/(2·DW),超过则混叠
🌊 三个波的参数(蓝色高亮=可交互)
波 1 Wave 1 振幅=1.0
质子数 A 1.0
频率 (Hz) 5.0
波 2 Wave 2 振幅=1.0
质子数 A 1.0
频率 (Hz) 2.0
波 3 Wave 3 振幅=1.0
质子数 A 1.0
频率 (Hz) 15.0
💡 提示:拖动滑块实时观察FID波形变化。频率单位Hz,T₂*越大,衰减越慢,峰越窄。默认三个峰位于2、5、15 Hz。

📉 T₂* 衰减包络 Decay Envelope

🌊 波 1 信号 (频率 5.0 Hz)

🌊 波 2 信号 (频率 2.0 Hz)

🌊 波 3 信号 (频率 15.0 Hz)

🔬 合成 FID(仪器原始数据)Composite FID

📊 FID参数(与FID页同步)
相位 0.45
T₂* (s) 1.00
🔮 窗函数参数 Window
a(指数增宽)0.00
增大→信噪比↑ 分辨率↓(谱峰变宽)
b(高斯增宽)0.00
高斯窗,兼顾SNR与分辨率
✂️ 接收器截断 Clipping
截断阈值 rc 10
超过±rc的值被削平,模拟接收器溢出
谱分辨率 (Hz/pt)
0.10
SW = 20 Hz (0~20Hz)
🌊 三个波快速设置
波1
@ Hz
波2
@ Hz
波3
@ Hz

📐 窗函数形状 W(t)

✂️ 接收器截断效果

✨ 最终FID(加窗+截断后)Final Filtered FID

📊 最终谱图 Final Spectrum

🔮 当前状态:a=0.00, b=0.00, rc=10 — 默认矩形窗,无增宽无截断。
🔬 FT单频点演示参数
相位 0.45
T₂* (s) 1.00
波 1
A 1.0
f (Hz) 5.0
波 2
A 1.0
f (Hz) 2.0
波 3
A 1.0
f (Hz) 15.0
🎯 选择试验频率 ftrial
试验频率 5.0 Hz
拖动此滑块选择FT积分中的cos频率,逐点乘累加结果见下方中间图
💡 FT原理:当试验频率等于FID中某波频率时,乘积全正→积分最大(共振峰);不匹配时正负相消→积分近零。

📥 原始FID信号

🔄 试验余弦波 cos(2π·5.0·t)

✖️ 逐点乘积 FID·cos — 累加=S(5.0Hz)=—

📊 完整傅里叶变换谱图

🌊 波参数
波1
A 1.0
f (Hz) 5.0
波2
A 1.0
f (Hz) 2.0
波3
A 1.0
f (Hz) 15.0
⚙️ 全局&窗函数
相位 0.45
T₂* (s) 1.00
a 0.00
b 0.00
截断阈值 rc 10
🎮 综合模式:同时控制波参数、T₂*、窗函数、截断阈值,所有变化实时反映到FID和谱图。

🔬 最终FID(全部处理后)

📊 NMR 谱图(FT结果)

🚀 参数调节快速上手清单

1
认识FID信号
进入"FID生成",默认三个峰分别在 2Hz5Hz15Hz。观察T₂*滑块:T₂*小(0.3)时信号快速衰减;T₂*大(5.0)时信号衰减慢,谱峰更窄。
2
理解频率
把波2频率拖到接近波1(如4.5Hz),两峰合并;频率越大,余弦波振荡越快;频率设0是共振设置,信号变为纯衰减。
3
相位的影响
相位设0.5(=π)波反相,峰倒向负方向;设0.25(=π/2)得到色散型信号(正负双 lobes);设0是纯吸收型。
4
指数窗函数(a)
窗函数页,增大a值(如a=2):FID尾端被压制→噪声减小(SNR↑),但谱峰变宽(分辨率↓)——这是SNR与分辨率的经典 trade-off。
5
高斯窗函数(b)
高斯窗(b参数)产生的谱峰是高斯型,比指数窗(洛伦兹型)有更好的峰形,b=0.5附近是常用的兼顾设置。
6
接收器溢出(Clipping)
点击"⚠️接收器溢出"按钮(rc=2, amp=8),FID顶部被削平→谱图出现严重的基线畸变和假峰,这就是仪器增益设置过高的后果。
7
FT积分原理
"FT细节探究"页拖动试验频率滑块:当ftrial匹配FID频率时乘积曲线全正(大面积),不匹配时正负振荡相消(面积小),直观展示卷积匹配原理。
8
混叠(Aliasing)
综合演示页把波频率拖到超过50Hz(Nyquist频率),峰"折叠"回来出现在错误位置,这就是采样率不足导致的混叠伪影。

📌 默认参数(三峰)

📌 加指数窗a=2

📌 接收器溢出rc=2

🎓 推荐学习顺序

Step 1
阅读"原理介绍"
了解NMR基本流程和数学公式
Step 2
操作"FID生成"
调节单波、多波、相位、T₂*
Step 3
体验"窗函数处理"
a/b/rc参数对SNR与分辨率的影响
Step 4
深入"FT细节探究"
理解逐点乘累加的积分本质
Step 5
自由"综合演示"
任意组合参数探索伪影
Step 6
完成"教程练习"
14道引导练习检验理解

📝 引导练习(14题)

练习 1:单频率余弦波

进入"FID生成",点击"仅显示波1"按钮。观察当频率=5Hz时,5秒内有多少个完整周期?拖动频率滑块到2Hz和15Hz,振荡频率有何变化?

💡 答案:5Hz在5秒内有25个周期。频率越高,振荡越密集。

练习 2:T₂* 弛豫的影响

保持波1开启,将T₂*从0.1调到5.0,观察FID衰减速率。T₂*很小时,信号快速衰减到零;T₂*很大时,信号几乎不衰减。

💡 T₂*决定谱峰宽度:T₂*越大,频域峰越窄(分辨率越高)。

练习 3:多波叠加

恢复默认,观察三个波(2Hz、5Hz、15Hz)叠加后的复杂FID波形。这就是真实NMR信号的样子——多个核的信号叠加在一起!

练习 4:相位=π反相

将相位设为0.5(=π),观察FID如何变化,再切到窗函数或FT页看谱图。所有峰倒向负方向,这就是"相位错误"。

练习 5:相位=π/2色散

将相位设为0.25(=π/2),谱图呈现正负双lobes的色散型信号。真实NMR需要相位校正得到纯吸收谱。

练习 6:指数窗增宽(Line Broadening)

在"窗函数"页,逐步将a从0调到1、2、3,观察:①FID尾端被压制;②谱峰变宽变矮;③但谱图噪声基线变平滑(SNR提高)。

💡 这就是NMR数据处理中常用的"LB"参数,典型值0.3~1.0Hz。

练习 7:高斯窗函数

设a=0,改变b值,观察高斯窗对FID和谱峰形状的影响。高斯窗产生高斯型峰,比洛伦兹峰窄,常用在2D NMR处理中。

练习 8:接收器溢出(Clipping)

点击"接收器溢出演示"按钮,观察FID顶部被削平,谱图出现严重的伪影和基线畸变。这是NMR实验中增益设置过高的典型后果。

练习 9:FID截尾(Truncation)

点击"FID截尾演示"(T₂*=5s),信号未衰减完就被切断,谱峰两侧出现"wiggles"(正弦波纹),这就是截尾伪影。增大a参数可消除。

练习 10:FT逐点相乘原理

进入"FT细节探究",拖动试验频率滑块。当ftrial=5Hz(匹配波1),乘积曲线全正(大面积);偏离时正负振荡抵消(面积小)。这就是傅里叶变换"匹配检测"的本质。

练习 11:峰高与振幅

改变波1的振幅(质子数A),观察谱峰高度线性变化。在真实NMR中,峰面积(积分值)与对应核的数目成正比。

练习 12:频率分辨率

将波2频率调到4.5Hz(接近波1的5Hz),两峰开始重叠。要分辨它们需要更长的采集时间(更高的数字分辨率)。

练习 13:Nyquist频率与混叠

进入"综合演示",将波频率设到超过50Hz(如55Hz),观察峰"折叠"到5Hz处出现。这就是混叠(aliasing),实验中谱宽必须覆盖所有信号频率。

练习 14:综合探索

在"综合演示"页,自由组合参数:设置两个近频峰+低T₂*+指数窗,尝试最大化SNR同时保持可分辨;或故意制造各种伪影观察其特征。

🎉 恭喜完成全部练习!你已经建立了对NMR傅里叶变换处理的直观理解。

❓ 使用帮助

📖 界面说明

  • 顶栏导航:7个功能模块通过顶部Tab切换,当前Tab橙色下划线标识
  • 左右分栏:功能页左侧是参数控制区(可滚动),右侧是图形显示区(可滚动),调参后无需翻页即可看到结果
  • 滑块控制:拖动滑块即时更新数值标签,点击"应用参数"或自动触发重算
  • 交互图表:鼠标悬停可看精确数值,支持滚轮缩放、拖拽平移、右上角工具条可下载PNG图片

🔧 快捷键提示

  • 调整滑块后图表自动刷新(FID/FT/综合页即时更新,窗函数页点击"应用参数"重算)
  • "默认设置"按钮一键恢复该页初始参数
  • 各页演示按钮(接收器溢出、FID截尾、混叠等)直接跳转到典型教学场景

📚 参考文献

  1. Hoffmann, M. M. Interactive Fourier Transform for Demonstrating Basic NMR Concepts. J. Chem. Educ. 2009, 86, 399.
  2. 原Excel文件:jce2009p0399ww.xls(本文档HTML版本)
  3. 所有计算严格遵循原Excel:500时间点、200试验频率、离散余弦FT
🔬 关于本软件
独立离线单文件HTML,不依赖任何外部数据文件。
基于ECharts 5.6图形库渲染,所有NMR计算在浏览器本地实时完成。
© 教学演示用途,基于 Hoffmann (2009) J. Chem. Educ. 开放教学资源。