文档库 最新最全的文档下载
当前位置:文档库 › 数字集群MDR中4FSK的matlab仿真

数字集群MDR中4FSK的matlab仿真

数字集群MDR中4FSK的matlab仿真
数字集群MDR中4FSK的matlab仿真

1.基本概念

物理层的定义h=0.27;T是采样周期,1/4800秒。而D=3h/2T=1.944kHz。D的物理含义是Maximum deviation,最大频偏。

4FSK是恒包络调制,所以在终端功率上,应该比较省电。

4进制的随机信号产生,并把信号强度调整到规范规定的3,1,-1,-3:

M=4;

Ts=1/4800; % 4.8K的波特率;

x=randint(1000,1,M);

x=x.*2-3; %调整到正确的symbol;

plot(x);

部分信号绘制如下:

由于是随机信号,所以是宽带信号。频谱如下。只绘制到信号的采样频率,绘制频谱:

lx=length(x);

Freqs=1/Ts;

freq=[-Freqs/2:Freqs/lx:Freqs/2-Freqs/lx];

S=fftshift(abs(fft(x)));

Sdb=10*log10(S);

plot(freq,Sdb);:

进行基带滤波,滤波后的信号和频谱为下图。注意信号带宽被限制为根升余弦滤波的3dB 带宽以内。这个带宽|cos(f*pi/1920)|=1/2,f>1920,得到f=640+1920=2560Hz。这是一半带宽:% 滤波器的基本参数:sqrt,0.2。Fs至少要是2Fd,delay用默认的3。

y=rcosflt(x,1,2,'fir/sqrt',0.2,3,0);

%绘制频谱:

ly=length(y);

Freqs=2/Ts;

freq=[-Freqs/2:Freqs/ly:Freqs/2-Freqs/ly];

Sy=fftshift(abs(fft(y)));

Sdby=10*log10(Sy);

figure;

plot(freq,Sdby);

接下去,对4FSK调制进行仿真。

2.4FSK调制仿真

4FSK有3种方式,方式1,用前面余弦滤波后的基带数据进行频率振荡器的控制。这种方

式实现容易,但是频率的稳定性差。方式2,键控法。键控分频器的分频比,以控制2种不同分频脉冲的输出。在经过整形,就可以得到FSK信号。这种在DSP的实现中常用到。方法3,用fskmod函数。

不管用何种方式,DMR规范中,对4FSK的调制的结果给出了要求,要求在给定序列下,输出的调制信号,应该和1.2KHz的sine信号,通过最大偏差2.794KHz的FM调制器输出的信号一致。

方法1:fmmod。

Fmmod是模拟调制函数。它以Fs采样频率来看待输入和输出的数据。DMR系统中,基带信号的带宽小于2*1944=3888Hz。Fc我们可以设计的低一些,以降低采样频率,减少计算量。这样可以设计Fc=15kHz。足够高了。这样,为了让输出的图像细致些,我们设计采样频率Fs=150KHz。这个精度应该购了。

定好了这个调后,回过头看rcosflt函数。这个函数中我们感兴趣的就是它的Fs设计。因为是数字信号,所以rcosflt的Fd可以是1,这个1其实代表了1/Ts=4800Hz。我们的目的是让rcosflt的输出的数据能够和fmmod的Fs=150KHz的采样速率匹配上,于是不难算出,每个输入symbol相当于被采样15k/4800个数据点,也就是31.25个点。取整后,是32个点。反过来,调整采样频率成为32*4800=153.6KHz。

既然采样点数已经确定是32,那么rcosflt的Fs也就确定了,调整为32。所以,matlab代码如下(减少些symbol数目,为20个,便于计算):

M=4;

Ts=1/4800; % 4.8K的波特率;

x=randint(200,1,M);

x=x.*2-3; %调整到正确的symbol;

% 滤波器的基本参数:sqrt,0.2。Fs至少要是2Fd,取32,delay用默认的3。

