Skip to content

pyspice.simulator.noise not working as expected #375

@MaxRonce

Description

@MaxRonce

Discussed in #374

Originally posted by MaxRonce June 19, 2024
Hello, could I have an example of how to use the simulation.noise function with PySpice? All the online documentation I found isn't very helpful, and I couldn't figure out how to use this function properly.

image

I need to simulate a simple RLC circuit (see below).

image

I want to perform a noise analysis on this circuit. I've tried to use the transient analysis and measure impedance using PySpice simulation: everything works well.

However, when I try to use the .noise simulation, I can't get it to work properly.

    f_start = 1
    f_stop = 1000000
    circuit = Circuit(' Imp JUICE')

    V1 = circuit.SinusoidalVoltageSource('V1', 'N1', circuit.gnd, amplitude=1 @ u_V, frequency=1 @ u_kHz)
    circuit.R('1', 'N1', 'N001', 550 @ u_Ω)
    circuit.C('1', 'N2', 'N1', 150 @ u_pF)
    circuit.L('1', 'N2', 'N001', 12 @ u_H)
    circuit.R('2', 'N2', circuit.gnd, 1 @ u_kΩ)

    temperature = 25
    f_start = 1
    f_stop = 1000000


    simulator = circuit.simulator(temperature=temperature, nominal_temperature=25)
    analysis = simulator.noise(
        output_node='N1', 
        ref_node='N2', 
        src='V1',  
        points=100,
        start_frequency=f_start @u_Hz,  
        stop_frequency=f_stop @u_Hz,  
        variation='dec'
    )

error

Traceback (most recent call last):
  File "XX\PLASMAG\src\model\strategies\strategy_lib\SPICE.py", line 384, in <module>
    analysis = simulator.noise(
  File "XX\PLASMAG\lib\site-packages\PySpice\Spice\Simulation.py", line 1176, in noise
    return self._run('noise', *args, **kwargs)
  File "XX\lib\site-packages\PySpice\Spice\NgSpice\Simulation.py", line 118, in _run
    self._ngspice_shared.run()
  File "XX\lib\site-packages\PySpice\Spice\NgSpice\Shared.py", line 1168, in run
    self.exec_command(command)
  File "XX\lib\site-packages\PySpice\Spice\NgSpice\Shared.py", line 842, in exec_command
    raise NgSpiceCommandError("Command '{}' failed".format(command))
PySpice.Spice.NgSpice.Shared.NgSpiceCommandError: Command 'run' failed

I ran the same simulation in the LTSpice software after recreating the RLC circuit there, and the noise analysis works.

Could anyone help me fix this or provide a hint about how to use this function? I spent a lot of time without getting proper results.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions