01信號壓縮
一、為什么進行信號壓縮?
對聲音信號進行壓縮,并不是對信號整體進行衰減,?而只是對于其中幅度超過某些閾值的部分進行衰減。?這樣就可以防止由人耳朵的“遮蔽”效應,使得小的音樂信號無法聽清。
▲ 圖1.1.1 信號沒有被壓縮之前的波形
經過壓縮之后,音樂中各種樂器動態范圍比較接近,聽起來音樂的層次更加豐富。?
▲ 圖1.1.2 信號被壓縮后的波形
二、信號壓縮參數
下圖所示信號壓縮四個主要參數。?上面是輸入待壓縮音頻信號。?下面是壓縮后輸出音頻信號。?虛線表示信號壓縮的閾值,所有超過這個閾值的信號?在輸出中它們都被進行了壓縮。不過它們幅值仍然超過了閾值。?為什么呢?是因為規定了壓縮的比率 。即對超過閾值信號進行多大比率的壓縮。?通過修改這個比率,可以改變信號超出閾值后所剩余的幅值。?調整比率滑塊上下移動,可以看到輸出信號最大幅度的變化。當比率趨于無窮大時,輸出信號就被閾值嚴格限制。如果比率趨于1比1,則信號實際上沒有被壓縮。
▲ 圖1.2.1 信號壓縮的參數
信號壓縮的第二個參數是啟動時間參數,它表示在信號幅度超過閾值之后多長時間開始對信號進行壓縮。?啟動時間越小,信號被壓縮越快速。?啟動時間越大,信號被壓縮越慢。在啟動時間內的信號保留原來的幅度。
最后一個壓縮參數是釋放時間參數。它的含義恰好與啟動時間相反。表明信號回落到閾值以下之后多長時間停止信號壓縮。?當釋放時間很小時,信號幅度降低到閾值以下之后,就立即停止了壓縮。?當釋放時間增加時,信號回落閾值以下之后,幅度仍然被按相同比率壓縮。?這就是信號壓縮的四個參數,分別是壓縮閾值、壓縮比率、啟動時間、釋放時間。
三、信號壓縮硬件電路
1、系統框圖
下面討論一下使用硬件電路實現信號壓縮的方法。?首先需要一個能夠控制輸入信號幅度的電路,它根據輸入的控制電壓改變輸出信號的幅度。?第二部分電路用于檢測輸出信號的幅度。由于信號是一個快速變化信號,不能夠直接使用信號的瞬態幅值代表信號的變化范圍。?電路第三部分是對比輸出信號幅值與給定閾值電壓,給出信號超出閾值的大小。?最后將幅度比較輸出信號連接到第一個電路控制信號輸入端口,用于控制輸出信號的幅度。?這就形成了一個反饋控制電路系統。
▲ 圖1.3.1 信號壓縮硬件電路
通過這種反饋硬件電路,?完成對輸入信號進行幅值壓縮。?下面從音量控制電路開始分別介紹這三個硬件電路實現方案。
2、音量控制電路
實現音量控制電路的一種方法為VCA控制電路, 即電壓控制放大倍數電路。?這里給出了利用二極管實現的VCA的電路。?電路核心功能是由這六個串聯的二極管 以及輸入100k歐姆電阻完成的。?根據電路設計,施加在串聯二極管上下兩端的電壓極性相反,幅度相等。?輸入信號通過100k電阻輸入到二極管中間, 如果它的幅值沒有超過二極管上下兩端控制的導通電壓, 輸出信號與輸入信號相等。?如果二極管上下偏置電壓使得二極管導通,那么它的中間節點的電壓就維持在0V附近, 輸出信號的幅值就變為0V。?這是因為通過100k歐姆信號電流非常微弱,遠小于流過二極管的電流。所以輸出信號就由二極管中點電壓決定。因此越多的電流流過二極管,輸出信號的幅度就越小。
▲ 圖1.4.1 音量控制電路
電路中由四個運放組成的外圍電路是來支持二極管電路功能的。?首先輸入信號經過電阻分壓,幅度降低到串聯二極管導通電壓范圍之內。經過運放跟隨接到串聯二極管中點。?電壓跟隨可以將分壓電路與后級電路隔離。?最上面運放是將控制電壓信號進行跟隨,避免電路對前一級電路影響。下面運放是反相電路,產生二極管下面對稱偏置電壓信號。?上面運放輸出的1k歐姆電阻是限制流過二極管電流。?最右邊運放是對二極管中點信號進行放大,補償前面分壓電阻對信號的衰減, 使得信號的輸出幅值與輸入相同。?這里設計信號衰減和放大的倍數為8,可以使得中間信號幅度不要過低,否則會降低電路的信噪比。?中間選擇六個二極管串聯,也是保證信號不失真的動態范圍, 避免過小受到噪聲影響。?通過控制CV輸入電壓,可以控制輸出信號的幅度。
下面通過在面包板上搭建的電路測試一下VCA的功能。?改變控制電壓,從0V增加到3V,可以看到輸出信號的幅值逐步降低到0。
▲ 圖1.4.2 VCA電路的測試效果
3、信號幅度檢測電路
下面討論一下信號幅度檢測電路。它輸出反映信號外包絡線的幅值信號。?對于一個聲音信號, 似乎它的上下幅度比較容易確定。?信號中心為0V,信號在0V上下波動。?如果確定任意時刻的幅度, 似乎只要將信號最大值求出即可。?但是如何將信號沿是時間軸拉寬,可以看到信號出現上下劇烈的波動。?因此為了需要獲得信號的峰值,需要使用二極管峰值檢波電路。?二極管峰值檢波電路原理很簡單,當輸入信號超過二極管導通電壓時, 輸出信號便會給濾波電容充電,直到與輸入信號峰值相同。?當輸入信號降低, 二極管截止。電容上的電壓便會通過電阻放電,進而輸出電壓也降低了。?二極管峰值檢波電路輸出信號就會隨著輸入信號的幅度變化而變化。
▲ 圖1.5.1 峰值檢波電路
檢波電路中電阻和電容的乘積,是電路的時間常數。經過實驗測試,時間常數選擇100ms比較符合音樂信號幅度檢測。這里給出了電路中的RC取值。?通過面包板上搭建電路進行測試。示波器上黃色信號為輸入信號, 藍色信號是輸入信號幅值信號。?可以看出電路的輸出信號與期望值還是有很大的差異。?對于小的信號,電路輸出為0。這主要是受到二極管導通電壓的影響。?對于二極管檢波電路來說,輸入電壓小于0.3V時,它的輸出為0。?使用運放與二極管組成一個理想檢波電路,便可以解決這個問題。
▲ 圖1.5.2 普通二極管檢波電路輸出信號
這里展示了利用理想二極管檢波電路給出的結果??梢钥吹叫⌒盘枌姆捣浅2诲e了。?對于幅度檢波電路先介紹到這里。
4、閾值比較電路
閾值比較電路是判斷輸入信號的幅度是否高于給定的閾值電壓, 并給出高出電壓的大小。?這個功能可以通過一個簡單的減法電路來實現。比如輸入5V信號,設定閾值為4V, 那么它的輸出信號就應該為1V。?輸出正電壓,表示信號幅度超過閾值電壓。輸出負電壓則表示信號幅度小于閾值。它的絕對值則表示兩者之差。
▲ 圖1.6.1 閾值比較電路
這是一個標準的減法運放電路。?通過一個電位器設定壓縮閾值電壓。?通過上面串聯20k電路,可以限定閾值電壓最高為6V。
▲ 圖1.6.2 閾值電壓檢測電路
這是在面包板上搭建電路的測試信號, 其中藍色波形就是閾值比較電路輸出信號。?它的幅值大于0, 表示信號幅度超過了設定電壓閾值。?小于0, 表示信號幅度小于設定的閾值電壓。
▲ 圖1.6.3 面包板測試電路輸出信號
5、完整電路
下面將三個電路按照電路框圖連接起來,就形成了最終的電路。?這里給出了信號壓縮電路的完整電路圖。
▲ 圖1.3.9 完整的信號壓縮電路圖
如果輸入信號的幅度不超過閾值電壓,那么串聯二極管基本上就截止, 輸出信號幅度基本上沒有改變。?這是整個電路測試結果。藍色信號為輸入閾值電壓。隨著它降低,輸出信號的幅值也降低。?可以看到信號的輸出峰值和閾值之間存在一個恒定的差值。?這個恒定的差值還是來自于二極管導通電壓的影響。只有當輸入電壓和閾值電壓的差值超過了二極管的導通電壓,輸出電壓才能夠最終穩定在 一個固定的值。
▲ 圖1.3.10 電路測試結果
為了解決這個問題,可以借鑒峰值檢波電路中理想檢波器的方案。?在控制電壓跟隨器電路中,將三個相同的二極管串聯施加在反饋電路中。?這樣就可以在輸入電壓剛剛超過0V時,輸出電壓就可以讓三個二極管導通了,從而克服了二極管導通電壓所帶來的影響。?使用三個而不是六個二極管,是因為下面的運放反相放大器還提供了相同負電壓施加在串聯二極管下端。
▲ 圖1.3.11 音量控制電路的改進
為了避免輸入電壓小于零時造成跟隨放大器輸出飽和負電壓,?對三個二極管反向并聯一個二極管,可以使得控制電壓不小于-0.7V。?測試改進后的電路,可以看到輸出信號峰值與設定閾值電壓基本上相同了。
▲ 圖1.3.12 電路改進后的輸出信號
四、壓縮參數
通過在CV信號前增加一個電壓衰減電路,可以控制壓縮比率。?電路中通過一個電位器來對CV信號進行衰減。?實際測試可以看到,當電位器調整之后,可以改變信號超過閾值的比例大小。當電位器調整到0,實際上電路就不在進行壓縮了。
▲ 圖1.4.1 電路中增加壓縮比率電位器
通過對峰值檢波電路中電阻阻值的改變,可以調整壓縮電路釋放時間參數。?通過實際測試可以看到檢波電路的時間常數對于信號幅度檢波衰減速度的影響,從而影響到整個壓縮電路釋放時間參數。?在檢波電路中增加一個串聯電阻,可以改變啟動時間參數。?將增加的電阻放在運放反饋回路中,可以使得啟動時間更加精確。?啟動時間與設定電位器 呈現線性關系。?通過實際電路測試,驗證了電路的功能。
▲ 圖1.4.2 改變啟動時間和釋放時間電路
這里給出了整個音頻壓縮硬件電路原理圖。?搭建實際電路測試可以驗證它可以對多種輸入信號工作良好。?增加一個開關,可以根據實際音樂特性確定是否進行信號壓縮。
▲ 圖1.4.3 音頻信號壓縮電路
總??結
本文討論了對于音頻信號進行壓縮硬件實現的方案。?設計并優化了電路設計。?通過實際測試驗證了電路的有效性。
-
二極管
+關注
關注
147文章
9653瀏覽量
166650 -
信號
+關注
關注
11文章
2791瀏覽量
76823 -
壓縮
+關注
關注
2文章
102瀏覽量
19386 -
音頻信號
+關注
關注
9文章
258瀏覽量
33505 -
硬件電路
+關注
關注
39文章
243瀏覽量
29241
原文標題:音頻信號壓縮電路
文章出處:【微信號:CloudBrain-TT,微信公眾號:云腦智庫】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論