搜档网
当前位置:搜档网 › matlab与aspen接口

matlab与aspen接口

matlab与aspen接口
matlab与aspen接口

https://www.sodocs.net/doc/d68637308.html,/~zjshao/papers/2006%E5%9F%BA%E4%BA%8ECOM%E6%8A%80%E6%9C% AF%E7%9A%84MATLAB%E4%B8%8EAspen%20Plus%E6%8E%A5%E5%8F%A3%E5%8F%8A%E9%A B%98%E7%BA%A7%E5%BA%94%E7%94%A8.pdf

aspen可以与MATLAB连接,以前有个师姐用过,但不知道具体怎么连

至于aspen与fortran的连接我用过,我把ASPEN与fortran编写的动力学方程连接步骤总结了下,供海友参考:

1.把fortran程序粘至aspen安装文件的APRSYSTEM\Engine\xeq目录中。

2.打开aspen的模拟引擎Aspen Plus Simulation Engine(可从开始菜单中engine,很快即可找到)。

3.在模拟引擎中改变目录,输入:cd c:\program\aspentech\APRSYSTEM\Engine\xeq(蓝色部分可不同,因为我的aspen是安装在c:\program\aspentech下,目的就是将目录改至Engine\xeq 下)。

4.在模拟引擎中,完成3后回车,会出现更改后的目录。开始编译程序,输入:aspcomp text1.f (text1.f为fortran程序名)。

5.在模拟引擎中,完成4后回车,继续连接程序,输入:asplink text1.dll(后缀一定为.dll,程序名不变。若连接不成功可查看.ld后缀的文件找原因)。

6.以上顺利完成后,会在c:\program\aspentech\APRSYSTEM\Engine\xeq下产生包括程序在内的8个文件,后缀分别为:.f(fortran程序) .obj .log .dll .ld .exp .lds .lib

7.将以上8个文件及c:\program\aspentech\APRSYSTEM\Engine\xeq下的19个文件粘至所要连接的aspen文件所在文件夹中(必须保证以上8+19个文件与要连接的aspen文件在同一目录)。

8.aspen程序中以user类型定义reaction,在相应的subroutine的name中填:text1(fortran 程序名)即可实现连接(若连接不成功可查看.ld后缀的文件,查找原因)。

matlab实现:常见的离散时间信号

1. 单位抽样序列,或称为离散时间冲激,单位冲激: ? ??=01)(n δ 00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01)(k n δ 0≠=n k n 2.单位阶跃序列 ? ??01)(n u 00<≥n n 在MATLAB 中可以利用ones( )函数实现。 );,1(N ones x = 3.正弦序列 )(cos )(0φω+=n A n x 这里, ,,0ωA 和φ都是实数,它们分别称为本正弦信号)(n x 的振幅,角频率和初始相位。 πω200=f 为频率。 4.复正弦序列 n j e n x ω=)( 5.实指数序列 n A n x α=)( 6. 随机序列 长度为N 的随机序列 基本数学函数参考教材P69页以及随后的使用说明。 注意使用行向量,特别是冒号运算符。 举例,长度为N 的实指数序列在MATLAB 中实现: n a x N n .^1 :0=-= 1. 单位采样 长度为N 的单位采样序列u(n)可以通过下面的MATLAB 命令获得:

u=[1 )1,1(-N zeros ]; 延迟M 个采样点的长度为N 的单位采样序列ud(n)(M

MATLABAPI详解

MATLAB、API详解 【例12.1.4-1】有一个绘圆的M脚本文件circle.m如下。希望获得一个MEX绘圆程序。(1)原始的绘圆脚本文件 [circle.m] clf;r=2;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square') (2)对这脚本文件直接编译将因错误而失败 mcc -x circle ??? Error: File "circle" is a Script M-file and cannot be compiled with the current Compiler. Error in ==> H:\MATLAB53\toolbox\compiler\mcc.dll (3)把脚本文件改写成函数文件。 [circle_f.m]: function circle_f(r) clf;t=0:pi/100:2*pi;x=r*exp(i*t); plot(x,'r*');axis('square') (4)再对circle_f.m进行编译,将顺利通过。 mcc -x circle_f %mcc是编译指令,详见12.4节。 (5)运行生成的MEX文件circle_f.dll circle_f(0.5) %调用circle_f绘制一半径为0.5的圆 which circle_f %查询所调用的circle_f的路径全称。

图 12.2.1-1 【Select MATLAB Componets】对话窗的选项局部图 图 12.2.2.1-1 为产生MEX文件所产生的配置屏1

图 12.2.2.1-2 为产生MEX文件所产生的配置屏2 12.1.1.1配置正确性的验证 (1)mex应用程序的验证 cd d:\mywork %把用户目录指定为当前目录 mex my_yprime.c %由my_yprime.c文件生成my_yprime.dll文件my_yprime(1,1:4) %运行my_yprime.dll文件 which my_yprime %获得my_yprime.dll文件的位置信息 ans = 2.0000 8.9685 4.0000 -1.0947 d:\mywork\my_yprime.dll (2)在MATLAB命令窗中验证mcc应用程序 mcc -x my_yprime_m%<1> my_yprime_m(1,1:4) which my_yprime_m ans = 2.0000 8.9685 4.0000 -1.0947 d:\mywork\my_yprime_m.dll (3)在 DOS提示符后验证mex、mcc应用程序

常用信号的MATLAB表示

5 常用信号的MATLAB表示5.1单位冲激函数、单位冲激序列 示例7: t = -5:0.01:5; y = (t==0); subplot(121); plot(t, y, 'r'); n = -5:5; x = (n==0); subplot(122); stem(n, x); 图5 运行结果如图5所示。

程序说明: (1)由n = -5:5得到一个1×11数组n;而在x = (n==0)中,n==0是一个向量运算,即向量n中的每一个元素与0比较是否相等,其比较结果0或1放在x中。这样得到的向量x也是1×11数组,且正好就是单位冲激序列。 (2)在MATLAB中,任何向量x的下标是从1开始的,不能取零或负值,而x(n)中的时间变量n则不此受限制。因此向量x的下标与时间变量n是两个概念,如本例中向量x(n)的下标是从1到11,而时间变量n是从-5到5。所以必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。在信号的表示和运算中,这一点请务必注意;只有当序列x(n)的时间变量正好是从1开始时,才能省去时间变量n,因为此时向量的下标与时间变量相同。 (3)单位冲激函数的实现方法实际上与单位冲激序列是完全相同的,都是用序列表示。只不过表示连续时间信号的序列中两相邻元素所对应的时间间隔更小,如本例中t的间隔为0.01,而表示离散时间信号的序列中两相邻元素所对应的时间间隔一般为1。 由于单位冲激序列在信号与系统中经常使用,我们专门编制一个函数文件delta.m,在后面的实验部分直接调用该函数即可产生需要的波形。 % delta.m function [x, n] = delta(n1,n2,k) % 产生冲激序列δ(n-k),其中n1<=n<=n 2, n1<=k<=n2

实验1 常见离散信号的MATLAB产生和图形显示

实验1 常见离散信号的MATLAB 产生和图形显示 一、实验目的:加深对常用离散信号的理解 二、实验原理: 1.单位抽样序列:???=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n ?δ即:? ??=?01)(k n δ 0≠=n k n 2.单位阶越序列:???0 1 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。(1,)x ones N = 3.正弦序列:)/2sin()(?π+=Fs fn A n x 在MATLAB 中 ) /***2sin(*1 :0fai Fs n f pi A x N n +=?= 4.复正弦序列:n j e n x ?=)( 在MATLAB 中 ) **exp(1 :0n w j x N n =?= 5.指数序列:n a n x =)( 在MATLAB 中 n a x N n .^1:0=?= 三、实验内容: 1、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 2、讨论正弦序列、复指数序列的性质: (1)绘出信号()zn x n e =,当1126z j π=?+、1126z j π=+、112 z =、62πj z +=、6π j z =时 信号的实部和虚部图;当6 π j z =时信号的周期为多少?

(2)绘出信号() 1.5sin(2*0.1)x n n π=的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期。 3、使用帮助功能学习square(方波),sawtooth(锯齿波)和sinc 函数,并绘图。 四、实验要求: 1、预先阅读MATLAB 基础; 2、讨论复指数序列的性质。

常见连续信号的MATLAB表示

实验名称:常见连续信号的MATLAB 表示 报告人: 姓名班级学号 一、实验目的 1、熟悉常见连续时间信号的意义、特性及波形; 2、学会使用MATLAB 表示连续时间信号的方法; 3、学会使用MATLAB 绘制连续时间信号的波形。 二、实验内容及运行结果 1、运行以上5个例题的程序,保存运行结果。 2、已知信号()t f 的波形如下图所示,试用MATLAB 绘出满足下列要求的信号波形。 <1)()t f -; <2)()2-t f ; <3)()at f <其中a 的值分别为 21= a 和2=a ); <4)? ?? ??+12 1t f 。 第一题 例题1

程序如下: >> t1=-10:0.5:10。 >> f1=sin(t1>./t1。 >> figure(1> >> plot(t1,f1> >> xlabel('取样间隔p=0.5'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。>> t2=-10:0.1:10。 >> f2=sin(t2>./t2。 >> figure(2> >> plot(t2,f2> >> xlabel('取样间隔p=0.1'>。 >> title('f(t>=Sa(t>=sin(t>/t'>。运行结果如下:

f(t)=Sa(t)=sin(t)/t 取样间隔p=0.5 f(t)=Sa(t)=sin(t)/t 取样间隔p=0.1例题2 程序如下: >> syms t >> f=sin(t>/t。 >> ezplot(f,[-10,10]>运行结果如下:

sin(t)/t t 例题3: 程序如下: >> t=-1:0.01:4。 >> t0=0。 >> ut=stepfun(t,t0>。>> plot(t,ut> >> axis([-1,4,-0.5,1.5]>运行结果如下:

基于matlab的直接序列扩频通信系统仿真

基于MATLAB的直接序列扩频通信系统仿真 1.实验原理:直接序列扩频(DSSS)是直接利用具有高码率的扩频码系列采用各种调 制方式在发端与扩展信号的频谱,而在收端,用相同的扩频码序去进行解扩,把扩展宽的扩频信号还原成原始的信息。它是一种数字调制方法,具体说,就是将信源与一定的PN码(伪噪声码)进行摸二加。例如说在发射端将"1"用11000100110,而将"0"用00110010110去代替,这个过程就实现了扩频,而在接收机处只要把收到的序列是11000100110就恢复成"1"是00110010110就恢复成"0",这就是解扩。这样信源速率就被提高了11倍,同时也使处理增益达到10DB以上,从而有效地提高了整机倍噪比。 1.1 直扩系统模型 直接序列扩频系统是将要发送的信息用伪随机码(PN码)扩展到一个很宽的频带上去,在接收端用与发送端相同的伪随机码对接收到的扩频信号进行相关处理,恢复出发送的信号。对干扰信号而言,与伪随机码不相关,在接收端被扩展,使落入信号通频带的干扰信号功率大大降低,从而提高了相关的输出信噪比,达到了抗干扰的目的。直扩系统一般采用频率调制或相位调制的方式来进行数据调制,在码分多址通信中,其调制多采用BPSK、DPSK、QPSK、MPSK等方式,本实验中采取BPSK方式。 直扩系统的组成如图1所示,与信源输出的信号a(t)是码元持续时间为Ta的信息流,伪随机码产生器产生伪随机码c(t),每个伪随机码的码元宽度为Tc (Tc<

计算机组成原理第8章-输入输出系统

第八章输入输出系统 8.1输入输出设备的编址方式 8.2 总线结构 8.2.1 概述 总线是传送信息的通路,在计算机系统中使用的总线可分成3类: (1)计算机系统中各部件内部传送信息的通路。例如:运算器内部寄存器与寄存器之间、寄存器与算术逻辑运算单元(ALU)之间的传送通路,通常称之为内部总线。 (2)计算机系统中各部件之间传送信息的通路。例如CPU与主存储器之间,CPU与外设端口之间传送信息的通路,通常称之为“系统总线”。 (3)计算机多机系统内部各计算机之间传送信息的通路,通常称之为“机间总线”或“多机总线”。 本节中讨论的主要是CPU与外设接口之间的系统总线,又可称作输入输出总线,简称I/O总线。 提到总线,人们马上会想到它由许多条传输线构成,这些传输线的总条数称作总线的宽度,连接在一条总线上常常有多个设备或部件,因此常被称作共享总线或分时总线。因为不管一条总线上连接了多少个设备,任何时候只能有两个设备利用总线进行通信,一是信息发送者,一是信息接收者。于是就应该有一个部件来确定当前总线由哪两个设备来使用。如果有多个部件申请使用总线时,还应该由它根据申请者的优先级别来确定使用总线的优先次序,所有这些功能要由总线控制逻辑来完成。因此总线应该是由一定数量的传输线和总线控制器两部分构成。总线控制器可以是集中式的,集中在某个部件内部,也可以是分散式的,分散在共享总线的多个部件中。 8.2.2总线的控制方式 以集中式总线控制方式为例来说明常用的3种总线控制与仲裁方式。 1.串行链式查询方式 采用串行链式查询方式来实现判优功能的连接图如图8-3所示。

从图8-3中可以看出,该总线上连接着多个部件,对各个部件来说,除了共享数据总线和地址总线外,还有3条控制线(构成控制总线):总线请求信号线(BR)、总线忙信号线(BS)和总线认可信号线(BG)。由于总线认可信号线对共享总线的多个部件来说形成了一条串行的链,故串行链式查询方式因此而得名。平时,BR、BS和BG线均无效,当某个或多个部件要求使用总线时,各部件通过BR线向总线控制器发出总线请求信号,总线控制器得到请求后置BG线有效,并首先进入“部件0”,若“部件0”有请求,则BG线将终止向后传送,由“部件0”发出总线忙(BR=1)信号,表示当前总线由“部件0”占用;若“部件0”无请求,则BG 线继续往后传送,一直传送到某个有总线请求的部件为止,这时总线控制器将总线使用权交给该部件。从上述查询过程中可以看出,离总线控制器最近的部件具有最高的优先权,最远的部件只有在它前面所有部件均不请求使用总线时,才有可能得到总线的使用权,这种不公平的待遇将保持不变。这种查询方式控制简单,控制线数量少,总线上要增、删部件很容易,但是对串行查询链上的电路故障非常敏感,如果某个部件的查询链出了故障,那么该部件之后的所有部件都将无法得到总线的使用权。 2.计数定时查询方式 计数定时查询方式连接图如图8-4所示

实验一--常见离散信号的MATLAB产生和图形显示

实验一 常见离散信号的MATLAB 产生和图形显示 授课课时:2学时 一、实验目的: (1)熟悉MATLAB 应用环境,常用窗口的功能和使用方法。 (2)掌握MATLAB 在时域内产生常用离散时间信号的方法。 (3)掌握离散信号的基本运算。 (4)掌握简单的绘图命令。 二、实验原理: (一)信号的表示和产生 ① 单位抽样序列 ? ??=01)(n δ 00 ≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1)(k n δ ≠=n k n 参考程序: 例1-1:)2010(()(<<-=n n n x )δ clear all n1=-10;n2=20;n0=0;%在起点为n1,终点为n2的范围内,于n0处产生冲激。 n=n1:n2;%生成离散信号的时间序列 x=[n==n0];%生成离散信号x(n) stem(n,x);%绘制脉冲杆图

xlabel(' n');ylabel('x(n)');%横坐标和纵坐标的标注说明。 title('Unit Sample Sequence');%图形上方标注图名 axis([-10 20 0 1.2]);%确定横坐标和纵坐标的取值范围 ② 单位阶跃序列 ???=0 1 )(n u 00<≥n n 例1-2:)202((u )(<<-=n n n x ) clear all n1=-2;n2=20;n0=0; n=n1:n2;%生成离散信号的时间序列 x=[n>=n0];%生成离散信号x(n) stem(n,x,'filled'); xlabel('n');ylabel('x(n)'); title('Unit step Sequence'); axis([-2 20 0 1.2]); ③ 正弦序列 )sin()(?+=wn A n x 例1-3:一正弦信号的频率为1HZ ,振幅值幅度A 为1V ,在窗口显示2个周期的信号波形,并对该信号的一个周期进行32点采样获得离散信号并显示该连续信号和离散信号的波形。 参考程序: clear f=1; A=1;nt=2;

第8章 微型计算机输入输出接口技术习题参考答案

第八章习题及答案 8.1 CPU与外设传送数据时为什么需要I/O接口?I/O接口的基本功能有那些? 答:由于外部设备和装置的工作原理、驱动方式、信息格式和数据处理速度等各不相同,必须经过中间电路才能与CPU相连,这部分中间电路就是I/O接口。 I/O接口的基本功能有: 1、设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异; 2、进行信息格式的转换,如串行和并行的转换; 3、协调CPU与外设在信息类型和电平上的差异,如电平转换驱动器、数/模和模/数转换器等; 4、协调时序差异,同步CPU与外设的工作; 5、地址译码和设备选择功能,使CPU在某一时刻只能选中一个I/O端口; 6、提供联络信号,承担CPU与外设之间的联络工作,联络的具体信息有控制信息、状态信息和请求信号等,如外设的“Ready”、“Busy”等状态; 7、设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下,产生中断和DMA 请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。 8.2 I/O接口传送的信息分为哪几类?传送的数据信息分为哪几种? 答:I/O接口信息通常包括数据信息、状态信息和控制信息等。其中数据信息包括数字量、模拟量和开关量三种基本形式。 8.3 统一编址方式和独立编址方式各有什么特点和优缺点? 答:统一编址方式的主要优点是: 1、端口寻址手段丰富,对其数据进行操作可与对存储器操作一样灵活,且不需要专门的I/O指令,有利于I/O程序的设计; 2、I/O寄存器数目与外设数目不受限制,而只受总存储容量的限制,读写控制逻辑比较简单。 其缺点是: 1、I/O端口要占用存储器的一部分地址空间,使可用的内存空间减少; 2、存储器操作指令通常要比I/O指令的字节多,故加长了I/O操作的时间。 独立编址方式的优点是: 1、I/O口的地址空间独立,且不占用存储器地址空间; 2、地址线较少,寻址速度相对较快; 3、使用专门I/O指令,编制的程序清晰,便于理解和检查。 其缺点是: 1、I/O指令较少,访问端口的手段远不如访问存储器的手段丰富,导致程序设计的灵活性较差; 2、需要存储器和I/O端口两套控制逻辑,增加了控制逻辑的复杂性。 8.4 简述CPU与外设之间进行数据传送的几种常用形式,各有何优缺点? 答:CPU与外设之间的数据传送方式主要有直接程序控制方式、中断控制方式、直接存储器存取方式等。 直接程序控制方式可分为无条件传送方式和条件传送方式两种:无条件传送方式主要用于对简单外设进行操作,或者外设的定时是固定或已知的场合;条件传送方式在执行输入/

第13章 MATLAB外部程序接口技术_习题答案

1 第13章 MATLAB 外部程序接口技术 习题13 一、选择题 1.要在Word 环境下调用MATLAB 的命令,需要调用Word 的( )模板。B A .Normal B .M-Book C .自由格式 D .空白文档 2.在Excel 环境下加载Spreadsheet Link 程序后,会在Excel 窗口的“开始”选项卡中增加一个( )命令组。D A .Excel B .Spreadsheet C .Link D .MATLAB 3.打开一个可读可写的文本文件,其打开方式为 。A A .rt+ B .r+ C .rwt D .a 4.以下选项中,用于定义指向MAT 文件指针的命令是( )。A A .MA TFile *p; B .MAT *p; C .File *p; D .FIL E *p; 5.关于MATLAB 引擎,下列说法中不正确的是( )。C A .利用MA TLA B 引擎,可以在 C 程序中调用MA TLAB 的函数。 B .通过MATLAB 引擎,可以提高开发应用程序的效率。 C .通过MA TLAB 引擎,可以在MA TLAB 中直接调用用C 语言编写的函数 D .包含MA TLAB 引擎函数的程序的执行效率减低。 二、填空题 1.在Word 与MATLAB 之间进行传递的内容称为 ,由M-Book 文档传向MATLAB 的命令称为 ,M-Book 文档中的MATLAB 命令的执行结果称为 。单元(Cell ),输入单元(Input Cell ),输出单元(Output Cell ) 2.Excel 和MA TLAB 的交互操作,通过 程序来实现。Spreadsheet Link 3.MA TLAB 文件操作的基本步骤是,先 文件,在对文件进行 ,最后 文件。打开,读写,关闭 4.对MAT 文件进行操作的C 程序中,一定要包含 头文件。mat.h 5.MEX 函数在头文件 中得到声明。mex.h 三、应用题 1.在MA TLAB 中创建一个100 × 200的随机矩阵,然后将数据导入到Excel 表格中,在Excel 中调用MATLAB 的差分函数按列进行差分运算。 2.已知)2ln(x y + =π,当x 取-3.0、-2.9、-2.8、…、2.8、2.9、3.0时,求各点的 函数值。要求: (1)将函数值输出到一个数据文件中。

用MATLAB实现常用的离散时间信号及其时域运算

用M A T L A B实现常用的离散时间信号及其时域 运算 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】

实验四用M A T L A B实现常用的离散时间信号及其时域运算 —— 摘要:在MATLAB中,只能用向量来表示离散时间信号。与连续信号不同,离散时间信号无法用符号运算来表示。用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令stem来绘出直观的信号波形图,stem是专门用于绘制离散时间信号的。在MATLAB中离散序列的时域运算和变换不能用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的相加、相乘需表示成两个向量的相加、相乘,因而参加运算的两序列向量必须有相同的维数。 一、实验目的:(1)学习MATLAB语言及其常用指令; (2)学习和掌握用MATLAB语言产生离散时间信号的编程方法; (3)通过编程绘制出离散时间信号的波形,加深理解信号的时域运算。二、实验内容:(1)运用MATLAB的绘图指令绘制离散时间信号; (2)用MATLAB语言实现离散时间信号的时域运算。 三、实验原理:(1)单位阶跃序列和单位样值序列。 离散时间信号只在某些离散的瞬时给出信号的值,因此,它是时间上不连续的序列。单位阶跃序列和单位样值序列在离散时间信号与系统的分析中是两个非常典型的序列,分别记为u(n)和δ(n)。它们的定义分别如下: 1 n≥0 1 n≥0 u(n)= δ(n)= 0 n<0 0 n≠0 若单位阶跃序列的起始点为n0,单位样值序列出现在n0时刻,则表达式分别为:

在MATLAB环境下访问外部函数的共享库文件

在MA TLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中。一旦加载成功,就能直接在MA TLAB中直接请求关于函数的任何信息。而当不再需要该库时,就应当及时把库文件从内存中卸载以节省内存开销。 加载库 语法:loadlibrary(…shrlib?,?hfile?) 其中shrlib为加载的动态链接库文件名(filename.dll),hfile为头文件名,它包含函数原型。例如,当加载包含MA TLAB中mx程序的libmx库时,可以使用下列语句。 hfile=[matlabroot?\extern\include\matrix.h?]; loadlibray(…libmx?, hfile) 卸载库 语法:unloadlibrary libmx 使用两个函数可以获取加载库的信息: libfunctions(…libname?) or libfunctions libname libfunctionsview(…libname?) or libfunctionsview libname 这两个函数的不同之处在于显示结果的方式不同,后者是以图形的方式显示在新的窗口中。而前者返回库libmx中有哪些可用的函数。请看示例: libfunctions libmx Methods for class lib.libmx: mxAddField mxGetFieldNumber mxIsLogicalScalarTrue mxArrayToString mxGetImagData mxIsNaN mxCalcSingleSubscript mxGetInf mxIsNumeric mxCalloc mxGetIr mxIsObject mxClearScalarDoubleFlag mxGetJc mxIsOpaque mxCreateCellArray mxGetLogicals mxIsScalarDoubleFlagSet 如果加上命令开头-full,则可以显示函数返回值的细节。 libfunctions libmx -full Methods for class lib.libmx: [mxClassID, MA TLAB array] mxGetClassID(MA TLAB array) [lib.pointer, MA TLAB array] mxGetData(MA TLAB array) [MA TLAB array, voidPtr] mxSetData(MA TLAB array, voidPtr) [lib.pointer, MA TLAB array] mxGetPr(MA TLAB array) [MA TLAB array, doublePtr] mxSetPr(MA TLAB array, doublePtr) uint8 mxIsFinite(double) uint8 mxIsInf(double) 值得注意的是,这两个函数返回值的类型均是MA TLAB的数据类型,虽然函数是利用C语言编写的。调用库函数 一旦库函数被加载到了内存空间,只要指定库名、函数名和变量就可以使用calllib函数调用库中的任何函数了。语法格式: calllib(…libname?,?funcname?,arg1,…,argn) 下列语句显示如何操作: hfile=['C:\MA TLAB7\extern\include\matrix.h'];

Matlab实现M序列的产生及其自相关序列学习资料

M a t l a b实现M序列的产生及其自相关序 列

电子信息工程专业课程设计任务书

1 需求分析 伪随机信号既有随机信号所具有的优良的相关性,又有随机信号所不具备的规律性. 因此,伪随机信号既易于从干扰信号中被识别和分离出来,又可以方便地产生和重复,其相关函数接近白噪声的相关函数, 有随机噪声的优点,又避免了随机噪声的缺点. 伪随机序列具有可确定性、可重复性,易于实现相关接受或匹配接受,故有很好的抗干扰性能. 因此伪随机序列在相关辩识、伪码测距、导航、遥控遥测、扩频通信、多址通信、分离多径、误码测试、线形系统测量、数据加扰、信号同步等方面均有广泛的应用. m序列是伪随机序列中最重要的一种,是最长线性移位寄存器序列,m序列易于实现,具有优良的自相关特性,在直扩通信系统中用于扩展要传递的信号。可以通过移位寄存器,利用MATLAB编程产生m序列。 2 概要设计 m 序列是最长线性反馈移位寄存器序列的简称,m 序列是由带线性反馈的移位寄存器产生的. 由n级串联的移位寄存器和和反馈逻辑线路可组成动态移位寄存器,如果反馈逻辑线路只由模2和构成,则称为线性反馈移位寄存器。 带线性反馈逻辑的移位寄存器设定初始状态后,在时钟触发下,每次移位后各级寄存器会发生变化。其中任何一级寄存器的输出,随着时钟节拍的推移都会产生一个序列,该序列称为移位寄存器序列。 n级线性移位寄存器的如图1所示: 图1 n级线性移位寄存器

图中i C 表示反馈线的两种可能连接方式,i C =1表示连线接通,第n-i 级输出加入反馈中;i C =0表示连接线断开,第n-i 级输出未参加反馈。 因此,一般形式的线性反馈逻辑表达式为 112201 (mod 2)n n n n n i n i i a C a C a C a C a ---==⊕⊕⊕=∑L 将等式左面的n a 移至右面,并将00(1)n n a C a C ==代入上式,则上式可改写为 10 0n i n i C a -==∑ 定义一个与上式相对应的多项式 ()n i i i F x C x ==∑ 其中x 的幂次表示元素的相应位置。式称为线性反馈移位寄存器的特征多项式,特征多项式与输出序列的周期有密切关系.当F(x)满足下列三个条件时,就一定能产生m 序列: (1) F(x)是不可约的,即不能再分解多项式; (2) F(x)可整除1p x +,这里21n p =-; (3) F(x)不能整除1q x +,这里q

几种简单连续信号的matlab实现

连续信号及其MATLAB实现(原创) 连续信号又称为模拟信号,其信号存在于整个时间范围内,包括单位冲激信号,单位阶跃信号,斜坡信号,实指数信号,正弦信号,指数调制正弦信号,等等。以下我们将这几种常见的连续信号用MATLAB实现。 1、单位冲激信号 【例1】t=1/A=1/50时,单位脉冲δ(t)的MATLAB实现程序如下: clear all t1=-0.5:0.001:1; K=3; n1=length(t1); u=zeros(1,n1); t2=-0.5:0.001:0; n2=length(t2); u(n2)=K; plot(t1,u) 2、任意函数 【例2】脉冲序列: f(n)=0.4δ(n-2)+0.8δ(n-1)+1.2δ(n)+1.5δ(n+1)+1.0δ(n+2)+0.7δ(n+3),其MATLAB实现程序如下: clear all t=-2:1:3; N=length(t); x=zeros(1,N); x(1)=0.4; x(2)=0.8; x(3)=1.2; x(4)=1.5; x(5)=1.0; x(6)=0.7; stem(t,x) axis([-2.2 3.2 0 1.7]) 3、单位阶跃函数

【例3】单位阶跃函数的MATLAB实现程序: clear all t=-0.5:0.001:1; t0=0; u=stepfun(t,t0); plot(t,u) axis([-0.6 1 -0.2 1.2]) 4、斜坡函数 【例4】斜坡函数:g(t)=3(t-1),其MATLAB实现程序如下: clear all t=0:0.001:3; B=3; t0=1; u=stepfun(t,t0); n=length(t); for i=1:n u(i)=B*u(i)*(t(i)-t0); end plot(t,u) axis([-0.2 3.1 -0.2 6.2]) 5、实指数函数 【例5】实指数函数:f(t)=3exp(0.5t),其实现程序: clear all t=0:0.001:3; B=3; A=3; a=0.5; u=A*exp(a*t); plot(t,u)

计算机组成原理习题第八章输入输出系统

第八章输入输出系统 一、填空题; 1.直接内存访问(DMA)方式中,DMA控制器从CPU完全接管对的控制,数据交换不经过CPU,而直接在内存和之间进行。 2.通道是一个特殊功能的,它有自己的专门负责数据输入输出的传输控制。 3.并行I/O接口和串行I/O接口是目前两个最具有权威性的标准接口技术。 4.在计算机系统中,CPU对外围设备的管理,除了程序查询方式、程序中断方式外,还有方式、方式和方式。 5.程序中断方式控制输入输出的主要特点是,可以使A 和B 并行工作。 6.DMA控制器按其A 结构,分为B 型和C 型两种。 7.通道是一个特殊功能的A ,它有自己的B 专门负责数据输入输出的传输控制,CPU只负责C 功能。 8.通道有三种类型:A 通道、B 通道、C 通道。 9. 二、选择题: 1.下面有关“中断”的叙述,______是不正确的。 A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中断请求 B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C.中断方式一般适用于随机出现的服务 D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程 序,必须进行现场保存操作 2.中断向量地址是______。 A. 子程序入口地址 B. 中断服务例行程序入口地址 C. 中断服务例行程序入口地址的地址 D. 主程序返回地址 3.在数据传送过程中,数据由串行变并行或由并行变串行,其转换是通过______。 A. 移位寄存器 B. 数据寄存器 C. 锁存器 D. 指令寄存器 4.下述I/O控制方式中,主要由程序实现的是______。 A. PPU(外围处理机)方式 B. 中断方式 C. DMA方式 D. 通道方式 5.采用DMA方式传送数据时,每传送一个数据要占用______的时间。 A. 一个指令周期 B. 一个机器周期 C. 一个时钟周期 D. 一个存储周期 6.发生中断请求的条件是______。 A. 一条指令执行结束 B. 一次I/O操作开始 C. 机器内部发生故障 D. 一次DMA操作开始 7.中断向量地址是______。 A.子程序入口地址 B.中断服务例行程序入口地址 C.中断服务例行程序入口地址的指示器 D.中断返回地址 8.下述I/O控制方式,哪种主要由程序实现______。 A. PPU(外围处理机) B. 中断方式 C. DMA 方式 D. 通道方式 9.为了便于实现多级中断,保存现场最有效的方法是采用______。

915200-MATLAB程序设计与应用-第13章 MATLAB外部程序接口技术__源程序

第13章MATLAB外部程序接口技术 例13-1计算当x=[0.0,0.1,0.2,…,1.0]时,f(x)=e x的值,并将结果写入文件demo1.txt。 程序如下: x=0:0.1:1; Y=[x;exp(x)]; fid=fopen('demo1.txt','w'); fprintf(fid,'%6.2f %12.8f\n',Y); fclose(fid); 例13-2 读出例13-1生成的文件demo1.txt中的数据。 程序如下: fid=fopen('demo1.txt','r'); while 1 line=fgetl(fid); if line<0 break end disp(line) end fclose(fid); 例13-3假定文件textdemo.txt中有以下格式的数据: Name English Chinese Mathmatics Wang 99 98 100 Li 98 89 70 Zhang 80 90 97 Zhao 77 65 87 此文件第一行为标题行,第2~5行的第1列为字符型,后3列为整型。从该文件中将前3个数据读入到grades的程序段如下: fid=fopen('textdemo.txt','r'); grades=textscan(fid,'%s %d %d %d',3,'headerlines',1); 例13-4 假设文件alphabet.txt的内容是按顺序排列的26个大写英文字母,读取前5个字母的ASCII和这5个字符。 程序如下: fid=fopen('alphabet.txt','r'); c=fread(fid,5); frewind(fid); d=fread(fid,5,'*char'); fclose(fid); 1

常见离散信号的Matlab产生和图形显示

实验1 常见离散信号的Matlab 产生和图形显示 一、实验目的 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、matlab 使用说明 1)创建M 文件 File-→New-→M-file 2)运行 Debug->run 注:在试验过程中若有某些函数不懂,可以通过Help->search->输入要查询的函数名即可。 三、实验原理 1.单位抽样序列 ? ??=01)(n δ 00 ≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1(); ,1(==x N zeros x %创建一个1行N 列的0矩阵,将第一个值重新赋值为1 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-0 1)(k n δ ≠=n k n 2.单位阶越序列 ? ??01 )(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = %一个长度为N 的零矩阵

3.正弦序列 )/2sin()(?π+=Fs fn A n x 在MATLAB 中 ) /***2sin(*1 :0fai Fs n f pi A x N n +=-= 4.复指数序列 n j e r n x ??=)( 在MATLAB 中 ) **exp(1 :0n w j r x N n ?=-= 5.指数序列 n a n x =)( 在MATLAB 中 n a x N n .^1 :0=-= 四、实验内容实现和图形生成 1、五种基本函数的生成 程序如下: (1)、单位抽样序列 % 单位抽样序列和延时的单位抽样序列 clf; % Clear current figure window n=0:10; x1=[1 zeros(1,10)];x2=[zeros(1,5) 1 zeros(1,5)]; subplot(1,2,1); stem(n,x1);xlabel ('时间序列n');ylabel('振幅');title('单位抽样序列x1'); subplot(1,2,2); stem(n,x2); xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');

常见离散信号的Matlab产生和图形显示

实验一 实验名称:常见离散信号的Matlab 产生和图形显示 一、实验目的 1、加深对常用离散信号的理解; 2、掌握matlab 中一些基本函数的建立方法。 二、实验步骤(附源代码及仿真结果图) 1、使用状况 1)创建M 文件 File-→New-→M-file 2)运行 Debug->run 2、实验原理 1)单位抽样序列 ?? ?=01)(n δ 00≠=n n 在MATLAB 中可以利用zeros()函数实现。 ;1)1();,1(==x N zeros x %创建一个1行N 列的0矩阵,将第一个值重新赋值为1 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ?? ?=-01)(k n δ 0≠=n k n 2)单位阶越序列 ?? ?01)(n u 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = %一个长度为N 的零矩阵 3)正弦序列 )/2sin()(?π+=Fs fn A n x

在MATLAB 中 )/***2sin(*1 :0fai Fs n f pi A x N n +=-= 4)复指数序列 n j e r n x ??=)( 在MATLAB 中 )**exp(1 :0n w j r x N n ?=-= 5)指数序列 n a n x =)( 在MATLAB 中 n a x N n .^1:0=-= 3、实验内容 (1)、单位抽样序列 (2)、单位阶越序列

(3)正弦函数 (4)、复指数序列 (5)指数序列

2、绘出信号zn e n x =)(,当6)12/1(πj z +-=、6 )12/1(πj z +=时、121=z 、 6 2π j z +=、6πj z =时的信号实部和虚部图; 程序如下:

使用MATLAB产生各种常见的连续信号

使用MATLAB生成各种常见的连续信号 %--------------------------------------指数衰减信号--------------------------------------% % 幅值为5,频率为20Hz,衰减系数为-10的指数衰减正弦信号. % 首先产生一个可调正弦信号,再想办法产生指数衰减信号,再信号乘, % 则得到指数衰减的正弦信号. %---------------------------------------------------------------------------------------% clear;clc; A = 5; % 正弦信号的幅值 Fs = 1000; % 采样频率 N = 1024; % 采样点数 dt = 1/Fs; % 时间间隔 t0 = 0:dt:(N-1)*dt; % 时间向量 xt1 = exp(-10*t0); % 指数信号 xt2 = 5*sin(2*pi*20*t0); %正弦信号 xt = xt1.*xt2; %正弦指数衰减信号 plot(t0,xt) % 绘图 axis tight % 使坐标轴与数据匹配显示 title('指数衰减信号 X = exp(-10*t).*5*sin(2*\pi*20*t)'); % 显示标题 xlabel('t/s','FontName','New Times Roman','FontSize',11); % x轴标注 ylabel('幅值/A','FontName','New Times Roman','FontSize',11); % y轴标注 %-------------------------------------矩形脉冲信号---------------------------------------% % 幅值为10,脉宽为1,时间范围0~6s的矩形脉冲信号. clear;clc; A = 10; % 脉冲信号的幅值 W = 1; % 脉冲信号脉宽 t = 0:0.001:6; % 时间向量 xt = 10*rectpuls(t,W); % 生成脉冲信号 plot(t,xt) % 绘图 axis([0 max(t) 0 A*1.1]) % 数据与坐标轴匹配显示 title('矩形脉冲信号','FontName','New Times Roman','FontSize',11); % 显示标题 xlabel('t/s','FontName','New Times Roman','FontSize',11); % x轴标注 ylabel('X(t)','FontName','New Times Roman','FontSize',11); % y轴标注 %----------------------------------------正弦信号----------------------------------------% % 幅值为5,频率为10Hz的正弦信号. clear;clc; A = 5; % 正弦信号幅值 Fs = 1000; % 采样频率 dt = 1/Fs; % 时间间隔 N = 1024; % 采样点数 t = 0:dt:(N-1)*dt; % 时间向量 xt = 5*sin(2*pi*10*t); % 生成函数

相关主题