Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

cascadesparams

Combine S-parameters to form cascaded network

Syntax

s_params = cascadesparams(s1_params,s2_params,...,sk_params)
hs = cascadesparams(hs1,hs2,...,hsk)
s_params = cascadesparams(s1_params,s2_params,...,sk_params,Kconn)

Description

s_params = cascadesparams(s1_params,s2_params,...,sk_params) cascades the scattering parameters of the K input networks described by the S-parameters s1_params through sk_params. The function stores the S-parameters of the cascade in s_params. Each of the input networks must be a 2N-port network described by a 2N-by-2N-by-M array of S-parameters. All networks must have the same reference impedance.

hs = cascadesparams(hs1,hs2,...,hsk) cascades K S-parameter objects to create the cascaded network hs. The function checks that the Impedance and Frequencies properties of each object are equal and that the Parameters property contains a 2N-by-2N-by-M array of S-parameters.

cascadesparams assumes that you are using the port ordering given in the following illustration.

Based on this ordering, the function connects ports N + 1 through 2N of the first network to ports 1 through N of the second network. Therefore, when you use this syntax:

  • Each network has an even number of ports

  • Every network in the cascade has the same number of ports.

To use this function for S-parameters with different port arrangements, use the snp2smp function to reorder the port indices before cascading the networks.

s_params = cascadesparams(s1_params,s2_params,...,sk_params,Kconn) cascades the scattering parameters of the K input networks described by the S-parameters s1_params through sk_params. The function creates a cascaded network based on the number of cascade connections between networks, specified by Kconn. Kconn must be a positive scalar or vector of size K – 1.

  • If Kconn is a scalar, cascadesparams makes the same number of connections between each pair of consecutive networks.

  • If Kconn is a vector, the ith element of Kconn specifies the number of connections between the ith and the i+1th networks.

cascadesparams always connects the last Kconn(i) ports of the ith network and the first Kconn(i) ports of the i+1th network. The ports of the entire cascaded network represent the unconnected ports of each individual network, taken in order from the first network to the nth network.

Also, when you specify Kconn:

  • Each network can have either an even or odd number of ports.

  • Every network in the cascade can have a different number of ports.

Examples

collapse all

Assemble a 2-port cascaded network from two sets of 2-port S-parameters. Create two sets of 2-port S-parameters.

ckt1 = read(rfckt.amplifier,'default.s2p');
ckt2 = read(rfckt.passive,'passive.s2p');
freq = [2e9 2.1e9];
analyze(ckt1,freq);
analyze(ckt2,freq);
sparams_2p_1 = ckt1.AnalyzedResult.S_Parameters;
sparams_2p_2 = ckt2.AnalyzedResult.S_Parameters;

Cascade the S-parameters.

sparams_cascaded_2p = cascadesparams(sparams_2p_1,sparams_2p_2)
sparams_cascaded_2p(:,:,1) =

  -0.4332 + 0.5779i   0.0081 - 0.0120i
   2.6434 + 1.2880i   0.5204 - 0.5918i


sparams_cascaded_2p(:,:,2) =

  -0.1271 + 0.3464i  -0.0004 - 0.0211i
   3.8700 - 0.6547i   0.4458 - 0.6250i

Assemble a 3-port cascaded network from a set of 3-port S-parameters and a set of 2-port S-parameters.

Create one set of 3-port S-parameters and one set of 2-port S-parameters.

ckt1 = read(rfckt.passive,'default.s3p');
ckt2 = read(rfckt.amplifier,'default.s2p');
freq = [2e9 2.1e9];
analyze(ckt1,freq);
analyze(ckt2,freq);
sparams_3p = ckt1.AnalyzedResult.S_Parameters;
sparams_2p = ckt2.AnalyzedResult.S_Parameters;

Cascade the two sets by connecting one port between them.

Kconn = 1;
sparams_cascaded_3p = cascadesparams(sparams_3p,sparams_2p,Kconn)
sparams_cascaded_3p(:,:,1) =

   0.1339 - 0.9561i   0.0325 + 0.2777i   0.0222 + 0.0092i
   0.3497 + 0.2449i   0.3130 - 0.9235i   0.0199 + 0.0255i
  -4.0617 + 5.0914i  -1.6296 + 4.7333i  -0.7133 - 0.7305i


