历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2020年03月30日 | LTspice音频WAV文件:使用立体声和加密语音消息

2020-03-30 来源:EEWORLD

提问:能否通过LTspice音频WAV文件利用立体声数据和加密语音消息?

 

说明: A close up of a toy

Description automatically generated

 

回答:假如音乐是爱情的食粮,那么就仿真吧。

 

本非常见问题解释如何使用LTspice®音频WAV文件生成立体声语法(以及更高的通道计数)。

 

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信号音。

 

说明: A screenshot of a cell phone

Description automatically generated

 

图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中的两个通道,作为信号输入。

 

说明: A screenshot of a cell phone

Description automatically generated

 

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

 

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

 

说明: A screenshot of a cell phone

Description automatically generated

 

图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文件和通道。这种情况下:

 

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

      

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

  

音频分离

 

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

 

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

 

说明: A close up of a computer

Description automatically generated

 

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

 

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

 

说明: A close up of a computer

Description automatically generated

 

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

 

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

 

说明: A close up of a computer

Description automatically generated

 

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

 

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

 

语音加密

 

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

 

说明: A screenshot of a cell phone

Description automatically generated

 

图7.使用随机电压源加密/解密音频文件。

 

文件voice.wav包含原始音频。Excel电子表格用于生成变化周期为100 µs的随机数序列。结果复制到名为random.txt的文本文件中。random.txt的摘录如图8所示。

 

说明: A screenshot of a cell phone

Description automatically generated

 

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

 

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

 

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

 

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

 

 

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

 

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

 

从差分电压源生成WAV文件

 

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

 

说明: A screenshot of a cell phone

Description automatically generated

 

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

 

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

 

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

 

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

推荐阅读

史海拾趣

DACHANG公司的发展小趣事

DACHANG公司深知创新是企业发展的根本动力。因此,公司始终将创新作为自己的核心竞争力,不断推出具有创新性的产品和解决方案。无论是产品设计、技术研发还是市场营销,DACHANG公司都积极引入新的理念和模式,为公司的发展注入了源源不断的活力。

Altus Technology Inc公司的发展小趣事

Altus Technology Inc自成立以来,始终将技术创新作为公司发展的核心驱动力。在早期,公司研发团队通过不懈努力,成功开发出了一款具有革命性的芯片,这款芯片在性能和功耗上均优于当时的同类产品。凭借这一技术突破,Altus在市场上迅速获得了一席之地,并吸引了大量合作伙伴和投资人的关注。随着技术的不断迭代和升级,Altus逐渐在电子行业中树立了技术领先的形象,并持续推出了一系列创新产品,巩固了市场地位。

Amveco Toroidal Power Products公司的发展小趣事

为了进一步扩大市场份额,Amveco公司积极寻求与行业内外的合作伙伴建立战略合作关系。公司与多家知名的电子设备制造商建立了长期稳定的合作关系,为其提供定制化的环形变压器解决方案。此外,公司还通过参加国际电子展会、建立海外销售网络等方式,积极开拓国际市场,实现了业务的全球化布局。

CAO Group Inc公司的发展小趣事

CAO Group并未满足于在牙科行业的成功,而是积极寻求多元化的发展道路。公司开始涉足医疗、执法和光电市场,通过不断推出创新产品和技术,成功拓展了新的业务领域。同时,公司还积极寻求与国际知名企业的合作,通过技术交流和资源共享,不断提升自身的竞争力和影响力。

Good Will Instrument Co., Ltd.公司的发展小趣事

自创立以来,CAO Group一直致力于牙科材料和器械的研发。公司不断投入研发资源,成功推出多款具有创新性的牙科产品,如Lumist美白贴、SPRAY BOTTLE HEAD喷雾瓶头等,这些产品不仅在国内市场获得了广泛认可,还成功打入了国际市场。公司的研发实力和产品品质,使其在牙科行业中树立了良好的口碑。

静芯微电子(ElecSuper)公司的发展小趣事

静芯微电子深知产品质量对于企业的重要性,因此建立了完善的质量管理体系。公司从原材料采购、生产制造到产品检测等各个环节都实行严格的质量控制和管理,确保每一款产品都符合高标准的质量要求。同时,静芯微电子还引进了先进的检测设备和技术手段,对产品质量进行全面检测和评估。这些措施保证了静芯微电子产品的稳定性和可靠性,赢得了客户的信任和好评。

问答坊 | AI 解惑

手机天线设计-哈工大微波专业毕业论文.pdf

手机天线设计-哈工大微波专业毕业论文.pdf…

查看全部问答>

三极管的实际工作功率如何确定?

一般三极管厂家的产品手册上都会有三极管的最大耗散功率Pcm,那三极管在具体电路里工作的时候,我如何确定它的实际消耗功率呢?怎么保证选用的三极管功率够用?有没有计算公式? 如果没有具体的计算公式,那三极管实际消耗的功率和什么参数有关系 ...…

查看全部问答>

设计车载充电器的考虑因素

在Delta-Q的网站上,找到几篇文章,还是觉得不错的,而其中一篇涉及到了车载充电器设计的一些难点,我大概整理出来供同行参考。 Chargers  Integral to PHEV Success    充电器面临的首要问题是,它既是车载的又要符合电 ...…

查看全部问答>

指导一个伽罗华域中有关复合域的问题!!!

我现在正在做一个bch解码器,老板要求用查表法取代伽罗华域中的乘法器。由于是m=14的伽罗华域,这样做出来的表足足需要八千多行,听说可以用两个m=7的伽罗华域构成一个m=14复合域。这样,乘法就可以在7的伽罗华域里面运算了。但是,我现在不知道这 ...…

查看全部问答>

请问哪个大侠有Arm+linux的系统

请问哪个大侠有Arm+linux的系统,现在想学习Arm+linux,不知道怎么办,想找个系统看看!!!!有哪个好心人给我发个hyhdez@126.com…

查看全部问答>

51外部扩展了两个32K的RAM,现在只能访问到一个,如何访问另一个?

我用的是W77E58,外部扩展了两片32K的RAM,用P3.4做两个RAM的片选,现在只能访问到一片RAM。我如何才能访问到另一片RAM?…

查看全部问答>

各位老大:ARM是如何开发并使用,请详细说明....

现在很多制作ARM开发板的商家,他们就是靠卖开发板。拿出货量能有多少?他们能不能为小的客户制作目标板(就是能用在设备上的)。要开发ARM的手持设备需要多大的投入?都需要买什么东西? 谢谢各位!!!…

查看全部问答>

奋斗STM32开发板配套大尺寸显示屏

这一年使用奋斗STM32开发板,总的感觉这款开发板性价比比较高,功能比较齐全。不过觉得显示屏小了点(2.4寸TFT屏) 于是自己琢磨了一个方案,用奋斗STM32开发板驱动4。3寸的TFT显示屏。 功能特性: 1.16位双向并行总线,显示屏的40个外 ...…

查看全部问答>

一些ARM学习资料,希望对初学者有所帮助^_^

                                            [ 本帖最后由 ...…

查看全部问答>

Cortex-M3之USB模块与SST25系列Flash存储

Cortex-M3之USB模块与SST25系列Flash存储  1、 Cortex-M3内核LM3S37xx系列的微处理器自带了USB接口的Device/Host/OTG,很方便,一般做USB的时候只要简单的设置时钟和相关寄存器即可,在这里需要让自己记住的一点是, 用于Device在程序编程的 ...…

查看全部问答>