MWORKS 在电子电路中的应用:音频前端采集、滤波放大与负载驱动仿真
项目说明
本案例包面向教学演示、课堂讲解和案例视频录制,使用 Sysplorer MCP 配合 Sysplorer 自带 Modelica 4.0.0.TY.1 标准库构建电子电路综合案例。
项目目录中的建模约束已先读取并遵循:
skills/ty-sysplorer-modeling-rules/SKILL.mdskills/ty-sysplorer-modeling-rules/references/hybrid_modeling_workflow.mdskills/ty-sysplorer-modeling-rules/references/modelica_diagram_connect_semantics.mdskills/modelica-library-workflow/SKILL.md
其中最关键的本地约束是:
- 物理 Modelica 电路模型以
.mo文件承载; - 模型库查询、模型检查、翻译、仿真、结果读取通过 Sysplorer MCP 完成;
- 组件名称和路径必须以实际库查询结果为准,不能凭空假设。
案例包结构
- 包名:
AudioFrontEndCircuitCases - 主模型文件:
AudioFrontEndCircuitCases.mo
核心模型:
AudioFrontEndCircuitCases.AudioFrontEndAmplifierSystemAudioFrontEndCircuitCases.DifferentialAmplifierCMRRDemoAudioFrontEndCircuitCases.PowerRippleDecouplingFilter
测试模型:
AudioFrontEndCircuitCases.TestBench_AudioFrontEndAudioFrontEndCircuitCases.TestBench_DifferentialAmplifierAudioFrontEndCircuitCases.TestBench_PowerRippleFilter
主案例工况:
AudioScenario_50HzAudioScenario_100HzAudioScenario_300HzAudioScenario_1kHzAudioScenario_3kHzAudioScenario_10kHzAudioScenario_20kHzAudioScenario_LowFrequencyInterferenceAudioScenario_HighFrequencyInterferenceAudioLoad_100OhmAudioLoad_1kOhmAudioLoad_10kOhm
差分放大工况:
DifferentialScenario_DiffOnlyDifferentialScenario_CommonOnlyDifferentialScenario_Combined
电源纹波工况:
PowerScenario_NoDecouplePowerScenario_BulkOnlyPowerScenario_BulkAndHFPowerScenario_LightLoadPowerScenario_HeavyLoad
Sysplorer 模型库查询结果
本轮通过 Sysplorer MCP 实际查询并确认了以下自带库可用:
Modelica.Electrical.Analog.BasicModelica.Electrical.Analog.SourcesModelica.Electrical.Analog.SensorsModelica.Electrical.Analog.IdealModelica.Blocks.SourcesModelica.Blocks.MathModelica.Blocks.Interfaces
同时确认了以下典型组件真实存在:
- 基础元件:
Resistor、Capacitor、Inductor、Ground - 电源/信号源:
SignalVoltage、ConstantVoltage、SineVoltage - 传感器:
VoltageSensor、CurrentSensor、PowerSensor - 放大/受控元件:
Gain、VCV、OpAmp、IdealOpAmp - 开关备选:
ControlledIdealClosingSwitch
模型库使用情况
| 模型 | 组件名称 | 模型库路径 | 用途 | 是否自带组件 |
|---|---|---|---|---|
| AudioFrontEndAmplifierSystem | Resistor | Modelica.Electrical.Analog.Basic.Resistor |
源内阻、偏置电阻、滤波电阻、输出电阻、负载 | 是 |
| AudioFrontEndAmplifierSystem | Capacitor | Modelica.Electrical.Analog.Basic.Capacitor |
交流耦合、高通、低通 | 是 |
| AudioFrontEndAmplifierSystem | Ground | Modelica.Electrical.Analog.Basic.Ground |
电路参考地 | 是 |
| AudioFrontEndAmplifierSystem | SignalVoltage | Modelica.Electrical.Analog.Sources.SignalVoltage |
输入等效源、等效前级源、等效后级源 | 是 |
| AudioFrontEndAmplifierSystem | ConstantVoltage | Modelica.Electrical.Analog.Sources.ConstantVoltage |
单电源供电偏置 | 是 |
| AudioFrontEndAmplifierSystem | VoltageSensor | Modelica.Electrical.Analog.Sensors.VoltageSensor |
采集 Vin、V_bias、V_filter、V_out 等节点电压 | 是 |
| AudioFrontEndAmplifierSystem | CurrentSensor | Modelica.Electrical.Analog.Sensors.CurrentSensor |
测量负载电流 | 是 |
| AudioFrontEndAmplifierSystem | Sine | Modelica.Blocks.Sources.Sine |
有效信号、低频干扰、高频干扰 | 是 |
| AudioFrontEndAmplifierSystem | Gain | Modelica.Blocks.Math.Gain |
等效前级/后级放大 | 是 |
| DifferentialAmplifierCMRRDemo | SignalVoltage | Modelica.Electrical.Analog.Sources.SignalVoltage |
差分两端输入与输出等效源 | 是 |
| DifferentialAmplifierCMRRDemo | VoltageSensor | Modelica.Electrical.Analog.Sensors.VoltageSensor |
采样 Vin_plus、Vin_minus、V_out |
是 |
| DifferentialAmplifierCMRRDemo | CurrentSensor | Modelica.Electrical.Analog.Sensors.CurrentSensor |
测量负载电流 | 是 |
| DifferentialAmplifierCMRRDemo | Sine | Modelica.Blocks.Sources.Sine |
差分与共模干扰激励 | 是 |
| DifferentialAmplifierCMRRDemo | Gain | Modelica.Blocks.Math.Gain |
差分通道增益与残余共模通道增益 | 是 |
| PowerRippleDecouplingFilter | SignalVoltage | Modelica.Electrical.Analog.Sources.SignalVoltage |
叠加直流、纹波、高频噪声的供电源 | 是 |
| PowerRippleDecouplingFilter | Resistor | Modelica.Electrical.Analog.Basic.Resistor |
线路阻抗与负载 | 是 |
| PowerRippleDecouplingFilter | Inductor | Modelica.Electrical.Analog.Basic.Inductor |
线路寄生电感 | 是 |
| PowerRippleDecouplingFilter | Capacitor | Modelica.Electrical.Analog.Basic.Capacitor |
大小去耦电容 | 是 |
| PowerRippleDecouplingFilter | VoltageSensor | Modelica.Electrical.Analog.Sensors.VoltageSensor |
采集源端与负载端电压 | 是 |
| PowerRippleDecouplingFilter | CurrentSensor | Modelica.Electrical.Analog.Sensors.CurrentSensor |
测量负载电流 | 是 |
主案例说明
1. 音频 / 传感器等效输入
输入端由以下部分组成:
- 有效正弦信号:
20 mV,1 kHz - 源内阻:
600 Ohm - 可选低频干扰:
50 Hz,10 mV - 可选高频干扰:
20 kHz,5 mV
这体现了“实际传感器可等效为理想电压源加输出内阻”的教学建模思想。
2. 交流耦合与偏置
C_couple = 1 uFR_bias_top = 100 kOhmR_bias_bottom = 100 kOhmVcc = 5 VV_bias ~= 2.5 V
说明:
- 耦合电容隔离源侧直流分量;
- 偏置网络为单电源小信号链路建立工作点;
- 耦合电容与输入等效电阻共同形成高通特性。
3. 前置放大
教学目标原本是“理想运放同相放大”,理论可参考:
Av = 1 + R2 / R1- 示例比例:
R1 = 10 kOhm,R2 = 90 kOhm
本案例实际采用的教学近似实现为:
VoltageSensor + Gain + SignalVoltage- 前级等效增益:
10
这样可以保留高输入阻抗和幅值放大现象,同时降低运放内部细节对演示稳定性的影响。
4. 带通滤波
高通:
R_hp = 5.3 kOhmC_hp = 100 nFfc_hp = 1 / (2πRC) ~= 300 Hz
低通:
R_lp = 5.3 kOhmC_lp = 10 nFfc_lp = 1 / (2πRC) ~= 3 kHz
说明:
- 高通用于抑制低频漂移和 50 Hz 干扰;
- 低通用于抑制高频噪声;
- 两级串联构成适合语音/音频前端讲解的简化带通。
5. 后级放大与负载驱动
- 后级等效增益:
2 - 等效输出电阻:
50 Ohm - 默认负载:
1 kOhm
典型目标是将 20 mV 小信号放大到约 0.34 V ~ 0.40 V 量级,并观察 100 Ohm / 1 kOhm / 10 kOhm 负载变化对输出的影响。
子案例 A:差分放大与共模抑制
- 差分信号:
10 mV,1 kHz - 共模干扰:
100 mV,50 Hz - 差分增益:
10 - 残余共模增益:
0.05
差分放大采用等效公式思想:
Vout = Ad × (Vin_plus - Vin_minus)
并保留小的共模通道,以便讲解:
CMRR = 20log10(Ad / Ac)
子案例 B:电源纹波与去耦滤波
Vdc = 5 V- 低频纹波:
100 mV,100 Hz - 高频噪声:
20 mV,100 kHz R_line = 0.5 OhmL_line = 10 uHC_decouple = 10 uFC_high_freq = 100 nFR_load = 100 Ohm
说明:
- 大电容主要抑制低频纹波;
- 小电容主要旁路高频噪声;
- 组合去耦适合教学展示电源完整性的基本概念。
参数设计公式
高通截止频率:
fc = 1 / (2πRC)
低通截止频率:
fc = 1 / (2πRC)
同相放大器增益:
Av = 1 + R2 / R1
反相放大器增益:
Av = -Rf / Rin
差分放大:
Vout = Ad × (Vin_plus - Vin_minus)
CMRR:
CMRR = 20log10(Ad / Ac)
负载功率:
P = Vrms^2 / RP = Vrms × Irms
电源纹波衰减:
Ripple_attenuation = Ripple_after / Ripple_before
MCP 操作过程摘要
本轮实际完成的 MCP 操作包括:
- 读取项目 skills 和本地建模约束;
- 启动并检查 Sysplorer 会话;
- 查询 Sysplorer 当前工作目录;
- 加载并确认
Modelica 4.0.0.TY.1标准库; - 查询电气、电路、受控源、运放、传感器、信号模块文档;
- 重新加载 AudioFrontEndCircuitCases.mo;
- 对 3 个核心模型、3 个测试模型、20 个场景模型执行
check_model; - 对 3 个测试模型执行
translate_model; - 对主案例频点工况、干扰工况、负载工况、差分工况和电源去耦工况执行
simulate_model。
仿真运行方法
- 在 Sysplorer 中加载 AudioFrontEndCircuitCases.mo
- 优先检查:
AudioFrontEndCircuitCases.TestBench_AudioFrontEndAudioFrontEndCircuitCases.TestBench_DifferentialAmplifierAudioFrontEndCircuitCases.TestBench_PowerRippleFilter
- 运行所需工况模型
- 查看
results/目录中的结果说明和 CSV 表
主要结果现象
主案例:
300 Hz ~ 3 kHz附近输出明显高于50 Hz和20 kHz- 负载从
10 kOhm降到100 Ohm时,输出电压下降、输出电流增大 - 低频与高频干扰都能被耦合/滤波链路部分抑制
差分案例:
- 仅差分输入时输出随差分量放大
- 仅共模输入时输出显著更小
- 适合讲解共模抑制和 CMRR 概念
电源案例:
- 无去耦时负载端纹波更明显
10 uF对低频纹波有效10 uF + 100 nF适合讲解宽频段去耦思想
替代与简化说明
| 原计划组件 | 实际使用组件 | 替代理由 | 对教学演示影响 | 后续替换方向 |
|---|---|---|---|---|
| 理想运算放大器 | VoltageSensor + Gain + SignalVoltage |
保证模型更稳定、更容易讲解,不引入运放内部限制与供电细节 | 不影响“前后级增益、输入阻抗、滤波前后幅值变化”的教学目标 | 可改为 Modelica.Electrical.Analog.Basic.OpAmp 或 Modelica.Electrical.Analog.Ideal.IdealOpAmp |
| 专用差分放大器 | 差分通道 Gain + 残余共模通道 Gain |
库中虽然有运放和受控源,但当前等效方案更利于直观展示 CMRR | 不影响差分/共模概念讲解 | 可扩展为电阻网络差分放大器或受控源差分模型 |
| 功率测量模块 | VoltageSensor、CurrentSensor 后计算 P = V × I |
当前案例以教学演示为主,保留了更直观的功率定义 | 不影响负载功率计算教学 | 可替换为 Modelica.Electrical.Analog.Sensors.PowerSensor |
交付文件
- 模型文件:AudioFrontEndCircuitCases.mo
- 视频脚本:demo_script.md
- 教学讲义:teaching_notes.md
- 结果总览:results/simulation_summary.md
- 模型库使用说明:results/model_library_usage.md
可扩展方向
- 将主案例的等效前后级放大替换为真实运放闭环电路
- 为主案例增加自动频率扫描和更密集的频响导出
- 为差分案例加入电阻桥式差分前端
- 为电源案例加入开关负载和更明显的瞬态电流阶跃
- 为
.mo增加完整图解注释层,便于在 Sysplorer 中直接导出原理图图像
版本说明
V0.0.1,2026-05-15 01:18
- 初始版本
使用许可
本模型库版权由MoHub版权所有,未经许可,不得用于商业用途。
登录账号即可下载资源、参与讨论。