Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Control System Analyzer

A web-based tool for analyzing and visualizing control system transfer functions, providing comprehensive analysis including time domain response, frequency domain characteristics, and stability analysis.

🌐 Live Demo

Visit the application: https://nguyenle15325.github.io/Control-system-analyzer/

📋 Features

Transfer Function Analysis

  • Input Methods: Enter transfer functions in standard form with numerator and denominator polynomials
  • System Representation: Supports continuous-time linear time-invariant (LTI) systems
  • Multiple Formats: Compatible with various transfer function representations

Time Domain Analysis

  • Step Response: Visualize system response to unit step input
  • Impulse Response: Analyze system behavior for impulse excitation
  • Performance Metrics:
    • Rise time
    • Settling time
    • Peak overshoot
    • Steady-state error
    • Time constant

Frequency Domain Analysis

  • Bode Plot: Magnitude and phase plots across frequency spectrum
  • Nyquist Plot: Complex plane representation for stability analysis
  • Gain and Phase Margins: Critical stability indicators
  • Resonant Peak and Bandwidth: Frequency response characteristics

Stability Analysis

  • Pole-Zero Map: Visualize system poles and zeros in the s-plane
  • Stability Determination: Automatic stability assessment based on pole locations
  • Root Locus: (If available) Track pole locations as gain varies

Interactive Visualizations

  • Dynamic Plots: Real-time graph updates as parameters change
  • Zoom and Pan: Explore plots in detail
  • Export Options: Save plots and results for reports and documentation

🚀 Getting Started

Access the Tool

Simply navigate to the live application in your web browser. No installation required!

Basic Usage

  1. Enter Transfer Function

    • Input numerator coefficients (e.g., 1, 2, 3 for s² + 2s + 3)
    • Input denominator coefficients (e.g., 1, 4, 5, 6 for s³ + 4s² + 5s + 6)
  2. Select Analysis Type

    • Choose from time domain, frequency domain, or stability analysis
    • Select specific plots (step response, Bode, pole-zero, etc.)
  3. View Results

    • Interactive plots display automatically
    • Performance metrics and stability information shown
    • Export or save results as needed

Example Systems

First-Order System

Numerator: 5
Denominator: 1, 5
Transfer Function: G(s) = 5/(s + 5)

Second-Order System

Numerator: 10
Denominator: 1, 2, 10
Transfer Function: G(s) = 10/(s² + 2s + 10)

Higher-Order System

Numerator: 1, 2
Denominator: 1, 3, 3, 1
Transfer Function: G(s) = (s + 2)/(s³ + 3s² + 3s + 1)

📊 Supported Analyses

Time Domain

  • ✅ Step response
  • ✅ Impulse response
  • ✅ Ramp response (if supported)
  • ✅ Custom input response (if supported)

Frequency Domain

  • ✅ Bode magnitude plot
  • ✅ Bode phase plot
  • ✅ Nyquist plot
  • ✅ Nichols chart (if supported)

System Characteristics

  • ✅ Pole-zero analysis
  • ✅ Damping ratio and natural frequency
  • ✅ System order and type
  • ✅ Stability assessment

🎓 Educational Applications

This tool is ideal for:

  • Control Systems Courses: Supplement lectures with interactive demonstrations
  • Engineering Students: Homework verification and concept visualization
  • Engineers: Quick analysis and system design validation
  • Self-Learning: Explore control theory concepts hands-on

📄 License

This project is open source and available under the MIT License.

About

Web-based tool to plot transfer function: Nyquist plot, Bode plot, Impulse response and Step response

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages