Product Documentation
Spectre Circuit Simulator Reference
Product Version 23.1, September 2023

Periodic S-Parameter Analysis (psp)

Description

The periodic SP (PSP) analysis is used to compute scattering and noise parameters for n-port circuits that exhibit frequency translation, such as mixers. It is a small-signal analysis like SP analysis, except, as in PAC and PXF, the circuit is first linearized about a quasi-periodically varying operating point as opposed to a simple DC operating point. Linearizing about a periodically time-varying operating point allows the computation of S-parameters between circuit ports that convert signals from one frequency band to another. PSP can also calculate noise parameters in frequency-converting circuits. PSP computes noise figure (both single-sideband and double-sideband), input referred noise, equivalent noise parameters, and noise correlation matrices. Similar to PNoise, but unlike SP, the noise features of the PSP analysis include noise folding effects due to the periodically time-varying nature of the circuit.

Computing the n-port S-parameters and noise parameters of a periodically varying circuit is a two step process. First, the small stimulus is ignored and the periodic steady-state response of the circuit to possibly large periodic stimulus is computed using PSS analysis. As part of the PSS analysis, the periodically time-varying representation of the circuit is computed and saved for later use. The second step is to apply small-signal excitations to compute the n-port S-parameters and noise parameters. This is done using PSP analysis. PSP analysis cannot be used independently, it must follow a PSS analysis. However, any number of periodic small-signal analyses such as PAC, PSP, PXF, PNoise, can follow a PSS analysis.

Unlike other analyses in Spectre, this analysis can only sweep frequency.

Syntax

Name psp parameter=value ...

Parameters

Sweep interval parameters

start

0

Start sweep limit.

stop

Stop sweep limit.

center

Center of sweep.

span

0

Sweep limit span.

step

Step size, linear sweep.

lin

50

Number of steps, linear sweep.

dec

Points per decade.

log

50

Number of steps, log sweep.

values

[...]

Array of sweep values.

valuesfile

Name of the file containing the sweep values.

sweeptype

unspecified

Specifies if the sweep frequency range is the absolute frequency of input or if it is relative to the port harmonics. When the unspecified value is used, Spectre RF sweeps using relative when autonomous simulation is performed or when the analysis is PSP; for other cases Spectre RF sweeps the absolute value of the input. Possible values are absolute, relative and unspecified.

Port parameters

ports

[...]

List of active ports. Ports are numbered in the specified order. For noise figure computation, the input is considered as port 1 and the output as port 2.

portharmsvec

[...]

List of harmonics that are active on specified list of ports. Must have a one-to-one correspondence with the 'ports' vector.

harmsvec

[...]

List of harmonics, in addition to the ones associated with specific ports by portharmsvec, that are active.

Output parameters

freqaxis

Specifies whether the results should be printed as per the input frequency, the output frequency, or the absolute value of the input frequency. Default is in. Possible values are absin, in and out.

file

Output file name. It just supports S-parameters in PSP, HBSP, and QPSP analysis.

datafmt

spectre

Data format of the S-parameter output file. Possible values are spectre, touchstone and touchstone2.

datatype

realimag

Data type of the S-parameter output file. Possible values are realimag, magphase and dbphase.

noisedata

no

Should noise data be saved to the S-parameter output file; if yes, in what format. Possible values are no and twoport.

Noise parameters

donoise

yes

Perform noise analysis. If oprobe is specified as a valid port, this parameter is set to yes, and a detailed noise output is generated. Possible values are no and yes.

Probe parameters

maxsideband

7

In shooting pnoise, the parameter determines the maximum sideband that is included when computing noise, that is either up-converted or down-converted to the output by the periodic drive signal. In HB pnoise, the parameter determines the size of the small signal system when HB pnoise is performed. This parameter is critical for the accuracy of HB pnoise analysis. Using a small maxsideband may cause accuracy loss. The default value for the shooting pnoise is 7. For the HB pnoise, the default is the harms/maxharms setting in the HB large signal analysis.

