Simon Bramble
LTspice可用于生成WAV文件作為電路仿真的輸出,以及導(dǎo)入WAV文件以激勵電路仿真。有據(jù)可查的是,單聲道WAV文件可以用作LTspice的輸入,而LTspice可用于產(chǎn)生WAV輸出。本文詳細(xì)介紹了如何使用LTspice音頻WAV文件來實現(xiàn)不太知名的立體聲語法(以及更高的通道數(shù))。
LTspice有許多超能力,但它對音頻文件的處理是其更令人印象深刻的天賦之一。雖然看到電路在計算機(jī)屏幕上栩栩如生令人著迷,但創(chuàng)建可在LTspice之外播放的聲音文件使工程師能夠使用另一種感覺來評估仿真。使用單聲道LTspice音頻WAV文件是有據(jù)可查的。本文將討論擴(kuò)展到立體聲(或更多通道),并展示如何通過WAV文件從LTspice導(dǎo)出立體聲數(shù)據(jù)并將其導(dǎo)入LTspice。它還說明了 WAV 文件的一些提示和技巧,這些提示和技巧將使讀者能夠進(jìn)一步利用 WAV 文件。
生成立體聲 WAV 文件
讓我們從單聲道信號生成立體聲波文件開始。圖1顯示了一個電路,該電路產(chǎn)生1 V、1 kHz正弦波并將其分成兩個通道,在它們之間交替?zhèn)鬏斝盘枴? kHz音調(diào)在CH2和CH1之間以2秒的間隔切換。
圖1.在此仿真中,1 kHz正弦波在CH1和CH2之間以兩秒的間隔切換。生成的雙聲道信號將導(dǎo)出到音頻 WAV 文件。
命令 .wave “C:export.wav” 16 44.1k V(CH1) V(CH2) 以 16 位分辨率對每個通道進(jìn)行數(shù)字化,以 44.1 kSPS 采樣,并將生成的音頻存儲在 C:export.wav 中。在上面的命令中,采樣率后列出的每個信號在WAV文件中成為其自己的通道。LTspice可以在單個LTspice音頻WAV文件中存儲多達(dá)65,535個通道,只需根據(jù)需要將信號附加到上述命令即可。
默認(rèn)情況下,LTspice的.wave命令將列出的第一個通道保存為左側(cè)音頻通道,將第二個通道保存為右側(cè)音頻通道。在這種情況下,當(dāng)導(dǎo)出時.wav通過媒體播放器播放時,CH1 將讀取為左通道,CH2 將讀取為右通道,而不管電路節(jié)點命名約定如何。請注意,默認(rèn)情況下,CH1 和 CH2 分別存儲為 chan 0 和 chan 1,存儲在.wav文件中,這對于讀取下面討論的文件非常重要。
此導(dǎo)出的立體聲音頻文件可用于激勵另一個電路,如圖2所示,該電路使用導(dǎo)出的兩個通道.wav作為信號輸入。
圖2.導(dǎo)出的兩個立體聲通道.wav用于激勵兩個獨立的電路。
電壓源V1和V2照常放置,然后按住CTRL鍵并右鍵單擊每個電壓源來分配來自輸出.wav電壓信號,顯示組件屬性編輯器,如圖3所示。
圖3.來自輸出.wav的立體聲信號用作圖2電路的輸入。下面是 V1 的分配,其值設(shè)置為從導(dǎo)出.wav中提取通道 0。
如上所述,當(dāng)首次生成LTspice音頻WAV文件時,多達(dá)65,535個通道可以數(shù)字化為一個WAV文件,只需將任意數(shù)量的通道附加到.wave命令的末尾即可。請記住,默認(rèn)情況下,LTspice將第一個通道命名為通道0,下一個通道命名為通道1,依此類推。在這種情況下,導(dǎo)出.wav(由圖1中的仿真生成)將電壓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
音頻分離
從理論上講,通過媒體播放器播放導(dǎo)出.wav應(yīng)該在完全通過左揚(yáng)聲器(或耳機(jī))播放 1 kHz 音調(diào)兩秒鐘和通過右揚(yáng)聲器播放兩秒鐘之間切換。然而,不能保證完全的立體聲分離,這取決于播放過程中使用的媒體播放器的質(zhì)量。
通過筆記本電腦播放導(dǎo)出時.wav,顯示大約 30% 的左通道出現(xiàn)在右通道上,如圖 4 所示。
圖4.在筆記本電腦上播放時,左側(cè)(黃色)通道顯示右側(cè)(藍(lán)色)通道的大約 30% 饋通。
在移動電話聽筒上播放相同的文件(大約在2000年)上,得到的結(jié)果更加分離,沒有可察覺的串?dāng)_,但在最大音量下有輕微的失真,如圖5所示。
圖5.2000年的手機(jī)沒有串?dāng)_,但在最大音量下失真。
在2018年以后的手機(jī)上重復(fù)實驗,沒有可察覺的串?dāng)_,峰值信號為1 V,失真非常小,如圖6所示。請注意,示波器圖是以500 mV/div的靈敏度拍攝的。
圖6.后代手機(jī)在串?dāng)_、失真和振幅方面表現(xiàn)出明顯更好的性能。
所有三個平臺上都使用了相同的文件,表明LTspice正在生成完全分離的WAV文件,但最終的播放在很大程度上取決于播放器音頻舞臺的質(zhì)量。
語音加密
圖7中的電路顯示了語音加密的基本方法,該方法使用隨機(jī)數(shù)序列對音頻信號進(jìn)行加密,然后進(jìn)行解密。
圖7.使用隨機(jī)電壓源加密/解密音頻文件。
文件語音.wav包含原始音頻。Excel電子表格用于生成具有100 μs變化周期的隨機(jī)數(shù)序列。結(jié)果將復(fù)制到名為 random.txt 的文本文件中。隨機(jī).txt的摘錄如圖 8 所示。
圖8.使用 Excel 生成并保存在文本文件中的隨機(jī)電壓。
該文件用于使用LTspice中的分段線性(PWL)電壓源生成隨機(jī)變化的電壓V(RAND)。
V(RAND)使用行為電壓源B1添加到語音信號中。然后將輸出乘以 V(RAND),并將結(jié)果發(fā)送到加密.wav文件。收聽加密.wav顯示原始音頻幾乎無法感知。
圖9顯示了LTspice繪圖窗口中的原始語音、加密語音和解密語音信號。
圖9.輸出原始、加密和解密的語音信號。
然后使用第二個行為電壓源解密原始音頻信號,并將結(jié)果發(fā)送到文件解密.wav。
從差分電壓源生成 WAV 文件
.wave命令的語法不允許差分電壓的數(shù)字化。但是,使用行為電壓源可以輕松克服這一點,如圖10所示。
圖 10.從差分電壓創(chuàng)建 WAV 文件。
行為電壓源輸出的電壓等于 V(OUT1) – V(OUT2),可以在 .wave 命令中以如下所示的常規(guī)方式使用。
實際上,行為電壓源功能內(nèi)的變量可以包括電路中的任何電壓或電流,并且可以使用LTspice的任何數(shù)學(xué)函數(shù)來操縱這些變量。然后,最終結(jié)果可以以正常方式導(dǎo)出到LTspice音頻WAV文件。
LTspice是一個功能強(qiáng)大的模擬器,但其結(jié)果不必包含在LTspice中。使用.wave命令,LTspice可以導(dǎo)入,操作和導(dǎo)出音頻文件,以便在媒體播放器上播放。
審核編輯:gt
-
計算機(jī)
+關(guān)注
關(guān)注
19文章
7174瀏覽量
87157 -
模擬器
+關(guān)注
關(guān)注
2文章
855瀏覽量
42978 -
LTspice
+關(guān)注
關(guān)注
0文章
112瀏覽量
13263
發(fā)布評論請先 登錄
相關(guān)推薦
評論