音頻信號發生器

音頻信號發生器

音響技術指標的測量,在音響行業內官方交流當中,是尤為重要的,就自娛自樂而言,技術指標的性能測量,遠比耳朵的解析度要高,對於電路的調整與設計,有著重要的積極指導意義。

簡介


而音頻信號發生器在音響技術指標方面顯得非常重要。音頻信號發生器實際就是一個三極體振蕩電路,有兩種原理,一種是LC振蕩器,一種是RC振蕩器。在負載電阻上面輸出矩形脈衝信號,可以推動一個喇叭發音。

作用


除了極個別的技術參數,如雜訊電壓之外,其它所有的音響技術指標都離不開音頻信號發生器的使用。如輸出功率,總諧波失真(THD),互調失真(IMD),瞬態互調失真(TIM),瞬態響應,輸入靈敏度(民間也叫增益),通道增益差,通道分離度,頻響,信噪比動態範圍......都需要信號發生器的配合。

原理


音頻信號發生器實際就是一個三極體振蕩電路,有兩種原理,一種是LC振蕩器,一種是RC振蕩器。下面以RC振蕩器為例介紹一下。下圖是一個2管互補電路的多諧振蕩器,電路簡單,容易起振,效率高。電路原理:BG1是NPN型小功率高頻管,BG2是PNP小功率低頻管。當電源開關K剛剛接通時,2個三極體尚未導通,電源通過R1,R2,RL對電容C充電,C兩端電壓按照指數規律上升,當這個電壓上升到管子導通的門限電壓時,BG1BG2開始導通。然後出現了正反饋過程:UC上升使IB1,使IC1上升,使UC1下降,使UB2下降,使UC2上升,使UB1上升,又使UC1下降。這個過程立即使BG1BG2飽和。然後電容器C經由R2通過BG1發射結和BG2集電極發射極放電。隨著放電的進行,又發生了下面的正反饋過程:UC下降使IB1下降,使UC1上升,使UB2上升,使UC2下降,使UC1上升,使UB1下降。從而使BG1BG2迅速恢復到原來的截止狀態。如此周而復始,就在負載電阻上面得到了矩形脈衝信號,可以推動一個喇叭發音。調整R1的電阻值可以改變振蕩器的頻率。

DSP發生器


音頻信號發生器的系統主要由8051F330單片機、MMC/SD卡存儲器、RS232串列通信介面上位機、液晶顯示、鍵盤以及信號調理電路等部分組成。將寫入MMC/SD卡中的音頻數據存儲在上位機,單片機通過RS232串列通信介面寫入MMC/SD卡,以中斷方式讀取鍵盤介面命令,並根據命令控制選擇相應的音頻信號數據,再由信號調理電路輸出不同頻率和強度的音頻信號,系統通過液晶顯示模塊顯示信號頻率、信號強度及信號類型。該系統突出的特點是上位機採用LabWindows/CVI軟體,通過RS232串列通信介面與單片機通訊;以文本格式存儲在上位機的音頻信息則通過RS232串列通信介面下載到MMC/SD卡。
系統控制核心選用8051F330單片機,C8051F330微控制器採用獨特的CIP-8051架構,對指令運行實行流水作業,大大提高了指令的運行速度;採用多功能存儲卡-MMC/SD卡作為存儲介質。MMC/SD卡內置控制電路,可應用於手機、數碼相機、MP3等多種數字設備,反覆記錄30萬次,具有較高的性價比;液晶顯示屏採用OCM12864點陣液晶顯示模塊,由單片機時序控制,具有8位數據線、6條控制線和電源線。
根據SPI協議,採用單片機實現與MMC/SD卡的介面,解決了嵌入式系統大容量數據存儲問題,利用上位機可以方便的讀取寫入數據。系統的存儲速度可達20Mb/s,完全滿足信號發生器所需的下載速度和音頻播放速度。所編寫的MMC/SD卡驅動程序已經應用到嵌入式信號發生器系統中,實現了數據的安全、穩定的存儲。相對於MMC/SD卡無論是讀寫速度還是存儲容量都得到了極大提高。在SPI模式下,SD卡與MMC卡相兼容,即就是說SD卡程序也適用於MMC卡。
音頻信號發生器
音頻信號發生器

