当前位置:文档之家› 基4fft原理及matlab实现

基4fft原理及matlab实现

基4fft原理及matlab实现
基4fft原理及matlab实现

基4FFT原理及MATLAB实现

一.时域抽取法基4FFT基本原理:

有限长序列错误!未找到引用源。的N点DFT为:

错误!未找到引用源。 k=0,1,2…,N-1 设序列错误!未找到引用源。长度为N,且满足错误!未找到引用源。,M 为自然数,可把错误!未找到引用源。按下列方法分解为4个长为N/4的子序列:错误!未找到引用源。 r=0,1,…,N/4-1

错误!未找到引用源。 r=0,1,…,N/4-1 错误!未找到引用源。 r=0,1,…,N/4-1

错误!未找到引用源。 r=0,1,…,N/4-1 则错误!未找到引用源。的DFT为X(k)=错误!未找到引用源。+错误!未找到引用源。

=错误!未找到引用源。

=错误!未找到引用源。

因为:错误!未找到引用源。

所以:原式可表示为:

X(k)=错误!未找到引用源。

=错误!未找到引用源。 k=0,1,…,N/1

其中:错误!未找到引用源。分别为错误!未找到引用源。的N/4点DFT,即:错误!未找到引用源。=错误!未找到引用源。

错误!未找到引用源。=

错误!未找到引用源。

错误!未找到引用源。=

错误!未找到引用源。

错误!未找到引用源。=

错误!未找到引用源。

由于错误!未找到引用源。均以N/4为周期,且有:

错误!未找到引用源。,错误!未找到引用源。,错误!未找到引用源。,错误!未找到引用源。

所以:

X(k)=错误!未找到引用源。 k=0,1,…,N/4-1

X(k+ N/4)=错误!未找到引用源。 k=0,1,…,N/4-1

X(k+ 2N/4)=错误!未找到引用源。 k=0,1,…,N/4-1

X(k+ 3N/4)=错误!未找到引用源。 k=0,1,…,N/4-1

二.运算规律及编程思想:

1.按照上述分解法,再对错误!未找到引用源。进行反复分解,直到每个序列的长度等于4为止,这个4点的DFT的数学表达式为:

错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。

2.旋转因子错误!未找到引用源。与运算级数的关系(参考《数字信号处理(第三版)》西安电子科技大学出版社第115页)如下:

其中,L表示运算级数(L=1,2,…,M)(M=错误!未找到引用源。)(J=0,1,2,…,错误!未找到引用源。)

错误!未找到引用源。 ,(错误!未找到引用源。0,1,2…,错误!未找到引用源。)

3.序列的倒序:

与基2FFT的倒序相似(参考《数字信号处理(第三版)》西安电子科技大学出版社第116页)

由于错误!未找到引用源。,因此顺序数可用M位4进制数(错误!未找到引用源。)表示。M次时域抽取如下:

第一次按最低位错误!未找到引用源。的0,1,2,3将x(n)分解为4组,第二次又按次低位错误!未找到引用源。的0,1,2,3值分别对上面所得的4组分组;以此类推,第M次按错误!未找到引用源。位分解,最后得到4进制倒序数。最终可以得到这样的规律:只要将顺序数(错误!未找到引用源。)的4进制数倒置,就能得到对应的4进制倒序数(错误!未找到引用源。)。

4.运算流程图:

clc;

clear;

a=0:255;

x=sin(2*pi/3*a)+sin(2*pi/4*a)+sin(2*pi/5*a)+sin(2*pi/6*a); %测试信号subplot(2,1,1),plot(x);

axis([0 256 -3 3]),title(' 时域信号波形');

subplot(2,2,3),plot(abs(fft(x)));

axis([0 256 0 200]),title('系统FFT 计算出的频谱');

N=256;

L=log(N)/log(4); %4点DFT 分解级数Wn=exp(-2j*pi/N); %旋转因子

temp=zeros(1,N); % 定义中间临时数组n=0:N-1;

screen=ones(1,N);

n=bitor(bitand(n,screen*hex2dec('cccc'))/4,bitand(n,screen*hex2dec('3333'))*4); n=bitor(bitand(n,screen*hex2dec('f0f0'))/16,bitand(n,screen*hex2dec('0f0f'))*16 );

n=bitor(bitand(n,screen*hex2dec('ff00'))/256,bitand(n,screen*hex2dec('00ff'))*2 56);

n=n/4^(8-L)+1;

for n1=1:N

temp(n(n1))=x(n1);

end

x=temp;

for l=1:L % 运算级循环

group_cont_2=4^(L-l); % 第l 级数据分组数

group_cont_1=4^(L-l+1); %第l-1 级数据分组数

group_interval_2=4^l; % 第l 级组间数据间隔个数,也是组内数据个数

group_interval_1=4^(l-1); %第l-1 级组间数据间隔个数,也是组内数据个数 G=group_cont_2-1; %分组上限

K=group_interval_1-1; % 组内数据上限

for g=0:G %每一级中包含的组循环,遍历每一组,计算各组中的数据 for k0=0:K %遍历每一组中的所有数据,计算次级数据

k=k0+g*group_interval_2+1; % 每组数据中第一个数据序号

m=group_cont_2*k0; % 每一级所乘旋转因子的指数因子

k1=k;

k2=k1+group_interval_1;

k3=k2+group_interval_1;

k4 =k3+group_interval_1;

X1=x(k1);

X2=Wn^m*x(k2);

X3=Wn^(2*m)*x(k3); X4=Wn^(3*m)*x(k4);

temp(k1)=X1+X2+X3+X4; temp(k2)=X1-1j*X2-X3+1j*X4; temp(k3)=X1-X2+X3-X4; temp(k4)=X1+1j*X2-X3-1j*X4; end end x=temp; % 将temp 中临时存储的第l 级结果赋值给x ,作为次级运算的输入

end

subplot(2,2,4),plot(abs(x));

axis([0 256 0 200]),title('自定义基 4FFT 计算出的频谱');

50

100

150

200

250

-3-2-1012

3 时域信号波形

01002000

50100150

200系统FFT 计算出的频谱

0100200

50100150

200自定义基 4FFT 计算出的频谱

总结:

通过对基4-fft 的学习,我发现方法对提高运算速度的重要性,原始的方法

可能无法从工程上进行运用,但是提出改进的运算方法后才能在生活中发挥它的

应有的作用,所以一方面要理论研究,另一方面要工程运用。要做基4-fft算法,首先的看懂基2-fft的方法,然后看基4-fft就容易些,主要就是因为旋转因子具有周期性和对称性,利用这些性质减少计算量,提高运算速度。

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些? 2、 如何判断系统稳定性? 3、 系统的动态性能指标有哪些? 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为:) ()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

基于matlab的GUI设计——机械原理教学演示系统

机械原理教学演示系统——基于matlab的GUI设计 xxx 指导老师: 20年月日

目录 一、功能简介 (3) 二、总界面 (3) 三、凸轮模块 (4) 四、齿轮模块 (6) 五.参考书目 (6) 六.附录(部分程序源代码) (7)

一、功能简介 本系统能实现机械原理教学过程中凸轮模块与齿轮模块的设计与运动仿真,加深对机械原理课程学习的理解。 二、总界面 总界面标题设置:set(gcf,'name','机械原理教学演示系统 made by 翟鲁鑫'); 背景图片设置:ximg=imread('机械原理课本.jpg'); imshow(ximg); 背景声音播放:Fs=44100; [ywav,Fs]=wavread('夜的钢琴曲 - 六3.wav'); sound(ywav,Fs); 到各个模块:到凸轮模块 clc close(gcf); clear all

GUItulun 到齿轮模块 clc close(gcf); clear all GUIchilun 关闭系统:clc question='真的要退出吗?'; title='确认退出?'; button=questdlg(question,title,'是','否','是'); switch button case'是' clear all close case'否' return end 三、凸轮模块 设计要点: 1.背景声音设置方法同主界面

2.推程角、远休角、回程角之和不能大于360度的判别条件;基圆半径、滚子半径、行程不能为0的判别条件 sr0=get(handles.edit2,'string'); r0=str2num(sr0); if isequal(r0,0) errordlg('基圆半径不能为0,请重新输入','出错'); return end srr=get(handles.edit3,'string'); rr=str2num(srr); if isequal(rr,0) errordlg('滚子半径不能为0,请重新输入','出错'); return end sh=get(handles.edit4,'string'); h=str2num(sh); if isequal(h,0) errordlg('行程不能为0,请重新输入','出错'); return end n3=phi01+phi02+phi03; %推程角、远休止角与回程角的总和 if n3>360 errordlg('角度之和大于360,请重新输入','出错'); end 3.仿真程序。采用for 循环以及m(j)=getframe之前要先使用moviein函数Initialize movie frame memory,否则要提示错误 4.仿真之前要先清除绘图时留下的图像,命令如下cla(handles.axes1); 5.回主界面之前要先clear all,关闭音乐、清空global定义的全局变量,以防全局变量影响下一程序 6.图像保存。绘制出的图像可以保存供以后查看。主要命令有uiputfile()、imwrite() [sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},... '保存图像文件','unititled.jpg'); if ~isequal([sfilename,sfilepath],[0,0]) sfilefullname=[sfilepath ,sfilename]; h_tulun = getframe(handles.axes1); imwrite(h_tulun.cdata,sfilefullname); else msgbox('您按了取消,保存失败','保存失败','error'); end

自动控制原理课程设计报告

《自动控制原理》 课程设计报告 姓名:高陆及__________ 学号: 1345533107______ 班级: 13电气 1班______ 专业:电气工程及其自动化学院:电气与信息工程学院

江苏科技大学(张家港) 2015年9月

目录 一、设计目的 (3) 二、设计任务 (3) 三、具体要求 (4) 四、设计原理概述 (4) 4.1校正方式的选择 (4) 4.2集中串联校正简述 (5) 4.2.1串联超前校正 (5) 4.2.2串联滞后校正 (5) 4.2.3串联滞后-超前校正 (5) 4.2.4串联校正装置的一般性设计步骤 (5) 五、设计方案及分析 (6) 5.1高阶系统的频域分析 (6) 5.1.1 原系统的频率响应特性及阶跃响应 (7) 5.1.2使用Simulink观察系统性能 (9) 5.1.3 搭建模拟实际电路 (10) 5.1.4 对原系统的性能分析 (12) 5.2校正方案确定与校正结果分析 (13) 5.2.1 采用串联超前网络进行系统校正 (13) 5.2.3 采用串联滞后—超前网络系统进行校正 (18) 5.2.4 使用EWB搭建校正后模拟实际电路 (23) 六、总结 (26)

