Frequency Response

frequency_response
freqresp
FrequencyResponse

Computes the frequency response of a signal injected at various nodes to compute transfer functions to multiple output nodes. Inputs and outputs should be electrical or mechanical nodes. It does this in an efficient way by using the same model and solving for multiple RHS input vectors.

This action does not alter the model state. This action will ignore any currently definied signal generator elements in the model. Produces an output transfer matrix from each input node to some readout output. The shape of the output matrix is: [frequencies, inputs, outputs] To inject into optical nodes please see FrequencyResponse2 and FrequencyResponse3. To readout optical nodes please see FrequencyResponse3 and FrequencyResponse4.

Syntax:
freqresp(f, inputs, outputs, open_loop=false, name='frequency_response')
Required:

f: Frequencies to compute the transfer functions over

inputs: Mechanical or electrical node to inject signal at

outputs: Mechanical or electrical nodes to measure output at

Optional:

open_loop: Computes open loop transfer functions if the system has closed

name: Solution name

See Also:

freqresp2, freqresp3, freqresp4

frequency_response2
freqresp2
FrequencyResponse2

Computes the frequency response of a signal injected at an optical port at a particular optical frequency. This differs from FrequencyResponse in the way the inputs and outputs are prescribed. For FrequencyResponse2 you specify optical input nodes and a signal output node.

This action does not alter the model state. This action will ignore any currently definied signal generator elements in the model. Produces an output transfer matrix from each HOM at a particular frequency and optical node to some readout output. The shape of the output matrix is: [frequencies, outputs, inputs, HOMs] It should be noted that when exciting a lower signal sideband frequency it will actually return the operator for propagating the conjugate of the lower sideband. This is because FINESSE is internally solving for the conjugate of the lower sideband to linearise non-linear optical effects. To inject into mechanical and electrical nodes please see FrequencyResponse and FrequencyResponse4. To readout optical nodes please see FrequencyResponse3 and FrequencyResponse4.

Syntax:
freqresp2(f, inputs, outputs, name='frequency_response2')
Required:

f: Frequencies to compute the transfer functions over

inputs: Optical node and frequency tuple to inject at. A symbolic refence to the model’s fsig.f parameter should always be used when defining a frequency to look at.

outputs: Mechanical or electrical (signal)nodes to measure output to

Optional:

name: Solution name

See Also:

freqresp, freqresp3, freqresp4

frequency_response3
freqresp3
FrequencyResponse3

Computes the frequency response of a signal injected at an optical port at a particular optical frequency. This differs from FrequencyResponse in the way the inputs and outputs are prescribed. For FrequencyResponse3 you specify optical input nodes and optical output nodes.

This action does not alter the model state. This action will ignore any currently definied signal generator elements in the model. Produces an output transfer matrix from each HOM at a particular frequency and optical node to some other optical node and frequency. The shape of the output matrix is: [frequencies, outputs, inputs, HOMs, HOMs] It should be noted that when exciting a lower signal sideband frequency it will actually return the operator for propagating the conjugate of the lower sideband. This is because FINESSE is internally solving for the conjugate of the lower sideband to linearise non-linear optical effects. To inject into mechanical and electrical nodes please see FrequencyResponse and FrequencyResponse4. To readout mechanical and electrical nodes please see FrequencyResponse and FrequencyResponse2.

Syntax:
freqresp3(f, inputs, outputs, name='frequency_response3')
Required:

f: Frequencies to compute the transfer functions over

inputs: Optical node and frequency tuple to inject at. A symbolic reference to the model’s fsig.f parameter should always be used when defining a frequency to look at.

outputs: Optical node and frequency tuple to measure output at. A symbolic reference to the model’s fsig.f parameter should always be used when defining a frequency to look at.

Optional:

name: Solution name

See Also:

freqresp, freqresp2, freqresp4

frequency_response4
freqresp4
FrequencyResponse4

Computes the frequency response of a signal injected at an electrical or mechanical port. This differs from FrequencyResponse in the way the inputs and outputs are prescribed. For FrequencyResponse4 you specify signal input nodes and optical output nodes.

This action does not alter the model state. This action will ignore any currently defined signal generator elements in the model. Produces an output transfer matrix from each signal node to each HOM at a particular frequency and optical node. The shape of the output matrix is: [frequencies, outputs, inputs, HOMs] It should be noted that when exciting a lower signal sideband frequency it will actually return the operator for propagating the conjugate of the lower sideband. This is because FINESSE is internally solving for the conjugate of the lower sideband to linearise non-linear optical effects. To inject into optical nodes please see FrequencyResponse2 and FrequencyResponse3. To readout mechanical and electrical nodes please see FrequencyResponse and FrequencyResponse2.

Syntax:
freqresp4(f, inputs, outputs, name='frequency_response4')
Required:

f: Frequencies to compute the transfer functions over

inputs: Mechanical or electrical node to inject signal at

outputs: Optical node and frequency tuple to measure output at. A symbolic reference to the model’s fsig.f parameter should always be used when defining a frequency to look at.

Optional:

name: Solution name

See Also:

freqresp, freqresp2, freqresp3