LTspice导入*.wav

 

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上,点击键:

p1_vol_reg_wav_in

图1. 待导入 wav 文件配置的电压源

b. 在弹出的对话框中编辑 Value 值,添加:

wavefile="D:\OneDrive\Database\Audio\Wave\1KHz Sine wave 0dB L&R.wav"

p2_vol_reg_value图2. 设置电压源属性指向 wav 文件所在位置

c. 运行瞬态仿真,仿真时间此处取 10ms 。如下图3示,导入的 0 dB 1K Sine Wave 已经作为电压源 V1 激励波形,输出幅度为 -1V ~ +1V ,此处没有指明 chan=nnn ,所以默认导入左声道数据。

p3_vol_reg_wav_in_demo

图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 文件:

p4_vol_reg_wav_out_1v

图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

p5_vol_reg_wav_syntax

图5. 导出 V(OUT) 波形到 wav 文件语法

c. 用 Audacity 检验输出的 export.wav 文件,与预想中的结果一致,其中纵轴表示电压值大小,单位为 Volt

p6_vol_reg_wav_out_demo

图6. Audacity检验导出的 export.wav 文件

 

注:


 

1. 以上导入/导出操作均以电压(源)为例,同样操作对电流(源)同样有效;

2. 在导出 wav 操作时,如果电压峰值超过 +1V ,或低于 -1V ,则超出部分将直接被削除。如下图7和图8所示,将电压源 V1 的电压峰值由 1V 改成 2V ,由 Audacity 分析输出的 export.wav 文件,可以看到其幅值超过 1V 的部分直接被消除。

p7_vol_reg_wav_out_2v

图7. V(OUT) 峰值电压为 ±2V

p8_vol_reg_wav_out_clip
图8. Audacity 检验导出的 export.wav 文件(削波)

 

应用举例


 

计算噪声的 RMS 值(或 Crest Factor

 

a. 如图9所示,将各种音源(噪声或音乐等)分别作为电压源激励:

p9_vol_reg_wav_in_var

图9. 不同音源(噪声&正弦波)作为电压源激励

b. 设瞬态仿真时间为 100ms ,运行仿真,分别探测各个点输出电压值:

p10_vol_reg_wav_in_var_demo

图10. 电压源输出波形

c. 鼠标移至波形名称上方,按住 Ctrl ,点击鼠标键,弹出对话框显示出波形的 Average 值和 RMS 值。

p11_vol_reg_wav_in_rms

图11. 查看波形的 Average 值和 RMS

由以上分析,可以计算所导入噪声的 RMSCrest 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

 

 

参考资料


 

  1. Voltage Source -LTwiki

  2. Write Selected Nodes to a Wav File -LTwiki

  3. LTspice: Voltage Sources (Importing and Exporting WAV Files) -Youtube

Tagged , , , . Bookmark the permalink.

About Xiaomin

“Real generosity towards the future lies in giving all to the present.” ― Albert Camus

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.