sparams_cascaded_3p(:,:,2) =

  -0.3023 - 0.7303i   0.0635 + 0.4724i   0.0005 - 0.0220i
   0.1408 + 0.2705i  -0.1657 - 0.7749i   0.0198 - 0.0274i
   5.7709 + 2.2397i   4.1929 - 0.2165i  -0.5092 + 0.4251i

Assemble a 3-port cascaded network from a set of 3-port S-parameters and a set of 2-port S-parameters, connecting the second port of the 3-port network to the first port of the 2-port.

ckt1 = read(rfckt.passive,'default.s3p');
ckt2 = read(rfckt.amplifier,'default.s2p');
freq = [2e9 2.1e9];
analyze(ckt1,freq);
analyze(ckt2,freq);
sparams_3p = ckt1.AnalyzedResult.S_Parameters;
sparams_2p = ckt2.AnalyzedResult.S_Parameters;

Reorder the second and third ports of the 3-port network

sparams_3p_2 = snp2smp(sparams_3p,50,[1 3 2])
sparams_3p_2(:,:,1) =

  -0.0073 - 0.8086i   0.1114 + 0.3027i  -0.0318 + 0.4208i
  -0.0285 + 0.4285i   0.0503 - 0.8080i   0.0898 + 0.3177i
   0.0869 + 0.3238i  -0.0701 + 0.4278i   0.1431 - 0.7986i


sparams_3p_2(:,:,2) =

  -0.2560 - 0.7399i   0.2124 + 0.2502i   0.0895 + 0.4536i
   0.1031 + 0.4867i  -0.2078 - 0.7553i   0.1989 + 0.2725i
   0.2079 + 0.2988i   0.0508 + 0.5019i  -0.1163 - 0.7761i

Cascade the two sets by connecting one port between them

Kconn = 1;
sparams_cascaded_3p_2 = cascadesparams(sparams_3p_2,...
     sparams_2p,Kconn)
sparams_cascaded_3p_2(:,:,1) =

   0.1391 - 0.9217i   0.3442 + 0.2475i   0.0180 + 0.0214i
   0.0487 + 0.3061i   0.2064 - 0.9111i   0.0190 + 0.0109i
  -1.7344 + 4.1655i  -4.2628 + 3.9827i  -0.6199 - 0.7368i


sparams_cascaded_3p_2(:,:,2) =

  -0.3058 - 0.7358i   0.1492 + 0.2216i   0.0164 - 0.0271i
   0.0714 + 0.5048i  -0.2584 - 0.7547i   0.0025 - 0.0230i
   4.6396 - 0.0736i   5.6709 + 3.0321i  -0.5803 + 0.4618i

Assemble a 3-port cascaded network from a set of 3-port S-parameters and two sets of 2-port S-parameters.

ckt1 = read(rfckt.passive,'default.s3p');
ckt2 = read(rfckt.amplifier,'default.s2p');
ckt3 = read(rfckt.passive,'passive.s2p');
freq = [2e9 2.1e9];
analyze(ckt1,freq);
analyze(ckt2,freq);
analyze(ckt3,freq);
sparams_3p = ckt1.AnalyzedResult.S_Parameters;
sparams_2p_1 = ckt2.AnalyzedResult.S_Parameters;
sparams_2p_2 = ckt3.AnalyzedResult.S_Parameters;

Connect one port between each set of adjacent networks.

Kconn = [1 1];
sparams_cascaded_3p_3 = cascadesparams(sparams_3p,...
     sparams_2p_1,sparams_2p_2,Kconn)
sparams_cascaded_3p_3(:,:,1) =

   0.1144 - 0.8944i   0.0342 + 0.3273i   0.0046 + 0.0052i
   0.2861 + 0.3040i   0.2822 - 0.8643i   0.0020 + 0.0091i
  -1.6910 + 0.8202i  -1.0132 + 1.0296i   0.5275 - 0.6425i


