Computing device and method for enforcing passivity of scattering parameter equivalent circuit

A computing device and a method for scattering parameter equivalent circuit reads a scattering parameter file from a storage device. A non-common-pole rational function of the scattering parameters in the scattering parameter file is created by applying a vector fitting algorithm to the scattering parameters. Passivity of the non-common-pole rational function is enforced if the non-common-pole rational function does not satisfy a determined passivity requirement.

BACKGROUND

1. Technical Field

Embodiments of the present disclosure relates to circuit simulating methods, and more particularly, to a computing device and a method for enforcing passivity of scattering parameter (S-parameter) equivalent circuit.

2. Description of Related Art

Scattering parameters (S-parameters) are useful for analyzing behaviour of circuits without regard to detailed components of the circuits. The S-parameters may be measured at ports of a circuit at different signal frequencies. In a high frequency and microwave circuit design, the S-parameters of the circuit may be used to create a rational function, and the rational function may be used to generate an equivalent circuit model, which may be applied to time-domain analysis for the circuit design. For judging whether the circuit design satisfies stability requirements, the time-domain analysis result should be convergent. To ensure constringency, the rational function and the equivalent circuit model of the S-parameters are required to be passive.

DETAILED DESCRIPTION

FIG. 1is a block diagram of one embodiment of a computing device30for enforcing passivity of an S-parameter equivalent circuit. The computing device30is connected to a measurement device20. The measurement device20is operable to measure S-parameters at ports of a circuit10, to obtain an S-parameter file32, and stores the S-parameter file32in a storage device34of the computing device30. Depending on the embodiment, the storage device34may be a smart media card, a secure digital card, or a compact flash card. The measurement device20may be a network analyzer. The computing device30may be a personal computer, or a server, for example.

In this embodiment, the computing device30further includes a passivity enforcing unit31and at least one processor33. The passivity enforcing unit31includes a number of function modules (depicted inFIG. 2) The function modules may comprise computerized code in the form of one or more programs that are stored in the storage device34. The computerized code includes instructions that are executed by the at least one processor33, to create a non-common-pole rational function of the S-parameters, and analyze if the non-common-pole rational function satisfies determined passivity requirements, and enforces passivity of the non-common-pole rational function if the non-common-pole rational function does not satisfy the determined passivity requirements.

FIG. 2is a block diagram of one embodiment of the function modules of the passivity enforcing unit31in the computing device30ofFIG. 1. In one embodiment, the passivity enforcing unit31includes a parameter reading module311, a vector fitting module312, a passivity analysis module313, a passivity enforcing module314, and an equivalent circuit generation module315. A description of functions of the modules311to315are included in the following description ofFIG. 3.

FIG. 3is a flowchart of one embodiment of a method for enforcing passivity of an S-parameter equivalent circuit. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be changed.

In block S10, the measurement device20measures S-parameters at ports of the circuit10, to obtain the S-parameter file32, and stores the S-parameter file32in the storage device34. The parameter reading module311reads the S-parameters from the S-parameter file32.

In block S11, the vector fitting module312creates a non-common-pole rational function of the S-parameters by applying a vector fitting algorithm to the S-parameters. In one embodiment, the non-common-pole rational function of the S-parameters may be the following function labeled (1):

In the function (1), M represents control precision of the function, N represents the number of the ports of the circuit10, rmrepresents residue values, pmrepresents pole values, s=ω=2πƒ, ƒ represents a frequency of a test signal, and dmrepresents a constant. It is understood that control precision means how many pairs of pole-residue values are utilized in the function (1).

In block S12, the passivity analysis module313determines if the non-common-pole rational function satisfies a determined passivity requirement. A detailed description of block S12is depicted inFIG. 4. If the non-common-pole rational function does not satisfy the determined passivity requirement, block S13is implemented. Otherwise, if the non-common-pole rational function satisfies the determined passivity requirement, block S14is directly implemented.

In block S13, the passivity enforcing module314enforces passivity of the non-common-pole rational function. In one embodiment, passivity of the non-common-pole rational function is enforced by converting the function (1) to the following function labeled (2):

[S]=⁢[∑m=1M⁢rm1,1s+pm1,1∑m=1M⁢rm1,2s+pm1,2…∑m=1M⁢rm1,Ns+pm1,N∑m=1M⁢rm2,1s+pm2,1∑m=1M⁢rm2,2s+pm2,2…∑m=1M⁢rm2,Ns+pm2,N…………∑m=1M⁢rm1,Ns+pm1,N∑m=1M⁢rm2,Ns+pm2,N…∑m=1M⁢rmN,Ns+pmN,N]=⁢∑m=1M⁢∑i=1N⁢∑j=1i⁢rmi,js+pmi,j⁢Ei,j.(2)
In the function (2), E is a matrix may be shown using the following function labeled (3):

⌊S~⌋≅⁢S+Δ⁢⁢S=⁢∑m=1M⁢∑i=1N⁢[Ei,i⁡(rmi,i+Δ⁢⁢λm,i,i)s+pmi,i+∑j=1(j≠i)i⁢Ei,j⁡(rmi,j+Δ⁢⁢λm,i,j)s+pmi,j.(4)
In the function (4), Δλ is solved may be using the following functions labeled (5a) and (5b) according to quadratic programming (QP):

minΔ⁢⁢x⁢12⁢(Δ⁢⁢xT⁢⁢AsysT⁢Asys⁢Δ⁢⁢x);(5⁢a)Bsys⁢Δ⁢⁢x<c.(5⁢b)
Function (5a) is a least square equation. AsysTAsysin function (5a) may be showed using the following function labeled (6):

AsysT⁢Asys=∑k=0Ns⁢Abase⁡(sk)T⁢Abase⁡(sk).(6)
In the function (6), skare different signal frequencies listed in the S-parameter file32.
Abase(sk) in the function (6) and Δx in the function (5a) may be showed using the following functions labeled (7a) and (7b):

⁢Abase⁡(sk)=[Abase1⁡(sk)Abase2⁡(sk)…AbaseM⁡(sk)],⁢⁢⁢Abasem⁡(sk)=As⁢Apolem⁡(sk),⁢⁢Δ⁢⁢x=[Δ⁢⁢x1Δ⁢⁢x2…Δ⁢⁢xM],Δ⁢⁢xm=[Δ⁢⁢λm,1,1Δ⁢⁢λm,2,1Δ⁢⁢λm,2,2…Δ⁢⁢λm,N,N]⁢⁢⁢As=[100…0020…0001…0……………000…1],;(7⁢a)Apolem⁡(sk)=[1sk+pm1,100…001sk+pm⁢2,10…0001sk+pm2,2…0……………000…1sk+pmN,N].(7⁢b)
Function (5b) is a constrain equation. Bsysand c in function (5b) may be showed using the following function labeled (8):

Nc=(1+N)⁢N2⁢M,
{circle around (x)} is Kronecker tensor product, u and v may be showed using the following function labeled (10):

U-1=[u1…uN],V=[v1…vN].(10)
Bbase(s) in function (9) may be showed using the following function labeled (11):
Bbase(s)=[Bbase1(s)Bbase2(s) . . .BbaseM(s)],Bbasem(s)=BCBpolem(s)  (11).
In the function (11), Bcand Bpolem(s) may be showed using the following function labeled (12):

In block S14, the equivalent circuit generation module315generates an equivalent circuit model of the circuit10according to the non-common-pole rational function adjusted in block S13which satisfies the determined passivity requirement.

FIG. 4is a flowchart of one embodiment detailing S12inFIG. 3. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be changed.

In block S120, the passivity analysis module313converts the non-common-pole rational function to a state-space matrix. As mentioned above, the non-common-pole rational function is the following function (1):

In the function (14), A, B, C, and D may be showed using the following function (15):

In the function (15), Ar, Brand Crare state-space matrixes of the pole values Ŝrp,q(s) in (13a), and may be showed using the following function labeled (16):

Ac, Bc, and Ccare state-space matrixes of the residue values Ŝcp,q(s) in (13b), and may be showed using the following function (17):

In the function (17), Ψ(p, q, v)=(2V·N)(p−1)+2V(q−1)+2v, Acis a sparse matrix, Bris a (N·2V)×N sparse matrix, and Cris a N×(N·2V) sparse matrix.

The matrix conversion module313combines the functions (15), (16), and (17) to obtain expressions of the coefficients A, B, C, and D in the state-space matrix of the function (14).

In block S121, the passivity analysis module313substitutes the state-space matrix of the function (14) into a Hamiltonian matrix, where the Hamiltonian matrix is the following function labeled (18):

where R=DTD−I Q=DDT−I, I is an identity matrix.

In block S309, the passivity analysis module313analyzes the eigenvalues of the Hamiltonian matrix for pure imaginaries, to determine if the non-common-pole rational function of the S-parameters satisfies a determined passivity requirement. If the eigenvalues of the Hamiltonian matrix have pure imaginaries, the passivity analysis module313determines that the non-common-pole rational function of the S-parameters satisfies the determined passivity requirement. Otherwise, if the eigenvalues of the Hamiltonian matrix have no pure imaginaries, the passivity analysis module313determines that the non-common-pole rational function of the S-parameters does not satisfy the determined passivity requirement.