技术文章

如何借助MATLAB来进行电路甚至组件级别的设计

作者 : 赵晨星、MathWorks


前言

在射频电路的设计领域,射频工程师早在80年代初就引入了CAD(计算机辅助设计)来进行匹配网络,系统链路预算等设计。随着设计工具的商业化和成熟度越来越高,在过去的二十多年中射频/微波方向的设计者们已经离不开仿真了,传统的实物调试阶段已经被大大压缩。

MATLAB and Simulink从发布初始就一直拥有强大的建模仿真及优化功能,

MATLAB作为通信算法开发的利器被业界所认可。但是对于无线通信系统的RF链路设计,甚至于元件级别的细节化设计,MATLAB同样可以胜任,编者将会通过三期文章来进行介绍,在本期中将着重介绍MATLAB在匹配网络设计,电路仿真方面的应用。本文所用的示例都可以在MATLAB中获取到。

利用MATLAB进行匹配网络设计

我们用一个低噪放输入输出匹配网络的设计示例来分析使用MATLAB进行匹配网络设计的过程,您会发现整个过程是经典的教科书式的匹配设计重现。在MATLAB的RF Toolbox的自带例子中打开“Designing Matching Networks (Part 1: Networks with an LNA and Lumped Elements)" 这个例子,在这个例子最初定义了这个低噪放的设计需求如下:1. 工作频带 5.1GHz-5.3GHz。2. 噪声系数小于等于2.2dB。3.转换功率增益大于11dB。4. 特征阻抗50Ohm 。

首先使用MATLAB读入了晶体管的S参数文件,并且将该晶体管在2GHz-10GHz的转换功率增益,资用功率增益和最大资用功率增益的曲线进行绘制。由于该低噪放的设计中心频率是在5.2GHz,我们观察绘制出来的曲线发现,在这个频点,最大资用功率增益的数据是不存在的,因此我们可以推断该管子是潜在不稳定的,后面我们同样可以在Smith圆图上画出稳定性判定圆来证明这一推断。与此同时,在未匹配状态下转换功率增益和资用功率增益的值是远低于我们的设计要求的。

cn-how-to-use-ml-design-circuit-component-level-image0
cn-how-to-use-ml-design-circuit-component-level-image1-2

再来绘出设计频段内的噪声系数和最小噪声系数的曲线。同样,未经过匹配的管子在中心频率很难满足噪声系数小于2.2dB的要求。

cn-how-to-use-ml-design-circuit-component-level-image2-2

在Smith圆图中画出5.2GHz下的初始输入及输出稳定性判定圆,等噪声系数圆以及等资用功率增益圆。可以看到此时输入和输出的稳定性判定圆和Smith圆图相交,管子是处于潜在不稳定的,与我们之前的经验推断相符。所以接下来当务之急是改善场效应管的稳定性。改善管子稳定性的方法一般有,输出电路串联或并联电阻法,串接阻抗负反馈法(MOSFET源极和地之间串接阻抗,若为BJT则是经发射极串接)等方法。在本例中我们使用了在输出端加并联电阻的方法,这种方法会产生一定的热噪声,会对系统总噪声产生影响,但就我们的设计指标比对管子的性能来讲,我们的设计冗余是足够的,而且这种方法较为实用。

我们用如下代码来计算所加负反馈的最佳阻抗值。为了晶体管绝对稳定,Mu值应该大于1。MATLAB中使用了使用fzero函数来找到使Mu等于1的电阻值。MATLAB中已经内置了Mu的计算公式,您只需要调用fzero函数即可。

计算得到电阻值以后,将其定义为一个118欧姆的并联电阻,并将其和已有的晶体管进行级联。然后我们再次绘制输入及输出稳定性判定圆还有等噪声系数圆和等资用功率增益圆,此时管子的稳定性已经改善。现在我们可以开始做匹配了。在优先满足噪声小的条件下,提高电路增益是我们的目标,所以根据等噪声圆和等增益圆进行折中选择,在圆图上选择了一个合适的点,该点处的资用功率增益为14dB,噪声系数为1.84dB,均满足设计要求。

下面我们只需要从相应的源反射系数得到源阻抗,将其匹配到50Ohm。对输出端,为了得到最大功率传输,我们将负载阻抗(所选择匹配点处阻抗的共轭)匹配到50Ohm即可。计算Zs和Zl的代码部分如下:

有了Zs和Zl后接下来会进行匹配电路的设计,在此我们选择了传统的LC网络来进行匹配。因此关键的部分在于确定输入和输出部分LC网络中的电容和电感的值。由射频电路的理论我们可知,在圆图中画出穿过所选择Gamma S(匹配点)的等电阻圆和穿过圆图圆心的等电导圆,然后求得其交点,交点有两个,但是结合输入匹配电路的拓扑我们可以选定A点。从该点的阻抗和导纳中我们就可以计算出L和C的值了。输出匹配网络中的L和C值同样可以用此方法获得。代码如下:

最后,将输入匹配网络,输出匹配网络以及经过稳定性优化的晶体管部分进行级联就可以了,级联完成以后,再绘制设计好的低噪放在工作频带内的转换增益,资用功率增益和噪声系数,可以发现最后的结果均满足设计需求。在中心频率处的噪声系数为1.926dB,在匹配阶段我们在圆图上选择的匹配点处的噪声系数为1.84dB,那么多出的不到0.1dB的噪声正是为优化稳定性在晶体管输出部分加的并联电阻引入的。

利用MATLAB进行滤波器设计与仿真

我们再来看一个Butterworth带通滤波器的设计和仿真的案例。在这个例子中,该滤波器的拓扑结构已经给定,其原理图如下,我们需要确定的是Ls,Cs,Lp和Cp的值。由于3dB截止频率分别为2.4GHz和2.5GHz,我们可以很容易的用公式算出这几个值。

那么如何将电路在MATLAB里面搭建出来呢,MATLAB中并没有可视化的界面和相应的元件库能将原理图画出来,但是通过设置电路节点再加上RF Toolbox,我们可以轻松地将这个电路结构用如下代码实现。如果你的电路拓扑比较复杂,也不用担心。Simulink的RF Blockset,Mixed-Signal Blockset以及Simscape Electrical也能支撑您搭建复杂系统和电路的需求。

电路搭建好了以后我们就可以仿真了,在此我们定义2,1节点和6,1节点这两个端口(1节点为GND),调用RF Toolbox的S参数求解器的代码如下,定义好扫频范围和步长即可。这样滤波器的S参数曲线就可以画出来了。在MATLAB中这个示例是“Bandpass Filter Response”,在完成了S参数曲线绘制后,本示例中后面还对该S参数进行傅里叶变换,Rational Fitting以及用时域信号去激励该滤波器后分析其输出等操作。该系列文章中会有一期专门来介绍如何用MATLAB进行S参数的后处理,因此这部分内容在此就不做详细介绍。

总结

就像我们在LNA匹配网络设计和滤波器设计这两个例子中看到的,每一个设计步骤都用到了最底层的数学公式和射频电路理论。所以无论您是射频微波电路的研究人员还是通讯相关行业的射频微波工程师,您都可以借助MATLAB来进行电路甚至组件级别的设计。

2022 年发布

查看文章,了解相关功能

查看文章,了解相关行业