y=rcosflt(x,1,32,'fir/sqrt',0.2,3,0); % 过渡补0后,滤波器增益会下降。

y=(3/max(y)).*y; % 调整滤波器增益,恢复信号强度。

% 根升余弦滤波后,输出的就是模拟的基带信号了。

% 模拟FM调制。Fc=15KHz, Fs=153.6KHz, freqdev=3888Hz;(因为滤波后,y最大值就在1左右)

Fc=15000;Fs=153600;freqdev= 648;

ym=fmmod(y,Fc,Fs,freqdev);

% 绘制频谱

lx=length(ym);

Freqs=Fs;

freq=[-Freqs/2:Freqs/lx:Freqs/2-Freqs/lx];

S=fftshift(abs(fft(ym)));

Sdb=10*log10(S);

plot(freq,Sdb);

用上面的方法,根据标准输入,可以看到输出的信号频谱为:

M=4;

Ts=1/4800; % 4.8K的波特率;

for i =1:200

if(mod(i,4)<2) x(i)= 3;

else x(i)=-3;

end

end

% 滤波器的基本参数:sqrt,0.2。Fs至少要是2Fd,取32,delay用默认的3。

y=rcosflt(x,1,32,'fir/sqrt',0.2,3,0); % 过渡补0后,滤波器增益会下降。

y=(3/max(y)).*y; % 调整滤波器增益,恢复信号强度。

% 模拟FM调制。Fc=15KHz, Fs=153.6KHz, freqdev=3888Hz;(因为滤波后,y最大值就在1左右)

Fc=15000;Fs=153600;freqdev= 648;

ym=fmmod(y,Fc,Fs,freqdev);

% 绘制频谱

lx=length(ym);

Freqs=Fs;

freq=[-Freqs/2:Freqs/lx:Freqs/2-Freqs/lx];

S=fftshift(abs(fft(ym)));

Sdb=10*log10(S);

plot(freq,Sdb);

方法2:直接写函数

其实就是模拟FM方法,对输入的信号进行积分。略。

方法3:Fskmod

fskmod(x,M,freq_sep,nsamp)

注意,这个函数是有问题的。我对它进行了修改。

对fskmod.m的代码中修改一行如下:

phaseIncr = (0:nSamp-1)' * (-(M-1):2:(M-1)) * 2*pi * freq_sep/2 * samptime/nSamp;

对fskdemod的代码修改一行如下:

t = [0 : 1/(nSamp*Fs) : 1/Fs - 1/(nSamp*Fs)]';

另外注意,在fskmod这个函数中,已经把x的数据调整到-(M-1):2:(M-1)来进行处理了。更新后的函数我重新命令为gyzfskmod和gyzfskdemod。另外,这个函数已经把输入的0~M-1调整为-(M-1):2:(M-1)了。符合DMR的需求。

思路还是:

通过gyzfskmod函数得到输出的IQ信号。

对IQ信号进行根升余弦滤波;

进行载波调制。

所以过程如下:

M=4;

Ts=1/4800; % 4.8K的波特率;

% x=randint(100,1,M);

x=[0 1 2 3 2 1 0 1 2 3 2 1 0 ];

Num=length(x);

freqsep=0.27;

nsamp=10;

Fs=1;

% Fc=nsamp*1/Ts; % 载波频率

Fc=10000; % 载波频率

y=gyzfskmod(x,M,freqsep,nsamp,Fs);

注意,这里调制出来的y信号,就是复数表示的模拟IQ信号。对于模拟的IQ信号,不能够直接用数字滤波器rcosflt。正确的如下:

% 设计滤波器,用filterbuilder的Nyquist类型。

% 输出信号的Fs是nsamp/Ts。所以Band=nsamp/2;

% Frequency unit我设置为归一化为1;

% Transition width是0.2

filterbuilder

%输出Hnyq。这个滤波器的时延没有直接的控制参数。通过解调,可以看到大概时延了2个symbol。

% 输出滤波

