【机器人】振动分析和控制工具之Bode图

news2024/12/14 3:33:08

Bode 图完整介绍

Bode 图由两个部分组成:

  1. 幅值图 (Magnitude Plot):描述系统对不同频率输入信号的增益大小(幅值响应)。
  2. 相位图 (Phase Plot):描述系统输出信号相对于输入信号的相位差。

Bode 图的横轴是频率,以对数刻度显示(单位:rad/s)。纵轴则分别显示幅值(以分贝 dBdB 为单位)和相位(以角度为单位)。


相位图的完整解释

什么是相位图

相位图表示系统输出信号相对于输入信号的相位差,反映了信号的延迟或超前行为。相位的单位是角度(°),常见的范围是 [−360°,0°][-360°, 0°] 或 [−180°,180°][-180°, 180°]。

相位图的特征
  1. 低频段

    • 在低频区域(频率接近 0),系统的相位通常接近 0° 或一个稳定值。
    • 表明此时系统几乎没有延迟,输出信号能较好地跟随输入信号。
  2. 中频段

    • 随着频率增加,相位开始下降。
    • 如果系统包含极点或零点,会导致相位快速变化,这通常对应于系统的特征频率(如谐振频率)。
  3. 高频段

    • 在高频区域,相位趋于一个负的稳定值(如 −90°-90°、−180°-180° 等),反映出系统对高频信号具有较大的延迟。
实际意义
  1. 信号延迟和超前

    • 相位的正值表示信号超前,负值表示信号延迟。
    • 控制系统中,如果相位延迟过大,可能导致系统不稳定。
  2. 系统动态行为

    • 相位的变化率和方向反映了系统在不同频率下的动态性能。例如,相位快速变化的区域可能是谐振频率或系统的重要特征点。
  3. 稳定性分析

    • 结合幅值图,可以计算增益裕度和相位裕度,判断闭环系统是否稳定。

幅值图的完整解释

什么是幅值图

幅值图描述系统对不同频率输入信号的放大或衰减程度。幅值通常以分贝 dBdB 为单位,其公式为:

其中 H(jω) 是系统的频率响应。

幅值图的特征
  1. 低频段

    • 在低频区域(频率接近 0),幅值通常较高,表示系统能很好地通过低频信号。
    • 如果系统是稳定的低通滤波器,此时幅值接近直流增益值(例如 0 dB 或其他值)。
  2. 中频段

    • 中频区域的幅值可能会出现一个峰值(如果系统存在谐振)。
    • 谐振频率对应幅值最大的位置。谐振频率由系统的阻尼比和自然频率决定。
  3. 高频段

    • 在高频区域,幅值通常下降,以一个固定的斜率递减(例如 -20 dB/decade 或 -40 dB/decade)。
    • 反映出系统对高频信号的衰减特性。
实际意义
  1. 频率选择性

    • 幅值图显示系统对不同频率信号的放大或衰减能力。通过观察幅值图,可以判断系统是低通、高通、带通还是带阻滤波器。
  2. 增益分析

    • 控制系统中,幅值图用于确定增益裕度,确保系统在反馈时的稳定性。
  3. 噪声抑制

    • 对高频噪声的衰减程度可通过高频段的幅值特性分析。
  4. 动态范围

    • 幅值图可以帮助理解系统能处理的最大和最小信号幅度范围。

结合相位图和幅值图的整体意义

  1. 系统特征频率

    • 幅值图中谐振峰值对应的频率,通常会在相位图中表现为相位快速变化的点。这些频率是系统的特征频率。
  2. 稳定性判断

    • 使用幅值图和相位图可以计算系统的增益裕度和相位裕度,判断闭环系统的稳定性。
    • 增益裕度:当相位为 -180° 时,幅值距离 0 dB 的距离。
    • 相位裕度:当幅值为 0 dB 时,相位距离 -180° 的距离。
  3. 滤波性能

    • 幅值图显示系统对不同频率信号的处理能力,相位图则补充了延迟和动态行为的分析。

总结

Bode 图是控制系统和信号处理领域中最常用的工具之一,提供了频域内关于系统增益和相位的全方位信息。它直观地展示了系统如何响应不同频率的输入信号,为稳定性分析、滤波器设计和控制器优化提供了重要依据。

代码摘抄

import numpy as np
import matplotlib.pyplot as plt
from scipy import signal

# Define the transfer function
# Example: Second-order system H(s) = ω_n^2 / (s^2 + 2ζω_ns + ω_n^2)

# Parameters for the system
zeta = 0.5  # Damping ratio (controls how oscillatory the system is)
omega_n = 10  # Natural frequency (rad/s), determines the frequency of oscillation

# Numerator and denominator of the transfer function
numerator = [omega_n**2]  # The numerator of the transfer function (constant gain)
denominator = [1, 2*zeta*omega_n, omega_n**2]  # The denominator (s^2 + 2ζω_ns + ω_n^2)

# Create the transfer function
# signal.TransferFunction represents the system in the Laplace domain
system = signal.TransferFunction(numerator, denominator)

# Frequency range for the Bode plot
frequencies = np.logspace(0, 2, 500)  # From 10^0 (1 rad/s) to 10^2 (100 rad/s), 500 points

# Compute the Bode plot data
w, mag, phase = signal.bode(system, frequencies)  # Get magnitude and phase responses

# Plot the Bode magnitude and phase
plt.figure(figsize=(10, 8))  # Set the figure size

# Magnitude plot
plt.subplot(2, 1, 1)  # First subplot: Magnitude
plt.semilogx(w, mag, color='orange')  # Logarithmic x-axis for frequency, y-axis in dB
plt.title('Bode Plot')  # Plot title
plt.ylabel('Magnitude (dB)')  # y-axis label
plt.grid(True, which='both', linestyle='--', linewidth=0.5)  # Add grid lines for better readability

# Phase plot
plt.subplot(2, 1, 2)  # Second subplot: Phase
plt.semilogx(w, phase, color='orange')  # Logarithmic x-axis for frequency, y-axis in degrees
plt.ylabel('Phase (degrees)')  # y-axis label
plt.xlabel('Frequency (rad/s)')  # x-axis label
plt.grid(True, which='both', linestyle='--', linewidth=0.5)  # Add grid lines for better readability

# Adjust layout to prevent overlap between subplots
plt.tight_layout()

# Display the plots
plt.show()

Key Points:

  1. System Definition:

    • The transfer function is defined as H(s)=ωn2s2+2ζωns+ωn2H(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_ns + \omega_n^2}.
    • The numerator and denominator coefficients represent the system's dynamics.
  2. Frequency Range:

    • A logarithmic frequency range (logspace) is chosen to visualize behavior over multiple orders of magnitude.
  3. Bode Plot:

    • signal.bode computes the magnitude (in dB) and phase (in degrees) for the specified frequency range.
  4. Visualization:

    • Two subplots: one for magnitude and one for phase.
    • semilogx is used for a logarithmic x-axis to match standard Bode plot conventions.
  5. Customization:

    • Grid lines (grid) improve readability.
    • tight_layout ensures that the labels and titles don't overlap.

You can adjust the damping ratio (zeta), natural frequency (omega_n), or even replace the transfer function to analyze different systems. Let me know if you'd like further customization!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2259081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Rerender A Video 技术浅析(五):对象移除与自动配色

