HFSS学习笔记之扫频分析-----------锋锋的快乐小窝
- 通过求解设置,可以对模型结构进行自适应网格剖分,并计算指定的网络剖分频率点处的 S S S参数和场解
- b如果需要分析或计算某个频段范围内的S参数和场解就需要进行频率扫描设置
- HFSS中有三种扫频类型:
序号 | 名称 | 解释 |
---|---|---|
1 | Fast Frequency Sweep | 快速扫频 |
2 | Discrete Frequency Sweep | 离散扫频 |
3 | Interpolating Frequency Sweep | 插值扫频 |
1、扫频类型
Ⅰ、快速扫频
- 快速扫频是在1994 年引入HFSS中,最初基于AWE((Asymptotic Waveform Evaluation)算法用于搜寻传输函数的主零、极点,适合于窄带问题的求解
- 后来采用ALPS (Adaptive Lanczos-PadeSweep)算法,Lanczos 法是求解稀疏矩阵本征值问题的有效方法,采用 ALPS 算法可以在很宽频带范围内搜寻出传输函数的全部零、极点
- 因此,快速扫频适用于谐振问题和** **的分析,使用快速扫频可以得到场在谐振点附近行为的精确描述
- 使用快速扫频,一般选择频带中心频率作为自适应网格剖分频率,进行网格剖分,计算出该频点的S参数和场分布,然后使用基于 ALPS 算法的求解器从中心频率处的 S参数解和场解来外推整个频带范围的S参数解和场解
- 使用快速扫频,计算时只会求解中心频点处的场解,但在数据后处理时整个扫频范围内的任意频点的场都可以显示
Ⅱ、离散扫频
- 离散扫频是在频带内的指定频点处计算 S参数和场解
- 例如,指定频带范围为1~2GHZ、步长为0.25GHz,则会计算在1GHz、1.25GHz、1.5GHz、1.75GHz、2GHz共 5个频点处的S参数和场解
- 默认情况下,使用离散扫频只保存最后计算的频率点的场解
- 上例中即只保存 2GHZ 处的场解。用户如果希望保存指定的所有频率点的场解,需要选中设置对话框中的 Save Fields 复选框
- 对于离散扫频,需要求解的频率点越多,完成频率扫描所需的时间就越长
- 如果整个频带范围的解只需要有限几个频率点就能精确表示,那么可以选择离散扫频
Ⅲ、插值扫频
- 插值扫频使用二分法来计算整个频段内的 S S S参数和场解
- 使用插值扫频,HFSS 自适应选择计算场解的频率点,并计算相邻两个频点之间的解的误差,当解达到指定的误差收敛标准或者达到了设定的最大频点数目后,扫描完成
- 其他频率点上的 S S S参数和场解由内插给出
- 假设以
y
(
t
)
y(t)
y(t)表示插值函数,
ε
s
\varepsilon_s
εs 表示相邻两个插值频点之间解的误差最大值,
ε
c
\varepsilon_c
εc表示误差收敛标准,则有
ε s , i = ∫ Δ i ∣ y n ( f ) − y n − 1 ( f ) ∣ d f , Δ i = ∣ f i − f i − 1 ∣ ε s = m a x i ( ε s , i ) ε c = m a x i ( 1 Δ i ε s , i ) \varepsilon_{s,i}=\int_{\Delta_i}^{}{|y_n(f)-y_{n-1}(f)|df}~~,~~\Delta_i = |f_i-f_{i-1}| \\\ \varepsilon_{s} =\underset{i}{max}(\varepsilon_{s,i}) \\\ \varepsilon_{c} =\underset{i}{max}(\frac{1}{\Delta_{i}} \varepsilon_{s,i}) εs,i=∫Δi∣yn(f)−yn−1(f)∣df , Δi=∣fi−fi−1∣ εs=imax(εs,i) εc=imax(Δi1εs,i) - 插值扫频时,插值频率点的自适应选择过程:
① 根据 ε s , i = ∫ Δ i ∣ y n ( f ) − y n − 1 ( f ) ∣ d f , Δ i = ∣ f i − f i − 1 ∣ \varepsilon_{s,i}=\int_{\Delta_i}^{}{|y_n(f)-y_{n-1}(f)|df}~~,~~\Delta_i = |f_i-f_{i-1}| εs,i=∫Δi∣yn(f)−yn−1(f)∣df , Δi=∣fi−fi−1∣计算出各个相邻点频点之间的解的误差值 ε s , i \varepsilon_{s,i} εs,i、 ε c \varepsilon_{c} εc
② 如果 ε c \varepsilon_{c} εc小于指定的误差标准,频率扫描停止
③ 如果 ε c \varepsilon_{c} εc大于等于指定的误差标准,找出最大误差 ε s \varepsilon_{s} εs所在的频率区间,假设该频率区间为 ( f l , f m ) (f_l,f_m) (fl,fm),则新的插值频率点是 f n e w = f l + f m 2 f_{new}=\frac{f_l+f_m}{2} fnew=2fl+fm - 插值扫频过程中,前一个插值频率点的场解会被删除,然后产生的下一个频率点的场解,这样最终只有最后计算的场解才会保留下来
Ⅳ、三种扫频类型的选择
- 作为经验准则,当 f m a x f m i n < 4 \frac{f_{max}}{f_{min}}<4 fminfmax<4时,扫频类型一般选择快速扫频
- 对于 f m a x f m i n > 4 \frac{f_{max}}{f_{min}}>4 fminfmax>4的宽带问题,扫频类型一般选择插值扫频
- 离散扫频通常较少使用,只有在用户只希望得到问题的有限几个频点的精确解时才选择离散扫频
- 快速扫频可以得到场在谐振点附近行为的精确描述,因而适用于谐振问题和高值问题的分析
- 离散扫频采用的是二分法,适合频率响应较为平坦的问题的分析
- 通常把快速扫频作为默认的扫频类型
- 当使用快速扫频所占用的内存资源超出计算机可使用的内存时,选择插值扫频
- 或者所需分析的问题频带很宽时,例如多数高速数字信号问题的分析,选择插值扫频需要记住的是,在频率扫描求解过程中 HFSS 是不重新进行网格剖分细化的,整个频率扫描求解过程中,HFSS 始终是基于求解频率处所产生的网格进行计算的
2、添加和定义扫频设置
- HFSS 设计中,在添加了求解设置后,如果还需要分析和计算某一频段内的 S S S参数和场解,此时需要添加频率扫描设置
- 添加扫频设置的具体步骤如下:
① 在添加频率扫描设置前,请先确认设计中已经添加了求解设置
② 从主菜单栏选择【HFSS】👉【Analysis Setup】👉【Add Frequency Sweep】,或者展开工程树中的【Analysis】 节点,选中添加的求解设置项,单击鼠标右键,从弹出菜单中选择【Add FrequencySweep】,打开“扫频设置”对话框,添加频率扫描的相关设置,如图 1 和图 2 所示:
-
Edit Frequency Sweep 设置对话框功能
-
Sweep Name: 扫频设置的名称,默认名称为 Sweepn,用户也可以自己键入其他名称
~~~~~~~~~~~~~~~~~~~~~~~~ 扫频设置完成后,该名称会添加到工程树的【Analysis】节点下 -
Sweep Type:选择扫频类型
~~~~~~~~~~~~~~~~~~~~~~ 离散扫频(Discrete)、快速扫频 (Fast)和插值扫频(Interpolating)3种类型。 -
Frequency Setup:设置扫频频段需要求解的频点,主要有 LinearStep 和 LinearCount 两种设置方式。
- LinearStep 方式:通过设置起始频率 (Start)、终止频率 (Stop)和步进频率 (Step Size)来设置频点
~~~~~~~ 例如起始频率、终止频率和步进频率分别设为 1GHZ、2GHz 和0.25GH,则需要求解的频率点有1 GHz、1.25GHz、1.5GHz、1.75 GHz和2 GHz - LinearCount 方式:通过设置起始频率(Start)、终止频率(Stop) 和频点个数(Count) 来设置频点
- 假设起始频率、终止频率、步进频率和频点分别用 f s t a r f_{star} fstar、 f s t o p f_{stop} fstop、 f s t e p f_{step} fstep和 N N N
- 则 LinearCount 方式下的步进频率 f s t e p f_{step} fstep: f s t e p = f s t o p − f s t a r N − 1 f_{step}=\frac{f_{stop}-f_{star}}{N-1} fstep=N−1fstop−fstar
- 例如起始频率、终止频率和频点个数分别为1GHz、2GHz和3,则此时步进频率为0.5GHZ,需要求解的频率点有 1GHz、1.5GHz和2GHz
- 对于离散扫频,还有 SinglePoint方式,设置单一频点
- 先点击Add Above或Add Below,然后设置好频率
- 另外,对于离散扫频和快速扫频在该栏的下方还有 Save Fields 复选框,选中该复选框后,上面设置的所有频点的场解都会被保存下来
- 否则对于离散扫频只保存终止频率处的场解,对于快速扫频只保存中心频点处的场解
- 对于插值扫频,对话框中没有 Save Fields 复选框可供选择,只保存最后计算的频率点的场解
- LinearStep 方式:通过设置起始频率 (Start)、终止频率 (Stop)和步进频率 (Step Size)来设置频点
-
Time Domain Calculation:进行高速数字信号分析或者全波SPICE 分析时,使用该按钮可帮助用户决定合适的扫描频率范围。单击该按钮后,可以打开如上所示的“时域计算器”对话框其中:
- Signal Rise Time 为数字信号上升沿时间 (设为 t t t)
- Time Steps per Rise Time 可以看做是采样点数(设为 N N N)
- Number of Time Points 用于计算输入信号持续时间(设为
N
N
N),则最大频率和步进频率分别为:
f
m
a
x
=
0.5
t
r
×
N
t
f
s
t
e
p
=
f
m
a
x
N
f_{max}=\frac{0.5}{t_r}\times N_{t}\\\ f_{step}=\frac{f_{max}}{N}
fmax=tr0.5×Nt fstep=Nfmax
用户指定 Single Rise Time、Time Steps per Rise Time 和 Number of Time Points后单击【Calculate】按钮,时域计算器会计算出时域分析时需要的最大频率和步进频率,并分别显示在 Maximum Frequency 和Frequency Step Size 处;单击【OK】按钮,计算出的最大频率和步进频率会添加 Edit Frequency Sweep 设置对话框的 Frequency Sweep 栏
-
Interpolating Sweep Options:只有选择插值扫频时该栏才有效,其中:
- Max Solutions :设置频带内最大需要求解的频点数,一般设置为默认值50
- Error Tolerance :设置插值误差收敛标准,一般设置为默认值 0.5%
- 当由式 ε c = m a x i ( 1 Δ i ε s , i ) \varepsilon_{c} =\underset{i}{max}(\frac{1}{\Delta_{i}} \varepsilon_{s,i}) εc=imax(Δi1εs,i)计算出的误差 ε c \varepsilon_{c} εc小于此处设置的收敛标准,或者达到最大需要求解的频点数时,插值扫频完成
-
DC Extrapolation Options:当需要输出SPICE参数模型时,必须包含低频和直流(DC)点的解,HFSS 不能直接计算直流点的解,选中该直流扩展项可以外插得出低频和直流点的解
- 其中 Minimum Solved Frequency 项设置扫频的最低频率,默认值为100MHz
- 需要注意的是,只有选择离散扫频和插值扫频时,DC Extrapolation Options 才有效。
-
③ 上述各项设置好之后,单击OK按钮,完成添加扫频设置的操作
完成后,扫频设置的名称Sweep1会自动添加到工程树Analysis节点的求解设置项下
- 对于当前设计中已经添加的扫频设置项,用户可以随时修改或删除
- 展开工程树中的【Analysis】节点下的【Setup1】,选中需要修改或删除的扫频设置项,然后单击右键,在弹出菜单中选择【Properties…】操作命令,可以重新打开“扫频设置”对话框,对该求解设置项进行编辑修改
- 在弹出菜单选择**【Delete】操作命令,可以删除**当前选中的扫频设置项,