一、设计目的 1.通过课程设计熟悉频域法分析系统的方法原理 2.通过课程设计掌握滞后—超前校正作用与原理 3.通过在实际电路中校正设计的运用,理解系统校正在实际中的意义 二、设计任务 控制系统为单位负反馈系统,开环传递函数为) 1025.0)(11.0()(++= s s s K s G , 设计滞后-超前串联校正装置,使系统满足下列性能指标: 1、开环增益100K ≥

自动控制原理习题全解及MATLAB实验 第6章习题解答

第6章控制系统的校正 本章主要讨论利用频率法对单输入-单输出的线性定常系统的综合和设计。在介绍控制系统校正的基本概念、控制系统的基本控制规律的基础上,介绍了各种串联校正装置(超前校正装置、滞后校正装置、滞后-超前校正装置)的特性及按分析进行相应设计的基本步骤和方法;还介绍了期望设计法的基本概念、常见的期望特性和设计步骤;另外还介绍了根轨迹法的串联校正和反馈校正的基本概念和方法;最后介绍了利用MATLAB进行控制系统校正。 教材习题同步解析 试分别说明系统的固有频率特性与系统期望频率特性的概念。 答:系统本身固有元件所具有的频率特性称为固有频率特性。设计者希望系统所能达到的频率特性称为系统期望频率特性。 试比较串联校正和反馈校正的优缺点。 答:a、校正装置和未校正系统的前向通道环节相串联,这种叫串联校正,串联校正是最常用的设计方法,设计与实现比较简单,通常将串联装置安置在前向通道的前端。 b、并联校正也叫反馈校正,它是和前向通道的部分环节按反馈方式连接构成局部反馈回路,设计相对较为复杂。并联校正一般不需要加放大器,它可以抑制系统的参数波动及非线性因素对系统性能的影。 PD控制为什么又称为超前校正?串联PD控制器进行校正为什么能提高系统的快速性和稳定性? 答:加入PD控制相当于在系统中加入一个相位超前的串联校正装置,使之在穿越频率处有较大的相位超前角。因此,PD控制称为超前控制。PD控制的传递函数为G s Kp sτ =+,由比例控制和微分控制组合而成。增大比例系数Kp,可以展宽系统的()(1) 通频带,提高系统的快速性。微分控制反映信号的变化率的预报作用,在偏差信号变化前给出校正信号,防止系统过大地偏离期望值和出现剧烈振荡倾向,有效地增强系统的相对稳定性。 PI控制为什么又称为滞后校正?串联PI控制器进行校正为什么能提高系统的稳态性能?如何减小它对系统稳定性的影响? 答:PI控制在低频段产生较大的相位滞后,所以滞后校正。PI控制的比例部分可以提高系统的无差度,改善系统的稳态性能。在串入系统后应使其转折频率在系统幅值穿越频率

机械原理大作业

Harbin Institute of Technology 机械原理大作业(一) 课程名称:机械原理 设计题目:连杆机构运动分析 院系:机电工程学院 班级: 设计者: 学号: 指导教师:

一、题目(13) 如图所示机构,已知各构件尺寸:Lab=150mm;Lbc=220mm;Lcd=250mm;Lad=300mm;Lef=60mm;Lbe=110mm;EF⊥BC。试研究各杆件长度变化对F点轨迹的影响。 二、机构运动分析数学模型 1.杆组拆分与坐标系选取 本机构通过杆组法拆分为: I级机构、II级杆组RRR两部分如下:

2.平面构件运动分析的数学模型 图3 平面运动构件(单杆)的运动分析 2.1数学模型 已知构件K 上的1N 点的位置1x P ,1y P ,速度为1x v ,1Y v ,加速度为1 x a ,1y a 及过点的1N 点的线段12N N 的位置角θ,构件的角速度ω,角加速度ε,求构件上点2N 和任意指定点3N (位置参数13N N =2R ,213N N N ∠=γ)的位置、 速度、加速度。 1N ,3N 点的位置为: 211cos x x P P R θ=+ 211sin y y P P R θ=+ 312cos()x x P P R θγ=++ 312sin()y y P P R θγ=++ 1N ,3N 点的速度,加速度为: 211211sin ()x x x y y v v R v P P ωθω=-=-- 211121sin (-) y y y x x v v R v P P ωθω=-=- 312131sin() () x x x y y v v R v P P ωθγω=-+=--312131cos()() y y y x x v v R v P P ωθγω=-+=-- 2 212121()()x x y y x x a a P P P P εω=---- 2 212121()() y y x x y y a a P P P P εω=+--- 2313131()()x x y y x x a a P P P P εω=---- 23133(1)(1) y y x x y y a a P P P P εω=+--- 2.2 运动分析子程序 根据上述表达式,编写用于计算构件上任意一点位置坐标、速度、加速度的子程序如下: 1>位置计算 function [s_Nx,s_Ny ] =s_crank(Ax,Ay,theta,phi,s) s_Nx=Ax+s*cos(theta+phi); s_Ny=Ay+s*sin(theta+phi); end 2>速度计算 function [ v_Nx,v_Ny ] =v_crank(s,v_Ax,v_Ay,omiga,theta,phi) v_Nx=v_Ax-s*omiga.*sin(theta+phi); v_Ny=v_Ay+s*omiga.*cos(theta+phi); end 3>加速度计算 function [ a_Nx,a_Ny ]=a_crank(s,a_Ax,a_Ay,alph,omiga,theta,phi) a_Nx=a_Ax-alph.*s.*sin(theta+phi)-omiga.^2.*s.*cos(theta+phi);

自动控制原理课程设计报告

成绩: 自动控制原理 课程设计报告 学生姓名:黄国盛 班级:工化144 学号:201421714406 指导老师:刘芹 设计时间:2016.11.28-2016.12.2

目录 1.设计任务与要求 (1) 2.设计方法及步骤 (1) 2.1系统的开环增益 (1) 2.2校正前的系统 (1) 2.2.1校正前系统的Bode图和阶跃响应曲线 (1) 2.2.2MATLAB程序 (2) 3.3校正方案选择和设计 (3) 3.3.1校正方案选择及结构图 (3) 3.3.2校正装置参数计算 (3) 3.3.3MATLAB程序 (4) 3.4校正后的系统 (4) 3.4.1校正后系统的Bode图和阶跃响应曲线 (4) 3.4.2MATLAB程序 (6) 3.5系统模拟电路图 (6) 3.5.1未校正系统模拟电路图 (6) 3.5.2校正后系统模拟电路图 (7) 3.5.3校正前、后系统阶跃响应曲线 (8) 4.课程设计小结和心得 (9) 5.参考文献 (10)

1.设计任务与要求 题目2:已知单位负反馈系统被控制对象的开环传递函数 ()() 00.51K G s s s =+用串联校正的频率域方法对系统进行串联校正设计。 任务:用串联校正的频率域方法对系统进行串联校正设计,使系统满足如下动态及静态性能 指标: (1)在单位斜坡信号作用下,系统的稳态误差0.05ss e rad <; (2)系统校正后,相位裕量45γ> 。 (3)截止频率6/c rad s ω>。 2.设计方法及步骤 2.1系统的开环增益 由稳态误差要求得:20≥K ,取20=K ;得s G 1s 5.0201)s(0.5s 20)s (20+=+=2.2校正前的系统 2.2.1校正前系统的Bode 图和阶跃响应曲线 图2.2.1-1校正前系统的Bode 图

自动控制原理MATLAB仿真实验

自动控制原理MATLAB仿真实验 实验一典型环节的MATLAB仿真 一、实验目的 1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK的使用 MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。 2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。 图1-1 SIMULINK仿真界面图1-2 系统方框图

3.在simulink 仿真环境下,创建所需要的系统。 以图1-2所示的系统为例,说明基本设计步骤如下: 1)进入线性系统模块库,构建传递函数。点击simulink 下的“Continuous ”,再将右边窗口中“Transfer Fen ”的图标用左键拖至新建的“untitled ”窗口。 2)改变模块参数。在simulink 仿真环境“untitled ”窗口中双击该图标,即可改变传递函数。其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK ,即完成该模块的设置。 3)建立其它传递函数模块。按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。例:比例环节用“Math ”右边窗口“Gain ”的图标。 4)选取阶跃信号输入函数。用鼠标点击simulink 下的“Source ”,将右边窗口中“Step ”图标用左键拖至新建的“untitled ”窗口,形成一个阶跃函数输入模块。 5)选择输出方式。用鼠标点击simulink 下的“Sinks ”,就进入输出方式模块库,通常选用“Scope ”的示波器图标,将其用左键拖至新建的“untitled ”窗口。 6)选择反馈形式。为了形成闭环反馈系统,需选择“Math ” 模块库右边窗口“Sum ”图标,并用鼠标双击,将其设置为需要的反馈形式(改变正负号)。 7)连接各元件,用鼠标划线,构成闭环传递函数。 8)运行并观察响应曲线。用鼠标单击工具栏中的“”按钮,便能自动运行仿真环境下的系统框图模型。运行完之后用鼠标双击“Scope ”元件,即可看到响应曲线。 三、实验原理 1.比例环节的传递函数为 221211()2100,200Z R G s R K R K Z R =-=-=-== 其对应的模拟电路及SIMULINK 图形如图1-3所示。

MATLAB程序:已知三个位置设计平面四杆机构求解程序(位移矩阵法)

%MATLAB程序:已知三个位置设计平面四杆机构求解程序(位移矩阵法) clear;clc; %凡是变量名前带v的为数值变量,不带的是符号变量 vxp1=0; vyp1=0; vsita1=0*pi/180; vxp2=-2; vyp2=6; vsita2=40*pi/180; vxp3=-10; vyp3=8; vsita3=90*pi/180; %精确位置P1,P2,P3及各角度 vsita12=vsita2-vsita1; vsita13=vsita3-vsita1; vxa=-10; vya=-2; vxd=-5; vyd=-2; %选定A,D点 %所有数值均在此确定,更改此处即可解出不同数值的四杆机构位移矩阵方程 syms xp1 yp1 xp2 yp2 xp3 yp3 sita12 sita13; syms xa ya xb1 yb1 xb2 yb2 xb3 yb3; f1='(xb2-xa)^2+(yb2-ya)^2=(xb1-xa)^2+(yb1-ya)^2'; f2='(xb3-xa)^2+(yb3-ya)^2=(xb1-xa)^2+(yb1-ya)^2'; %前两个机构方程 f3='xb2=cos(sita12)*xb1-sin(sita12)*yb1+xp2-xp1*cos(sita12)+yp1*sin(sita12)'; f4='yb2=sin(sita12)*xb1+cos(sita12)*yb1+yp2-xp1*sin(sita12)-yp1*cos(sita12)'; %由第一个位移矩阵方程得出 f5='xb3=cos(sita13)*xb1-sin(sita13)*yb1+xp3-xp1*cos(sita13)+yp1*sin(sita13)'; f6='yb3=sin(sita13)*xb1+cos(sita13)*yb1+yp3-xp1*sin(sita13)-yp1*cos(sita13)'; %由第二个位移矩阵方程得出 f1=subs(f1,{xa,ya},{vxa,vya}); f2=subs(f2,{xa,ya},{vxa,vya}); f3=subs(f3,{xp1,xp2,yp1,sita12},{vxp1,vxp2,vyp1,vsita12}); f4=subs(f4,{xp1,yp1,yp2,sita12},{vxp1,vyp1,vyp2,vsita12}); f5=subs(f5,{xp1,xp3,yp1,sita13},{vxp1,vxp3,vyp1,vsita13}); f6=subs(f6,{xp1,yp1,yp3,sita13},{vxp1,vyp1,vyp3,vsita13}); %代入具体数值 [xb1,xb2,xb3,yb1,yb2,yb3]=solve(f1,f2,f3,f4,f5,f6); %解方程 vxb1=vpa(xb1); vyb1=vpa(yb1); vxb2=vpa(xb2); vyb2=vpa(yb2); vxb3=vpa(xb3); vyb3=vpa(yb3); (vxb1-vxa)^2+(vyb1-vya)^2; (vxb2-vxa)^2+(vyb2-vya)^2; (vxb3-vxa)^2+(vyb3-vya)^2; %去掉这三行分号可验证B点三个位置是否距离A点相等 syms xd yd xc1 yc1 xc2 yc2 xc3 yc3;

