Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Control Systems - CACSD > Linear Analysis > Frequency Domain > black

black

Black-Nichols diagram of a linear dynamical system

Syntax

black( sl,[fmin,fmax] [,step] [,comments] )
black( sl,frq [,comments] )
black(frq,db,phi [,comments])
black(frq,repf [,comments])

Arguments

sl

A siso or simo linear dynamical system, in state space, transfer function or zpk representations, in continuous or discrete time.

fmin,fmax

real scalars (frequency bounds)

frq

row vector or matrix (frequencies)

db,phi

row vectors or matrices (modulus, phase)

repf

row vectors or matrices (complex frequency response)

step

real

comments

string

Description

Black's diagram (Nichols'chart) for a linear dynamical system .

sl can be a continuous-time or discrete-time SIMO system given by its state space, rational transfer function (see syslin) or zpk representation. In case of multi-output the outputs are plotted with different colors.

The frequencies are given by the bounds fmin,fmax (in Hz) or by a row-vector (or a matrix for multi-output) frq.

step is the ( logarithmic ) discretization step. (see calfrq for the choice of default value).

comments is a vector of character strings (captions).

db,phi are the matrices of modulus (in Db) and phases (in degrees). (One row for each response).

repf matrix of complex numbers. One row for each response.

To plot the grid of iso-gain and iso-phase of y/(1+y) use nicolschart().

Default values for fmin and fmax are 1.d-3, 1.d+3 if sl is continuous-time or 1.d-3, 0.5/sl.dt (nyquist frequency) if sl is discrete-time.

Examples

//Black diagram
s=poly(0,'s');
sl=syslin('c',5*(1+s)/(.1*s.^4+s.^3+15*s.^2+3*s+1))
clf();black(sl,0.01,10);

//Black diagram with Nichols chart as a grid
s=poly(0,'s');
Plant=syslin('c',16000/((s+1)*(s+10)*(s+100)));
//two degree of freedom PID
tau=0.2;xsi=1.2;
PID=syslin('c',(1/(2*xsi*tau*s))*(1+2*xsi*tau*s+tau.^2*s.^2));
clf();
black([Plant;Plant*PID ],0.01,100,["Plant";"Plant and PID corrector"]);
//move the caption in the lower right corner
ax=gca();Leg=ax.children(1);
Leg.legend_location="in_lower_right";
nicholschart(colors=color('light gray')*[1 1])

See also

  • nicholschart — Nichols chart
  • bode — Bode plot
  • nyquist — nyquist plot
  • syslin — linear system definition
  • calfrq — frequency response discretization
  • datatips — Tool for placing and editing tips along the plotted curves.

History

VersionDescription
6.0

handling zpk representation

Report an issue
<< Frequency Domain Frequency Domain bode >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:02:45 CET 2017