用element ui做了一个多图选择器,可以限制图片数量、大小等。
预览效果如下:
组件代码:
<template>
<div>
<el-button type="primary" @click="dialogVisible = true">管理图片el-button>
<el-dialog
title="管理商品图片"
:visible.sync="dialogVisible"
width="80%"
@close="handleClose"
>
<image-upload
:file-size="maxFileSize"
:is-multiple="true"
:limit="maxImages"
:value="form.goods_images"
:file-type="allowedFileTypes"
@input="afterUpload"
class="upload-section"
>image-upload>
<div v-if="form.goods_images.length" class="preview-section">
<el-row :gutter="18">
<el-col
:span="3"
v-for="(image, index) in form.goods_images"
:key="index"
>
<div class="preview-item">
<img :src="image" alt="商品图片预览" class="preview-image"/>
<el-button type="danger" icon="el-icon-delete" circle @click="removeImage(index)">el-button>
div>
el-col>
el-row>
div>
<span class="el-form-item__info">建议图片尺寸:400*400span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消el-button>
<el-button type="primary" @click="confirmChanges">确 定el-button>
span>
el-dialog>
div>
template>
<script>
import ImageUpload from '@/components/UploadFile/image.vue'
export default {
components: {
ImageUpload
},
props: {
value: {
type: Array,
default: () => []
},
maxImages: {
type: Number,
default: 5
},
maxFileSize: {
type: Number,
default: 1
},
allowedFileTypes: {
type: Array,
default: () => ['png', 'jpg', 'jpeg']
}
},
data() {
return {
dialogVisible: false,
form: {
goods_images: this.value.slice() // 使用slice创建副本,避免直接修改props
}
}
},
watch: {
value(newValue) {
this.form.goods_images = newValue.slice() // 确保数据同步
}
},
methods: {
afterUpload(list) {
if (!list || !Array.isArray(list)) return
// 清空当前图片数组并添加新上传的图片
this.form.goods_images = list.map(file => file.url)
},
removeImage(index) {
this.form.goods_images.splice(index, 1)
},
confirmChanges() {
this.$emit('input', this.form.goods_images) // 同步到父组件
this.dialogVisible = false
},
handleClose() {
// 取消时可以选择是否保留更改或恢复原状
// 这里简单处理为不保存更改
this.form.goods_images = this.value.slice() // 恢复原始状态
}
}
}
script>
<style scoped>
.upload-section {
margin-bottom: 10px;
}
.preview-section {
margin-bottom: 20px;
}
.preview-item {
position: relative;
text-align: center;
}
.preview-image {
max-width: 100%;
height: auto;
border: 1px solid #ccc;
margin-bottom: 5px;
}
.el-button--danger {
position: absolute;
top: -10px;
right: -10px;
}
.el-form-item__info {
font-size: 12px;
color: #999;
}
style>
使用也是比较简单
:value="form.goods_image_list"
v-model="form.goods_image_list"
:max-images="6"
:max-file-size="2"
:allowed-file-types="['png', 'jpg']"
/>
另外,上传ImageUpload是基于另一个组件的(vue-admin-template内置,自己修改了一下逻辑),组件代码如下:
<template>
<div class="component-upload-image">
<el-upload
:data="formData"
:action="uploadImgUrl"
list-type="picture-card"
:on-success="handleUploadSuccess"
:before-upload="handleBeforeUpload"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
name="file"
:on-remove="handleRemove"
:show-file-list="true"
:headers="headers"
:file-list="fileList"
:on-preview="handlePictureCardPreview"
:on-progress="handleOnProgress"
:class="{ hide: this.fileList.length >= this.limit }"
:multiple="isMultiple"
>
<i class="el-icon-plus">i>
<p class="photo-text">点击上传p>
el-upload>
<div class="el-upload__tip" slot="tip" v-if="showTip">
请上传
<template v-if="fileSize">
大小不超过 <b style="color: #f56c6c">{{ fileSize }}MBb>
template>
<template v-if="fileType">
格式为 <b style="color: #f56c6c">{{ fileType.join('/') }}b>
template>
的文件
div>
<el-dialog :visible.sync="dialogVisible" width="800" append-to-body custom-class="dialog-preview">
<template #title>
<div class="header">
<span>预览span>
div>
template>
<img :src="dialogImageUrl"/>
el-dialog>
div>
template>
<script>
import { getToken } from '@/utils/auth'
import { cloneDeep } from 'lodash'
export default {
name: 'ImageUpload',
props: {
value: [String, Object, Array],
// 图片数量限制
limit: {
type: Number,
default: 5
},
// 大小限制(MB)
fileSize: {
type: Number,
default: 5
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ['png', 'jpg', 'jpeg']
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: true
},
// 是否多选
isMultiple: {
type: Boolean,
default: true
},
// 组件下标,如果一个动态表单渲染多个图片组件时使用
index: {
type: Number,
default: 0
},
formData: {
type: Object,
default: () => {
return {}
}
}
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
hideUpload: false,
baseUrl: '',
uploadImgUrl: process.env.VUE_APP_BASE_API + '/upload/image', // 上传的图片服务器地址
headers: {
Authorization: 'Bearer ' + getToken()
},
fileList: [],
uploadList: [],
number: 0,
isUploading: false
}
},
watch: {
value: {
handler(val) {
if (val) {
// 首先将值转为数组
const list = Array.isArray(val) ? val : this.value.split(',')
// 然后将数组转为对象数组
this.fileList = list.map((item) => {
if (typeof item === 'string') {
// console.log(item,this.baseUrl)
if (item.indexOf(this.baseUrl) === -1) {
item = { name: this.baseUrl + item, url: this.baseUrl + item }
} else {
item = { name: item, url: item }
}
}
return item
})
} else {
this.fileList = []
return []
}
},
deep: true,
immediate: true
}
},
computed: {
// 是否显示提示
showTip() {
return this.isShowTip && (this.fileType || this.fileSize)
}
},
methods: {
// 删除图片
handleRemove(file, fileList) {
const findex = this.fileList.map((f) => f.name).indexOf(file.name)
if (findex > -1) {
this.fileList.splice(findex, 1)
this.$emit('input', cloneDeep(this.fileList))
}
},
// 上传成功回调
handleUploadSuccess(res) {
res = res.data
this.isUploading = false
this.uploadList.push({ name: res.name, url: res.full_url ? res.full_url : this.baseUrl + res.name })
if (this.uploadList.length === this.number) {
this.fileList = this.fileList.concat(this.uploadList)
this.uploadList = []
this.number = 0
this.$emit('input', cloneDeep(this.fileList), this.index)
}
},
// 上传前文件校验
handleBeforeUpload(file) {
let isImg = false
if (this.fileType.length) {
let fileExtension = ''
if (file.name.lastIndexOf('.') > -1) {
fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1)
}
isImg = this.fileType.some((type) => {
if (file.type.indexOf(type) > -1) return true
if (fileExtension && fileExtension.indexOf(type) > -1) return true
return false
})
} else {
isImg = file.type.indexOf('image') > -1
}
if (!isImg) {
this.$message.error(`文件格式不正确, 请上传${this.fileType.join('/')}图片格式文件!`)
return false
}
if (this.fileSize) {
const isLt = file.size / 1024 / 1024 < this.fileSize
if (!isLt) {
this.$message.error(`上传头像图片大小不能超过 ${this.fileSize} MB!`)
return false
}
}
this.number++
},
// 文件个数超出
handleExceed() {
this.$message.error(`上传文件数量不能超过 ${this.limit} 个!`)
},
// 上传失败
handleUploadError() {
this.$message({
type: 'error',
message: '上传失败'
})
this.isUploading = false
},
// 预览
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
// 对象转成指定字符串分隔
listToString(list, separator) {
let strs = ''
separator = separator || ','
for (let i in list) {
strs += list[i].url.replace(this.baseUrl, '') + separator
}
return strs != '' ? strs.substr(0, strs.length - 1) : ''
},
handleOnProgress(event, file, fileList) {
this.isUploading = true
}
}
}
script>
<style scoped lang="scss">
::v-deep .el-upload--picture-card {
border-radius: 2px;
}
// .el-upload--picture-card 控制加号部分
::v-deep.hide .el-upload--picture-card {
display: none;
}
// 去掉动画效果
::v-deep .el-list-enter-active,
::v-deep .el-list-leave-active {
transition: all 0s;
}
::v-deep .el-list-enter,
.el-list-leave-active {
opacity: 0;
transform: translateY(0);
}
::v-deep .el-upload-list--picture-card .el-upload-list__item-thumbnail {
object-fit: contain;
}
// 角标颜色
::v-deep .el-upload-list--picture-card .el-upload-list__item-status-label {
background-color: #18a8dc;
}
// 已上传图片
::v-deep .el-upload-list {
line-height: 1;
.el-upload-list__item {
margin: 0 16px 16px 0;
width: 104px;
height: 104px;
border: 1px solid #e5eaec;
border-radius: 2px;
.el-progress {
width: 102px !important;
.el-progress-circle {
width: 102px !important;
height: 102px !important;
}
}
}
}
// 上传按钮
::v-deep .el-upload {
position: relative;
width: 104px;
height: 104px;
line-height: 1;
background: #f7f8fb;
.el-icon-plus {
margin-top: 29px;
margin-bottom: 8px;
font-size: 16px;
}
.photo-text {
margin: 0;
font-weight: 400;
font-size: 14px;
line-height: 22px;
text-align: center;
color: #adb1b3;
}
}
// 预览
::v-deep .dialog-preview {
overflow: hidden;
.el-dialog__header {
position: relative;
padding: 11px 24px !important;
z-index: 2;
background: #f8faff;
border-radius: 4px 4px 0 0;
text-align: left;
.header {
display: flex;
align-items: center;
font-size: 14px;
height: 22px;
line-height: 22px;
color: #00244d;
font-weight: bold;
}
.el-dialog__headerbtn {
top: 15px;
right: 24px;
}
}
.el-dialog__body {
padding: 24px;
overflow-y: auto;
img {
display: block;
max-width: 100%;
margin: 0 auto;
}
}
}
style>
这样的一个组件可以用在单图、多图管理功能,使用起来也是比较方便。
6.3最小相位系统的Bode图绘制6.4最小相位系统的Bode图.ppt
2006-11-25 北京科技大学 信息工程学院频率特性法是经典控制理论中对系统进行分析与综合的又一重要方法。与时域分析法和根轨迹法不同,频率特性法是根据系统对正弦信号的稳态响应,即系统的频率特性来分析系统的频域性能指标。由于人们的直觉是建立在时间域中的,所以,工程上提 出的指标往往都是时域指标。对于二阶系统来说,时域指标与频域指标之间有着严格 的数学关系。对于高阶系统来说,这种关系比较复杂,工程 上常常用近似公式来表达它们之间的关系。 1、二阶系统性能指标、 与开环频域指标 、ωc的关系 (1)与之间的关系 结论:对于二阶系统来说, 越小,越大;反之亦然。为使二阶系统不至于振荡得太厉害以及调节时间太长,一般取: 2、高阶系统对于高阶系统,开环频域指标与时域指标之间难以找到准 确的关系式。介绍如下两个经验公式:式中可以看出,超调量随相位裕度?的减小而增大;过 渡过程时间ts也随? 的减小而增大,但随ωc的增大而减小。 结论由上面对二阶系统和高阶系统的分析可知,系统开环频率特性中频段的两个重要参数 ? 、ωc,反映了闭环系统的时域响应特性。所以可以这样说:闭环系统的动态性能主要取决于开环对数幅频特性的中频段。
图中ωc=12s-1,它是最小相位系统,故相位裕量:所以,闭环系统的最大超调量σp及过渡过程时间 : 一、最小相位系统与非最小相位系统 6.4 最小相位系统的Bode图的应用 定义:在S右半平面上,若没有系统开环传递函数的极点和零点,则称此系统为最小相位系统。相反,若在S右半平面有开环传递函数的零极点,则称之为非最小相位系统。 注:(1)在稳定系统中,若幅频特性相同,对于任意给定频率,最小相位系统的相位滞后最小;(2)延迟环节的系统也属于非最小相位系统;(3)最小相位系统的对数幅频特性与对数相频特性具有一一对应的关系,即对于给定的对数幅频特性只有唯一的对数相频特性与之对应。 (4)判定最小相位系统的方法: a、对于最小相位系统,当ω→∞时,其相位为-(n-m)90°。(其中m,n分别为传递函数分子和分母多项式的最高阶次) b、对于非最小相位系统,当ω→∞时,其相位不等于-(n-m)90°。 c、当ω→∞时,这两类系统的对数幅频特性曲线斜率都等于-20(n-m)dB/dec。 6.4 最小相位系统的Bode图的应用 最小相位系统和非最小相位系统的零-极点分布图 例6-4 系统的开环传递函数分别为: 试分别绘制其零极点分布图和Bode图。
解 6.4 最小相位系统的Bode图的应用 非最小相位系统 最小相位系统 相同的幅值特性 6.4 最小相位系统的Bode图的应用 (1) 在具有相同幅频特性的系统中,最小相位传递函数(系统)的相角范围,在所有这类系统中是最小的。任何非最小相位传递函数的相角范围,都大于最小相位传递函数的相角范围。 (2) 最小相位系统,幅频特性和相频特性之间具有唯一的对应关系。即,如果系统的幅值曲线在从零到无穷大的全部频率范围上给定,则相角曲线被唯一确定。反之亦然。 非最小相位系统高频时相角迟后大,起动性能差,响应缓慢。因此对响应要求快的系统不宜采用非最小相位元件。 以上结论对于非最小相位系统不成立。 关于最小相位系统的几个结论: 6.4 最小相位系统的Bode图的应用 二、由Bode图判断系统的稳定性 稳定裕量是表征系统稳定程度的量,是描述系统特性的重要的量,与系统的暂态响应指标有密切的关系。这里讨论由Bode图求系统稳定裕量,并判断稳定性的方法。系统的稳定裕量用相角裕量 和增益裕度 来表示. 增益裕度—在相角特性 等于 的频率处 的一个数值, 剪切频率—对应于的频率,记为 相角裕量—在剪切频率 处,使系统达到临界稳定状态所 要附加的相角迟后量。
为使系统稳定,相角裕量必须为正值. 6.4 最小相位系统的Bode图的应用 如果,则系统稳定。 6.4 最小相位系统的Bode图的应用 如果,则系统稳定。 例6-5 解 已知某系统的开环传递函数为: (1)绘制折线Bode图;(2)求ωc、γ、GM、ωg;(3)判定稳定性。 (1)绘制Bode图 dB φ(ω) ω 20 40 -45o -90o 20lg10 -20dB/dec -60dB/dec 6.4 最小相位系统的Bode图的应用 0.5 5 (2)求ωc、γ、GM、ωg; (3)判定系统的稳定性 因为系统是最小相位的,并且 系统稳定 三、稳态误差的分析——系统类型和系统的开环放大倍数 系统类型与对数幅值之间的关系 考虑单位反馈控制系统。静态位置、速度和加速度误差常数分别描述了0型、1型和2型系统的低频特性。 系统的类型确定了低频时对数幅值曲线的斜率。因此,对于给定的输入信号,控制系统是否存在稳态误差,以及稳态误差的大小,都可以从观察对数幅值曲线的低频区特性予以确定。当趋近于零时,回路增益越高,静态误差值就越小。 6.4 最小相位系统的Bode图的应用 ?静态位置误差常数的确定 假设系统的开环传递函数为 当ν=0时, 由于此时最低频段的幅频特性斜率 为0,其与纵轴的交点是20lgK,可以利用此值确定K。
dB φ(ω) ω 20 40 -45o -90o -20dB/dec -60dB/dec ω1 ω2 20lgK 6.4 最小相位系统的Bode图的应用 ?静态速度误差常数的确定 1型系统中 的起始线段/或其延长线与 的直线的交点具有的幅值为 定理1:斜率为 证明 ω=1时的幅频特性为: 起始线段/或其延长线过 ()这一点。 dB φ(ω) ω 20 40 -45o -90o -20dB/dec -60dB/dec (1,20lgk) ω=1 20lgkv 6.4 最小相位系统的Bode图的应用 1型系统中 的起始线段/或其延长线与 轴的交点为。 定理2:斜率为 证明 故其延长线与0分贝线的交点的频率在数值上等于 在与 Bode图的横轴交点处有: dB φ(ω) ω 20 40 -45o -90o -20dB/dec -60dB/dec (1,20lgk) ω=1 kv 6.4 最小相位系统的Bode图的应用 ?静态加速度误差常数的确定 证明: 的直线的交点具有 的起始线段/或其延长线与 定理3:斜率为 的幅值为 6.4 最小相位系统的Bode图的应用 II型系统中 的起始线段/或其延长线与 轴的交点为。
定理4:斜率为 证明 故,其延长线与0分贝线的交点的频率在数值上等于 在与 Bode图的横轴交点处有: 6.4 最小相位系统的Bode图的应用 四、由Bode图求GK(S) 这里只要求对最小相位系统会从Bode图求得GK(S)。 1、根据最低频段的斜率确定系统的类型ν。 2、根据最低频段的参数求系统的开环放大系数K。 Ⅰ型系统:最低频段的幅频特性过,最低频段的幅频特性在通过横轴。 0型系统:最低频段的幅频特性与纵轴的交点是20lgK。 Ⅱ型系统:最低频段的幅频特性过,最低频段的幅频特性在通过横轴。 3、根据交接频率和其前后斜率的变化量确定各典型环节。 6.4 最小相位系统的Bode图的应用 4、根据二阶环节的修正情况确定ξ。 例6-6 dB φ(ω) ω 20 40 -45o -90o -180o -20dB/dec -60dB/dec 0.5 5 25 下图是一最小相位系统的Bode图,试写出其传递函数。 6.4 最小相位系统的Bode图的应用 dB φ(ω) ω 20 40 -45o -90o -180o -20dB/dec -60dB/dec 0.5 5 25 解 1、系统的类型ν=0。
2、根据最低频段的参数求系统的开环放大系数K。 因为20lgK=20,所以K=10。 3、根据交接频率和其前后斜率的变化量确定各典型环节。 4、确定ξ。 6.4 最小相位系统的Bode图的应用 dB φ(ω) ω 20 40 -45o -90o -40dB/dec -60dB/dec (ω=1,30) ω=1 例6-7 下图是一最小相位系统的Bode图,试写出其传递函数。 1、系统的类型ν=2。 2、根据最低频段的参数求系统的开环放大系数K。 3、根据交接频率和其前后斜率的变化量确定各典型环节。 解 6.4 最小相位系统的Bode图的应用 未修正 dB φ(ω) ω 20 40 -45o -90o -40dB/dec -60dB/dec (ω=1,30) ω=1 3、根据转折频率和其前后斜率的变化量确定各典型环节。 最低频段的直线方程: 过点(ω=1,30),所以 6.4 最小相位系统的Bode图的应用 五、由Bode进行动态分析——瞬态计算 6.4 最小相位系统的Bode图的应用 开环传递函数 幅频特性: 令 所以相位裕量: 6.4 最小相位系统的Bode图的应用 当时,与为近似直线关系,如右图中虚线 所示,此时:超调量: 与 的关系是通过中间参数ξ相联系 6.4 最小相位系统的Bode图的应用 (2) 与、 之间的关系因为将代入上式得到:可以看出:ξ确定以后,剪切频率ωc大的系统,过渡过程时间 短,而且正好是反比关系。
6.4 最小相位系统的Bode图的应用 一阶微分环节的对数频率特性曲线 二阶振荡环节的频率特性是 对数幅频特性为 当 时, 当 时, 6.二阶振荡环节 当 时, 6.2 典型环节频率特性的绘制 当 时, 当 时, 当 时, 对数相频特性为 6.2 典型环节频率特性的绘制 二阶微分环节的频率特性是 对数幅频特性为 当 时, 当 时, 7.二阶微分环节 当 时, 6.2 典型环节频率特性的绘制 对数相频特性为 当 时, 思考题:1、二阶微分环节的Bode图是怎样的?2、二阶振荡与微分环节的比较与前述相比怎样?请同学们课下完成。 6.2 典型环节频率特性的绘制 令 谐振频率 谐振峰值 当 时,幅值曲线不可能有峰值出现,即不会有谐振 谐振频率谐振峰值6.2 典型环节频率特性的绘制 幅频特性与 关系 二阶因子的对数幅频特性曲线 幅频特性与 关系 二阶因子的对数幅频特性曲线 幅频特性与 关系 二阶因子的对数幅频特性曲线 幅频特性与 关系 二阶因子的对数幅频特性曲线 幅频特性与 关系 二阶因子的对数幅频特性曲线二阶因子的对数幅频特性曲线 幅频特性与 关系 相频特性与 关系 二阶因子的对数相频特性曲线 相频特性与 关系 二阶因子的对数相频特性曲线 相频特性与 关系 二阶因子的对数相频特性曲线 相频特性与 关系 二阶因子的对数相频特性曲线 相频特性与 关系 二阶因子的对数相频特性曲线 二阶因子的对数相频特性曲线 相频特性与 关系 当 时,二阶振荡系统的准确的对数幅频特性: 幅值误差与关系 二阶振荡环节的频率特性是 对数幅频特性为 当 时,二阶振荡系统的近似折线的对数幅频特性: 由此得幅值误差与 关系 6.2 典型环节频率特性的绘制 幅值误差与 关系 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 幅值误差与 关系 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 幅值误差与 关系 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 幅值误差与 关系 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 幅值误差与 关系 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 二阶振荡环节频率特性以渐近线表示时引起的对数幅值误差 幅值误差与 关系 纯滞后环节的传递函数为: 对数幅频特性是: 8.纯滞后环节 纯滞后环节的频率特性是: 对数相频特性为: 6.2 典型环节频率特性的绘制本节将通过一些示例介绍系统的开环频率特性(Bode图)的绘制方法和步骤。
将系统的开环传递函数分解成若干典型环节的串联形式是绘制系统开环频率特性的基本步骤。 6.3 系统开环频率特性的绘制 一、绘制系统开环频率特性(伯德图)的步骤 1、将开环传递函数写成典型环节乘积形式; 2、如存在交接频率,在ω轴上标出交接频率的坐标位置; 3、各串联环节的对数幅频特性叠加后得到系统开环对数幅频特性的渐近线; 4、修正误差,画出比较精确的对数幅频特性; 5、画出各串联典型环节相频特性,将它们相加后得到系统开环相频特性。 已知系统的开环传递函数为:1、由一个放大环节和两个惯性环节串联而成,其对应的频率特性是 幅频特性和相频特性分别为 例6-2 6.3 系统开环频率特性的绘制 解 3、各环节的对数幅频特性叠加; 4、修正误差; 5、画出各串联环节相频特性,相加得到系统开环相频特性; 2、存在交接频率,在ω轴上标出; dB φ(ω) ω 20 40 -45o -90o -180o -270o 20lgK -40dB/dec -20dB/dec -60dB/dec 幅频特性的绘制 1、比例环节 2、惯性环节 3、振荡环节 4、各环节叠加 相频特性的绘制 1、比例环节 2、惯性环节 3、振荡环节 4、各环节叠加 6.3 系统开环频率特性的绘制 某反馈控制系统的开环传递函数为 试绘制开环系统的伯德图(幅频特性用分段直线表示) 开环频率特性为 例6-3 6.3 系统开环频率特性的绘制 解 -20dB/dec -40dB/dec -20dB/dec 6.3 系统开环频率特性的绘制 二、由Bode图判断系统的稳定性 三、稳态误差的分析——系统类型和系统的开环放大倍数 四、由Bode图求GK(S) 一、最小相位系统与非最小相位系统 6.4 最小相位系统的Bode图的应用 五、由Bode进行动态分析——瞬态计算 北京科技大学自动化学院自动化系 北京科技大学自动化学院自动化系 6.1 频率特性的概念 6.2 典型环节Bode图的绘制 6.3 最小相位系统的Bode图绘制 6.4 最小相位系统的Bode图的应用 6.5 本章小结 第六章 线性系统的频域分析 本章重点 频率特性基本概念 典型环节的对数频率特性 系统频率特性的Bode图形表示方法 最小相位系统 由系统的开环频率特性分析系统的稳定性 系统的稳定裕量频域性能指标与时域性能指标之间有着内在的联系。
应用时域分析法和根轨迹法分析系统时,应先通过某种方法获得系统的开环传递函数。频率特性法可以根据系统的开环传递函数采用解析的方法得到系统的频率特性,也可以用实验的的方法测出稳定系统或元件的频率特性。 6.1 频率特性的概念 反映系统对正弦输入信号的稳态响应的性能。讨论线性定常系统(包括开环、闭环系统)在正弦输入信号作用下的稳态输出。 系统或对象 6.1 频率特性的概念为系统的幅频特性,它反映系统在不同频 率正弦信号作用下,输出稳态幅值与输入稳态幅值的比值。 称 1.频率特性的定义为系统的相频特性,它反映系统在不同频率正弦信号 作用下,输出信号相对输入信号的相移。 称 6.1 频率特性的概念 求如图RC电路的频率特性。 例6-1 RC电路的传递函数为: 解 设输入 其拉氏变换为 则输出 的拉氏变换为: 求拉氏反变换,得 其中 暂态分量 稳态分量 6.1 频率特性的概念 RC电路的稳态频率响应为: 可见,RC电路的频率特性为: 式中 为幅频特性 为相频特性 6.1 频率特性的概念 RC电路的稳态频率响应为: 6.1 频率特性的概念 考虑系统的传递函数: 如果令: 可以证明: 如果令: 传递函数 频率特性 注意: 为幅频特性 为相频特性 (1)幅频特性反映系统对不同频率正弦信号的稳态衰减(或放大)特性。
(2)相频特性表示系统在不同频率正弦信号下输出的相位移。 (3)已知系统的传递函数,令,可得系统的频率特性。 (4)频率特性包含了系统的全部动态结构参数,反映了系统的内在性质,因此也是一种数学模型描述。 几点说明: 6.1 频率特性的概念 频率特性的数学描述形式为:是系统的幅频特性。 其中: 是系统的相频特性。 6.1 频率特性的概念 频率特性是系统(或元件)对不同频率正弦输入信号的响应特性。 输出的振幅和相位一般均不同于输入量,且随着输入信号频率的变化而变化。 在系统的输入端输入一正弦信号,测出不同频率时系统稳态输出的振幅uo和相移,便可得到它的幅频特性和相频特性。 获取系统频率特性的途径: 频率特性是特定情况下的传递函数。它和传递函数一样,反映了系统的内在联系。 一、解析法 二、实验法 6.1 频率特性的概念 三、定义法 对已知系统的微分方程,把正弦输入函数代入,求出其稳态解,取输出稳态分量与输入正弦量的复数比即可得到。 频率特性的表示方法: (一)解析表示(二)图示(几何)表示1、极坐标图 —— Nyquist图(又叫幅相频率特性、或奈奎斯特图,简称奈氏图) 2、对数坐标图—— Bode图(伯德图) 3、复合坐标图—— Nichocls图(尼柯尔斯图,或尼氏图),一般用于闭环系统频率特性分析。
6.1 频率特性的概念 1. 极坐标图—奈奎斯特图 (Nyqusit) —幅相特性曲线系统频率特性为幅频-相频形式当?在0~?变化时,向量G(j?)的幅值和相角随?而变化,与此对应的向量G(j?) 的端点在复平面 G(j?)上的运动轨迹就称为幅相频率特性或 Nyqusit曲线。画有 Nyqusit曲线的坐标图称为极坐标图或Nyqusit图。 惯性环节:G(s)=1/(Ts+1) 的Nyqusit图 6.1 频率特性的概念 2. 对数坐标图——伯德图(Bode图)将系统频率特性G(j?) 的幅值和相角分别绘在半对数坐标图上,分别得到对数幅频特性曲线(纵轴:对幅值取分贝数后进行线性分度20lg|G(j?)|;横轴:对频率取以10为底的对数后进行分度:lgω)和相频特性曲线(纵轴:对相角进行线性分度;横轴:对频率取以10为底的对数后进行分度lgω ),合称为伯德图(Bode图)。 对数相频特性记为 单位为分贝(dB) 对数幅频特性记为 单位为度或弧度(rad) 6.1 频率特性的概念 3.复合坐标图—— Nichocls图(将Bode图的两张图合二为一)将对数幅频特性和对数相频特性绘在一个平面上,以对数幅值作纵坐标(单位为分贝)、以相位移作横坐标(单位为度)、以频率为参变量。
这种图称为对数幅—相频率特性,也称为尼柯尔斯图,或尼氏图。 0o 180o -180o ω 0 -20dB 20dB 6.1 频率特性的概念 H.W.Bode(1905-1982)美国Bell实验室著名科学家,他的工作为数据传输、通信工程,火炮控制及经典控制中的反馈系统稳定性分析奠定了基础,他于1969获得IEEE Medal of Honor。 6.2 典型环节频率特性的绘制 1.定义:伯德(Bode)图又叫对数频率特性曲线,它是将幅频特性和相频特性分别绘制在两个不同的坐标平面上,前者叫对数幅频特性,后者叫对数相频特性,统称为对数频率特性。两个坐标平面横轴(ω轴)用对数分度。 一、(半)对数坐标图(Bode图) 6.2 典型环节频率特性的绘制 对数相频特性的纵轴是线性分度: 对数幅频特性的纵轴按下式线性分度: 半对数坐标系。 6.2 典型环节频率特性的绘制 用伯德图分析系统有如下优点: (1) 将幅频特性和相频特性分别作图,使系统或环节的幅值和相角与频率之间的关系更加清晰; (2) 幅值用分贝数表示,可将串联环节的幅值相乘变为相加运算,简化计算; (3)用渐近线表示幅频特性,使作图更为简单方便; (4) 横轴(ω轴)用对数分度,扩展了低频段,同时也兼顾了中、高频段,有利于系统的分析与综合。
6.2 典型环节频率特性的绘制 一、典型环节的Bode图绘制 1.放大环节(比例环节) 幅频特性是 放大环节的频率特性为: 对数幅频特性为 放大环节的相频特性是 K1,20lgK0,横轴上方; K=1,20lgK=0,与横轴重合; K1,20lgK0,横轴下方。 6.2 典型环节频率特性的绘制 2.积分环节 积分环节的频率特性是 幅频特性为 对数幅频特性是 相频特性是 6.2 典型环节频率特性的绘制 当 时, 当 时, 当 时,积分环节的对数幅频特性是一条在ω=1(弧度/秒)处穿过零分贝线(ω轴),且以每增加十倍频降低20分贝的速度(-20dB/dec.)变化的直线。积分环节的相频特性是一条值为-90°且平行于ω轴的直线。 6.2 典型环节频率特性的绘制 幅频特性穿越0分贝线( ω轴)时的频率,称为穿越频率或剪切频率(用表示) 3.微分环节 微分环节的频率特性是 幅频特性为 对数幅频特性是 相频特性是 6.2 典型环节频率特性的绘制 积分环节与微分环节的比较 这些幅频特性曲线将通过点()。 类推 相差一个符号 6.2 典型环节频率特性的绘制 4.惯性环节 惯性环节的频率特性是: 对数幅频特性是: 当 时, 当 时, 当 时, 6.2 典型环节频率特性的绘制 惯性环节的相频特性为: 当 时, 当 时, 当 时, 6.2 典型环节频率特性的绘制 在时近似幅频特性曲线的斜率发生了变化,两条近似直线交接于,称为交接频率。
5.一阶微分环节 一阶微分环节的频率特性是: 对数幅频特性是: 当 时, 当 时, 当 时, 6.2 典型环节频率特性的绘制 一阶微分环节的相频特性为: 当 时, 当 时, 当 时, 6.2 典型环节频率特性的绘制 一阶因子 在低频时,即 低频时的对数幅值曲线是一条0分贝的直线 下两页的图中表示了一阶因子的精确对数幅频特性曲线及渐近线,以及精确(Exact curve)的相角曲线。 在高频时,即 高频时的对数幅频特性曲线是一条斜率为?20分贝/十倍频程的直线 对数幅频特性 相频特性 一阶惯性环节与一阶微分环节的比较 6.2 典型环节频率特性的绘制 渐近线 渐近线 精确曲线 Asymptote Exact curve 精确曲线 Exact curve 一阶惯性环节的对数频率特性 渐近线精确曲线