机械原理大作业3 凸轮结构设计

机械原理大作业(二) 作业名称:机械原理 设计题目:凸轮机构设计 院系:机电工程学院 班级: 设计者: 学号: 指导教师:丁刚陈明 设计时间: 哈尔滨工业大学机械设计

1.设计题目 如图所示直动从动件盘形凸轮机构,根据其原始参数设计该凸轮。 表一:凸轮机构原始参数 序号升程 (mm) 升程运动 角(o) 升程运动 规律 升程许用 压力角 (o) 回程运动 角(o) 回程运动 规律 回程许用 压力角 (o) 远休止角 (o) 近休止角 (o) 12 80 150 正弦加速 度30 100 正弦加速 度 60 60 50 2.凸轮推杆运动规律 (1)推杆升程运动方程 S=h[φ/Φ0-sin(2πφ/Φ0)]

V=hω1/Φ0[1-cos(2πφ/Φ0)] a=2πhω12sin(2πφ/Φ0)/Φ02 式中: h=150,Φ0=5π/6,0<=φ<=Φ0,ω1=1(为方便计算) (2)推杆回程运动方程 S=h[1-T/Φ1+sin(2πT/Φ1)/2π] V= -hω1/Φ1[1-cos(2πT/Φ1)] a= -2πhω12sin(2πT/Φ1)/Φ12 式中: h=150,Φ1=5π/9,7π/6<=φ<=31π/18,T=φ-7π/6 3.运动线图及凸轮线图 运动线图: 用Matlab编程所得源程序如下: t=0:pi/500:2*pi; w1=1;h=150; leng=length(t); for m=1:leng; if t(m)<=5*pi/6 S(m) = h*(t(m)/(5*pi/6)-sin(2*pi*t(m)/(5*pi/6))/(2*pi)); v(m)=h*w1*(1-cos(2*pi*t(m)/(5*pi/6)))/(5*pi/6); a(m)=2*h*w1*w1*sin(2*pi*t(m)/(5*pi/6))/((5*pi/6)*(5*pi/6)); % 求退程位移,速度,加速度 elseif t(m)<=7*pi/6 S(m)=h; v(m)=0; a(m)=0; % 求远休止位移,速度,加速度 elseif t(m)<=31*pi/18 T(m)=t(m)-21*pi/18; S(m)=h*(1-T(m)/(5*pi/9)+sin(2*pi*T(m)/(5*pi/9))/(2*pi)); v(m)=-h/(5*pi/9)*(1-cos(2*pi*T(m)/(5*pi/9))); a(m)=-2*pi*h/(5*pi/9)^2*sin(2*pi*T(m)/(5*pi/9)); % 求回程位移,速度,加速度

自动控制设计(自动控制原理课程设计)

自动控制原理课程设计 本课程设计的目的着重于自动控制基本原理与设计方法的综合实际应用。主要内容包括:古典自动控制理论(PID)设计、现代控制理论状态观测器的设计、自动控制MATLAB 仿真。通过本课程设计的实践,掌握自动控制理论工程设计的基本方法与工具。 1 内容 某生产过程设备如图1所示,由液容为C1与C2的两个液箱组成,图中Q 为稳态液体流量)/(3s m ,i Q ?为液箱A 输入水流量对稳态值的微小变化)/(3s m ,1Q ?为液箱A 到液箱B 流量对稳态值的微小变化)/(3s m ,2Q ?为液箱B 输出水流量对稳态值的微小变化)/(3s m ,1h 为液箱A 的液位稳态值)(m ,1h ?为液箱A 液面高度对其稳态值的微小变化)(m ,2h 为液箱B 的液位稳态值)(m ,2h ?为液箱B 液面高度对其稳态值的微小变化)(m ,21,R R 分别为A,B 两液槽的出水管液阻))//((3s m m 。设u 为调节阀开度)(2m 。 已知液箱A 液位不可直接测量但可观,液箱B 液位可直接测量。 图1 某生产过程示意图