yf=filter(Hnyq,y);

% 输入滤波

yfin=filter(Hnyq,y);

% 解调

Z=gyzfskdemod(yfin,M,freqsep,nsamp);

% 输出波形绘图

tlen=length(x)*Ts; % 秒

% 时间分片

t=[0:tlen/length(yf):tlen-tlen/length(yf)];

% 计算载波

ccos=cos(2*pi*Fc.*t);

csin=sin(2*pi*Fc.*t);

% 计算输出波形

S=reshape(real(yf),1,length(yf)).*ccos-reshape(imag(yf),1,length(yf)).*csin;

plot(S);

% 绘制频谱

figure;

p=real(S);

lx=length(p);

Freqs=nsamp/Ts;

freq=[-Freqs/2:Freqs/lx:Freqs/2-Freqs/lx];

St=fftshift(abs(fft(p)));

Sdb=10*log10(St);

plot(freq,Sdb);

020406080100120140

-1.5-1

-0.5

0.5

1

1.5

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

自动控制原理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与控制系统仿真(重点编程)

第 4 章 MatLab 的程序设计 MatLab 是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言, MatLab 更简单、编程的效率更高、调试过程也更容易。 MatLab 中的程序文件是以 m 为后缀,所以通常将 MatLab 的程序文件称为 m 文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型 m 文件。在 MatLab 中已经嵌入了一个功能强大的集成开发环境—— m 文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab 程序设计基础 通过前面内容的学习,大家对 MatLab 已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m 文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M 文件规则和属性 函数 M 文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数 fliplr 存储在名为 fliplr.m 文件中。 2. MATLAB 头一次执行一函数个 M 文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函 数 M 文件的引用,它们也同样被编译到存储器。普通的脚本 M 文件不被编译,即使它们是从函数 M 文件内调用;打开脚本 M 文件,调用一次就逐行进行注释。 3. 在函数 M 文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如, ? help fliplr 返回上述前八行注释。 4. 第一行帮助行,名为 H1 行,是由 lookfor 命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

增量式PID控制算法的MATLAB仿真

