LTspice基础教程:.wave命令的使用

LTspice 中的 .wave 命令是将瞬态分析(即 .tran 命令)的仿真结果保存为 .wav 文件(音频文件),而生成的 .wav 文件可以作为另一仿真中电压源或者电流源的输入,或者直接用音频播放器播放。

.wave 命令的语法

.wave 命令的语法如下所示:

.wave <filename.wav> <Nbits> <SampleRate> V(out1) [V(out2)…]

(1)<filename.wav>

输入要创建的 wav 文件的文件名和目标路径。

wav 文件的路径可以是绝对路径,也可以是”原理图文件或网络列表”的文件夹(目录)的相对路径。 如果只输入文件名而不输入路径,则 wav 文件存储在”原理图文件(扩展名为 asc 的文件)或网络列表”相同的文件夹中。

(2)<Nbits>

输入采样位数。 有效范围为 1 到 32 位。

(3)<SampleRate>

输入每秒的采样数。 有效范围为 1 到 4,294,967,295 个样本/秒。

(4)V(out1) [V(out2)…]

设置要输出的通道数并将每个节点的电压输出到对应的通道编号。在上面的语法中,将节点 out1 的电压 V (out1) 输出到通道编号 0 (chan=0),将节点 out2 的电压 V (out2) 输出到通道编号 1 (chan=1)。 此外,还可以指定流经元件或端子的电流(例如 I (R1))。 如果指定了电流,则该值将按原始数据从电流转换为电压并输出。

语法中”<>”里面的参数为必填项,”[]”里面的参数为选填项。

几点补充:

  • 输出的电压和电流的振幅限制在±1V 范围内。 当电压或电流的振幅为 ±1V 时,将被削波。
  • 输出的通道数从 1 到 65535。 但是,由于 65535 也不用于模拟,因此可以认为它几乎是无穷大的。
  • 可以将单个节点的参数输出到多个通道。
  • 通道编号从 0 开始分配。

.wave 命令示例

.wave output.wav 16 44.1k V(out1) V(out2)

  • 创建 WAV 文件的文件名为”output.wav”。
  • 由于没有设置路径,因此 WAV 文件存储在与”原理图文件或网络列表”相同的文件夹中。
  • 采样位数为”16″,每秒采样数为”44.1k”。
  • 存储节点 out1 的电压 V(out1)和节点 out2 的电压 V(out2)。

.wave C:/voice.wav 16 44.1k V(left) V(right)

  • 播放存储在 C 驱动器上文件名为”voice.wav”的 WAV 文件。
  • 采样位数为”16″,每秒采样数为”44.1k”。
  • 将节点电压 V(left) 输出到通道编号 0(chan=0),将节点电压 V(right) 输出到通道编号 1(chan=1)。

.wave 命令仿真示例(生成 WAV 文件)

绘制如下电路图,并将原理图文件保存在 C:/test 文件夹下。

LTspice基础教程:.wave命令的使用
图 1 生成 .wave 文件

图中,电压源 V1、电压源 V2 连接到节点 out1、out2 的电路。每个电压源输出正弦波,其振幅和频率如下:

电压源 V1:振幅 0.5V,频率 0.5kHz
电压源 V2:振幅 2.0V,频率 0.1kHz

.wave 命令:

.wave output.wav 16 44.1k V(out1) V(out2)

此外,由于 .tran 命令设置的瞬态分析时间为 1s,所以将生成 1 秒的 WAV 文件。

.wave 命令仿真示例(作为电压源的输入信号)

将 WAV 文件(output.wav)用作电压源的输入信号。

LTspice基础教程:.wave命令的使用
图 2 .wave 文件作为电压源的输入信号

具体设置方法:

右键单击电压源的电压值,在电压值字段中输入用于读取 WAV 文件的语法。

.wave 的语法根据 WAV 文件的位置略有区别:

(1)WAV 文件与原理图文件在同一文件夹下时,wavefile=<filename.wav> chan=0

(2)WAV 文件与原理图文件不在同一文件夹下时,wavefile=C:\test\output.wav chan=2

另外,语法中的 chan 是指通道编号,例如通道编号 0(chan=0),通道编号 1(chan=1),通道编号 2(chan=2)等等,如果未指定通道编号,则会自动指定通道编号 0(chan=0)。

通过仿真结果,可以看到电压源 VA 和 VB 读取 WAV 文件(output.wav)并输出电压。 电压源 VA 为通道编号 0(chan=0)的波形,电压源 VB 还可以确认波形相对于通道编号 1 (chan=1) 的波形(超过± 1V 的部分被削波)。

补充:

  • 在 .tran 瞬态分析中,设置最大步长的值小于”1/比特率”,可以获得更加精确的输入波形。例如,比特率为 1411kbps,因此设置最大步长时间为 0.708us 或更小。
  • .wave 命令在一些组合仿真中更为适用,可以在电路之间传递电压和电流波形。

播放 WAV 文件音频

将上述生成的 .wave 文件在 LTspice 中播放,其语法如下:

.wave <filename.wav> <Nbits> <SampleRate> V(left) [V(right)…]

扫码关注尚为网微信公众号

尚为网微信公众号
每天学习电路设计嵌入式系统的专业知识,关注一波,没准就用上了。

原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/hardware/1112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年12月11日
下一篇 2021年12月12日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注