Convergence parameters

tolerance

Tolerance for linear solver. The default value is 1.0e-9 for shooting-based solver and 1.0e-4 for harmonic balance-based solver.

relativeTol

Relative tolerance for harmonic balance-based linear solver. Default value is 1.0e-2.

gear_order

2

Gear order used for small-signal integration.

solver

turbo

Solver type. Possible values are std, turbo, std_hh and turbo_hh.

oscsolver

turbo

Oscillator solver type. It is recommended that you use ira for huge circuits. Possible values are std, turbo, ira and direct.

resgmrescycle

short

Restarts GMRES cycle. Possible values are instant, short, long, recycleinstant, recycleshort, recyclelong and custom.

osc_version

dts

Specifies the method to use in small signal analysis for autonomous circuit. Possible values are floquet, augmented and dts.

osc_accuracy

2

Accuracy control in small signal analysis for autonomous circuit when osc_version=dts. The higher this value, the more iterations GMRES solver will take. Maximum effective value is 5.

hbprecond_solver

autoset

Select a linear solver for the GMRES preconditioner. Default is autoset. With autoset, the simulator will automatically select the appropriate precondtioner. The preconditioner affects the rate of convergence of the linear matrix solver used in periodic small-signal analysis. When autoset is selected, the simulator may decide to switch to a different preconditioner after the analysis begins. When that happens, the simulator may issue a warning instructing you to choose a different preconditioner during subsequent runs. Although not required, choosing a different preconditioner according to the simulator's instructions may speed up subsequent analyses. Possible values are basicsolver, blocksolver, autoset, blockdense, blocksolver2 and directsolver.

lowmem

0

Harmonic balance low memory mode; Possible values are 0, 1, or number (>=10). The default value is '0', the low memory mode is turned off; if '1' is set, the standard low memory mode is turned on; If a number no less than 10 is set, Spectre interprets the value as the memory requested in GigaBytes..

krylov_size

200

This parameter is used to set maximum iteration count of the linear matrix solver used in periodic small-signal analysis. After reaching 1.25*krylov_size  iterations, the iteration is forced to terminate because of the poor rate of convergence. Increase the krylov_size if the simulation reports insufficient norm reduction errors in GMRES.

Annotation parameters

annotate

sweep

Degree of annotation. Possible values are no, title, sweep, status, steps and detailed_hb.

title

Analysis title.

sprobes

[...]

List of s-probes.

sprobeharmsvec

[...]

List of sprobe harmonics. Set 2 harmonics for each sprobe..

To specify the PSP analysis, the port and port harmonic relations must be specified. You can select the ports of interest by setting the port parameter, and the set of periodic small-signal output frequencies of interest by setting portharmsvec or the harmsvec parameters. For a given set of n integer numbers representing the harmonics K1, K2, ... Kn, the scattering parameters at each port are computed at the frequencies f(scattered)= f(rel) + Ki * fund(pss), where f(rel) represents the relative frequency of a signal incident on a port, f(scattered) represents the frequency to which the relevant scattering parameter represents the conversion,  and fund(pss) represents the fundamental frequency used in the corresponding PSS analysis.

Therefore, when analyzing a down-converting mixer, with signal in the upper sideband, and sweeping the RF input frequency, the most relevant harmonic for RF input is Ki= 1 and for IF output is Ki= 0. Hence, we can associate K2=1 with the IF port and K1=0 with the RF port. S21 represents the transmission of signal from the RF to IF and S11 the reflection of signal back to the RF port. If the signal was in the lower sideband, a choice of K1=-1 would be more appropriate.

Either portharmsvec or harmsvec can be used to specify the harmonics of interest. If portharmsvec is given, the harmonics must be in one-to-one correspondence with the ports, with each harmonic associated with a single port. If harmonics are specified in the optional harmsvec parameter, all possible frequency-translating scattering parameters associated with the specified harmonics are computed.