選購


音頻信號發生器
音頻信號發生器
附註:以耳朵收貨為主者,可作參考之用,也可選擇略過,因為主觀派與技術派的意見分歧遠非這個貼子可以解決。噴了幾十年的口水,目前並未見有啥結果。
進入主題,如果有研究電路設計的愛好,必不可少手頭上備一些相關的測量儀器,用來測量相關電路的關鍵點數據與相關的音響技術指標。本文將與大家共同探討用來測量音響技術指標之一的音頻信號發生器的選購。
一。為什麼要用音頻信號發生器?其它的信號發生器不行么?
答案是,一定要用音頻信號發生器,越專業的越好,其它的信號發生器肯定不如音頻信號發生器。如果你只是用來擔負維修的工作,或者只是有時興趣來了,沒事測波形玩,好比沒事撕報紙玩,打打麻將啥的,當然用一些如函數信號發生器也可;如果打算在音響電路設計方面進行深層次的研究,或者總把事情往好的方面想,建議扔到一邊(不準高空拋物),免得把思路引入歧途。至於原因請繼續往下看。
二。音頻信號發生器的作用
目前在市場上也流傳了不少的音頻信號發生器的軟體,可以裝在電腦上運行的。本人也曾嘗試使用過,個人意見,如果手頭上寬裕,還是配置一台信號發生器為宜,價錢也不貴。軟體信號發生器本屬於非專業用途的,發送的信號質量與音效卡有著很大的關聯,而且業餘條件下也不可能會有其它的儀器設備與之進地比對,校準。也就比較難保證發送的信號是否能滿足要求。
三。對信號發生器的要求
如果是手頭上的錢多得過分,多到令人髮指的程度,直接抱台高檔的音頻信號發生器回去,一招搞定,無後顧之憂,此節略過。如果想以有效的資金開展無限的音響事業,請完整地看完此段內容:
1.信號輸出幅度要求信號發生器最低只需超過2V(RMS)電壓,在測量音頻功放2V高輸入過載能力時要用到,一般的音頻信號發生器的峰值(P-P)值可以去到7V左右,此項就不詳述了。
2.信號波形要求一般對於電子愛好者,這項最容易迷糊,有三角波方波正弦波,階次波......是不是越多越好?答案是非也,在音頻功放測量上,真正用到的只有方波與正弦波。所以,目前音頻專用的信號發生器也只能輸出這兩種波形,都可以滿足使用。所以,此項也不再詳述。
3.信號輸出失真度這項參數是關鍵,需要長篇大論。
1).測量功率輸出對於失真度的要求此項參數將直接與音質效果相對應,也是大家最關心,最有興趣的部分,就算是測量輸出功率的大小,也與失真有關係。通常看到有些個別功放廠家說明書上就直接標註50W或是多少,這是種很不負責及很不專業的做法(有時有種想問候他全家女性的衝動)。當然,大多數廠家還是好的,尤其是大品牌的音響廠家,正確標註如TDH=1%10W,以供消費者參考。為什麼之前罵臟口了?有些氣不過。打過比方說,都標註10W的功率,但THD=0.1%與THD=10%的條件是不一樣的,如果標註為THD=0.1%能夠輸出10W,那麼THD=10%時,對於同一台石機來講,起碼可以去到15W以上,甚至於20W。人家老實標註為THD=0.1%10W的廠家不是吃了啞巴虧了么?言歸正傳,那麼對於功率這項參數的測試,信號發生器的失真起碼得小於0.1%才可能發揮作用。可見,不標註失真率(THD)值的功率是沒有意義的。
2).測量失真度對於某台音頻功放的最小失真度,根據國際電工聯盟IEC科學論證后(一般牛人論證帶有權威性,何況是全世界一大堆頂尖級牛人的論證,可以不必擔心其科學與合理性),規定在1W的輸出功率條件下進行,此時用失真儀測得的失真讀數就是音頻功放的失真度。需要指出的是,膽機對於信號發生器的要求會低於石機,膽機通常的失真率在0.1-3%左右,所以失真率只要低於0.1%的信號發生器即可滿足測量要求。而石機的失真率通常都比較低,至少會去到0.1%以下,如LM3886在30W時,失真也僅0.03%,LM3886在1W輸出時的失真率更小。如果玩石機,想測測LM3886之類的功放,信號發生器的失真率起碼要求在0.02%以下。測試高保真功放,對於信號發生器的要求會更高。
附註:一般函數信號發生器的失真標註值通常都是1%,甚至於2%,請謹慎選購!
4.諧波測量此項測試對於信號發生器的要求更高,需要頻譜儀配合使用,就不詳述了。
5信號平坦度與穩定度一般測試用途,可以不用關注,平坦度的誤差基本上都在0.2dB左右,就算再大點,也可以滿足頻響-1dB的要求;穩定度么,起碼也可以做到+(3%+1Hz),所以此項也不必要特別關注。在所有的測試當中,不會因這這兩項參數延誤到測量工作。
四.市場上多數型號的信號發生器選購
綜上所述,相信大家也知道,信號發生器性能優劣主要是體現在失真這項指標上,而失真越低的信號發生器,價錢越貴,可以說是直線上升,而且大部分被譽為神器級別超低失真型號,其二手信號發生器是有價無市,基本上絕種了。目前市場上全新品,失真小於0.1%,大約要100多人民幣,相對來說,二手的價錢比較有性價比,如健伍,利達,黑目,松下等等,其製造工藝,儀器實際儀能,都比國內小品牌的信號發生器,要好用得多,總體說來,比較超值。以下附上常見二手型號信號發生器的失真參數,供大家參考:
LEADER(利達)AG-120B500HZ-20KHZ小於0.05%
LEADER(利達)AG-12620HZ-20KHZ小於0.005%
KENWOOD(健伍)AG-203500Hz-20kHz0.02%或以下
KENWOOD(健伍)AG-253200HZ-20KHZ小於O.OO8%

