国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 提高開發(fā)效率和質(zhì)量?用SPICE仿真音效

提高開發(fā)效率和質(zhì)量?用SPICE仿真音效

作者:EEPW編譯 時間:2014-10-27 來源:電子產(chǎn)品世界 收藏

  我在網(wǎng)上查找原理圖時想到,如果能在出圖前先用通用模擬電路仿真器()進行模擬檢驗,可能會提高開發(fā)效率和質(zhì)量。但由于任何電子模擬器都無法讀取并輸出音頻文件,所以我用模塊編寫程序,實現(xiàn)讀取波形文件并且輸出一段時間--電壓點的序列。的文件源裝置能夠讀取這一大串點序列,并輸出和音頻信號相匹配的電壓波形,之后作為效果電路的輸入。

本文引用地址:http://m.ptau.cn/article/264466.htm

  為了能聽到輸出音頻,還需另外一個程序?qū)⑤敵龈欈D(zhuǎn)換成波形文件,這里我還是借助于這個模塊來實現(xiàn)。

  

過載效果器250

  過載效果器250是最簡單的之一,以吉他效果而廣為人知。原理圖如圖所示。工作原理很簡單,首先需要一個交流耦合電容和偏置電路,因為供電采用單向電壓。

  運算放大器被用作非反相放大器放大微弱的輸入信號。R5電位計控制增益。輸出位置有另外一個交流耦合電容器和兩個削波信號二極管。信號幅值越大,二極管的削波和畸變就越明顯。

  測試音頻信號是一段純凈的吉他聲響,來源于用戶Khoon命名的freesound.org組織,沒有專利許可費用,從根本上說這個屬于公用的。

  首先是經(jīng)過500千歐R5電阻輸出較為緩和的畸變??紤]到運算放大器的放大效應,輸入幅值的選擇尤為重要。這段錄音中輸入幅值為10 毫伏。從波形上我們發(fā)現(xiàn),削波作用相當明顯,因此在播放前需要檢查輸出音量。

  如下圖所示,逐漸減小R5的阻值會提高增益和畸變:

  音頻編輯器顯示的失真的頻譜效應:

原始純凈吉他聲信號頻譜


刺耳畸變信號頻譜


  以上分別是原始純凈吉他聲信號和刺耳畸變信號的頻譜,區(qū)別不是很明顯。一些低頻信號被交流耦合電容器過濾,由于畸變新增了高頻信號。能量增加超出了整個帶寬,但這只是到wav格式聲音文件轉(zhuǎn)換過程中的過渡表象。為了避免削波,這里選擇最大信號增益來獲取最大樣本值,從而改變信號音量。

  實際電路與之相比略有不同,不過這種模擬本身仍然很能說明問題。

  在所需時間上,仿真與實際存在差別。在44100赫茲的采樣頻率下,大約需要5秒來仿真1秒的音頻文件。如需要長時間的仿真并記錄數(shù)據(jù),可以使用聲明記錄下輸出波形。

  模糊效應

模糊電路


  第二部分為模糊電路,除了運算放大器部分被分立晶體管所取代外,其余與之前的失真電路非常相似。

  輸入電壓幅值對這部分電路的輸出影響也很明顯。

  下面是1毫伏輸入幅值下的仿真結(jié)果:

  10毫伏輸入幅值仿真結(jié)果為:

  由于相似的二極管削波結(jié)構(gòu),其仿真結(jié)果與畸變電路相差不大。

  二極管削波器

  二極管削波器的波形比預想的要平滑得多。當然這也取決于信號電壓和二極管參數(shù)。

用一對1N4148進行削波之后的1V 400Hz信號仿真


二極管削波之后的正弦波頻譜


  但即便如此,這個相對平滑的削波信號也包含許多高頻諧波。

  源碼

  源碼參見這里:

  README

  SPICE audio tools

  This repository has two programs for importing wav file to SPICE and

  exporting the output as a wav file.

  1. wavtospice.py

  - This tool converts a wav file with a list of values, which can be read

  using ngspices file source. If wav file has multiple channels only the values

  of the first channel are returned.

  - Usage: python wavtospice.py

  - must have been compiled with xspice support. File source can be used

  like follows:

  a1 %v([in]) filesrc

  .model filesrc filesource (file="values" amploffset=[0] amplscale=[1]

  + timeoffset=0 timescale=1

  + timerelative=false amplstep=false)

  See ngspice manual for possible options.

  2. spicetowav.py

  - This tool converts ngspice output to wav file. Compatibility with other

  simulators is untested.

  - Simulation must be setup to print the output values.

  Run the ngspice in batch mode using the command line flag -b and direct

  output to a file.

  - Usage: python spicetowav.py [clipping voltage].

  Clipping voltage is optional and if it's unspecified wav is written

  with maximum amplitude such that clipping doesn't occur.

  # Example

  Following commands can be used to get output from lowpass filter example file

  when run on Linux:

  $ python wavtospice.py file.wav inputvalues

  $ ngspice -b examples/lowpass.cir > spice_output

  $ python spicetowav.py spice_output output.wav


模擬信號相關(guān)文章:什么是模擬信號




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