APP下载

基于STM32 的非线性失真放大器设计与测试分析

2022-04-20熊宇鹏方如意黄煜陈炳权

电子设计工程 2022年7期
关键词:方波倍数增益

熊宇鹏,方如意,黄煜,陈炳权

(吉首大学信息科学与工程学院,湖南吉首 416000)

线性放大器输入为正弦信号时,其非线性失真表现为输出信号中包含各次谐波分量,常用总谐波失真(THD)衡量线性放大器的非线性失真水平[1]。在通信设备中,非线性元器件(晶体管、二极管)的非线性伏安特性会导致输出的信号失真。计算信号的THD 值在通信设备的研发、生产和维护保障过程中有着重要的作用。

目前市面上的电子产品多种多样,但是不论什么类型电子产品,都会产生噪声,因此失真度测量仪的市场潜力很大。标准失真信号发生器是一种可用于失真度测试仪检定的设备[2]。然而,我国对于失真度测量仪的研究起步较晚,目前市面上的失真度测量仪以国外进口为主,且价格相对较高。国内仪器大多采用旋钮进行谐波的设置,参数调节不方便,使用效率低,步骤复杂,从而导致使用效率低。文中在对总谐波失真概念理解的基础上,运用模拟电子技术知识搭建非线性失真放大器,测试验证模块以STM32 为控制核心,实现对信号的放大输出与测量分析。

1 原理与设计

若信号放大100 倍,则需要有较大的增益,一般很难用单个三极管实现。若想实现稳定的增益,则需要引入负反馈,把增益转换成两个电阻的比值,而不是依靠单个晶体三极管的放大倍数。所以整个放大电路可以分为输入-增益-输出。放大器的非线性失真现象可以概述成4 种:顶部失真、底部失真、双向失真、交越失真[3]。顶部失真是因为放大信号由直流信号与交流信号叠加,超过了三极管的线性区,线性区进入了饱和区导致直流偏置点错误,底部失真则相反。双向失真则是因为在纯交流信号的情况下,信号顶部与底部均增益过大。放大电路可以分为甲类、乙类、甲乙类,乙类与甲乙类放大电路是产生交越失真的原因[4],乙类放大电路由两个三极管组成,由两个PN 结连接,若这两个PN 结不导通,则会在过零部分产生畸变导致信号产生交越失真。从各类失真信号产生的原因来看,信号的放大需要有正确的偏置点,以适合增益大小。

1.1 非线性失真信号发生与放大器设计

非线性失真放大器装置的第一部分是非线性失真信号发生与放大器。其第一、二级是放大倍数约为100 倍的阻容耦合多级共射放大电路,第三级是OCL 电路,通过模拟开关控制特定电阻电容是否接入OCL 电路,起到改变电路静态工作点的作用,从而产生4 种非线性失真信号。输入端为20 mV 的正弦波[5],输出端产生4 种非线性失真信号或无失真信号。可以使用示波器在输出端口观察产生的各种非线性失真信号波形。非线性失真信号发生与放大器设计框图如图1 所示。

图1 非线性失真信号发生与放大器设计框图

1.2 晶体管放大器电路论证与选择

方案一:直接耦合的多级共射放大电路[6]。

优点:频率范围宽,放大倍数可调。

缺点:级间互相影响,静态工作点难以调试。

方案二:阻容耦合多级共射放大电路[6]。

优点:各级独立,静态工作点无影响,容易调试成功,放大倍数可以通过加负反馈进行调解;

缺点:对低频信号放大倍数不足。

由于测试信号为1 kHz 的中频,在两种放大电路的增益相差不多的情况下,选择方案二更加有利于元件参数的确定以及静态工作点的选择,因此选择方案二。

1.3 改变电路参数产生失真波形的输出方案

方案一:在一二级共射电路中实现。

优点:比较容易产生顶部失真、底部失真。

缺点:放大电路的放大倍数不够大,且增益不稳定[7]。

方案二:在第三级OCL 电路中实现。

优点:对前级电路放大倍数没有影响,比较容易生成4 种非线性失真信号。

放大信号的重要指标包含增益与稳定度,虽然方案一中,顶部和底部两种非线性失真信号容易实现,但是增益难以大于100,稳定度也不高。方案二选择在第三级OCL 电路中输出4 种非线性失真信号,与前级相对独立,整个电路的放大倍数稳定,增益大于100,故选择方案二[8]。

1.4 控制模块的方案选择