要求 1. 建立上述系统的数学模型; 2. 对模型特性进行分析,时域指标计算,绘出bode,乃示图,阶跃反应曲线 3. 对B 容器的液位分别设计:P,PI,PD,PID 控制器进行控制; 4. 对原系统进行极点配置,将极点配置在-1+j 与-1-j;(极点可以不一样) 5. 设计一观测器,对液箱A 的液位进行观测(此处可以不带极点配置); 6. 如果要实现液位h2的控制,可采用什么方法,怎么更加有效?试之。 用MATLAB 对上述设计分别进行仿真。 (提示:流量Q=液位h/液阻R,液箱的液容为液箱的横断面积,液阻R=液面差变化h ?/流量变化Q ?。) 2 双容液位对象的数学模型的建立及MATLAB 仿真过程 一、对系统数学建模 如图一所示,被控参数2h ?的动态方程可由下面几个关系式导出: 液箱A:dt h d C Q Q i 111?=?-? 液箱B:dt h d C Q Q 22 21?=?-? 111/Q h R ??= 222/Q h R ??= u K Q u i ?=? 消去中间变量,可得: u K h dt h d T T dt h d T T ?=?+?++?222122221)( 式中,21,C C ——两液槽的容量系数 21,R R ——两液槽的出水端阻力 111C R T =——第一个容积的时间常数 222C R T =——第二个容积的时间常数 2R K K u =_双容对象的放大系数

自动控制原理Matlab程序作业(精)

自控控制原理 MATLAB 程序设计作业 指导老师:汪晓宁 目录 一、题目 (2) 二、运行结果 (3) 三、程序说明 (8) 四、附录 ............................................ 9 代码 . ............................................. 9 参考文献 .. (17) 一、题目 用 Matlab 创建用户界面,并完成以下功能 a 将产生未综合系统的根轨迹图以及 0.707阻尼比线, 你可以交互地选择交点的运行点。界面能显示运行点的坐标、增益值以及近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及稳态误差 b 显示未综合系统的阶跃响应 c 输入控制器的参数, 绘制综合后系统的根轨迹图以及显示综合的设计点 (主导极点 , 允许不断改变控制器参数,知道所绘制的根轨迹通过设计点 d 对于综合后的系统, 显示运行点的坐标、增益,近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及误差系数 e 显示综合后系统的阶跃响应 二、运行结果

输入传递函数分子分母 生成根轨迹图

选择点并得到该点各项参数在下方输出面板输出 获得阶跃响应图 用 rltool(辅助,选择合适的插入零点

输入零点,并得到根轨迹图

选择根轨迹图上的任一点,得到数据,在下方输出面板输出得到阶跃响应图 三、运行说明

第一步, 在请输入分子后的输入框输入传递函数分子的矩阵, 在下一输入框输入传递函数分母并按“生成根轨迹图”按钮获得根轨迹 第二步, 按选择点并显示各参数获得根轨迹图上任一点的各项数据, 数据全部输出在下方输出面板 第三步,按“生成阶跃响应图”按钮可以获得该函数的阶跃响应 第四步,在“请输入插入零点”后的输入框中输入参数,并按“生成综合后根轨迹图” 按钮产生根轨迹 (可以通过点击“根轨迹校正”按钮,调用工具箱拖动零点进行快速查看根轨迹图,选择合适的根轨迹再在输入框中输入零点的值 第五步,按“选择点并显示各参数(综合后系统”选取各点,查阅参数,数据输出在下方输出面板上 第六步,按“生成阶跃响应图(综合后系统”可以得到综合后系统的阶跃响应 最后,点击“退出”结束程序 四、附录 代码: function varargout = Liushuai20122510(varargin % LIUSHUAI20122510 MATLAB code for Liushuai20122510.fig % LIUSHUAI20122510, by itself, creates a new LIUSHUAI20122510 or raises the existing % singleton*. %

哈工大机械原理大作业_凸轮机构设计(第3题)

机械原理大作业二 课程名称:机械原理 设计题目:凸轮设计 院系:机电学院 班级: 1208103 完成者: xxxxxxx 学号: 11208103xx 指导教师:林琳 设计时间: 2014.5.2

工业大学 凸轮设计 一、设计题目 如图所示直动从动件盘形凸轮,其原始参数见表,据此设计该凸轮。 二、凸轮推杆升程、回程运动方程及其线图 1 、凸轮推杆升程运动方程(6 50π?≤ ≤) 升程采用正弦加速度运动规律,故将已知条件mm h 50=,6 50π =Φ带入正弦加速度运动规律的升程段方程式中得: ??? ?? ???? ??-=512sin 215650?ππ?S ;

?? ? ?????? ??-= 512cos 1601ππωv ; ?? ? ??= 512sin 1442 1?π ωa ; 2、凸轮推杆推程远休止角运动方程( π?π ≤≤6 5) mm h s 50==; 0==a v ; 3、凸轮推杆回程运动方程(9 14π ?π≤≤) 回程采用余弦加速度运动规律,故将已知条件mm h 50=,9 5'0π= Φ,6 s π = Φ带入余弦加速度运动规律的回程段方程式中得: ?? ? ???-+=)(59cos 125π?s ; ()π?ω--=59 sin 451v ; ()π?ω-=59 cos 81-a 21; 4、凸轮推杆回程近休止角运动方程(π?π 29 14≤≤) 0===a v s ; 5、凸轮推杆位移、速度、加速度线图 根据以上所列的运动方程,利用matlab 绘制出位移、速度、加速度线图。 ①位移线图 编程如下: %用t 代替转角 t=0:0.01:5*pi/6; s=50*((6*t)/(5*pi)-1/(2*pi)*sin(12*t/5)); hold on plot(t,s); t=5*pi/6:0.01:pi; s=50; hold on plot(t,s); t=pi:0.01:14*pi/9; s=25*(1+cos(9*(t-pi)/5));

自控专业设计的方法和步骤

.自控工程设计的任务 自控工程专业设计的任务基本上有以下几个方面: 1.1负责生产装置、辅助工程和公用工程系统的检测、控制、报警、联锁/ 停车, 以及监控/ 管理计算机系统的设计; 1.2负责检测仪表、控制系统及其辅助设备和安装材料的选型设计; 1.3负责监测仪表和控制系统的安装设计; 1.4负责DCS PLC自控系统的配置、功能要求和设备选型,并负责或参加软 件的编制工作; 1.5负责现场仪表的环境防护措施的设计; 1.6负责控制室的设计; 1.7负责生产过程计量系统的设计。 自控工程设计常用的方法是由工艺专业提出条件,自控与工艺专业一起讨论确定控制方案,确定必要的中间储槽及其容量,确定合适的设备余量,确定开、停车以及紧急事故处理方案等。这种设计方法对合理确定控制方案,充分发挥自控专业的主观能动性是有益的。但是在实际设计过程中,尤其对一些新工艺,主要是由工艺专业提出条件并确定控制方案,自控专业进行设计,我们当前基本采用这种方法。 2.自控工程设计的阶段划分和设计内容 当前工程设计的阶段划分,一般分为两个阶段,即初步设计和施工图设计 2.1初步设计 初步设计的主要目的是为了上报有关部门作为审批的依据,并为订货做好必要的准备。它应完成的主要内容为: 设计说明书:给出设计依据、设计原则,提出项目实施的必要性,拟定控制系统的技术方案、仪表选型规定、DCS空制系统的选型及控制策略,并从节能、消防、环境保护以及劳动安全卫生等方面作出设计概述。 工艺控制流程图:在工艺专业流程图的基础上,正确选定所需的检测点及其安装位置,选择必要的被控变量和恰当的操纵变量,绘制于工艺流程图上。图例符号应符合化工部标准《过程检测和控制系统用文字代号和图形符号(HG 20505)》或国标《过程检测和控制流程图用图形符号和文字代号(GB 2625) 》。 主要仪表设备、材料汇总表:汇总所有控制系统所需设备及相应材料,给出名称、数量,为订货以及概算提供依据。 初步设计概算:从建筑工程、设备、安装工程、工器具费等方面进行综合概算。 2.2施工图设计施工图设计是直接应用于施工的图纸设计。当前我们常用的施工图 设计文 件由以下内容组成: 1)图纸目录 2)设计说明书 3)材料表 4)设备明细表 5)工艺专业提资表

《自动控制原理》MATLAB分析与设计

《自动控制原理》MATLAB分析与设计 仿真实验报告 第三章线性系统的时域分析法 1、教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果; (1)原系统的动态性能 SIMULINK仿真图: 仿真结果: 分析:从图中可以看出:峰值时间:tp=3.2s,超调量18.0%,调节时间ts=7.74s。 (2)忽略闭环零点的系统动态性能 SIMULINK仿真图:

仿真结果: 分析:从图中可以看出:峰值时间:tp=3.6s,超调量16.7%,调节时间ts=7.86s。 (3)两种情况动态性能比较 SIMULINK仿真图: 仿真结果:

原系统 忽略闭环零点 分析:通过比较可以看出闭环零点对系统动态性能的影响为:减小峰值时间,使系统响应速度加快,超调量增大。这表明闭环零点会减小系统阻尼。 3-9系统 SIMULINK仿真图: 仿真结果:

Scope0 分析:从图中可以看出:峰值时间:tp=1.05s,超调量35.1%,调节时间ts=3.54s(△=2%)。 Scope1 分析:从图中可以看出:峰值时间:tp=0.94s,超调量37.1%,调节时间ts=3.44s(△=2%)。

Scope2 分析:由于计算机在计算的过程也存在误差,因此,不同的参数时,两条线重合,需将闭环传递函数计算出来再作比较。 计算出闭环传递函数 SIMULINK仿真图:

分析:从图中可以看出:峰值时间:tp=1.05s,超调量35.1%,调节时间ts=3.54s(△=2%)。 Scope4 分析:从图中可以看出:峰值时间:tp=0.94s,超调量37.1%,调节时间ts=3.44s(△=2%)。

机械原理课程设计Matlab编程

/*Matlab程序*/ l1 = 59.1000; l2 = 263.9000; l3=120; l4=266.83; l5=180; l6=45; x2=170; y2=132.7289; w1=9.4248; N=42:10:402; ay=119:10:479 a=2*l1*l3*sin(N/180*pi); b=2*l3*(l1*cos(N/180*pi)-l4); c=l2^2-l1^2-l3^2-l4^2+2*l1*l4*cos(N/180*pi); jiao3=2*atan((a- sqrt(a.^2+b.^2-c.^2))./ (b-c))/pi*180+77 g=2*l1*l2*sin(N/180*pi); h=2*l2*(l1*cos(N/180*pi)-l4); m=l1^2+l2^2+l4^2-l3^2-2*l1*l4*cos(N/180*pi); jiao2=2*atan((g- sqrt(g.^2+h.^2-m.^2))./ (h-m))/pi*180+77 lof=-sqrt(l6^2-x2^2-l5^2+2*l5*x2*cos((180+jiao3)/180*pi)+l5^2*sin(j iao3/180*pi).^2)+y2-l5* sin((180+jiao3)/180*pi)

j12=N-(jiao2-77); j32=jiao3-jiao2; j13=(N-(jiao3-77)); j23=(jiao2-jiao3); w3=(w1*l1*sin(j12/180*pi))./ (l3*sin(j32/180*pi)) w2=(-1*w1*l1*sin(j13/180*pi))./(l2*sin(j23/180*pi)) a3=(w1^2*l1*cos(j12/180*pi)+w2.^2*l2-(w3.^2).*(l3*cos(j32/180*pi)) )./ (l3*sin(j32/180*pi)) a2=(-w1^2*l1*cos(j13/180*pi)-(w2.^2).*(l2*cos(j23/180*pi))+l3*w3.^ 2)./ (l3*sin(j23/180*pi)) jiao4=acos((x2-l5*cos((180+jiao3)/180*pi))/l6)/pi*180 w4=((-l5*sin((pi+jiao3)/180*pi)).*w3)./ (l6*sin(jiao4/180*pi)) vof=((l5*sin((180+jiao3-jiao4)/180*pi)).*w3).* sin(jiao4/180*pi) aof=(l6*w4.^2+(l5*w3.^2).*(cos((180+jiao3-jiao4)/180*pi))+l5*a3.*si n((180+jiao3-jiao4)/180*pi))./sin(jiao4/180*pi) 作图程序: /*F点的位移*/ plot(N+77,lof,'-xk') xlabel('AB杆的角度'),ylabel('F点的位移/(mm)') title('F点的位移曲线图') text(100, 171.3339,'初始值= 171.3339')

自动控制原理课程设计实验

上海电力学院 自动控制原理实践报告 课名:自动控制原理应用实践 题目:水翼船渡轮的纵倾角控制 船舶航向的自动操舵控制 班级: 姓名: 学号:

水翼船渡轮的纵倾角控制 一.系统背景简介 水翼船(Hydrofoil)是一种高速船。船身底部有支架,装上水翼。当船的速度逐渐增加,水翼提供的浮力会把船身抬离水面(称为水翼飞航或水翼航行,Foilborne),从而大为减少水的阻力和增加航行速度。 水翼船的高速航行能力主要依靠一个自动稳定控制系统。通过主翼上的舵板和尾翼的调整完成稳定化操作。该稳定控制系统要保持水平飞行地穿过海浪。因此,设计上要求系统使浮力稳定不变,相当于使纵倾角最小。 航向自动操舵仪工作时存在包括舵机(舵角)、船舶本身(航向角)在内的两个反馈回路:舵角反馈和航向反馈。 当尾舵的角坐标偏转错误!未找到引用源。,会引起船只在参考方向上发生某一固定的偏转错误!未找到引用源。。传递函数中带有一个负号,这是因为尾舵的顺时针的转动会引起船只的逆时针转动。有此动力方程可以看出,船只的转动速率会逐渐趋向一个常数,因此如果船只以直线运动,而尾舵偏转一恒定值,那么船只就会以螺旋形的进入一圆形运动轨迹。 二.实际控制过程 某水翼船渡轮,自重670t,航速45节(海里/小时),可载900名乘客,可混装轿车、大客车和货卡,载重可达自重量。该渡轮可在浪高达8英尺的海中以航速40节航行的能力,全靠一个自动稳定控制系统。通过主翼上的舵板和尾翼的调整完成稳定化操作。该稳定控制系统要保持水平飞行地穿过海浪。因此,设计上要求该系统使浮力稳定不变,相当于使纵倾角最小。

上图:水翼船渡轮的纵倾角控制系统 已知,水翼船渡轮的纵倾角控制过程模型,执行器模型为F(s)=1/s。 三.控制设计要求 试设计一个控制器Gc(s),使水翼船渡轮的纵倾角控制系统在海浪扰动D (s)存在下也能达到优良的性能指标。假设海浪扰动D(s)的主频率为w=6rad/s。 本题要求了“优良的性能指标”,没有具体的量化指标,通过网络资料的查阅:响应超调量小于10%,调整时间小于4s。 四.分析系统时域 1.原系统稳定性分析 num=[50]; den=[1 80 2500 50]; g1=tf(num,den); [z,p,k]=zpkdata(g1,'v'); p1=pole(g1); pzmap(g1) 分析:上图闭环极点分布图,有一极点位于原点,另两极点位于虚轴左边,故处于临界稳定状态。但还是一种不稳定的情况,所以系统无稳态误差。 2.Simulink搭建未加控制器的原系统(不考虑扰动)。

自动控制原理 matlab实验报告

自动控制原理实验(二) 一、实验名称: 基于MATLAB的控制系统频域及根轨迹分析 二、实验目的: (1)、了解频率特性的测试原理及方法; (2)、理解如何用MATLAB对根轨迹和频率特性进行仿真和分析; (3)、掌握控制系统的根轨迹和频率特性两大分析和设计方法。 三、实验要求: (1)、观察给定传递函数的根轨迹图和频率特性曲线; (2)、分析同一传递函数形式,当K值不同时,系统闭环极点和单位阶跃响应的变化情况;(3)、K值的大小对系统的稳定性和稳态误差的影响; (4)、分析增加系统开环零点或极点对系统的根轨迹和性能的影响。 四、实验内容及步骤 (1)、实验指导书:实验四 (1)、“rlocus”命令来计算及绘制根轨迹。会出根轨迹后,可以交互地使用“rlocfind”命令来确定点击鼠标所选择的根轨迹上任意点所对应的K值,K值所对应的所有闭环极点值也可以使用形如“[K, PCL] = rlocfind(G1)”命令来显示。 (2)、波特图:bode(G1, omga) 另外,bode图还可以通过下列指令得出相位和裕角: [mag,phase,w] = bode(sys) (3)、奈奎斯特图:nuquist(G, omega) (2)课本:例4-1、4-2、4-7 五实验报告要求 (1)、实验指导书:实验四

思考题 请绘制下述传递函数的bode图和nyquist图。 1. 根据实验所测数据分别作出相应的幅频和相频特性曲线; 2. 将思考题的解题过程(含源程序)写在实验报告中。 幅频特性曲线相频特性曲线 Gs = zpk([10], [-5; -16; 9], 200) subplot(1, 2, 1) bode(Gs) grid subplot(1, 2, 2) nyquist(Gs) grid (2)课本:例4-1、4-2、4-7

相关主题
文本预览
相关文档 最新文档