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 文件夹下。
图中,电压源 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)用作电压源的输入信号。
具体设置方法:
右键单击电压源的电压值,在电压值字段中输入用于读取 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