信號數字化


綜述

普通的CD採用了數字技術,不過它只是簡單地把模擬信號加以數字化。為了把模擬信號數字化,首先要對模擬信號進行採樣。根據Nyquest採樣定律,通常其採樣頻率至少是信號中的最高頻率分量的兩倍。對於高質量的音頻信號,其頻率範圍是從20Hz-20kHz。所以其採樣頻率必須在40kHz以上。在CD中採用了44.1kHz的採樣頻率。在對模擬信號採樣以後,還必須對其幅度上加以分層。在CD中,其分層以後的幅度信號用16比特的二進位信號來表示,也就是把模擬的音頻信號在幅度上分為65,536層。這樣,它的動態範圍就可以達到96分貝=20Log65536(6分貝/比特)。這種直接模數(A/D)變換的方法也稱為PCM編碼。直接數字化的最大缺點是比特率非常高。達到44.1x16=705.6kbps,或即88.2kBbps。比特率高就意味著要求的存儲容量很大。要記錄1分鐘的音樂,就需要5.292MB的存儲容量。對於兩路立體聲,就需要10.584MB。而要記錄幾十分鐘的音樂就需要幾百兆的存儲容量。

PCM編碼原理

把模擬信號轉換成數字信號的過程稱為模/數轉換,它主要包括:
採樣:在時間軸上對信號數字化;
量化:在幅度軸上對信號數字化;
編碼:按一定格式記錄採樣和量化后的數字數據。
脈衝編碼調製PCM(Pulse Code Modulation)是一種模數轉換的最基本編碼方法,CD-DA就是採用的這種編碼方式。

採樣頻率

採樣頻率是指一秒鐘內採樣的次數。奈奎斯特Harry Nyquist

採樣理論