Rerender A Video 是一种基于深度学习和计算机视觉技术的视频处理工具,旨在通过智能算法对视频进行重新渲染和优化。 一、对象移除模块 1. 目标检测 1.1 概述 目标检测是对象移除的第一步,旨在识别视频中需要移除的对象并生成相应的掩码(m…

经典的网络安全技术

以我的理解,“黑客”大体上应该分为“正”、“邪”两类,正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善,而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情,因为邪派黑客…

Figma入门-实战列表页

Figma入门-实战列表页 前言 在之前的工作中,大家的原型图都是使用 Axure 制作的,印象中 Figma 一直是个专业设计软件。 最近,很多产品朋友告诉我,很多原型图都开始用Figma制作了,并且很多组件都是内置的&#xff0c…

什么是Apache日志?为什么Apache日志分析很重要?

Apache是全球最受欢迎的Web服务器软件,支持约30.2%的所有活跃网站。凭借其可靠性、灵活性和强大的功能,Apache数十年来一直是互联网的中坚力量。 一、Apache Web服务器的工作原理 Apache Web服务器的工作原理如下: 接收HTTP请求&#xff1…

基于Mybatis,MybatisPlus实现数据库查询分页功能

基于Mybatis,MybatisPlus实现数据库查询分页功能 目录 基于Mybatis,MybatisPlus实现数据库查询分页功能使用Mybatis插件实现分页数据库准备分页插件配置和使用常用数据: 使用MybatisPlus插件实现分页数据库准备分页插件配置和使用自定义分页查…

Qt 联合Halcon配置

文章目录 配置代码窗口绑定 配置 选择添加库 选择外部库 LIBS -LC:/Program Files/MVTec/HALCON-17.12-Progress/lib/x64-win64/ LIBS -lhalconcpp\-lhdevenginecpp\-lhalconINCLUDEPATH C:/Program Files/MVTec/HALCON-17.12-Progress/include DEPENDPATH C:/Program Fil…

【Linux-ubuntu通过USB传输程序点亮LED灯】

Linux-ubuntu通过USB传输程序点亮LED灯 一,初始化GPIO配置1.使能时钟2.其他寄存器配置 二,程序编译三,USB传输程序 一,初始化GPIO配置 1.使能时钟 使能就是一个控制信号,用于决定时钟信号是否能够有效的传递或者被使用,就像一个…

CountDownLatch阻塞后countDown未执行会如何?

背景 某项目封装了 Kafka 消费者 API,根据传递的消费者线程数,创建 N 个消费者线程同时消费对应 topic 的数据,并在线程启动后收集到全局列表中,方便在程序调用 stop 流程时逐个停止。 主控类在创建 Kafka 消费线程时使用了 Cou…

【热力学与工程流体力学】流体静力学实验,雷诺实验,沿程阻力实验,丘里流量计流量系数测定,局部阻力系数的测定,稳态平板法测定材料的导热系数λ

关注作者了解更多 我的其他CSDN专栏 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处理 光电融合集成电路…

Ubuntu18安装后基本配置操作

1. 关掉自动更新 不关掉自动更新,会将你的ubuntu系统更新到更高版本,一些配置就不能用了,所以要关掉自动更新。在“软件和更新”中将“自动检查更新”设置为从不。 2. ubuntu换国内源 参考链接换源 按照这个换源这个换源好使 ,…

Faiss 要点整理

Faiss能干什么 使用glove.6b.txt在字典中找到近义词,基本步骤包括加载数据、构建索引、进行相似性搜索 import numpy as np import faiss# 加载 GloVe 词向量 def load_glove_embeddings(file_path):embeddings {}with open(file_path, r, encodingutf-8) as f:fo…

得物使用AutoMQ构建海量数据处理的新一代可观测性架构

引言 得物作为全球领先的潮流网购社区,日益增长的用户和数据带来了巨大的技术挑战。当前,得物的可观测性平台每天生成数PB级Trace数据和数万亿条Span记录,要求平台具备高效的实时处理能力和低成本的数据存储解决方案。 传统的存算一体架构将…

硬件成本5元-USB串口采集电表数据完整方案-ThingsPanel快速入门

ThingsPanel开源物联网平台支持广泛的协议,灵活自由,本文介绍ThingsPanel通过串口来采集电表数据,简单易行,成本低廉,适合入门者学习试验,也适合一些特定的应用场景做数据采集。 适用场景: 降低…

数据库同步中间件DBSyncer安装配置及使用

1、介绍 DBSyncer(英[dbsɪŋkɜː],美[dbsɪŋkɜː 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务&#xf…

ragflow连ollama时出现的Bug

ragflow和ollama连接后,已经添加了两个模型但是ragflow仍然一直warn:Please add both embedding model and LLM in Settings > Model providers firstly.这里可能是我一开始拉取的镜像容器太小,容不下当前添加的模型,导…

python 下载 b站视频 和音频

video_bvid: import os import requests import json import re from bs4 import BeautifulSoup import subprocess # from detail_video import video_bvid# video_bvid 是一个从外部得到的单个视频ID video_bvid BV1cx421Q7veclass BilibiliVideoAudio:def __in…

时间敏感网络与工业通信的融合:光路科技电力专用交换机和TSN工业交换机亮相EP电力展

12月7日,第三十一届中国国际电力设备及技术展览会(EP Shanghai 2024)暨上海国际储能技术应用展览会在上海新国际博览中心圆满落幕。本届展会以“数字能源赋能新质生产力”为主题,系统地呈现了电力设备行业在技术融合、转型升级及上…

如何将CSDN的文章保存为PDF?

目录 1、打开CSDN文章2、按F12或者鼠标右键选择检查并进入控制台3、在控制台输入以下代码4、然后回车(Enter)如果纵向显示不全就横向 1、打开CSDN文章 2、按F12或者鼠标右键选择检查并进入控制台 3、在控制台输入以下代码 (function(){ $("#side&q…

android AIDL ipc binder转换

一. 概述 众所周知AIDL并不是所有的数据类型都可以传输。 可以传输的类型包括: 1.原生类型 2.String 3. CharSequence 4. List 5.Map 6. Binder 7. Parcelable 容器类 parcelable传输的时候会分解成成员,数组item的方式,传输完成后再进行…

JCR一区牛顿-拉夫逊优化算法+分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测

JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测 目录 JCR一区牛顿-拉夫逊优化算法分解对比!VMD-NRBO-Transformer-BiLSTM多变量时序光伏功率预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.中科院…