sparams_cascaded_3p_3(:,:,2) =

  -0.2985 - 0.8130i   0.0429 + 0.4202i   0.0075 - 0.0062i
   0.2177 + 0.1692i  -0.1463 - 0.8590i   0.0149 - 0.0013i
   0.9210 + 2.5820i   1.2868 + 1.3420i   0.3627 - 0.5876i

Assemble a 3-port cascaded network from a set of 3-port S-parameters and two sets of 2-port S-parameters, connecting the 3-port network to both 2-port networks.

ckt1 = read(rfckt.passive,'default.s3p');
ckt2 = read(rfckt.amplifier,'default.s2p');
ckt3 = read(rfckt.passive,'passive.s2p');
freq = [2e9 2.1e9];
analyze(ckt1,freq);
analyze(ckt2,freq);
analyze(ckt3,freq);
sparams_3p = ckt1.AnalyzedResult.S_Parameters;
sparams_2p_1 = ckt2.AnalyzedResult.S_Parameters;
sparams_2p_2 = ckt3.AnalyzedResult.S_Parameters;

Cascade sparams_3p and sparams_2p_1 by connecting one port between them.

Kconn = 1;
sparams_cascaded_3p = cascadesparams(...
  sparams_3p, ...
  sparams_2p_1, ...
  Kconn)
sparams_cascaded_3p(:,:,1) =

   0.1339 - 0.9561i   0.0325 + 0.2777i   0.0222 + 0.0092i
   0.3497 + 0.2449i   0.3130 - 0.9235i   0.0199 + 0.0255i
  -4.0617 + 5.0914i  -1.6296 + 4.7333i  -0.7133 - 0.7305i


sparams_cascaded_3p(:,:,2) =

  -0.3023 - 0.7303i   0.0635 + 0.4724i   0.0005 - 0.0220i
   0.1408 + 0.2705i  -0.1657 - 0.7749i   0.0198 - 0.0274i
   5.7709 + 2.2397i   4.1929 - 0.2165i  -0.5092 + 0.4251i

Reorder the second and third ports of the 3-port network.

sparams_cascaded_3p_3 = snp2smp(...
  sparams_cascaded_3p, ...
  50, ...
  [1 3 2])
sparams_cascaded_3p_3(:,:,1) =

   0.1339 - 0.9561i   0.0222 + 0.0092i   0.0325 + 0.2777i
  -4.0617 + 5.0914i  -0.7133 - 0.7305i  -1.6296 + 4.7333i
   0.3497 + 0.2449i   0.0199 + 0.0255i   0.3130 - 0.9235i


sparams_cascaded_3p_3(:,:,2) =

  -0.3023 - 0.7303i   0.0005 - 0.0220i   0.0635 + 0.4724i
   5.7709 + 2.2397i  -0.5092 + 0.4251i   4.1929 - 0.2165i
   0.1408 + 0.2705i   0.0198 - 0.0274i  -0.1657 - 0.7749i

Cascade sparams_3p and sparams_2p_2 by connecting one port between them.

sparams_cascaded_3p_4 = cascadesparams(...
  sparams_cascaded_3p_3, ...
  sparams_2p_2, ...
  Kconn)
sparams_cascaded_3p_4(:,:,1) =

   0.1724 - 0.9106i   0.0240 + 0.0134i   0.0104 + 0.0971i
  -3.7923 + 6.1234i  -0.7168 - 0.6498i  -0.5855 + 1.6475i
   0.1214 + 0.0866i   0.0069 + 0.0090i   0.6289 - 0.6145i


sparams_cascaded_3p_4(:,:,2) =

  -0.3014 - 0.6620i   0.0072 - 0.0255i  -0.0162 + 0.1620i
   6.3709 + 2.2809i  -0.5349 + 0.3637i   1.4106 + 0.2587i
   0.0254 + 0.1011i   0.0087 - 0.0075i   0.5477 - 0.6253i

Introduced before R2006a

Was this topic helpful?