传递函数输出的谐波分析
本例提取输出信号中频率系数的闭形式解。万博 尤文图斯输出信号是通过解析非线性传递函数传递输入信号的结果。
这个例子使用了以下符号数学工具箱™功能:
动机
为了激发解决方案,我们从电路理论中取了一个简单的元素理想的二极管(在正向偏压操作)。当前,我
,是输出以指数方式依赖于输入,V
.二极管已被用于制造设备,如搅拌机和放大器,了解输出的谐波结构是有用的具有设备特性,符合设计规范.
信谊是V签证官真正的;I = Is*(exp(V/Vo) - 1)
我=
如果V是两个频率LO和RF的信号的线性组合,非线性传递函数将LO和RF混合,以创建具有组合谐波频率组合内容的输出:freqs = {LO, 2LO, RF, 2RF, LO-RF, LO-2RF,…}。
这个例子的目的是确定的系数频率
在输出中。
定义输入信号
输入信号是两个余弦信号的线性组合。
信谊c1c2t罗射频真正的;输入= c1*cos(LO*t) + c2*cos(RF*t)
输入=
定义谐波频率组合空间
下面,harmCombinations
输入频率的整数倍的组合组合吗罗
而且射频
.我们限制感兴趣的空间,每个空间由3个谐波定义罗
而且射频
的方向。
N = 3;harmCombinations = [kron ((0: n), (n * 2 + 1, - 1)), repmat ((- n: n), n + 1, 1)];频率= harmcombination *[LO;RF];
第一个n
频率只是负谐波频率,因此考虑到输入信号是实数,是多余的。
Freqs = Freqs (n+1:结束)
频率=
泰勒展开
为了覆盖感兴趣的频谱,一个四阶的泰勒级数我(V)
是充分的。
s = taylor(I, V,“秩序”4)
s =
的输入信号组合罗
而且射频
频率和表达f
在这方面因为(LO * t)
而且因为(RF * t)
.
f0 = subs(s, V,输入);F = expand(f0)
f =
重写f
用余弦的单次幂表示。
F = combine(F,“要求”)
f =
提取和显示系数
得到如下形式的非常数即非直流谐波频率项因为(频率* t)
.
cosFreqs = cos(扩展(频率*t));terms = collect(setdiff(cosFreqs', sym(1)));
提取包括直流在内的所有谐波频率项的系数。
纽瓦斯= sym(“x”,(1,元素个数(计算)]);[cx, newvarsx] = coeffs(subs(f,terms,newvars), newvars);Tx = sym(零(1,数字(cx)));为k = 1:元素个数(newvarsx)如果Newvarsx (k) ~= 1 tx(k) = terms(newvars == Newvarsx (k));其他的Tx (k) = newvarsx(k);结束结束Cx =化简(Cx);
使用表显示系数,T
.使用cosFreqs
作为行标识符。
cosFreqs = arrayfun(@char,cosFreqs,“UniformOutput”、假);频率= arrayfun(@char,freqs,“UniformOutput”、假);系数= num2cell(零(大小(频率)));T = table(频率,系数,“RowNames”, cosFreqs);
分配残雪
到合适的行T
对应于的余弦项tx
.
nonzeroCosFreqs = arrayfun(@char,tx,“UniformOutput”、假)。”;T (nonzeroCosFreqs,“系数”) = arrayfun(@char,cx,“UniformOutput”、假)。”;
现在,删除行名,因为它们是多余的。
T.Properties.RowNames = {};
观察这些项的表达式在LO和RF中是对称的。
T
T =25×2表频率系数 _______________ _____________________________________________ {' 0 '}{”(* (c1 ^ 2 + c2 ^ 2)) /(4 *签证官^ 2)'}{“射频”}{”(* c2 *(8 *签证官^ 2 + 2 * c1 ^ 2 + c2 ^ 2)) /(8 *签证官^ 3)}{2 *射频的}{”(* c2 ^ 2) /(4 *签证官^ 2)}{3 *射频的}{”(* c2 ^ 3) /(24 *签证官^ 3)}{LO - 3 *射频的}{[0]}{LO - 2 *射频的}{”(* c1 * c2 ^ 2) /(8 *签证官^ 3)}{“LO - RF”}{”(c1是* * c2) /(2 *签证官^ 2)'}{“LO”}{”(c1是* * (8 * Vo c1 ^ ^ 2 + 2 + 2 * c2 ^ 2)) /(8 *签证官^ 3)}{“LO + RF”}{”(c1是* * c2) /(2 *签证官^ 2)'}{LO + 2 *射频的}{”(* c1 * c2 ^ 2) /(8 *签证官^ 3)}{LO + 3 *射频的}{[ 0]} {'2*LO - 3*RF'} {[ 0]} {'2*LO - 2*RF'} {[ 0]} {'2*LO - RF' } {'(Is*c1^2*c2)/(8*Vo^3)' } {'2*LO' } {'(Is*c1^2)/(4*Vo^2)' } {'2*LO + RF' } {'(Is*c1^2*c2)/(8*Vo^3)' } ⋮
验证系数
如下图所示,输出波形由系数重建,与输出精确匹配。
Simplify (f0 - (dot(tx,cx)))
ans =
图非线性转移
以下显示了上述分析的特定非线性传递函数,在时域和频域,对于某些频率和电压比的值。首先,提取数据。
样本值= struct(“c1”, 0.4,c2的, 1“罗”, 800,“射频”, 13600,“Vo”, 1“是”1);Sample_input = subs(输入,sample_values)
sample_input =
Sample_output = sub (f,sample_values)
sample_output =
Sample_freqs = 0(大小(tx));为k=1:数字(tx) cosTerm = subs(tx(k),sample_values);freq = simplify(acos(cosTerm),“IgnoreAnalyticConstraints”,真正的)/ t;Sample_freqs (k) = double(freq);结束Sample_heights = double(subs(cx,sample_values));
然后,用fplot
而且阀杆
画出函数和它们的谐波频率。
次要情节(2 2 1);fplot (sample_input[0, 0.01])标题输入次要情节(2、2、3);阀杆([sample_values。罗, sample_values.RF],[sample_values.c1,sample_values.c2]); title输入频率的次要情节(2,2,2);fplot (sample_output[0, 0.01])标题输出次要情节(2、2、4);阀杆(sample_freqs sample_heights)标题的输出频率