LTspice 是 Linear Technology 推出的一款免费的 SPICE 仿真工具,除了内置的 Linear Technology 加密器件模型外,LTspice还支持第三方SPICE模型导入。LTspice几乎是目前市面上功能最为强大的免费SPICE工具。本文简单介绍如何将 .wav 格式文件作为仿真器的电源激励,以及如何将仿真器的波形导出为 .wav 格式文件。此项功能在音频设计和仿真领域比较实用。
导入wav文件
语法:
wavefile=<filename> [chan=<nnn>]
- <filename> 可以是 wav 文件的绝对路径地址,或相对(仿真电路工作目录 )路径地址,以下示例均采用绝对路径地址形式
- 如果 wav 文件的路径包含空格,则需要使用双引号 “” 将文件地址包含在内
- 支持 wav 文件最多可以包含 65536 个channel,使用 chan=nnn 指明具体导入的channel。默认导入第 0 个channel,即 chan=0 ,也就是多数 wav 文件左右声道中的左声道
- 导入 wav 文件满幅度电压范围为-1V ~ +1V
举例:
a. 如图1所示,按 F2 添加的电压源 V1 ,按住 Ctrl 键,鼠标移到电压源V1上,点击右键:
图1. 待导入 wav 文件配置的电压源
b. 在弹出的对话框中编辑 Value 值,添加:
wavefile="D:\OneDrive\Database\Audio\Wave\1KHz Sine wave 0dB L&R.wav"
c. 运行瞬态仿真,仿真时间此处取 10ms 。如下图3示,导入的 0 dB 1K Sine Wave 已经作为电压源 V1 激励波形,输出幅度为 -1V ~ +1V ,此处没有指明 chan=nnn ,所以默认导入左声道数据。
图3. 导入 wav 文件电压源输出波形
导出wav文件
语法:
.wave <filename.wav> <Nbits> <SampleRate> V(out) [V(out2) ...]
- <filename> 可以是 wav 文件的绝对路径地址,或相对(仿真工作目录 )路径地址,以下示例均采用绝对路径地址形式
- 如果输出 wav 文件的路径包含空格,则需要使用双引号 “” 将文件地址包含在内
- <Nbits> 表示输出 wav 文件的量化深度,有效范围 1~32 bits,一般取 8/16 bits
- <SampleRate>,采样率,有效范围为 1 ~ 4294967295 ,一般取 44.1K/48K
- V(out) [V(out2) ...] 表示的各个节点值,依次保存在 wav 文件的 0 ~ N channel之中,输出的 wav 文件最多可存储 65535 个节点值
- 导出 wav 文件满幅度电压范围为-1V ~ +1V
举例:
a. 如图4所示,计划导出节点 OUT 上电压值到 wav 文件:
图4. 待导出 V(OUT) 波形到 wav 文件
b. 在电路图编辑页面,按 “S” 调出 SPICE directive 编辑器添加:
.wave "C:\Users\XIAOMIN\Desktop\export.wav" 16 44.1k V(out)
- 设瞬态仿真时间为 10ms
- 设电压源 V1 为峰值 1V,频率为 1KHz 的正弦波
- 输出为 OUT 点的电压值
- 输出路径为 desktop ,文件命名为 export.wav
图5. 导出 V(OUT) 波形到 wav 文件语法
c. 用 Audacity 检验输出的 export.wav 文件,与预想中的结果一致,其中纵轴表示电压值大小,单位为 Volt
图6. Audacity检验导出的 export.wav 文件
注:
1. 以上导入/导出操作均以电压(源)为例,同样操作对电流(源)同样有效;
2. 在导出 wav 操作时,如果电压峰值超过 +1V ,或低于 -1V ,则超出部分将直接被削除。如下图7和图8所示,将电压源 V1 的电压峰值由 1V 改成 2V ,由 Audacity 分析输出的 export.wav 文件,可以看到其幅值超过 1V 的部分直接被消除。
图7. V(OUT) 峰值电压为 ±2V
图8. Audacity 检验导出的 export.wav 文件(削波)
应用举例
计算噪声的 RMS 值(或 Crest Factor )
a. 如图9所示,将各种音源(噪声或音乐等)分别作为电压源激励:
图9. 不同音源(噪声&正弦波)作为电压源激励
b. 设瞬态仿真时间为 100ms ,运行仿真,分别探测各个点输出电压值:
图10. 电压源输出波形
c. 鼠标移至波形名称上方,按住 Ctrl ,点击鼠标左键,弹出对话框显示出波形的 Average 值和 RMS 值。
图11. 查看波形的 Average 值和 RMS 值
由以上分析,可以计算所导入噪声的 RMS 和 Crest Factor 。
White Noise: VRMS = 230mV, Crest Factor = 230/1000 = 13dB Pink Noise: VRMS = 201mV, Crest Factor = 201/1000 = 14dB Brown Noise: VRMS = 218mV, Crest Factor = 218/1000 = 13dB Sine Wave: VRMS = 706mV, Crest Factor = 706/1000 = 3dB
参考资料