如果對某一模擬信號進行採樣,則採樣后可還原的最高信號頻率只有採樣頻率的一半,或者說只要採樣頻率高於輸入信號最高頻率的兩倍,就能從採樣信號系列重構原始信號。
根據該採樣理論,CD激光唱盤採樣頻率為44KHz,可記錄的最高音頻為22KHz,這樣的音質與原始聲音相差無幾,也就是我們常說的超級高保真音質(Super High Fidelity-HiFi)。

採樣標準頻率

採樣的三個標準頻率分別為:44.1KHz,22.05KHz和11.025KHz。

量化位數

量化位是對模擬音頻信號的幅度軸進行數字化,它決定了模擬信號數字化以後的動態範圍。由於計算機按位元組運算,一般的量化位數為8位和16位。量化位越高,信號的動態範圍越大,數字化后的音頻信號就越可能接近原始信號,但所需要的存貯空間也越大。
量化位等份動態範圍(dB)應用 8 256 48-50數字電話 16 65536 96-100CD-DA 聲道數 有單聲道和雙聲道之分。雙聲道又稱為立體聲,在硬體中要佔兩條線路,音質、音色好,但立體聲數字化后所佔空間比單聲道多一倍。

編碼演演算法

編碼的作用一是採用一定的格式來記錄數字數據,二是採用一定的演演算法來壓縮數字數據。

壓縮比

壓縮編碼的基本指標之一就是壓縮比:壓縮比通常小於1。壓縮演演算法包括有損壓縮和無損壓縮;有損壓縮指解壓后數據不能完全復原,要丟失一部分信息。壓縮比越小,丟掉的信息越多、信號還原后失真越大。根據不同的應用,可以選用不同的壓縮編碼演演算法,如PCM,ADPC,MP3,RA等等。

數據率及文件格式

數據率為每秒bit數,它與信息在計算機中的實時傳輸有直接關係,而其總數據量又與計算機的存儲空間有直接關係。因此,數據率是計算機處理時要掌握的基本技術參數,未經壓縮的數字音頻數據率可按下式計算:
數據率=採樣頻率(Hz)×量化位數(bit)×聲道數(bit/s)
用數字音頻產生的數據一般以WAVE的文件格式存貯,以“.WAV”作為文件擴展名。WAV文件由三部分組成:文件頭,標明是WAVE文件、文件結構和數據的總位元組;數字化參數如採樣率、聲道數、編碼演演算法等等;最後是實際波形數據。WAVE格式是一種Windows下通用的數字音頻標準,用Windows自帶的媒體播放器可以播放WAV文件。MP3的應用雖然很看好,但目前還需專門的播放軟體,其中較成熟的為RealPlayer
為了存儲數字化了的音樂,就只能盡量開發高容量的存儲系統。在70年代末,終於開發出了利用激光讀寫的光碟存儲系統。因為這種光碟比起密紋唱片,無論在體積和重量上都要小得多,輕得多,所以稱它為CD(CompactDisk)。意思為輕便的碟片。而一張CD的容量大約為650MB,也就只能存儲61.4分鐘音樂。
純粹音樂CD通常也稱為CD-DA。DA就是數字音頻(Digital Audio)的縮寫。它的技術指標是由一本所謂的“紅皮書”所定義。這本紅皮書是菲立普公司和索尼公司在1980年公布的。以後,在1987年,又由國際電工委員會(IEC)制定為IEC908標準。根據這些標準可以比較精確地計算一張CD所能存儲的音樂時間。實際上在CD碟片中是以扇區為單位的,每個扇區中所包含的位元組數為2352個位元組。總共有345k個扇區。因此總的位元組數為345kx2352=811440kB。可以存放76.92分鐘的立體聲音樂。還有一種方法來計算播放的時間,CD在播放時,其播放的速度為每秒鐘75個扇區。一張CD有345k個扇區,因而可以播放的時間為345k/75=4600秒=76分40秒。兩種方法計算的結果是一樣的。

數字信號的壓縮

