# s2smm

Convert single-ended S-parameters to mixed-mode S-parameters

## Syntax

```[s_dd,s_dc,s_cd,s_cc] = s2smm(s_params_even,rfflag) s_mm = s2smm(s_params_odd) ```

## Description

```[s_dd,s_dc,s_cd,s_cc] = s2smm(s_params_even,rfflag)``` converts single-ended S-parameters to mixed-mode form.

`s_mm = s2smm(s_params_odd)` converts single-ended odd S-parameters matrix to mixed-mode matrix. To create a mixed-mode matrix from `s_params_odd`, the single-ended input ports are paired sequentially (port1 with port 2, port 3 with port 4, etc.), and the last port is left single ended.

## Input Arguments

collapse all

S-parameters, specified as a complex 2 N by 2 N by K array of K 2 N-port S-Parameters. These parameters describe a device with an even number of ports.

Port order, specified as `1`, `2`, `3`, determines how the function orders the ports:

• `rfflag = 1``s2smm` Odd-numbered ports are followed by even-numbered ports: 1,3,5,…..,2N-4,2N-2,2N.

• Ports 1 and 3 become mixed-mode pair 1.

• Ports 5 and 7 become mixed-mode pair 2.

• Ports 2 and 4 become mixed-mode pair 3.

• Ports 6 and 8 become mixed-mode pair 4.

• `rfflag = 2` — Ports are paired in ascending or descending order: (1,2),…..,(2N-1,2N)

• Ports 1 and 2 become mixed-mode pair 1.

• Ports 3 and 4 become mixed-mode pair 2.

• Ports 5 and 6 become mixed-mode pair 3.

• Ports 7 and 8 become mixed-mode pair 4.

• `rfflag = 3` — Half of the ports are in ascending order and half of the ports are in descending order: 1,2,…..,N,2N,2N-1,….,N+1.

• Ports 1 and 2 become mixed-mode pair 1.

• Ports 3 and 4 become mixed-mode pair 2.

• Ports 8 and 7 become mixed-mode pair 3.

• Ports 6 and 5 become mixed-mode pair 4.

S-parameters, specified as a complex (2 N+1) by (2 N+1) by K array of K (2 N+1) port single-ended S-Parameters matrix. These parameters describe a device with an odd number of ports.

The port-ordering argument `option` is not available for (2N + 1)-by-(2N + 1)-by-K input arrays. In this case, the ports are always paired in ascending order, and the last port remains single-ended. For example, in a 7-port network:

• Ports 1 and 2 become mixed-mode pair 1.

• Ports 3 and 4 become mixed-mode pair 2.

• Ports 5 and 6 become mixed-mode pair 3.

• Ports 7 remains single ended.

## Output Arguments

collapse all

Mixed-mode S-parameters, returned as complex N-by-N-by-K array, containing K matrices of differential-mode, 2N-port S-parameters (Sdd).

Mixed-mode S-parameters, returned as complex N-by-N-by-K array, containing K matrices of differential-mode, 2N-port S-parameters (Sdc).

Mixed-mode S-parameters, returned as complex N-by-N-by-K array, containing K matrices of differential-mode, 2N-port S-parameters (Scd).

Mixed-mode S-parameters, returned as complex N-by-N-by-K array, containing K matrices of differential-mode, 2N-port S-parameters (Scc).

Mixed-mode S-parameters, returned as complex N-by-N-by-K array, containing K matrices of differential-mode, 2N-port S-parameters (Smm).

## Examples

collapse all

Convert 4-port S-parameters to 2-port, mixed-mode S-parameters.

```ckt = read(rfckt.passive,'default.s4p'); s4p = ckt.NetworkData.Data; [s_dd,s_dc,s_cd,s_cc] = s2smm(s4p); s_dd1=s_dd(1:5)```
```s_dd1 = 1×5 complex -0.0124 - 0.0433i -0.5428 - 0.6900i -0.5434 - 0.6872i -0.0192 - 0.0504i -0.0138 - 0.0274i ```
`s_dc1=s_dc(1:5)`
```s_dc1 = 1×5 complex 0.0024 - 0.0035i 0.0007 - 0.0012i -0.0005 + 0.0019i 0.0023 - 0.0027i 0.0020 - 0.0033i ```
`s_cc1=s_cc(1:5)`
```s_cc1 = 1×5 complex 0.1799 - 0.1839i -0.5314 - 0.6800i -0.5300 - 0.6771i 0.1756 - 0.1910i 0.1045 - 0.2343i ```
`s_cd=s_cd(1:5)`
```s_cd = 1×5 complex 0.0015 - 0.0029i 0.0003 - 0.0009i -0.0005 + 0.0014i 0.0019 - 0.0027i 0.0030 - 0.0019i ```

## References

Granberg, T., Handbook of Digital Techniques for High-Speed Design.Upper Saddle River, NJ: Prentice Hall, 2004.