放大器非线性失真检测系统

2021-07-20 07:58龙海珠梁娟玲钟昊廷梁海燕黄筱惠
电子制作 2021年13期
关键词:晶体管电位波形

龙海珠,梁娟玲,钟昊廷,梁海燕,黄筱惠

(玉林师范学院物理与电信工程学院,广西玉林,537000)

0 引言

随着现代数字电子技术与模拟电子技术的发展,放大器广泛应用于世界的各个科研领域中。放大器的性能往往决定了整个系统的精确性和稳定性,所以怎样设计制作一款具有良好性能的放大器已经成为了当前的一个热门研究课题,与此同时各个行业对其性能指标的要求也日渐严格。如要求放大器能够达到较高频率、信号稳定性强、转换速度快,无非线性失真、功率和频谱利用率高等目标。当放大器处在理想工作情况下,其输入信号的波形应与输出信号的波形一致。但是在实际的电路中工作时,放大器的输入信号与输出信号的波形总是会存在着一定的差别甚至产生畸变,产生这些现象叫做失真。放大器的非线性失真的原因主要有两个:①晶体管等特性的非线性;②静态工作等位置设置的不合适或输入信号过大,放大器件工作在非线性区而产生的非线性失真[1]。

在现实生活中调试放大器时往往是在时域上观察波形的失真程度,然而用肉眼看时域上的波形是很难看出波形的非线性失真程度的,因此我们设计使用了FFT算法,将一个信号的时域波形变换到频域来计算波形的总谐波失真度,进而清晰地了解到正弦波的非线性失真程度,有针对性地对放大器性能的进行改善。此系统的设计可以广泛应用于各种需要进行调试放大器模块的场合,更加方便人们进行电路调试。

1 整体方案设计

本设计采用STM32F407为主控器件,输入信号经过三极管两级放大电路输出,经单片机控制的74HC4051模拟开关自动控制输出,经过电位抬升电路,进入STM32F407单片机,在单片机内部进行AD采样并运行FFT算法,测量由信号源产生的正弦波、三角波、方波的总谐波失真度,并对输入的正弦信号进行顶部失真、底部失真、双向失真、交越失真的失真类型判断,总谐波失真度数值和判断结果最终通过液晶显示。系统组成框图及电路实物图如图1、图2所示。

图1 系统框架图

图2 电路实物图

2 FFT和总谐波失真度原理

FFT实质是通过唯一线性组合的方式,将一个周期函数变成若干个三角函数,就称该方式为原函数的FFT变换[2]。FFT的算法可以分为按时间抽取算法和按频率抽取算法两种,可从DFT运算来简要介绍FFT的基本原理[3]。N个样本的DFT的运算为[4]:

基4算法能够计算的离散数列的点数需为4的整数次幂,分解的次数较少,但蝶形运算相对复杂,数据访问次数少,计算量也少,完成一定点数的DFT计算需要时间较少【5】。

假设采样频率为Fs,信号频率为F,采样点数为N[6]。那么FFT之后的结果就是一个为N点的复数。每一个点就相对应着一个频率点。这个点对应下的模值,就是该频率点下的幅度特性。基于此思路,再利用STM32F4自带的FFT封装程序完成程序设计。总谐波失真度(THD)定义:若线性放大器输入电压[7]:

其含有非线性失真的输出交流电压为:

则有:

3 系统主要硬件设计

硬件设计主要由STM32单片机模块、两级晶体管放大电路模块、电位抬升模块组成。STM32单片机模块主要用于控制模拟开关及运行FFT算法进行总谐波失真度的测量,两级晶体管放大电路模块用于将信号放大和正弦波失真波形的输出,电位抬升模块将交流信号混入直流信号,使信号输入AD前电位抬升到AD采样对电位需求的范围。

系统主要控制模块采用STM32F407单片机模块,STM32F407有256KRAM,1MROM,主频也很高,达168M,因此运算能力十分强大。芯片上外设丰富,定时器多达14个或17个,PWM功能强大,其ADC精度也达到12位,还有DA模块、实时时钟和浮点运算单元,能够达到实现本系统所需功能的要求。

