【導讀】有了上一節的基礎,這一節我們來看看D類音頻功放的LC濾波器如何設計,思路是怎么樣的,可以看作是一個案例。考慮到有些同學沒接觸過D類音頻功放,我會先簡單介紹下D類功放的工作原理,然后D類功放為什么要用LC濾波器,再到LC濾波器設計具體過程。
LC串聯諧振的意義
有了上一節的基礎,這一節我們來看看D類音頻功放的LC濾波器如何設計,思路是怎么樣的,可以看作是一個案例。
考慮到有些同學沒接觸過D類音頻功放,我會先簡單介紹下D類功放的工作原理,然后D類功放為什么要用LC濾波器,再到LC濾波器設計具體過程。
TI公司也有介紹D類放大器LC濾波器的設計文檔,文末會分享出來。我寫的與TI的區別,TI的主要介紹具體如何設計,我主要想說明思路過程,并指出里面的一些細節,為什么是這樣。我希望的是,有了思路,即使沒有任何文檔,遇到類似的問題,也能自己去分析。
D類功放工作原理
D類功放相對于A,B,C類來說更不好理解,因為它是需要調制的,看起來就是占空比不同的PWM波,波形看著與我們的音頻模擬波形一點都不像。
下面來看一看它的原理。
簡單理解就是:音頻信號與三角波高頻載波經過比較器進行比較,得到占空比不同的PWM波,然后將得到PWM信號通過MOS管對管,經過濾波器輸入到喇叭。調制后得到的PWM里面含有音頻分量,然后通過LC濾波器濾掉高頻載波還原成原始信號。
原理確實非常簡單,但是我們可能會有如下問題,僅僅理解以上內容還是遠遠不夠的。
為什么有的電路喇叭兩端用示波器量就是PWM波,但是卻能正常發出聲音?
LC濾波器該如何設計,L,C如何取值?
有的D類放大器要LC濾波,有的用磁珠就可以了,為什么?
還有的廠家的宣稱它們的放大器不需要濾波,用了什么技術?
下面來看看這些問題是怎么分析的。
典型的D類放大器電路
D類放大器,我們常用的方式是差分的方式,即兩個MOS對管中間接喇叭。下面就只分析這種差分方式,單端的分析方法也差不多。
首先,D類放大器是一個大類,主要區別在于有不同的調制方式,下面先介紹兩種,AD類,和BD類。
AD類是經過三角波調制后再反相,用了一個比較器。BD類是先將音頻信號反相,再將原信號和反相后的信號分別通過調制,用了兩個比較器,從圖中看不出來差別,下面來看看波形的區別。
紅色的為音頻信號,三角波是調制信號,我們可以很容易的得到濾波之前的差分輸出信號。從波形上看到,AD與BD的差分輸出有著明顯的區別,但是二者的電平都是高低變化,我們沒法從上面直接得到有用的信息,比如看不出來哪種效率更高,哪種輻射會小一些等等。
這時候,我之前的文章“信號在腦子里面應該是什么樣的”就要派上用場了,我們需要把輸出信號進行傅里葉變換,得到它們的頻譜,有了頻譜,就很容易看出差別。為此,我借助了Matlab軟件,分別畫出它們的頻譜。
注:為了減小Matlab軟件的計算量(計算量大了電腦會卡),我設定的音頻信號為1Hz,調制三角波為20Hz,雖然實際音頻信號頻率肯定是比1Hz要高的,但是分析結果應是一樣的。
下圖是用幅度為1,頻率為20Hz的三角波,來調制幅度為0.9,頻率為 1Hz的正弦波。
從上圖看出,調制之后的有用信號1Hz被保留,幅度都是0.9,兩種方式都是一樣的,這說明都能達到目的,包含了完整的音頻信號。
AD調制方式,除了有用信號1Hz在,還有調制三角波頻率20Hz的幅度也很大。而BD調制方式,20Hz頻率消失了,只存在更高的諧波。從這個角度說, BD的方式是要更好的,損耗降低了。
在音頻輸入為0的時候,也就是說放大器空閑,更能看出AD與BD的區別,如下圖:
在輸入為0的時候,AD方式的差分輸出為方波,而BD方式輸出為0,毫無疑問,BD方式功耗更低。
事實上,我們拿到了頻譜,就能知道很多事情了。
首先,這些開關信號實在看起來不像是模擬音頻信號,但是其確實包含了完整的音頻頻率信號在其中,所以直接通到喇叭也是可以正常響的,雖然額外多了高頻載波,但是頻率太高,超過人耳范圍,高頻分量是聽不見的。
其次,這些開關信號除了包含有用信號,還有豐富的高頻頻率,這些高頻頻率從調制頻率開始往上。這些高頻分量通到喇叭是沒有什么好處的,反而會額外帶來功率損耗,還有會造成EMI的問題。所以,我們需要一個濾波器來濾掉高頻分量。并且,因為驅動喇叭需要的功率較大,而RC濾波器會有額外損耗,所以,LC低通濾波器就自然而然被選中了。
最后,我們知道頻譜里面的高頻的頻譜分布,那么濾波器的截止頻率自然就出來了。截止頻率必須高于音頻頻率上限20Khz,而要小于三角波的調制頻率,在這個范圍內,截止頻率越低,去除高頻分量越好。
下面分享下上面波形的Matlab源碼,有興趣的同學可以去試試。
f_audio=1; %被調制信號(音頻信號)頻率為1Hz
f_sanjiao=20; %三角波調制頻率為20Hz
%%%%%%%%%%%%%%%%%%%%%%%% fft采樣設置
Fs=10000; %采樣率為Fs
L=(Fs/f_audio)*100;
%信號長度(采樣總點數):100個周期的信號,長度越長,fft精度越高,但是執行時間越長
T=1/Fs; %采樣周期
t=(0:L)*T; %時間長度
A_audio = 0.9; %音頻信號的幅度為 0.9----可以修改為不同的值嘗試
S1=A_audio*sin(2*pi*f_audio*t); %被調制信號(音頻信號)為幅度A_audio的正弦波
S2=sawtooth(2*pi*f_sanjiao*t,0.5); %調制信號(三角波)為幅度為1的三角波
N=length(t);
PWM1=zeros(1,N); %定義PWM1的長度 AD調制后差分波形
PWM2=zeros(1,N); %定義PWM2的長度 BD調制后差分波形
tmp=zeros(1,N); %定義tmp的長度 計算用(中間變量)
for i=1:N
if S1(i)>S2(i)
PWM1(i) = 1;
tmp(i) = 1;
else
PWM1(i) = -1;
tmp(i) = 0;
end
end
for i=1:N
if -S1(i)>S2(i)
PWM2(i) = tmp(i)-1;
else
PWM2(i) = tmp(i);
end
end
%%%%%%%%%%%%%%%%%%%%%%%% AD調制
subplot(3,2,1);
plot(t,S1,t,S2,'k');
set(gca,'XLim',[0 2/f_audio]);%x軸的數據顯示基頻2個周期
set(gca,'YLim',[-1.1 1.1]);
title('AD調制');
xlabel('t (s)');
ylabel('幅度');
subplot(3,2,3);
plot(t,PWM1);
set(gca,'XLim',[0 2/f_audio]);%x軸的數據顯示范圍
set(gca,'YLim',[-1.1 1.1]);
title('AD方式調制之后的-差分-信號');
xlabel('t (s)');
ylabel('幅度');
X1=abs(fft(PWM1));
subplot(3,2,5);
semilogx(Fs*(0:(L/2))/L,X1(1:L/2+1)*2/L);
set(gca,'XLim',[0.1 10000]);%x軸的數據顯示范圍
set(gca, 'XTickLabel' ,{'0.1','1','10','100','10K','100K'}); %x軸頻率數據
title('AD方式調制之后的-差分-頻譜');
set(gca,'YLim',[-0.1 1.5]);
xlabel('f (Hz)');
ylabel('幅度');
%%%%%%%%%%%%%%%%% BD調制差分信號
subplot(3,2,2);
plot(t,S1,t,-S1,'--r',t,S2,'k');
set(gca,'XLim',[0 2/f_audio]);%x軸的數據顯示基頻2個周期
set(gca,'YLim',[-1.1 1.1]);
title('BD調制');
xlabel('t (s)');
ylabel('幅度');
subplot(3,2,4);
plot(t,PWM2);
set(gca,'XLim',[0 2/f_audio]);
%x軸的數據顯示范圍set(gca,'YLim',[-1.1 1.1]);
title('BD方式調制之后的-差分-信號');
xlabel('t (s)');
ylabel('幅度');
X2=abs(fft(PWM2));
subplot(3,2,6);
semilogx(Fs*(0:(L/2))/L,X2(1:L/2+1)*2/L);
set(gca,'XLim',[0.1 10000]); %x軸的數據顯示范圍
title('BD方式調制之后的-差分-頻譜');
set(gca, 'XTickLabel' ,{'0.1','1','10','100','10K','100K'}); %x軸頻率數據
set(gca,'YLim',[-0.1 1.5]);
xlabel('f (Hz)');
ylabel('幅度');
小結
這一節我們看了Class D的輸出信號波形,并分析了其頻譜,我們要學會看頻譜。本節就先寫到這里吧,下一節會具體看看LC濾波器的設計過程。
來源:硬件工程師煉成之路
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: