ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

从原理到Multisim仿真:用AD630实现锁定放大器提取微弱信号

从原理到Multisim仿真:用AD630实现锁定放大器提取微弱信号 直接切入正题。每年电赛题目里总有一道让很多队伍通宵攻关的题低信噪比下把微弱信号从噪声里捞出来。AD630这个芯片名字出现频率极高网上资料也很杂多数只会贴一张datasheet里的经典电路图真正说清楚“为什么要这么接”“参数怎么算”“Multisim里怎么一步步搭出来跑通”的实操内容反而少。这篇文章就基于我自己搭过、调过、踩过坑的完整过程带你把锁定放大器从原理到仿真完整过一遍。主要内容包括相敏检测到底在干什么、AD630内部结构如何实现同步解调、Multisim完整建模仿真步骤、低通滤波器参数如何计算以及数据库报错、仪器面板找不到、仿真速度慢这类高频问题的排查方法。无论你是电赛备赛、课程设计还是单纯想把这块知识点彻底弄懂看完都能直接上手复现。1. 锁定放大器到底在解什么题1.1 弱信号检测的难点在哪里很多人在写论文或答辩时喜欢用一个词叫“微弱信号检测”听起来很高级但实际遇到的情况非常具体传感器输出一个几毫伏甚至更小的有用信号频率已知但周围全是噪声。噪声来源包括50Hz工频及其谐波、电源纹波、电阻热噪声、运算放大器本身的1/f噪声还有可能存在的同频段干扰。直接拿示波器看有用信号淹没在噪声里肉眼根本找不到。这时候有人会想到滤波器。但问题在于如果噪声和有用信号频率重叠传统带通滤波器只能在信噪比上做小幅改善如果噪声是白噪声带宽收窄确实能提升信噪比但Q值做高了带通又容易漂移而且元件失谐后中心频率偏一点信号幅度就掉了。最要命的是很多时候你连信号大概长什么样都不知道只知道它存在这时候普通滤波法基本无解。锁定放大器Lock-in Amplifier的思路完全不同。它不需要“滤”掉噪声而是利用信号本身具有的周期性对信号进行相敏检波把频率和相位都已知的交流信号经过乘法运算转成直流分量然后用一个极窄的低通滤波器去提取这个直流分量。低通带宽窄到什么程度可以做到0.1Hz甚至更低等效噪声带宽被压得极窄信噪比改善可以达到几万倍。这也是为什么锁定放大器能对付埋藏在噪声里几个纳伏级别的信号。1.2 相敏检波用乘法器把信号“拉”到直流锁定放大器的核心思想其实就一句话你已知参考信号的频率那就让输入信号和参考信号相乘。假设输入信号为[ v_{in}(t) A \sin(\omega t \theta) n(t) ]参考信号为一个同频方波或正弦波[ v_{ref}(t) B \sin(\omega t) ]两者相乘利用积化和差公式[ A \sin(\omega t \theta) \times B \sin(\omega t) \frac{AB}{2} \left[ \cos \theta - \cos(2\omega t \theta) \right] ]注意看结果第一项是 (\frac{AB}{2}\cos\theta)这是一个与时间无关的直流项大小取决于信号幅度A和信号与参考之间的相位差θ第二项是频率为2ω的交流分量。这时候只要接一个低通滤波器把2ω分量滤掉剩下的直流电平就正比于信号幅度前提是让θ0。噪声n(t)与参考信号相乘后因为噪声与参考不相关其积的长时间平均为零经过低通后基本被抑制掉了。这就是锁定放大器能在强噪声里提取已知频率信号的根本原因。你不用去追踪信号波形只需要知道频率并保证相位对准就能把淹没在噪声里的幅度信息读出来。相敏检波这个概念听起来很玄但用“乘法低通”这个组合来理解电路结构就特别清晰了。1.3 为什么选择方波参考而不是正弦参考实际工程中参考信号很少用正弦波更多是用方波。原因有两个一是产生同频方波非常简单从信号源或者比较器整形就能拿到二是用方波做参考时乘法器可以用模拟开关实现不需要真正的模拟乘法器芯片成本、精度、速度都更友好。用方波参考时输出直流分量会变成[ V_{dc} \frac{2A}{\pi} \cos\theta ]系数从1/2变成了2/π约0.637。这个值你在调节电路时可以实测验证输入1kHz、10mV的正弦波参考用同频方波锁定后直流输出峰值大约就是6.37mV乘以增益。记住这个数值关系后面调电路判断正不正常非常有用。当然方波参考也有代价方波含有3次、5次、7次等奇次谐波这些谐波会和输入信号中对应频率成分发生混频理论上会把奇次谐波附近的噪声折叠到直流。但实际使用中由于锁定放大器前的输入级通常会有抗混叠低通或带通滤波这个问题基本可控。这也是为什么很多锁定放大器前端会加一个窄带滤波器目的就是先把远离载波的噪声掐掉防止它们折叠进来。2. 为什么是AD630一颗为同步解调而生的芯片2.1 AD630内部是怎么工作的AD630是ADI公司推出的一款高精度平衡调制器/解调器芯片名字叫“Balanced Modulator/Demodulator”。它在锁定放大器里最常见的用法就是做相敏检波器也就是前面公式里那个“乘以1/-1”的开关解调动作。芯片内部结构大致由这几个部分组成两路独立的输入运算放大器A和B、一个由比较器控制的模拟开关、一个输出级求和放大器。参考信号从片内比较器的输入引脚接入后比较器输出逻辑电平控制开关当参考信号为正半周时选择A路输入接入输出级为负半周时选择B路输入接入输出级。这样从输出端看输入信号等效于乘上了一个幅值为±1的同频方波。这里要特别强调一下AD630的输入级是“电流求和”结构相当于一个可以切换同相/反相输入的运放电路。因此它的精度和温漂都比普通模拟开关方案好很多开关动作由内部比较器完成延时小、建立时间短处理几十kHz的信号完全没问题。芯片的增益通过外部电阻设定不需要内部精密电阻网络灵活度非常高。另外SH引脚是自稳零模式控制脚。在低频应用时把SH接低电平可以启动内部自稳零进一步降低失调和漂移高频应用里一般悬空或接高电平关闭。这个引脚在Multisim仿真里影响不大但实际焊板子时值得注意。2.2 增益与外围电阻怎么选AD630的典型接法是信号从RIN接入A路运放的反相输入端B路同理接入信号或接地输出级通过ROUT接入反馈。增益表达式为[ G \frac{R_{OUT}}{R_{IN}} ]Datasheet里推荐单位增益时两个电阻都取10kΩ。如果你想在解调之前先放大信号可以直接加大ROUT或者减小RIN。需要提醒的是增益不要全部压在AD630这一级因为如果输入信号本身带着较大的直流偏置或工频干扰前端增益越大越容易把后级推到饱和。更稳妥的做法是AD630先做单位增益解调解调出来的直流分量再用后面的低通放大器继续放大。参考信号输入端的接法需要注意幅度范围。AD630内部比较器有固定的比较阈值参考信号必须足够大才能可靠切换一般要求至少几百毫伏。在Multisim仿真里直接用函数发生器给一个5V或1V的方波绝对不会出问题但实际电路里如果参考源是单片机引脚输出的3.3V信号通常也够如果信号幅度偏小最好加一级比较器整形。2.3 用乘法器还是用开关解调怎么选锁定放大器里实现“相乘”这个动作主流方案有三种模拟乘法器如AD633、MC1496、开关解调如AD630、CD4066、数字锁相FPGA/DSP做数字相乘。它们在电赛场景里的定位差异很明显。模拟乘法器输出是真正的连续相乘结果理论上线性度最好但直流偏移feedthrough问题比较麻烦而且需要双极性供电、外围偏置电路复杂。开关解调电路只做±1切换虽然数学上引入了方波谐波但结构简单、动态范围大、成本低而且对直流偏移的抑制能力极好所以工程上反而是主流。数字锁相性能最好但队伍需要具备编程能力不是所有电赛队都走得通。AD630本质上是把“比较器模拟开关低漂移运放”集成到一个芯片里外部只需要加增益电阻和参考信号整形电路非常契合电赛这种时间紧张、还要确保稳定性的场景。我自己的操作习惯是只要题目不强制要求使用某个直接指定型号芯片就用AD630搭开关解调外围简单好查错成功率远高于用模拟乘法器硬凑。3. Multisim搭建全过程从元件入库到波形验证3.1 先把Multisim常见启动问题处理掉很多人搭仿真前先被软件本身卡住。最典型的就是启动时弹出“Error accessing the database”或者“访问数据库发生错误”导致元件库完全打不开。这个问题在Multisim 14.x版本上尤其常见网上问的人非常多。我的排查顺序是这样的第一步确认安装路径以及工程保存路径里没有中文和特殊字符。Multisim对中文路径兼容性一直不好数据库文件路径如果变成乱码就会直接报错。第二步右键Multisim快捷方式选择“以管理员身份运行”。数据库文件在ProgramData目录下权限不足时读取失败。第三步如果仍然报错找到安装目录下的database文件夹检查里面是否有.db或者.xml文件缺失或者把用户自定义数据库文件临时改名备份让软件重新生成默认库。第四步卸载时没清理干净也会导致老配置文件残留重新安装前最好把系统盘里Multisim相关的残留注册表项和文件夹手动清掉。这里再说一个我自己实测有效的经验如果你只是打开某个旧的.ms14文件时提示数据库错误但新建空白文件正常那多半是旧文件里包含了一个当前数据库里不存在的自定义元件。处理办法是在另一个窗口新建空白文件把旧文件里的电路复制粘贴过去绝大多数情况下能绕过去。3.2 元件的放置与AD630的查找打开Multisim后新建一个Blank Design。放置AD630的路径是主菜单Place - Component在Group下拉框里选择Mixed或者搜索栏直接输入AD630再点击Search。不同版本和汉化程度不一样有的版本里它在National Instruments category下也有的在ANALOG_VIRTUAL分类中直接全局搜索最省事。如果很不巧你的版本里搜不到AD630别急着换软件。Multisim中可以用“运放模拟开关比较器”搭建等效开关解调电路用一个电压比较器如LM311把参考正弦波整形为方波方波控制一个模拟开关如ADG619或基本的压控开关开关切换输入信号到运放的同相/反相输入端等效实现±1切换。这个替代电路的仿真原理与AD630一致参数算好了也能跑出正确波形。实际放置元件时电源、地、信号源这些常用元件我从工具栏拖的比较多效率更高。放完元件后注意AD630的电源引脚Multisim里有些虚拟元件会隐藏电源引脚默认连接VCC和VEE这时候要确认全局电源VCC5V、VEE-5V。如果用的是真实模型有显式V、V-引脚记得手动接好电源否则仿真会报“floating pin”或者运放输出完全不对。3.3 完整电路搭建信号源、参考源、AD630与低通下面是一个我验证过能正常工作的完整仿真搭建过程照做就能出结果。第一步搭建信号源部分。从Sources库中放置两个AC_VOLTAGE源和一个噪声源。源1设置频率1kHz、幅度10mV作为有用信号源2可以设置为2.3kHz、幅度200mV的干扰信号噪声源用白噪声源也叫Gaussian noise source都可以幅度不需要太大。三个源通过一个加法电路合成一路信号。加法电路用一片OP07或LM741搭反相加法器三路输入电阻都取10kΩ反馈电阻10kΩ输出就是三者的反相和。注意这里相位反不反无所谓因为后面AD630解调只看相对相位只要所有通路一致就行。第二步参考源部分。使用函数发生器XFG1输出1kHz、5V幅度的方波信号。方波输出直接接到AD630的参考输入引脚。这里有个细节AD630的参考比较器需要一定的驱动能力仿真里方波源直接驱动就行实际电路建议在中间串个比较器或缓冲器。如果你手上只有正弦波信号源那也没关系在AD630前面加一个LM311比较器把正弦波转成方波即可这个在电赛里更常见因为系统时钟往往就是正弦晶振或DDS输出。第三步AD630主体连接。信号输入通过10kΩ电阻接到AD630的RIN引脚。器件手册推荐的单位增益接法反馈电阻也取10kΩ接在输出级运放的反相输入端与输出之间。两个通道输入按手册处理通道A接入信号通道B接地。这样当参考电压为正半周时输出等于输入信号反相放大负半周时输出等于零或反相零。综合效果就是等效乘以±1。具体引脚号和电感组方式在Multisim模型里已经封装好我们只需按原理图网络名对应连接不用关心内部晶体管级电路。第四步低通滤波与测量。AD630输出是一个含有2kHz纹波的半波或全波整流信号必须经过低通才能拿到直流分量。第一级用一阶RC即可我常用R16kΩ、C0.1μF计算截止频率[ f_c \frac{1}{2\pi RC} \frac{1}{2\pi \times 16\times10^3 \times 0.1\times10^{-6}} \approx 99.5\text{Hz} ]100Hz左右的截止频率对载波1kHz、目标信号带宽几十Hz的场景非常合适2kHz纹波会被衰减40dB以上而有用信号本身的幅度变化能顺利通过。如果想读取更稳可以在RC后再加一个同相缓冲放大器增益10倍把几毫伏直流放大到几十毫伏方便示波器观察。不过要注意仿真里示波器直接测RC后的波形看到的还是有一个小纹波这很正常三维波形用瞬态分析看平均值更准确。第五步示波器与探针连接。用四通道示波器通道A看原始复合信号噪声干扰有用信号通道B看AD630输出通道C看低通滤波后的直流电平通道D看参考方波。打开仿真开关后如果一切正常通道C应该能看到一条基本平直的水平线。如果是Multisim 14的虚拟示波器记得调节Timebase和通道增益到合适档位否则波形挤成一团看不清楚。更推荐的做法是直接使用菜单Simulate - Analyses - Transient Analysis设置起始时间0、结束时间20ms最大步长1μs看波形更精确。3.4 通过参数变化验证锁定放大器真的“锁住”了光跑通还不够要证明这个电路确实在“锁定”可以做三组验证实验。第一组保持参考频率不变把输入有用信号频率从1kHz微调到1.02kHz观察低通输出直流电平明显下降。这个实验说明锁定放大器对频率敏感只有信号频率与参考一致时才会有大的直流输出频率偏离就会被低通滤掉。这里我实测20Hz频偏下输出直流已经跌到原来的1/3以下这就是“窄带”特性的最直观证明。第二组把参考信号相位改变90度在函数发生器里直接把相位从0改成90度直流输出应接近零。这验证了公式里的(\cos\theta)关系相位正交时信号被完全抵消。这也是双相锁定放大器能够测量相位的原理基础和后面要做相位测量题目直接相关。第三组把输入噪声幅度调大比如把噪声源幅度设为信号幅度的几十倍。从示波器上看输入信号完全被噪声淹没但低通输出仍然能读出稳定的直流值和没有噪声时的读数相差不大。这个实验做完你就真正体会到锁定放大器“从噪声里捞信号”是什么意思了。三组实验在Multisim里跑一遍很快还能为汇报答辩准备一组漂亮的对比截图。我的习惯是把时间轴设置在20ms以上保证波形经过足够多的周期低通输出达到稳定状态后再截图实验结论才有说服力。3.5 仿真过程中容易碰到的操作问题Multisim跑这类带有运放和开关的仿真最常见的两个现象一是仿真速度特别慢一是示波器或函数发生器图标找不到。这些不是电路问题但非常影响效率。仿真速度慢的根源是默认的瞬态分析步长太密或者仿真算法选了“Alternate Solver”。解决办法Simulate - Set Simulation Settings里把Solver从Alternate改成Standard同时把End Time改小到20ms~50msMaximum time step可以从默认的1e-5改成1e-6或直接改成“Generate time steps automatically”输出采样点数够看波形就行不要无脑拉高精度。针对只关心稳态平均值的情况甚至可以直接跑DC Operating Point看低通输出节点电压速度极快。仪器找不到的问题更简单如果界面右侧或上方找不到示波器、函数发生器、频谱分析仪的图标八成是仪器工具栏被隐藏了。在菜单View - Toolbars里勾选“Instruments”或者直接按快捷键AltV打开视图菜单把工具栏显示出来。如果只想快速放一个示波器也可以用菜单Place - Instrument - Oscilloscope不要依赖图标。示波器波形颜色不好区分时可以在示波器设置里分别给四个通道设置不同颜色避免截图时连自己都分不清哪条是哪条。3.6 用仿真文件组织模块方便复用和改参Multisim支持把电路做成子电路或分层模块。我第一次搭这个电路的时候把所有元件堆在一个图纸上改参数找元件都非常痛苦。后来习惯把每个功能块放进独立的子电路模块信号源模块、参考整形模块、AD630解调模块、低通放大模块再用端子HB/SC Connector连起来。这样组织的好处有三个第一调试时可以只替换某一个模块而不影响其他部分第二换参数时只需要双击进入子电路修改主图美观整洁第三电赛答辩时评委想看清楚某一个模块的原理你可以直接展示子电路内部结构专业感直接拉满。保存文件时注意文件名和路径都要用英文我因为中文文件名吃过亏深有体会。4. 常见问题与排查技巧实录4.1 Multisim数据库相关报错排查很多人启动Multisim就遇到“无法访问主数据库”Error accessing the database或者“Multisim访问数据库发生错误”的弹窗下面给出一张我整理的速查表按顺序试通常第二三步就能解决症状可能原因处理办法启动即报数据库错误元件库空安装路径或用户目录含中文/空格重装到纯英文路径例如D:\NI\Multisim之前能用某天突然报错数据库缓存损坏删除%ProgramData%\National Instruments\CircuitDesignSuite...下的缓存文件重启软件打开旧文件才报错旧文件引用了库里不存在的自定义元件新建空白文件把电路复制粘贴过去另存管理员账户下正常普通账户报错权限不足右键以管理员身份运行软件卸载重装后仍然报错旧配置残留卸载后用清理工具删干净注册表和用户目录下的NI文件夹再重装这里特别提醒“卸不干净”这个问题很多人抱怨“Multisim咋删干净”因为标准卸载程序只删了安装目录注册表和数据库缓存还留在系统里下次装完问题依旧。Windows下可以在卸载完后手动删除“C:\Program Files (x86)\National Instruments”和用户目录下“AppData\Roaming\National Instruments”两个文件夹再用注册表编辑器搜索“Multisim”和“National Instruments”相关键值确认无误后删除。不会清理注册表的人切忌乱删键值先备份注册表再操作。4.2 仿真结果不对输出没有直流分量这是搭锁定放大器仿真时最容易遇到的问题。波形显示AD630输出有信号但低通后仍然在高频振荡或者直流电平接近零。排查思路按顺序看第一检查参考信号是否真的到达了AD630的参考引脚。用示波器看参考引脚波形如果发现幅度低于比较器阈值AD630内部开关根本没有切换输出自然不对。第二检查信号频率和参考频率是否严格一致。Multisim里函数发生器和AC源都按默认设置频率不一致看似小事输出直流会随着相位差来回摆动看起来就像不稳定。第三检查低通时间常数。如果RC取太小截止频率高于2ω2kHz纹波没有被滤干净示波器上就会看到叠加的高频分量。第四确认AD630的电源电压和输入共模范围。输入信号幅度过大或者直流偏置过高会导致输出级饱和直流电平被“钳”在电源电压附近怎么看都不对。还有一个容易忽略的地方有些Multisim版本的AD630模型开关动作需要参考信号通过耦合电容接入或者串联一个合适电阻模型帮助文档里会有说明。参考数据手册里REF输入端通常要串联一个电阻到比较器的同相端反相端接阈值电平。如果模型库里的符号已经包括内部偏置就不用管如果仿真结果明显异常可以尝试在REF引脚与地之间加一个偏置电阻把比较器静态工作点设定在电压中间。4.3 元器件操作旋转、替换与库缺失Multisim里旋转元器件是高频操作但新手常常找不到入口。选中元件后按CtrlR即可顺时针旋转90度按CtrlShiftR逆时针旋转。如果只想让符号镜像可以用菜单Edit - Flip Horizontal/Vertical。实际上在搭这种对布局有要求的电路时我习惯先把元件位置摆好再连线避免中途旋转导致线路交叉。元器件库缺失在电赛备赛阶段也很常见尤其是OP07、LM311、AD630这些型号有些精简安装版根本搜不到。处理办法有两个一是检查元件库的Group和Family是否选对了AD630属于Mixed组LM311属于Comparator类OP07属于Analog组二是从官网或NI官网下载对应数据库补丁包。如果实在缺可以用功能等效的基本运放模型替代验证电路原理等拿到完整版数据库再替换为真实型号做最终仿真。4.4 中英文界面、汉化与学习建议不少学生下载的Multisim是英文原版用起来觉得吃力就去找汉化包。我的观点是汉化可以用来入门但最终要尽快切回英文界面。原因很简单网上绝大多数教程、Datasheet里的术语、电赛评委提问时用的关键词都是英文如果连“Transient Analysis”和“Place Component”都对应不上查资料效率极低。Multisim的界面术语量并不大花一个上午把常用的几个菜单过一遍英文界面完全能适应。还有一点是关于学习速度的。很多同学拿到Multisim后第一件事是想把所有功能都学会结果打开一堆面板头都大了。我的建议是聚焦到本次仿真需要的几个核心操作放置元件、旋转元件、连线放置节点、设置信号源参数、使用示波器、运行瞬态分析。把这几件事练熟一天之内就能完成本篇文章里的锁定放大器仿真。额外功能等真正用到的时候再学效率最高。5. 扩展示路与我的实操心得5.1 从单相锁定放大器到双相测量本文提到的电路是单相锁定放大器只能测幅度且必须保证参考相位对准θ0。如果你需要同时测幅度和相位就需要搭双相锁定放大器参考通道产生0度和90度两路正交方波分别驱动两个相同的AD630解调电路得到X分量和Y分量幅度为[ R \sqrt{X^2 Y^2} ]相位为[ \theta \arctan\left(\frac{Y}{X}\right) ]这种结构在很多电赛题目里是“加分项”Multisim里复制一份现有电路稍微改一下参考相位就能实现。双相结构的调试难点在于两路增益要尽量一致输出直流偏置也要一致仿真中可以通过在低通后加一级相同增益的放大器来保证对称性。5.2 仿真通过之后焊板子还要注意什么Multisim仿真通过了说明原理和参数基本没问题。但实际焊板子时还有一些仿真里无法体现的坑。AD630在真实电路里要注意电源去耦VCC和VEE引脚旁边各放一个0.1μF陶瓷电容靠近引脚放置输入端走线要短参考信号和信号通路尽量分开避免耦合造成参考馈通低通滤波器里的电容在低频段尽量用CBB电容或者NP0/C0G贴片电容避免电解电容漏电影响直流精度。参考信号和信号源如果是两块独立板子供电存在相位漂移问题电赛题一般会要求用一个基准源同时分频出信号和参考此时相位关系是固定的锁定输出稳定。如果题目要求未知频率测量那就不能只用固定频率的锁定放大器需要配合扫频和锁相环这是另一个值得深入的方向。5.3 一些个人习惯最后分享几个自己长期使用的操作习惯第一Multisim文件按日期和功能命名比如“lockin_v02_100HzLP.ms14”不要出现“最终版”“改改改”这种命名。第二每次修改完参数先保存再仿真否则改崩了没法回退。第三示波器截图时把背景设为白色波形颜色区分开写报告时直接能用不用再处理。如果你照着本文搭完低通输出仍然读不到稳定的直流电平不要急着改电路。先用示波器把AD630输入、参考、输出三级波形都看了确定问题出在哪一级再针对性调整。这个排查思路在任何锁定放大器调试中都是通用的。
返回列表