王楚楚,林權(quán),沈鎬哲,金浥,金寶根,盧新祥
(紹興文理學(xué)院數(shù)理信息學(xué)院,浙江紹興,312000)
關(guān)鍵字:非線性失真;STM32F407;FFT;THD;晶體管放大器
放大器處在理想工作狀態(tài)時(shí),其輸入信號(hào)應(yīng)與輸出信號(hào)波形一致。而在實(shí)際電路工作時(shí),放大器的輸入信號(hào)與輸出信號(hào)的波形總會(huì)存在一定的差別,這種現(xiàn)象叫失真。造成非線性失真的原因主要有兩個(gè):(1)晶體管等特性的非線性;(2)各部分電路靜態(tài)工作點(diǎn)不同,導(dǎo)致模塊的工作電平超出了其內(nèi)部晶體管的線性工作范圍。本次設(shè)計(jì)通過(guò)改變偏置電路來(lái)改變靜態(tài)工作點(diǎn),從而實(shí)現(xiàn)四種失真現(xiàn)象。
此設(shè)計(jì)的系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框圖
本設(shè)計(jì)將交流220V經(jīng)過(guò)變壓、整流與穩(wěn)壓濾波后產(chǎn)生12V、-12V、5V、-5V電壓,以此作為電源模塊。輸入端輸入正弦波信號(hào)后,通過(guò)按鍵控制通道選擇輸出原始信號(hào)還是放大電路模塊的輸出信號(hào),并將波形在示波器上顯示。其中,放大電路模塊使用4051模擬開(kāi)關(guān),實(shí)現(xiàn)對(duì)頂部失真、雙向失真、底部失真、正常放大、交越失真等5類(lèi)放大電路通道的自動(dòng)輪詢(xún)或人工切換,同時(shí)對(duì)所選通道的放大電路輸出信號(hào)進(jìn)行AD采集,通過(guò)STM32F4核心板處理采集的AD信號(hào)并進(jìn)行FFT運(yùn)算,最后求得輸出信號(hào)的THD值并顯示在TFTLCD液晶屏上。
本裝置由STM32F407核心控制板、晶體管及偏置電路組成,通過(guò)改變五個(gè)通道的放大器偏置電路調(diào)節(jié)靜態(tài)工作點(diǎn),實(shí)現(xiàn)“無(wú)明顯失真”、“頂部失真”、“底部失真”、“雙向失真”、“交越失真”五種波形。
STM32F407單片機(jī)基于高性能32位RISC內(nèi)核,擁有168MHz主頻、1MFLASH、64KRAM、18路12位ADC等外設(shè),尤其適用于浮點(diǎn)運(yùn)算及DSP處理的應(yīng)用。此外,STM32F4具有更快的模數(shù)轉(zhuǎn)換速度。
由信號(hào)發(fā)生器輸出的20mV、1kHz正弦信號(hào)作為整個(gè)電路的輸入信號(hào),通過(guò)單刀雙擲開(kāi)關(guān)選擇輸出測(cè)試電路。測(cè)試電路一,輸入正弦信號(hào)直接經(jīng)MCP6002放大電路得到輸出電壓,測(cè)試MCP6002放大電路效果。測(cè)試電路二,輸入正弦信號(hào)經(jīng)4051選擇晶體管放大電路,再由4051輸出波形,用示波器可以觀察測(cè)得。測(cè)試電路三,單片機(jī)通過(guò)AD采集MCP6002輸出信號(hào),經(jīng)FFT計(jì)算得各次諧波分量。
放大電路選擇了基極分壓式共射極放大電路,該電路的直流靜態(tài)工作點(diǎn)和負(fù)反饋易于計(jì)算,能夠僅調(diào)整各個(gè)元器件參數(shù)獲得各個(gè)失真波形。電路中的三極管選擇2N3904型NPN三極管,該三極管具有較低的漏電流,直流電流增益線性度好,集電極-發(fā)射極飽和壓降小,理論值與實(shí)際值的差距會(huì)比較小。另外在交越失真電路中,選擇2N3904和2N3906組成乙類(lèi)互補(bǔ)對(duì)稱(chēng)功率放大電路。在發(fā)生失真后,部分電路的峰峰值會(huì)小于2V,因此需要在其后再連接一個(gè)無(wú)失真的放大電路組成多級(jí)放大電路,提高電壓放大倍數(shù)。有了5個(gè)獨(dú)立的能夠產(chǎn)生不同失真情況的放大電路后,我們要讓信號(hào)源的信號(hào)能夠正確地輸入到需要的放大電路中。我們使用了兩片具有低導(dǎo)通阻抗和很低的截止漏電流的 CD4051單端8通道電子開(kāi)關(guān),它有A、B和C三個(gè)二進(jìn)制控制輸入端以及INH共4個(gè)輸入。以下為四種失真及無(wú)明顯失真的電路原理圖:
圖2 電路原理圖
其中:a為“雙向失真”,b為“無(wú)明顯失真”,c為“頂部失真”,d為“底部失真”,e為“交越失真”。
因?yàn)門(mén)FT-LCD液晶顯示屏低功耗,固體化使用安全性、可靠性高、平板化、輕薄,節(jié)約了大量空間,此外其亮度好、對(duì)比度高、層次感強(qiáng)、顏色鮮艷、無(wú)閃爍便于更好的觀察波形圖。本系統(tǒng)采用TFT-LCD液晶顯示屏,以顯示THD值和波形圖。
本設(shè)計(jì)使用交流220V經(jīng)過(guò)變壓整流與穩(wěn)壓濾波后產(chǎn)生12V、-12V、5V、-5V電壓,以此作為不同通道的饋電直流電壓。
線性放大器輸入為正弦信號(hào)的時(shí)候,其非線性失真表現(xiàn)為輸出信號(hào)中出現(xiàn)諧波分量,常用總諧波失真(THD)來(lái)衡量線性放大器的非線性失真程度。而快速傅里葉變換(FFT)就是一種時(shí)間復(fù)雜度為的算法,它能將一個(gè)多項(xiàng)式轉(zhuǎn)換成它的點(diǎn)值表示。因此,我們采用快速傅里葉變換來(lái)計(jì)算THD值。
FFT是用于計(jì)算DFT的快速算法,它是基于復(fù)數(shù)的,因此在計(jì)算實(shí)數(shù)DFT時(shí)需先轉(zhuǎn)換為復(fù)數(shù)的格式。實(shí)數(shù)DFT將時(shí)域中N點(diǎn)信號(hào)轉(zhuǎn)換為2個(gè)(N/2+1)的頻域信號(hào),其中一個(gè)信號(hào)為實(shí)部,另一個(gè)信號(hào)為虛部,而實(shí)部和虛部分別是正弦和余弦信號(hào)的幅度。在這次設(shè)計(jì)中,我們使用了STM32F4的浮點(diǎn)運(yùn)算庫(kù)中的cfft函數(shù),可以通過(guò)采集的數(shù)據(jù),直接計(jì)算出基波及各次諧波的幅度值,并存于數(shù)組中。當(dāng)對(duì)1024個(gè)點(diǎn)采樣完畢后,通過(guò)已有的DSP庫(kù)中的現(xiàn)成算法函數(shù)FFT進(jìn)行變換計(jì)算。首先利用arm_cfft_radix4_init_f32(&scfft,FFT_LENGTH,0,1)函數(shù)對(duì)FFT進(jìn)行初始化設(shè)置,隨后調(diào)用arm_cfft_radix4_f32(&scfft,fft_inputbf)函數(shù)來(lái)實(shí)現(xiàn)程序中時(shí)域變頻域的計(jì)算。運(yùn)用arm_cmplx_mag_f32(fft_inputbuf,fft_outputbuf,FFT_LENGTH)函數(shù)計(jì)算復(fù)數(shù)模值,執(zhí)行取模操作,其中fft_inputbuf為復(fù)數(shù)輸入數(shù)組,指向FFT變換后的結(jié)果;outputbuf為輸出數(shù)組,存儲(chǔ)取模后的值;FFT_LENGTH指的是取模個(gè)數(shù)。
當(dāng)n趨向于+∞時(shí),Uon趨向于0,此時(shí)Uon便可忽略不計(jì),因此為了計(jì)算的方便,我們?cè)谟?jì)算THD時(shí),諧波均只取到五次,即:
首先上電后各個(gè)系統(tǒng)模塊進(jìn)行初始化,初始化完成后通過(guò)AD采集各種波形信號(hào)數(shù)據(jù),一方面該數(shù)據(jù)用于計(jì)算THD值,另一方面用于畫(huà)波形圖,當(dāng)檢測(cè)到有按鍵按下時(shí),就切換采樣通道,然后繼續(xù)通過(guò)AD采集數(shù)據(jù),最終將THD值以及波形圖顯示在LCD屏上,具體程序流程如圖3所示。
圖3 程序流程圖
(1)從信號(hào)源發(fā)送頻率為1kHz,峰峰值為20mV的正弦波。
(2)信號(hào)源連接電路的輸入端口,示波器連接電路的輸出端口。
(3)在示波器觀察上波形,初始為無(wú)明顯失真波形,每按一次按鍵即可切換下一種模式,在示波器上可以依次觀察到五種波形,在FTFLCD屏上也可以觀察到波形圖。
表格1 不同波形下的THD值
系統(tǒng)實(shí)現(xiàn)了對(duì)放大器的非線性失真研究。第一種波形靜態(tài)工作點(diǎn)適中,失真程度小,因此其THD值最小,而雙向失真的失真程度最大,因此其THD值最大,其余三種波形失真程度較為類(lèi)似,因此其THD值比較接近,處于中間大小。
此外,我們還輸入了矩形波來(lái)對(duì)本系統(tǒng)中對(duì)THD值的算法進(jìn)行驗(yàn)證,發(fā)現(xiàn)其THD值大小約為39%,查閱文獻(xiàn)[1]可得,符合實(shí)際,證明本系統(tǒng)算法正確。
分析本系統(tǒng)可能存在的誤差原因主要有以下兩點(diǎn):(1)在測(cè)量過(guò)程中,外界干擾因素或者系統(tǒng)本身引起的靜態(tài)工作點(diǎn)變化,會(huì)造成一定程度上的波形圖變化較;(2)信號(hào)發(fā)生器或示波器表筆接觸不良,導(dǎo)致存在測(cè)量誤差。
圖4 測(cè)試結(jié)果
本文研究了基于晶體管放大器的非線性失真。根據(jù)非線性失真的原因,通過(guò)改變偏置電路來(lái)改變靜態(tài)工作點(diǎn),從而得到四種非線性失真波形圖,并將THD值和波形圖顯示在TFT-LCD液晶顯示屏上。