ADI - LTspice音频WAV文件:使用立体声和加密语音消息

出处:ADI 发布于:2020-04-17 11:03:17

  LTspice可用于生成WAV文件作为电路仿真的输出,也可用于导入WAV文件来激励电路仿真。大量文档记载单声道WAV文件可用作LTspice中的输入,而LTspice可用于生成WAV输出。本文详细说明如何使用LTspice音频WAV文件生成不太为人所知的立体声语法(以及更高的通道计数)。

  LTspice拥有许多超级功能,但它处理音频文件的能力是令人印象较深刻的功能之一。虽然在计算机屏幕上看到逼真的电路令人着迷,但是创建一个可以在LTspice之外播放的声音文件则能够让工程师以另一种感测方式来评估仿真。使用单声道 LTspice音频WAV文件的相关文档非常完备。本文对立体声(或更多通道)展开讨论,并说明如何从LTspice音频WAV文件导出立体声数据,以及如何将立体声数据导入LTspice音频WAV文件。它还阐述了WAV文件的一些使用技巧和诀窍,使读者能够进一步利用WAV文件。

  生成立体声WAV文件

  首先,从单声道信号生成立体声波形文件。图1显示的电路生成1 V、1 kHz正弦波,并将其分成两个通道,从而在两个通道之间交替传输信号——在CH1和CH2之间以2秒间隔切换1 kHz信号音。

  图1.在本仿真中,在CH1和CH2之间以2秒间隔切换1 kHz正弦波。生成的两通道信号导出到一个音频WAV文件中。

  命令.wave “C:\export.wav” 16 44.1k V(CH1) V(CH2)以16位分辨率对每个通道进行数字化处理,以44.1 kSPS速率进行采样,并将生成的音频数据存储在C:\export.wav中。在上述命令中,在采样速率之后列出的每个信号在WAV文件中都生成自己的通道数据。LTspice可在单个LTspice音频WAV文件中存储多达65,535个通道——只需根据需要将信号附加到上述命令即可。

  默认情况下,LTspice的.wave命令将列出的个通道数据另存为左音频通道,将列出的第二个通道数据另存为右音频通道。在这种情况下,当通过媒体播放器播放export.wav时,无论电路节点命令规则如何,CH1都将被读取为左通道,CH2将被读取为右通道。请注意,默认情况下,CH1和CH2在.wav文件中分别存储为通道0和通道1,这对于读取下面讨论的文件至关重要。

  导出的这个立体声音频文件可用于激励图2所示的另一个电路,该电路使用export.wav中的两个通道,作为信号输入。

  图2.export.wav中的两个立体声通道用于激励两个独立电路。

  电压源V1和V2照常放置,然后按住CTRL键并右键单击每个电压源,显示元件属性编辑器(如图3所示),来分配export.wav中的电压信号。

  图3.export.wav中的立体声信号用作图2电路的输入。这是V1的分配,值设置为从export.wav中拉出通道0。

  如上所述,首次生成LTspice音频WAV文件时,多达65,535个通道可数字化为一个WAV文件——只需在.wave命令的末尾附加任意多个通道即可。记住,默认情况下,LTspice将个通道命名为通道0,将下一个通道命名为通道1,以此类推。在这种情况下,由图1仿真生成的export.wav将电压V(CH1)存储为通道0,将V(CH2)存储为通道1。要使用电压源播放这些通道,请在该电压源的值行中指定.wav文件和通道。这种情况下:

  u  要指示V1回放图1的V(CH1):wavefile=“C:\export.wav” chan=0

  u  要指示V2回放图1的V(CH2):wavefile=“C:\export.wav” chan=1

  音频分离

  从理论上讲,通过媒体播放器播放export.wav应在完全通过左扬声器(或耳机)播放1 kHz信号音2秒钟和通过右扬声器播放2秒钟之间切换。尽管如此,仍然无法保证立体声完全分离,这取决于播放过程中使用的媒体播放器的质量。

  通过笔记本电脑播放export.wav显示,在示波器上测量时约30%的左通道出现在右通道上,如图4所示。

  图4.左(黄色)通道显示,在笔记本电脑上播放时约30%馈入右(蓝色)通道。

  在(2000年时代)手机上播放相同的文件会得到一个更加分离的结果,显示没有可感知的串扰,但是在音量下会有轻微的失真,如图5所示。

  图5.2000年的手机显示没有串扰,但在音量下会失真。

  在后来2018年时代的手机上重复这个实验,结果显示没有可感知的串扰,但有一个完整的1 V峰值信号和很小的失真,如图6所示。请注意,所绘示波器曲线图的灵敏度为500 mV/p。

  图6.后来一代手机在串扰、失真和振幅方面表现出更好的性能。

  在所有三个平台上使用相同的文件,结果显示LTspice可以生成能够完全分离的WAV文件,但终的回放在很大程度上取决于播放器音频级的质量。

  语音加密

  图7中的电路显示了语音加密的基本方法,就是使用随机数序列加密音频信号,然后解密。

  图8.使用Excel生成并保存到文本文件中的随机电压。

  该文件用于使用LTspice中的分段线性(PWL)电压源 生成随机变化的电压V(RAND)。

  使用行为电压源B1将V(RAND)添加到语音信号中。然后将输出乘以V(RAND),并将结果发送到encrypt.wav文件。收听encrypt.wav发现,原始音频几乎无法感知。

  图9显示了LTspice图窗口的原始语音、加密语音和解密语音信号。

  图9.原始、加密和解密语音信号的输出。

  然后使用第二个行为电压源解密原始音频信号,并将结果发送到decrypt.wav文件。

  从差分电压源生成WAV文件

  .wave命令的语法不允许数字化差分电压。但是,使用行为电压源(B1)可轻松解决此问题,如图10所示。

  图10.从差分电压创建WAV文件。

  行为电压源(B1)输出电压等于V(OUT1) – V(OUT2),这可以按常用方式在.wave命令中使用,如图所示。

  事实上,行为电压源函数中的变量可以包括电路中的任何电压或电流,并且可以使用LTspice的任何数学函数控制这些变量。然后,可以通过正常方式将终结果导出到LTspice音频WAV文件。

  LTspice是一个功能强大的仿真器,但其仿真结果不必包含在LTspice内。使用.wave命令,LTspice可以导入、操作和导出音频文件,以便在媒体播放器上播放。


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!