两级晶体管放大电路模块采用9013型号三极管作为放大器件,用两级分压式静态工作点稳定电路级联实现信号幅值放大100倍以上。两级晶体管放大电路模块输入输出连接拨码开关,实现当信号源输入时,其中一条通道是没有经过两级晶体管放大电路的导线,直接和STM32单片机的输入端口连接,信号源信号直接输入到STM32单片机;另一条通道是一条经过两级晶体管放大电路的通道,使用此通道时,信号源输入,将信号放大处理或失真处理后进入到下一级电路的输入端口。当输入频率为1kHz、峰峰值为20mV的正弦波时,四个模拟开关74HC4051控制晶体管放大电路五种静态工作点,其中一路波形接上OTL乙类功率放大电路,产生交越失真,从而实现正弦波的正常波形、顶部失真、底部失真、双向失真、交越失真的五种波形放大输出到下一级电路。两级晶体管放大电路模块原理图如图3所示。

图3 两级晶体管放大电路原理图

电位抬升模块用于交流信号加直流信号输入,输出为交直流混合信号,又叫脉动直流。这里所谓电平抬高指直流成分,加入直流等于抬高交流信号零基线。AD的输入阻抗较低或者速度较快,因此需要增加一个电位抬升模块。本系统采用LM358和AMS1117来设计电位抬升电路,由AMS1117提供一个直流电压,与交流输入信号混合,形成一个交直流混合信号,再通过LM358缓冲输出。电位抬升模块原理图如图4所示。

图4 电位抬升模块原理图

4 软件设计

该系统通过keil5软件进行程序的编译调试及设计,测试阶段使用串口与上位机通信传输ADC接收数据,再在excel表格进行数据分析与波形绘制。本系统使用的主控单片机为STM32F407,由单片机内部ADC采集信号,当采集足够数据时,主控模块采用FFT算法函数来分析、计算出一次、二次···n次谐波失真度,并取其中前5次谐波失真来计算总谐波失真度的近似值。各种失真波形的变换控制,使用了74HC4051模拟开关芯片,通过单片机的引脚置I/O口来更换。最后,将所有处理完的数据通过spi通信发送给显示模块。

图5 软件流程图

5 测试结果与分析

将放大器非线性失真检测系统上电测试,图6是输入频率为1kHz,峰峰值为2mV的正弦波经过晶体管两级放大电路通道选择输出的五种波形在示波器上的显示情况,依次为正弦波、顶部失真、底部失真、双向失真和交越失真的波形图。

图6 晶体管放大电路波形输出

本系统成功实现了失真类型判断功能,其中图7为顶部失真的失真类型判断结果。

图7 屏幕显示界面

表1为本系统五种波形所对应的总谐波失真度,可以观察出正弦波的总谐波失真度很小,交越失真的总谐波失真度的值最大。

表1 失真度测量的实验结果

表2是测量由信号源产生的1kHz,2V的正弦波、三角波和方波的三种波形的总谐波失真度,可以清晰观察一次到五次谐波分量的数值。其中,方波的总谐波失真度是最大的,为38.764957。

表2 五种谐波分量和总谐波失真度

根据实物制作的完成,由实验成果现象和数据分析,结合快速傅里叶(FFT)理论算法和总谐波失真度(THD)理论验证,验证了本系统研究的可行性和准确性。但是由于硬件和软件的联合,以及电路布局的影响,会让本系统存在一定的误差。

6 结束语

本设计经过大量的实验分析与验证,最终证明通过STM32单片机的控制、利用FFT算法,可以很好地实现在一定的误差范围内,较为准确地测量正弦波经晶体管放大电路输出的非线性失真波形的总谐波失真度及由信号源产生的正弦波、三角波、方波的总谐波失真度,并且能够对输入的正弦信号进行非线性失真类型判断。该设计的成果可以广泛应用于实际调试放大器的过程中,实现较为清楚判断正弦波形非线性失真的失真程度,进而有针对性地对放大器模块的电路性能进行完善,具有广阔的实际应用前景。

猜你喜欢
晶体管电位波形
测量模拟土体zeta电位的简易流动电位装置及其使用方法*
正面碰撞车身加速度对乘员腿部损伤的影响
基于时域波形掩护的间歇采样干扰对抗研究
科学家首次实现亚1纳米栅极长度晶体管
耳蜗微音器电位临床操作要点
2.6万亿个晶体管
通用6T系列变速器离合器鼓失效的解决方案
“Transistor Density Increase by 1000X”鳍式晶体管密度增加技术
地极布设对电位降法测量接地电阻值的影响
薄膜晶体管(TFT)介绍薄膜晶体管物理与技术