作者:ADI公司 Simon Bramble,高級(jí)現(xiàn)場(chǎng)應(yīng)用工程師
提問(wèn):能否通過(guò)LTspice音頻WAV文件利用立體聲數(shù)據(jù)和加密語(yǔ)音消息?
回答:假如音樂(lè)是愛(ài)情的食糧,那么就仿真吧。
本非常見(jiàn)問(wèn)題解釋如何使用LTspice?音頻WAV文件生成立體聲語(yǔ)法(以及更高的通道計(jì)數(shù))。
LTspice可用于生成WAV文件作為電路仿真的輸出,也可用于導(dǎo)入WAV文件來(lái)激勵(lì)電路仿真。大量文檔記載單聲道WAV文件可用作LTspice中的輸入,而LTspice可用于生成WAV輸出。本文詳細(xì)說(shuō)明如何使用LTspice音頻WAV文件生成不太為人所知的立體聲語(yǔ)法(以及更高的通道計(jì)數(shù))。
LTspice擁有許多超級(jí)功能,但它處理音頻文件的能力是令人印象較深刻的功能之一。雖然在計(jì)算機(jī)屏幕上看到逼真的電路令人著迷,但是創(chuàng)建一個(gè)可以在LTspice之外播放的聲音文件則能夠讓工程師以另一種感測(cè)方式來(lái)評(píng)估仿真。使用單聲道 LTspice音頻WAV文件的相關(guān)文檔非常完備。本文對(duì)立體聲(或更多通道)展開(kāi)討論,并說(shuō)明如何從LTspice音頻WAV文件導(dǎo)出立體聲數(shù)據(jù),以及如何將立體聲數(shù)據(jù)導(dǎo)入LTspice音頻WAV文件。它還闡述了WAV文件的一些使用技巧和訣竅,使讀者能夠進(jìn)一步利用WAV文件。
生成立體聲WAV文件
首先,從單聲道信號(hào)生成立體聲波形文件。圖1顯示的電路生成1 V、1 kHz正弦波,并將其分成兩個(gè)通道,從而在兩個(gè)通道之間交替?zhèn)鬏斝盘?hào)——在CH1和CH2之間以2秒間隔切換1 kHz信號(hào)音。
圖1.在本仿真中,在CH1和CH2之間以2秒間隔切換1 kHz正弦波。生成的兩通道信號(hào)導(dǎo)出到一個(gè)音頻WAV文件中。
命令.wave “C:export.wav” 16 44.1k V(CH1) V(CH2)以16位分辨率對(duì)每個(gè)通道進(jìn)行數(shù)字化處理,以44.1 kSPS速率進(jìn)行采樣,并將生成的音頻數(shù)據(jù)存儲(chǔ)在C:export.wav中。在上述命令中,在采樣速率之后列出的每個(gè)信號(hào)在WAV文件中都生成自己的通道數(shù)據(jù)。LTspice可在單個(gè)LTspice音頻WAV文件中存儲(chǔ)多達(dá)65,535個(gè)通道——只需根據(jù)需要將信號(hào)附加到上述命令即可。
默認(rèn)情況下,LTspice的.wave命令將列出的第一個(gè)通道數(shù)據(jù)另存為左音頻通道,將列出的第二個(gè)通道數(shù)據(jù)另存為右音頻通道。在這種情況下,當(dāng)通過(guò)媒體播放器播放export.wav時(shí),無(wú)論電路節(jié)點(diǎn)命令規(guī)則如何,CH1都將被讀取為左通道,CH2將被讀取為右通道。請(qǐng)注意,默認(rèn)情況下,CH1和CH2在.wav文件中分別存儲(chǔ)為通道0和通道1,這對(duì)于讀取下面討論的文件至關(guān)重要。
導(dǎo)出的這個(gè)立體聲音頻文件可用于激勵(lì)圖2所示的另一個(gè)電路,該電路使用export.wav中的兩個(gè)通道,作為信號(hào)輸入。
圖2.export.wav中的兩個(gè)立體聲通道用于激勵(lì)兩個(gè)獨(dú)立電路。
電壓源V1和V2照常放置,然后按住CTRL鍵并右鍵單擊每個(gè)電壓源,顯示元件屬性編輯器(如圖3所示),來(lái)分配export.wav中的電壓信號(hào)。
圖3.export.wav中的立體聲信號(hào)用作圖2電路的輸入。這是V1的分配,值設(shè)置為從export.wav中拉出通道0。
如上所述,首次生成LTspice音頻WAV文件時(shí),多達(dá)65,535個(gè)通道可數(shù)字化為一個(gè)WAV文件——只需在.wave命令的末尾附加任意多個(gè)通道即可。記住,默認(rèn)情況下,LTspice將第一個(gè)通道命名為通道0,將下一個(gè)通道命名為通道1,以此類推。在這種情況下,由圖1仿真生成的export.wav將電壓V(CH1)存儲(chǔ)為通道0,將V(CH2)存儲(chǔ)為通道1。要使用電壓源播放這些通道,請(qǐng)?jiān)谠撾妷涸吹闹敌兄兄付?wav文件和通道。這種情況下:
u要指示V1回放圖1的V(CH1):wavefile=“C:export.wav” chan=0
u要指示V2回放圖1的V(CH2):wavefile=“C:export.wav” chan=1
音頻分離
從理論上講,通過(guò)媒體播放器播放export.wav應(yīng)在完全通過(guò)左揚(yáng)聲器(或耳機(jī))播放1 kHz信號(hào)音2秒鐘和通過(guò)右揚(yáng)聲器播放2秒鐘之間切換。盡管如此,仍然無(wú)法保證立體聲完全分離,這取決于播放過(guò)程中使用的媒體播放器的質(zhì)量。
通過(guò)筆記本電腦播放export.wav顯示,在示波器上測(cè)量時(shí)約30%的左通道出現(xiàn)在右通道上,如圖4所示。
圖4.左(黃色)通道顯示,在筆記本電腦上播放時(shí)約30%饋入右(藍(lán)色)通道。
在(2000年時(shí)代)手機(jī)上播放相同的文件會(huì)得到一個(gè)更加分離的結(jié)果,顯示沒(méi)有可感知的串?dāng)_,但是在最大音量下會(huì)有輕微的失真,如圖5所示。
圖5.2000年的手機(jī)顯示沒(méi)有串?dāng)_,但在最大音量下會(huì)失真。
在后來(lái)2018年時(shí)代的手機(jī)上重復(fù)這個(gè)實(shí)驗(yàn),結(jié)果顯示沒(méi)有可感知的串?dāng)_,但有一個(gè)完整的1 V峰值信號(hào)和很小的失真,如圖6所示。請(qǐng)注意,所繪示波器曲線圖的靈敏度為500 mV/div。
圖6.后來(lái)一代手機(jī)在串?dāng)_、失真和振幅方面表現(xiàn)出更好的性能。
在所有三個(gè)平臺(tái)上使用相同的文件,結(jié)果顯示LTspice可以生成能夠完全分離的WAV文件,但最終的回放在很大程度上取決于播放器音頻級(jí)的質(zhì)量。
語(yǔ)音加密
圖7中的電路顯示了語(yǔ)音加密的基本方法,就是使用隨機(jī)數(shù)序列加密音頻信號(hào),然后解密。
圖7.使用隨機(jī)電壓源加密/解密音頻文件。
文件voice.wav包含原始音頻。Excel電子表格用于生成變化周期為100 μs的隨機(jī)數(shù)序列。結(jié)果復(fù)制到名為random.txt的文本文件中。random.txt的摘錄如圖8所示。
圖8.使用Excel生成并保存到文本文件中的隨機(jī)電壓。
該文件用于使用LTspice中的分段線性(PWL)電壓源 生成隨機(jī)變化的電壓V(RAND)。
使用行為電壓源B1將V(RAND)添加到語(yǔ)音信號(hào)中。然后將輸出乘以V(RAND),并將結(jié)果發(fā)送到encrypt.wav文件。收聽(tīng)encrypt.wav發(fā)現(xiàn),原始音頻幾乎無(wú)法感知。
圖9顯示了LTspice圖窗口的原始語(yǔ)音、加密語(yǔ)音和解密語(yǔ)音信號(hào)。
圖9.原始、加密和解密語(yǔ)音信號(hào)的輸出。
然后使用第二個(gè)行為電壓源解密原始音頻信號(hào),并將結(jié)果發(fā)送到decrypt.wav文件。
從差分電壓源生成WAV文件
.wave命令的語(yǔ)法不允許數(shù)字化差分電壓。但是,使用行為電壓源(B1)可輕松解決此問(wèn)題,如圖10所示。
圖10.從差分電壓創(chuàng)建WAV文件。
行為電壓源(B1)輸出電壓等于V(OUT1) – V(OUT2),這可以按常用方式在.wave命令中使用,如圖所示。
事實(shí)上,行為電壓源函數(shù)中的變量可以包括電路中的任何電壓或電流,并且可以使用LTspice的任何數(shù)學(xué)函數(shù)控制這些變量。然后,可以通過(guò)正常方式將最終結(jié)果導(dǎo)出到LTspice音頻WAV文件。
LTspice是一個(gè)功能強(qiáng)大的仿真器,但其仿真結(jié)果不必包含在LTspice內(nèi)。使用.wave命令,LTspice可以導(dǎo)入、操作和導(dǎo)出音頻文件,以便在媒體播放器上播放。
作者簡(jiǎn)介
Simon Bramble于1991年畢業(yè)于倫敦布魯內(nèi)爾大學(xué),擁有電氣工程和電子學(xué)學(xué)位,專門從事模擬電子器件和電源工作。他的職業(yè)生涯主要從事模擬電子器件工作,就職于凌力爾特(現(xiàn)為ADI公司的一部分)。
評(píng)論
查看更多