因為音頻信號數字化以後需要很大的存儲容量來存放,所以很早就有人開始研究音頻信號的壓縮問題。音頻信號的壓縮不同於計算機中二進位信號的壓縮,在計算機中,二進位信號的壓縮必須是無損的,也就是說,信號經過壓縮和解壓縮以後,必須和原來的信號完全一樣,不能有一個比特的錯誤。這種壓縮稱為無損壓縮。但是音頻信號的壓縮就不一樣,它的壓縮可以是有損的只要壓縮以後的聲音和原來的聲音聽上去和原來的聲音一樣就可以了。因為人的耳朵對某些失真並不靈敏,所以,壓縮時的潛力就比較大,也就是壓縮的比例可以很大。音頻信號在採用各種標準的無損壓縮時,其壓縮比頂多可以達到1.4倍。但在採用有損壓縮時其壓縮比就可以很高。下面是幾種標準的壓縮方法的性能。按質量由高往低排列。
需要注意的是,其中的Mbyte不是正好1兆比特,而是1024x1024=1048576Byte。必須指出,這些壓縮都是以犧牲音質作為代價的,尤其是最後兩種方法,完全靠降低採樣率和降低解析度來取得的。這對音質的損失太大,所以這些方法並不可取。

AGC演演算法


使放大電路的增益隨信號強度的變化而自動調整的控制方法,就是AGC-自動增益控制。實現AGC可以是硬體電路,即AGC閉環電子電路,也可以是軟體演演算法。本文主要討論用軟體演演算法來實現音頻信號的AGC。
音頻AGC是音頻自動增益控制演演算法,更為準確的說是峰值自動增益控制演演算法,是一種根據輸入音頻信號水平自動動態地調整增益的機制。當音量(無論是捕捉到的音量還是再現的音量)超過某一門限值,信號就會被限幅。限幅指的是音頻設備的輸出不再隨著輸入而變化,輸出實質上變成了最大音量位置上的一條水平線;當檢測到音頻增益達到了某一門限時,它會自動減小增益來避免限幅的發生。另一方面,如果捕捉到的音量太低時,系統將自動提高增益。當然,增益的調整不會使音量超過用戶在調節嚮導中設置的值。
AGC演演算法的實現過程:首先從串口獲取音頻數據,它是16位的整型數,一般來說,這些數都是比較小的,通過AGC演演算法將輸入的音頻數據投影在一個固定區間內,從而使得不論輸入的數據點數值大小都會等比例地向這個空間映射。一方面將獲得的音頻數據最大值與原來的峰值進行比較,如果有新的峰值出現就計算新的增益係數;另一方面在一定的時間周期內獲取一個新的峰值,這個峰值就具有檢測性能,又與原峰值比較,然後就計算新的增益係數。這個增益係數是相對穩定的。當音量加大時,信號峰值會自動增加,從而增益係數自動下降;當音量減小時,新的峰值會減小並且取代原來的峰值,從而使峰值下降,使增益係數上升。最後輸出的數據乘以新增益係數后映射到音頻信號輸入的投影區間內。AGC_Coff是初始增益係數,初始值為1;maxAGC_in是增益峰值,初始值為0;time是採樣點計數,門限值為4096;AGC_in是新的音頻數據,MAXArrIn是新的音頻增益峰值;映射區間【-20000,20000】。
整個系統的軟體部分為5人模塊。系統主函數main()、CMD文件、中斷向量表、DSP5402頭文件和專為C語言開發的庫函數rtdx.lib。其中主函數部分是核心,主要包括:DSP器件初始化、MCBSP1初始化、MCBSP0初始化、AIC23初始化(內部12個可編程寄存器設置)及演演算法程序等。
在CCS2.0集成開發環境下,採用*.c語言和*.asm語言相結合的方式編寫程序。將編寫的程序*.c、*.asm和鏈接程序*.cmd文件編譯鏈接後生成執行目標文件*.out,通過模擬器將執行目標文件*.out下載到系統板上,經過調試、編譯並運行,以音樂作為音頻信號源輸入到系統板上。