With PSP, the frequency of the input and of the response are usually different (this is an important area in which PSP differs from SP). Because the PSP computation involves inputs and outputs at frequencies that are relative to multiple harmonics, the freqaxis and sweeptype parameters behave differently in PSP than in PAC and PXF.

The sweeptype parameter controls the way the frequencies in the PSP analysis are swept. A relative sweep is a sweep relative to the analysis harmonics (not the PSS fundamental), and an absolute sweep is a sweep of the absolute input source frequency. For example, with a PSS fundamental of 100MHz, portharmsvec set to [9 1] to examine a down-converting mixer, sweeptype=relative, and a sweep range of f(rel)=0->50MHz, S21 would represent the strength of signal transmitted from the input port in the range 900->950MHz to the output port at frequencies 100->150MHz. Using sweeptype=absolute and sweeping the frequency from 900->950MHz would calculate the same quantities, because f(abs)=900->950MHz, and f(rel) = f(abs) - K1 * fund(pss) = 0->50MHz, where, K1=9 and fund(pss) = 100MHz.

Usually, it is not necessary to sweep frequency in PSP over more than one fundamental PSS period.

The freqaxis parameter is used to specify whether the results should be output versus the scattered frequency at the input port (in), the scattered frequency at the output port (out), or the absolute value of the frequency swept at the input port (absin). If freqaxis is absin, the S-parameters at negative frequencies are taken conjugate and output at corresponding positive frequencies.

Unlike in PAC/PXF/PNoise, increasing the number of requested ports and harmonics increases the simulation time substantially.

To ensure accurate results in PSP, the maxacfreq of the corresponding PSS analysis should be set to guarantee that | max{f(scattered)} | is less than maxacfreq; otherwise, the computed solution might be contaminated by aliasing effects.

PSP analysis also computes noise figures, equivalent noise sources, and noise parameters. The noise computation, which is skipped only when donoise=no, requires additional simulation time. If:

No = total output noise at frequency f

Ns = noise at the output due to the input probe (the source)

Nsi = noise at the output due to the image harmonic at the source

Nso = noise at the output due to harmonics other than input at the source

Nl = noise at the output due to the output probe (the load)

IRN = input referred noise

G = gain of the circuit

F = noise factor (single side band)

NF = noise figure (single side band)

Fdsb = double sideband noise factor

NFdsb = double sideband noise figure

Fieee = IEEE single sideband noise factor

NFieee = IEEE single sideband noise figure

Then:

IRN = sqrt(No^2/G^2)

F = (No^2 - Nl^2)/Ns^2

NF = 10*log10(F)

Fdsb = (No^2 - Nl^2)/(Ns^2+Nsi^2)

NFdsb = 10*log10(Fdsb)

Fieee = (No^2 - Nl^2 - Nso^2)/Ns^2

NFieee = 10*log10(Fieee).

When the results are output, IRN is named in, G is named gain, F, NF, Fdsb, NFdsb, Fieee, and NFieee are named F, NF, Fdsb, NFdsb, Fieee, and NFieee, respectively. Note that the gain computed by PSP is the voltage gain from the actual circuit input to the circuit output, and not the gain from the internal port voltage source to the output.

To ensure accurate noise calculations, the maxsideband or sidebands parameters must be set to include the relevant noise folding effects. maxsideband is only relevant to the noise computation features of PSP.

You can define sweep limits by specifying the end points or by providing the center value and span of the sweep. Steps can be linear or logarithmic, and you can specify the number of steps or the size of each step. In addition, You can specify a step size parameter (step, lin, log, or dec) to determine whether the sweep is linear or logarithmic. If you do not specify a step size parameter, the sweep is linear when the ratio of stop to start values is less than 10 and logarithmic when this ratio is 10 or greater. Alternatively, you may specify the values that the sweep parameter should take by using the values parameter. If you specify both a specific set of values and a set specified using a sweep range, the two sets are merged and collated before being used. All frequencies are in Hertz.


Return to top
 ⠀
X