确定放大电路设计的方案后,需要对控制与测量分析模块方案进行论证,这对计算总谐波失真度很重要。

方案一:增强型80C51 内核的STC 系列单片机可以达到的最高主频为30 MHz,字长为8 位,具有ADC、PWM 等功能引脚和定时器及RCC 等内部资源,flash 一般比较小,操作简单,运算速度略有不足[9]。

方案二:STM32 小系统板可以达到最高主频为72 MHz,字长为32 位,具有ADC、PWM、DAC 等功能的引脚和TIM、RCC、DMA 等内部资源,flash 一般比较大,但是直接操作寄存器复杂,网络资源比较丰富,可以嵌入emwin,支持触摸屏,增强了与用户之间的交互性。

STC 系列单片机成本虽然很低,但是无法满足设计需求,STM32 拥有足够的算力,而且有丰富的库函数资源可利用,利于256-FFT 算法的编写,因此选择方案二。

1.5 非线性失真信号发生与放大器第一、二级的设计

第一、二级放大电路采用阻容耦合方式,两级放大电路之间的直流通路各不相通,静态工作点相互独立,在理论计算和调试时可以单级处理。静态工作点的计算式为:

式中,VCC的值为+12 V,Ie、Ib、IC分别代表发射级、基级和集电级的电流。放大电路的第一、二级原理图如图2 所示,其中第一级放大电路的发射极电阻Re=R8=800 Ω,基极回路电阻Rb=R1+R5=1 200 kΩ,集电极电阻RC=R2=3.3 kΩ,第二级放大电路Re=R28,Rb=R21+R25,RC=R22。

图2 第一,二级电路设计原理图

在Multisim12.0 软件中,仿真得到第一级放大倍数β1约为20,第二级放大倍数β2约为6。第一、二级总的放大倍数大于100。

1.6 线性失真信号发生与放大器第三级OCL 电路设计

OCL 电路主要由NPN 和PNP 管组成,两管参数对称,接成射极输出器[10]。第三级放大电路OCL 电路设计如图3 所示,文中采用s8050(Q3) 为PNP 管,s8550(Q5)为NPN 管。当输入信号为不等于0 时,在输入信号周期内,两管交替导通,即当输入信号在正半周时,Q5发射结正偏导通,Q3截止输出输出信号的正半周。当输入信号在负半周时,Q3发射结正偏导通,Q5截止,输出输出信号的正半周。两管互补,各自导通半个周期,可以通过程序控制模拟开关的开关状态改变Q5的工作状态,输出各种失真波形,从而输出4 种非线性失真信号。

图3 OCL电路设计原理图

1.7 非线性失真信号发生与放大器整体电路设计

利用Multisim12.0 仿真平台,在确定两级放大电路与OCL 电路中各参数的值之后,进行PCB 板的制作,第一级放大电路的输入接信号源、第二级放大电路的输出接入OCL 电路的输入信号端口、OCL 电路输出接示波器进行波形的观察研究[11]。整个非线性失真信号发生与放大器的原理图如图4 所示。

图4 非线性失真信号发生与放大器原理图

1.8 总谐波失真度的计算测量

非线性失真放大器装置的第二部分是基于STM32 的总谐波失真度测量仪。该部分采用采样率为10 240 Hz 的12 位ADC 模式对非线性失真信号发生与放大器输出端的信号采样,每次采样256 次得到信号幅值为Ai,i=1,2,3,…,256。定义32 位long 类型变量Ii,高16 位存储实部,即Ai变量,低16 位储存虚部,方便FFT 计算。

调用DSP 库函数,实现n=256 点FFT 计算,得到变量值Oi,它是一个包含相位信息的复数值,由此值计算得到该点的幅值Mi[12]。如式(2)所示,ri为变量Ii经过FFT 变换之后所得到值的实部,mi为变量Ii经过FFT 变换之后所得到值的虚部。

由于设定的采样率fs=10 240 Hz,得出每点对应得频率值fi为:

代入式(3)计算分辨率值为40 Hz,则每点对应的频率值为0,…,1 000,…,2 000,…,3 000,…,4 000,…,5 000,…,5 120。则在程序中1 kHz、2 kHz、3 kHz、4 kHz、5 kHz 对应的索引分别为25、50、75、100、125,则:

其中,U1、U2、U3、U4、U5分别代表基波、二次谐波、三次谐波、四次谐波、五次谐波的幅值。根据总谐波失真的定义式可以计算得到THD值[13]:

2 实 验

2.1 Matlab 仿真测试

1)在Intel i5-7200U CPU@2.50 GHz 平台上使用Matlab R2018a 软件对1 kHz 的各种失真信号进行FFT 变换。仿真结果如图5 所示。

图5 Matlab 仿真结果中四种非线性失真信号波形

通过对比图5(b)、图5(d)、图5(f)、图5(h)可得出,顶部失真与底部失真的频谱图相同,因此这两类波形的THD值也相同。观察交越失真的频谱图可以发现,其三次谐波与五次谐波的幅值均大于其他非线性失真信号的三次谐波与五次谐波的幅值,因此其THD值最大。通过式(5)计算4 种非线性失真信号和无失真信号的THD值分别为19.306 6%,19.306 6%,23.078 0%,40.022 4%。由结果可以看出,当输入信号幅值相同,经过相同增益的放大电路之后,顶部失真与底部失真的THD值相等。输出信号的失真表现越明显,则THD值越大[14]。

2)1 kHz 的对称方波与对称三角波的波形是偶对称的,在傅里叶级数展开式中,除基波外,只有奇次项谐波无偶次项谐波,并且对称方波的三次谐波、五次谐波的幅值分别为基波幅值的1/3、1/5,对称三角波的三次谐波、五次谐波的幅值分别为基波幅值的1/9、1/25。1 kHz 对称方波与三角波的理论THD值见表1,文中可以通过对称方波与三角波来验证非线性失真放大器测量所得THD值的准确性。

对称方波的傅里叶级数展开式为[15]:

由式(5)与式(6)可以计算得出方波THD的理论值为38.873%。

对称三角波的傅里叶级数展开式为[15]:

由式(5)与式(7)可以计算得出三角波THD的理论值是11.809%。

在Intel i5-7200U CPU @2.50 GHz 平台使用Matlab R2018a 对1 kHz 的对称方波与三角波进行仿真,得到的THD 值如表1 所示。

表1 对称方波与三角波THD对比值

经过理论值与仿真值的对比可以发现,文中设计的非线性失真放大器计算得到的THD值与理论值只相差0.01%,精确到小数点后三位,可以认为此非线性失真放大器的THD测量值准确度高。

2.2 硬件电路测试结果

根据原理图制作出PCB 电路板,输入接信号发生器,接入频率为1 k Hz、峰峰值为20 mV 的正弦信号,输出接示波器,观察在不同电路参数情况下产生的信号波形与幅值。4 种非线性失真信号波形的实际测试结果如图6 所示。

图6 实际测试结果中4种非线性失真信号波形

通过示波器观察,输出波形特征明显,输出幅度均大于2 V,与输入信号20 mV 之比大于100,满足设计需求[16],4 种非线性失真信号波形的实际测试结果如表2 所示。

表2 各波形测试结果(测试数据)

根据实际测试结果,总结出4 种非线性失真信号的输出波形增益均大于100,且输出波形无毛刺。对比4 种非线性失真信号波形的THD值,可以总结出当波形无失真时,输出波形的THD值接近于0,在相同放大倍数的情况下,顶部失真与底部失真的输出波形THD值近似相等,交越失真由于其失真表现最明显,因此其THD值最大。

需注意,Matlab 仿真中4 种非线性失真信号波形的失真表现与实际测试的失真表现不相同,所以测得的THD值不同。

3 结论

文中在基于模拟电子技术知识基础上详细介绍了非线性失真放大器的研究设计。首先,介绍了电阻电容等器件参数对放大电路的影响[17],接着从这些影响因素出发,进行Matlab 仿真,观察得到输入信号通过放大电路之后,不同的电路参数对应不同的输出波形,最终制作出实物作品。文中进行的非线性失真放大器的设计,通过从信号放大之后如何失真的角度进行研究,给优化非线性失真放大器装置提供了理论依据。同时,文中介绍的非线性失真信号波形的总谐波失真度测量方法测试过程简单,测试结果准确度高。

猜你喜欢

方波倍数增益
同样是倍数,为啥还不同
便携式多功能频率计的设计与实现
基于增益调度与光滑切换的倾转旋翼机最优控制
基于单片机的程控增益放大器设计
测绘技术在土地资源管理中的应用
基于Multisim10和AD603的程控增益放大器仿真研究
倍数魔法
程控增益射频宽带放大器
如何表达常用的倍数
数学题