增量式PID 控制算法的MATLAB 仿真 PID 控制的原理 在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID 控制,又称PID 调节。PID 控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID 控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID 控制技术。PID 控制,实际中也有PI 和PD 控制。PID 控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。 一、 题目:用增量式PID 控制传递函数为G(s)的被控对象 G (s )=5/(s^2+2s+10), 用增量式PID 控制算法编写仿真程序(输入分别为单位阶跃、正弦信号,采样时间为1ms ,控制器输出限幅:[-5,5],仿真曲线包括系统输出及误差曲线,并加上注释、图例)。程序如下 二、 增量式PID 原理 { U(k)= ?u(k)+ U(k-1) 或 { U(k)= ?u(k)+ U(k-1) 注:U(k)才是PID 控制器的输出 三、 分析过程 1、对G(s)进行离散化即进行Z 变换得到Z 传递函数G(Z); 2、分子分母除以z 的最高次数即除以z 的最高次得到; )]}2()1(2)([)()]1()({[)(-+--++ --=?n n n T T n T T n n K n U D I P O εεεεεε)] 2()1(2)([)(i )]1()([)(-+--++--=?n n n Kd n K n n K n U P O εεεεεε

MATLAB控制系统各种仿真例题(包括simulink解法)

一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到matlab 环境。 ]52)1)[(2(24)(322 33++++++=s s s s s s s G ) 99.02.0)(1(568 .0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s'); G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); G Transfer function: s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 >> num=[1 0 0.56]; den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1) Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.99 2. 请将下面的零极点模型输入到matlab 环境。请求出上述模型的零极点,并绘制其位置。 )1)(6)(5()1)(1(8)(22 +++-+++=s s s s j s j s s G ) 2.8() 6.2)(2.3()(1 511-++=----z z z z z H ,T=0.05s >>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8) Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1) >>pzmap(G)

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

《MATLAB与控制系统。。仿真》实验报告剖析

《MATLAB与控制系统仿真》 实验报告 班级: 学号: 姓名: 时间:2013 年 6 月

目录实验一 MATLAB环境的熟悉与基本运算(一)实验二 MATLAB环境的熟悉与基本运算(二)实验三 MATLAB语言的程序设计 实验四 MATLAB的图形绘制 实验五基于SIMULINK的系统仿真 实验六控制系统的频域与时域分析 实验七控制系统PID校正器设计法 实验八线性方程组求解及函数求极值

实验一 MATLAB环境的熟悉与基本运算(一) 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本原理 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MA TLAB常用命令 表1 MA TLAB常用命令 3.MATLAB变量与运算符 3.1变量命名规则 3.2 MATLAB的各种常用运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符

| Or 逻辑或 ~ Not 逻辑非 Xor 逻辑异或 符号功能说明示例符号功能说明示例 :1:1:4;1:2:11 . ;分隔行.. ,分隔列… ()% 注释 [] 构成向量、矩阵!调用操作系统命令 {} 构成单元数组= 用于赋值 4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式 三、主要仪器设备及耗材 计算机 四.实验程序及结果 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。 3、学习使用help命令。

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

某温度控制系统的MATLAB仿真

课程设计报告 题目某温度控制系统的MATLAB仿真(题目C)

过程控制课程设计任务书 题目C :某温度控制系统的MATLAB 仿真 一、 系统概况: 设某温度控制系统方块图如图: 图中G c (s)、G v (s)、G o (s)、G m (s)、分别为调节器、执行器、过程对象及温度变送器的传递函数;,且电动温度变送器测量范围(量程)为50~100O C 、输出信号为4~20mA 。G f (s)为干扰通道的传递函数。 二、系统参数 二、 要求: 1、分别建立仿真结构图,进行以下仿真,并求出主要性能指标: (1)控制器为比例控制,其比例度分别为δ=10%、20%、50%、100%、200%时,系统广义对象输出z(t)的过渡过程; (2)控制器为比例积分控制,其比例度δ=20%,积分时间分别为T I =1min 、3min 、5min 、10min 时,z(t)的过渡过程; 0m v o 0f o o =5min =2.5min =1.5(kg/min)/mA =5.4C/(kg/min) =0.8 C C T T K K K x(t)=80f(t)=10; ;;; ;给定值; 阶跃扰动

(3)控制器为比例积分微分控制,其比例度δ=10%,积分时间T I=5min,微分时间T D = 0.2min时,z(t)的过渡过程。 2、对以上仿真结果进行分析比对,得出结论。 3、撰写设计报告。 注:调节器比例带δ的说明 比例控制规律的输出p(t)与输入偏差信号e(t)之间的关系为 式中,K c叫作控制器的比例系数。 在过程控制仪表中,一般用比例度δ来表示比例控制作用的强弱。比例度δ定义为 式中,(z max-z min)为控制器输入信号的变化范围,即量程;(p max-p min)为控制器输出信号的变化范围。 = c p(t)K e(t) max min ( ) =100% ) max min e z z p(p-p δ - ?

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

复杂过程控制系统设计与Simulink仿真

银河航空航天大学 课程设计 (论文) 题目复杂过程控制系统设计与Simulink仿 真 班级 学号 学生姓名 指导教师

目录 0. 前言 (1) 1. 总体方案设计 (2) 2. 三种系统结构和原理 (3) 2.1 串级控制系统 (3) 2.2 前馈控制系统 (3) 2.3 解耦控制系统 (4) 3. 建立Simulink模型 (5) 3.1 串级 (5) 3.2 前馈 (5) 3.3 解耦 (7) 4. 课设小结及进一步思想 (15) 参考文献 (15) 附录设备清单 (16)

复杂过程控制系统设计与Simulink仿真 姬晓龙银河航空航天大学自动化分校 摘要:本文主要针对串级、前馈、解耦三种复杂过程控制系统进行设计,以此来深化对复杂过程控制系统的理解,体会复杂过程控制系统在工业生产中对提高产品产量、质量和生产效率的重要作用。建立Simulink模型,学习在工业过程中进行系统分析和参数整定的方法,为毕业设计对模型进行仿真分析及过程参数整定做准备。 关键字:串级;前馈;解耦;建模;Simulink。 0.前言 单回路控制系统解决了工业过程自动化中的大量的参数定制控制问题,在大多数情况下这种简单系统能满足生产工艺的要求。但随着现代工业生产过程的发展,对产品的产量、质量,对提高生产效率、降耗节能以及环境保护提出了更高的要求,这便使工业生产过程对操作条件要求更加严格、对工艺参数要求更加苛刻,从而对控制系统的精度和功能要求更高。为此,需要在单回路的基础上,采取其它措施,组成比单回路系统“复杂”一些的控制系统,如串级控制(双闭环控制)、前馈控制大滞后系统控制(补偿控制)、比值控制(特殊的多变量控制)、分程与选择控制(非线性切换控制)、多变量解耦控制(多输入多输出解耦控制)等等。从结构上看,这些控制系统由两个以上的回路构成,相比单回路系统要多一个以上的测量变送器或调节器,以便完成复杂的或特殊的控制任务。这类控制系统就称为“复杂过程控制系统”,以区别于单回路系统这样简单的过程控制系统。 计算机仿真是在计算机上建立仿真模型,模拟实际系统随时间变化的过程。通过对过程仿真的分析,得到被仿真系统的动态特性。过程控制系统计算机仿真,为流程工业控制系统的分析、设计、控制、优化和决策提供了依据。同时作为对先进控制策略的一种检验,仿真研究也是必不可少的步骤。控制系统的计算机仿真是一门涉及到控制理论、计算机数学与计算机技术的综合性学科。控制系统仿真是以控制系统的模型为基础,主要用数学模型代替实际控制系统,以计算机为工具,对控制系统进行实验和研究的一种方法。在进行计算机仿真时,十分耗费时间与精力的是编制与修改仿真程序。随着系统规模的越来越大,先进过程控制的出现,就需要行的功能强大的仿真平台Math Works公司为MATLAB提供了控制系统模型图形输入与仿真工具Simulink,这为过程控制系统设计与参数整定的计算与仿真提供了一个强有力的工具,使过程控制系统的设计与整定发生了革命性的变化。

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像(b) 原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡 一.实验目的 1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2?理解和掌握灰度均衡原理和实现方法; 二.实验设备 1. PC机一台; 2. 软件matlab ; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

MATLAB图像处理简介

MATLAB图像处理基础?MATLAB语言的特点: MATLAB图像处理基础 ?典型桌面: 2 MATLAB图像处理基础 ?一. 读取图像:将图像rose-orginal.tif读入图像数组f >> f = imread('.\rose-original.tif'); ?显示图像大小信息: >> size(f) ans = 1024 1024 或者将大小信息赋给变量 ?或者将大小信息赋给变量: >> [M, N] = size(f); ?whos显示更为详细的信息: >> whos f Name Size Bytes Class f 1024x1024 1048576 uint8 array Grand total is 1048576 elements using 1048576 bytes 3 MATLAB图像处理基础 ?二. 显示图像: >> imshow(f) ?指定显示的灰度范围 >> figure, imshow(f, [100 200]) ?情况下显示图像的整个 动态范围: >> figure, imshow(f, [ ]) 4 MATLAB图像处理基础 ?直接显示: >> imshow(h)?改善动态范围: >> imshow(h, [ ]) 利用imshow改善图像动态范围(设图像已被读入到h): 5 MATLAB图像处理基础 ?以交互方式显示像素值: >> pixval ?利用pixval显示像素之间 距离:按下鼠标左键并拖 动 6

MATLAB图像处理基础 ?三. 将图像写入磁盘: >> imwrite(f, 'rose.jpg') ?对于JPEG压缩格式,可指定质量因子: >> imwrite(f, 'rose.jpg', 'quality', 25) 7 quality = 100quality = 50quality = 5 MATLAB图像处理基础?显示图像信息: >> imfinfo rose.jpg MATLAB图像处理基础?计算压缩率:将图像信息存储在结构变量中以方 MATLAB图像处理基础?四. MATLAB中的数据类型: MATLAB图像处理基础?五. MATLAB中的图像类型: MATLAB图像处理基础 ?六. 图像类型的相互转换:下表中的函数在图像类型转换中会进行必要的数据比例变换。 12 >> f = [-0.5 0.5;0.75 1.5] f = -0.5000 0.5000 0.7500 1.5000 >> g = im2uint8(f) g = 0 128 191 255 im2unit8将输入double类型数据中小于0的 数转换为0,大于1的数转换为255,其余数 据乘以255再四舍五入到最近整数。

PID自适应控制学习与Matlab仿真

PID自适应控制学习与Matlab仿真 0 引言 在P ID控制中,一个关键的问题便是P I D参数整定。传统的方法是在获取对象数学模型的基础上,根据某一整定原则来确定PID参数。然而实际的工业过程往往难以用简单的一阶或二阶系统来描述,且由于噪声、负载扰动等因素的干扰,还可以引起对象模型参数的变化甚至模型结构的政变。这就要求在P I D 控制中。不仅PID参数的整定不依赖于对象数学模型,而PID参数能在线阐整,以满足实时控制的要求。 1 自适应控制的概念及分类 控制系统在设计和实现中普通存在着不确定性,主要表现在:①系统数学模型与实际系统间总是存在着差别,即所谓系统具有末建模的动态特性;②系统本身结构和参数是未知的或时变的;③作用在系统上的扰动往往是随机的,且不可量测;④系统运行中,控制对象的特性随时间或工作环境改变而变化,且变化规律往往难以事先知晓。 为了解决控制对象参数在大范围变化时,一般反馈控制、一般优控制和采用经典校正方法不能解决的控制问题。参照在日常生活中生物能够遏过自觉调整本身参数改变自己的习性,以适应新的环境特性。为此,提出自适应控制思想。 自适应控制的概念 所谓自适应控制是指对于控制对象的动态信息了解得不够充分对周围环境变化尚掌握不够明确的情况下控制系统对控制器的参数进行积极的自动调节。 自适应控制方法应该做到:在系统远行中,依靠不断采集控制过程信息,确定被控对象的当前实际工作状态,优化性能准则,产生自适应控制规律,从而实时地调整控制器结构或参数,使系统始终自动地工作在最优或次最优的运行状态下。 作为较完善的自适应控制应该具有以下三方面功能: (1)系统本身可以不断地检测和处理理信息,了解系统当前状态。 (2)进行性能准则优化,产生自适应校制规律。 (3)调整可调环节(控制器),使整个系统始终自动运行在最优或次最优工作状态。 自适应控制是现代控制的重要组成部分,它同一般反馈控制相比较有如下突出特点: (1) 一般反馈控制主要适用于确定性对象或事先确知的对象,而自适应控制主要研究不确定对象或事先难以确知的对象。 (2) 一般反馈控制具有强烈抗干扰能力,即它能够消除状态扰动引起的系统误差,而自适应控制因为有辨识对象和在线修改参数的能力,因而能消除状态扰动引起的系统误差,而且还能消除系统结构扰动引起的系统误差。 (3) 一般反馈控制系统的设计必须事先掌握描述系统特性的数学模型及其环境变化状况,而自适应控制系统设计则很少依赖数学模型全部,仅需要较少的验前知识,但必须设计一套自适应算法,因而将更多地依靠计算机技术实现。 (4) 自适应控制是更复杂的反馈控制,它在一般反调控制的基础上增加了自适应控制机构或辨识器,还附加一个可调系统。 自适应控制系统的基本结构与分类 通常,自适应控制系统的基本结构有两种形式,即前馈自适应控制和反馈自适应控制。 1.2.1 前馈自适应控制结构 前馈自适应控制亦称开环自适应控制,它借助对作用于过程信号的测量。并通过自适应机构按照这些测量信号改变控制器的状态,从而达到改变系统特性的目的。没有“内”闭

MatLab与控制系统仿真(重点编程)

第4章MatLab的程序设计 MatLab是一个工具、开发平台,同时它也是一门编程语言。与在命令窗口用交互的方式工作相比,通过程序运行来解决实际问题,其效率更高,因此,凡是复杂的、大型的应用都是以程序的方式执行。相对其它高级语言,MatLab更简单、编程的效率更高、调试过程也更容易。 MatLab中的程序文件是以m为后缀,所以通常将MatLab的程序文件称为m文件。MatLab提供了两种形式的m文件,即:脚本(Script)式m文件(就简称m文件)、函数型m文件。在MatLab中已经嵌入了一个功能强大的集成开发环境——m文件编辑器,用它来进行程序的编辑、修改、调试、运行等,完成应用开发工作。 4.1 MatLab程序设计基础 通过前面内容的学习,大家对MatLab已经有了一个初步的认识和印象,到目前为止,我们都是在“命令”窗口中,以交互的方式运行,完成我们的工作。实际上简单的m文件,就是一个批处理程序,它是若干条命令的集合。 例: 4.1.1 M文件规则和属性 函数M文件必须遵循一些特定的规则。除此之外,它们有许多的重要属性,这其中包括: 1. 函数名和文件名必须相同。例如,函数fliplr存储在名为fliplr.m文件中。 2. MATLAB头一次执行一函数个M文件时,它打开相应的文本文件并将命令编辑成存储器的内部表示,以加速执行以后所有的调用。如果函数包含了对其它函数M文件的引用,它们也同样被编译到存储器。普通的脚本M文件不被编译,即使它们是从函数M文件内调用;打开脚本M文件,调用一次就逐行进行注释。 页脚内容1

3. 在函数M文件中,到第一个非注释行为止的注释行是帮助文本。当需要帮助时,返回该文本。例如,? help fliplr返回上述前八行注释。 4. 第一行帮助行,名为H1 行,是由lookfor命令搜索的行。 5. 函数可以有零个或更多个输入参量。函数可以有零个或更多个输出参量。 6. 函数可以按少于函数M文件中所规定的输入和输出变量进行调用,但不能用多于函数M文件中所规定的输入和输出变量数目。如果输入和输出变量数目多于函数M文件中function语句一开始所规定的数目,则调用时自动返回一个错误。 相对于函数m文件,脚本式m文件就简单多了,它没有严格的格式要求,只要将有关的命令或函数一一敲入即可,但是还是有几个问题需要注意: 1. m文件的名称不得与MatLab的内部函数同名、第一个字符不得为数字(这点与变量的命名规则相同); 2. 最好在文件的头部加上注释,对该m文件的作用、功能作一个简要说明,而在一些重要命令行后也加上注释行,以方便使用者阅读、查找; 3. 要特别注意m文件的保存路径或位置,如果不是保存在MatLab默认的路径下,可以使用addpath函数来设置、添加路径,否则,m文件不能运行。 脚本式m文件与函数m文件还有一个重要区别:脚本式m文件中的变量均为全局变量,而函数m文件中的变量则是局部变量。这可以从这两种程序文件运行后在Workspace中留下痕迹看出。当然,在函数m文件中也可以专门将某些变量定义为全局变量(关键字是:global)。不过,在使用全局变量(函数m文件中)时应特别注意: ①.全局变量需要函数体的变量赋值语句之前定义或说明; ②.全局变量名最好是大写,而且要尽量长,能反映它本身的含义; 页脚内容2

相关文档
相关文档 最新文档