信号与系统实验报告

信号与系统实验报告
信号与系统实验报告

江苏技术师范学院

《信号与系统实验报告》

学院:电气信息工程学院

班级:

姓名:

学号:

目录

1.MATLAB对连续信号与系统的时域分析

实验一运用MATLAB实现连续信号的翻转

实验二运用MATLAB实现连续信号的卷积计算

实验三运用MATLAB实现连续系统的全响应

2. MATLAB对连续信号与系统的频域分析和s域分析

实验一运用MATLAB实现连续信号的傅里叶变换3. MATLAB对离散信号与系统的时域分析

实验一运用MATLAB绘制和分析离散序列图

4.实验总结和个人感想

1.MATLAB对连续信号与系统的时域分析

实验一运用MATLAB实现连续信号的翻转

一、实验目的

1、了解连续时间信号的特点;

2、掌握连续时间信号表示的向量法和符号法;

3、了解并掌握连续信号的基本运算,如信号的的翻转;

4、熟悉MATLAB plot函数等的应用。

二、实验原理

1、信号的定义

信号是随时间变化的物理量。信号的本质是时间的函数。

2、信号的描述

1.时域法

时域法是将信号表示成时间的函数f(t)来对信号进行描述的方法。信号的时间特性指的是信号的波形出现的先后,持续时间的长短,随时间变化的快慢和大小,周期的长短等。

2.频域(变换域)法

频域法是通过正交变换,将信号表示成其他变量的函数来对信号进行描述的方法。一般常用的是傅立叶变换。信号的频域特性包括频带的宽窄、频谱的分布等。

信号的频域特性与时域特性之间有着密切的关系。

3、信号的分类

按照特性的不同,信号有着不同的分类方法。

(1)确定性信号:可以用一个确定的时间函数来表示的信号。随机信号:不可以用一个确定的时间函数来表示,只能用统计特性加以描述的信号。

(2)连续信号:除若干不连续的时间点外,每个时间点在t上都有对应的数值信号。离散信号:只在某些不连续的点上有数值,其他时间点上信号没有定义的信号。

(3)周期信号:存在T,使得等式f(t+T)=f(t)对于任意时间t 都成立的信号。

非周期信号:不存在使得等式f(t+T)=f(t)对于任意时间t都成立的信号。

绝对的周期信号是不存在的,一般只要在很长时间内慢走周期性就可以了。

(4)能量信号:总能量有限的信号。

功率信号:平均功率有限切非零的信号。

(5)奇信号:满足等式f(t)=-f(-t)的信号。偶信号:满足等式f(t)=f(-t)的信号。

4、连续信号的基本运算

连续信号的基本运算包括连续信号的相加、相乘、翻转、移位、展缩、倒相和尺度变换,以及连续信号的微分和积分。

(1)加减: f(t)=f1(t)±f2(t) (2)乘: f(t)=f1(t)

×f2(t)

(3)延时或平移: f(t)→(t-t0) t0>0时右移;t0<0时左移(4)翻转: f(t)→f(-t)

(5)尺度变换: f(t)→ f(at) |a|>1时尺度缩小;|a|<1时尺度放大;a<0时,尺度翻转。

(6)标量乘法:f(t)→af(t)

(7)倒相: f(t)→-f(t)

(8)微分: f(t)→df(t)/dt

(9)积分: f(t)→∫t -∞f(t)d(t)

本实验主要运用MA TLAB实现连续信号的翻转,将信号f(t)的自变量t换成-t,得到另一个信号f(-t),在称之为翻转。在MA TLAB中,可以直接编写程序。

三、涉及的MATLAB函数

plot函数

功能:在X轴和Y轴方向都按线性比例绘制二维图形。

调用格式:

Plot(x,y):绘出相x对y的函数线性图。

Plot(x1,y1,x2,y2,…..):会出多组x对y的线性曲线图。四、实验内容

利用MATLAB实现f1(t)=5t翻转信号f2(t)=-5t

源程序如下:

clear all;

t=0:0.01:1;

t1=-1:0.01:0;

f1=5*t;

f2=5*(-t1);

grid on;

plot(t,f1,'--',t1,f2);

xlabel('t');ylabel('y(t)');

title('信号的翻转');

运行结果如图:

五、实验总结

通过本次实验了解了连续时间信号的特点;并且掌握连续时间信号的表示方法,学会了使用MATLAB来操作函数,实现函数的功能。学会了连续时间信号时域运算的基本方法,掌握了plot函数调用格式以及作用,并且掌握了连续信号的基本运算。

实验二运用MATLAB实现连续信号的卷积计算

一、实验目的

1、熟悉卷积的定义和表示;

2、了解并掌握利用计算机进行卷积运算的原理和方法;

3、熟悉MATLAB plot函数、subplot函数、conv 函数等的应用。

二、实验原理

1、卷积的定义

卷积积分可以表示为

2、卷积计算的几何算法

卷积积分的计算从几何上可以分为四个步骤:翻转→平移→相乘→叠加。

3、卷积积分的应用

卷积积分是信号与系统时域分析的基本手段,主要用于求系统零状态响应,它避开了经典分析方法中求解微分方程时需要求系统初始值的问题。

设一个线性零状态系统,已知系统的单位冲激响应为h(t),当系统的激励信号为e(t)时,系统的零状态响应为

由于计算机技术的发展,通过编程的方法来计算卷积积分已经不再是冗繁的工作,并可以获得足够的精度。因此,信号的时域卷积分析法在系统分析中得到了广泛的应用。

卷积积分的数值运算实际上可以用信号的分段求和来实现,即:

如果我们只求当t = nΔt (n为正整数,nΔt 记为t )时r(t)的值,则由上式可以得到:

当Δt 足够小时,r(t )就是e(t)和h(t)卷积积分的数值近似

三、涉及的MATLAB的函数

1、plot函数

功能:在X轴和Y轴方向都按线性比例绘制二维图形。

调用格式:

plot(x,y):绘出相x对y的函数线性图。

plot(x1,y1,x2,y2,…..):会出多组x对y的线性曲线图。

2、subplot函数

功能:产生多个绘图区间。

调用格式:subplot(m,n,p):产生m行n列的绘图区间的第n个绘图区间。

3、conv 函数

功能:实现信号的卷积运算

调用格式:

w=conv(u,v)*dt:计算两个有线长度序列的卷积。

(调用格式:w=conv(f1,f2)*dt, dt为采样周期,当 f1,f2 其中一个为冲击信号&(t)时,w=conv(f1,f2)

说明:该函数假设两个序列都从零开始

四、实验内容

已知f1(t)=2t+1,f2(t)=6t,利用MATLAB计算卷积f1(t) *f2(t)的波形。

源程序如下:

%计算连续信号的卷积积分

%f:函数的样值向量

%k:对应时间向量

%s:采用时间间隔

s=0.01;

k1=0:s:2;

k2=k1;

f1=2*k1+1;

f2=6*k2;

f=conv(f1,f2);

f=f*s;

k0=k1(1)+k2(1);

k3=length(f1)+length(f2)-2; k=k0:s:k3*s;

subplot(3,1,1);

plot(k1,f1);

title('f1(t)');

subplot(3,1,2);

plot(k2,f2);

title('f2(t)');

subplot(3,1,3);

plot(k,f);

title('f(t)');

运行结果如图:

五、实验总结

通过本次实验掌握了连续时间信号的卷积运算,熟悉了卷积的定义以及表示方法,原理,学会了利用计算机MATLAB软件进行卷积运算,掌握了plot函数、subplot函数、conv函数调用格式以及作用。

实验三运用MATLAB实现连续系统的全响应

一、实验目的

1、熟悉连续系统的全响应的定义和求解方法;

2、了解并掌握利用计算机进行连续系统的全响应的求解,分析和观察系统的稳定性;

3、熟悉MATLAB lsim函数的应用。

二、实验原理以及涉及到的MATLAB 函数

1、设描述连续时间系统(LTI 连续系统)的微分方程为:

)

()()()()()()()(01)

1(1)

(01)1(1)(t f b t f b t f

b t f

b t y a t y a t y a t y a m m m m n n n n +'+++=+'+++----

则可用向量a 和b 表示该系统,即

],,,,[011a a a a a n n -= ],,,,[011b b b b b m m -=

注意,向量a 和b 的元素一定要以微分方程时间求导的降幂次序排列,且缺项要用0补齐。如微分方程

)()()(2)(3)(t f t f t y t y t y +''=+'+''

表示该系统的向量为

]2 3 1[=a ]1 0 1[=b

(1)求解冲激响应:impulse()函数 impulse()函数有以下四种调用格式: ① impulse(b,a)

该调用格式以默认方式绘制由向量a 和b 定义的连续时间系统的冲激响应的时域波形。

② impulse(b,a,t)

该调用格式绘制由向量a 和b 定义的连续时间系统在t ~0时间范围内的冲激响应的时域波形。

③ impulse(b,a, t1:p:t2)

该调用格式绘制由向量a 和b 定义的连续时间系统在21~t t 时间

范围内,且以时间间隔p 均匀抽样的冲激响应的时域波形。

④ y=impulse(b,a,t1:p:t2)

该调用格式并不绘制系统冲激响应的波形,而是求出由向量a 和

b 定义的连续时间系统在21~t t 时间范围内以时间间隔p

均匀抽样的

系统冲激响应的数值解。

(2)求解阶跃响应:step()函数 step()函数也有四种调用格式: ① step(b,a) ② step(b,a,t) ③ step(b,a, t1:p:t2) ④ y=step(b,a,t1:p:t2)

上述调用格式的功能与impulse()函数完全相同。 (3)求解零状态响应:lsim()函数 lsim()函数有以下二种调用格式: ① lsim(b,a,x,t)

在该调用格式中,a 和b 是描述系统的两个行向量,t 表示输入信号时间范围的向量,x 则是输入信号在向量t 定义的时间点上的取样值。

② y=lsim(b,a,x,t)

该调用格式并不绘制系统的零状态响应曲线,而是求出与向量t 定义的时间间隔相一致的系统零状态响应的数值解。

在求解系统的微分方程时,微分方程的LTI 系统模型sys 可借

助tf函数获得,其调用方式为:

sys=tf(b,a)

式中:b和a分别为微分方程右端和左端的各项系数向量。

2、连续系统的全响应

LTI连续系统的全响应y(t)由零状态响应和零输入响应构成,即

y(t)= y x(t)+ y f(t)

其中,y x(t)表示系统的零输入响应,y f(t)表示系统的零状态响应。

三、实验内容

利用MATLAB求系统

y(2)(t)+3y(1)(t)+ y(t)= f(1)(t)+2f(t)

的全响应,已知输入信号f(t)=cos t。

源程序如下:

clear all;

b=[1 2];a=[1 3 1];

[A B C D]=tf2ss(b,a);

sys=ss(A,B,C,D);

t=0:0.01:20;

f=cos(t);z=[-1 0];

y=lsim(sys,f,t,z);

plot(t,y);

xlabel('时间(t)');ylabel('y(t)');title('全响应');

运行结果如图:

四、实验总结

通过本次实验掌握了连续系统的求解方法,熟悉了连续系统的全响应的定义,学会了利用计算机MATLAB软件进行连续系统的全响应的求解,掌握了lsim()函数调用格式以及作用。通过MATLAB仿真对其实际应用有个初步的认识,对连续系统的全响应加深了理解。

五、思考题

1. 区分自然响应、受迫响应、零输入响应和零状态响应的概念。答:系统的完全响应可分解为自由响应和受迫响应,或分解为零输入响应和零状态响应。系统微分方程的齐次解称为系统的自由响应,它

的模式取决于系统的特性,特解是系统的受迫响应,它取决于系统特性及输入函数。零输入响应是输入为零时,仅由系统的初始状态所产生的响应,零状态响应是系统初始状态为零时,仅由输入信号引起的响应。系统的自由响应和零输入响应都是齐次解,但两者系数不同。其中,自由响应包括两部分:零输入响应和零状态响应的一部分。

2. 系统输入与系统单位冲激响应的卷积积分求得的响应是系统的全响应吗?

答:由系统输入与系统单位冲激响应卷积积分可以得到 LTI 系统对于输入信号的零状态响应。要获得系统的全响应,还应求得系统的零输入响应。系统的全响应由零输入响应和零状态响应两部分组成。

3. 区分系统的起始条件(起始状态)与初始条件(初始状态)。解决边界问题的方法有哪些?

答:在系统中,由于输入信号的作用,响应及其各阶导数可能在输入

接入的瞬间发生变化。我们以表示输入接入前瞬间,并称边

界条件为起始条件(起始状态)。以表示输入接入后的瞬间,并

称边界条件为初始条件(初始状态)。一般情况下,我们把微

分方程的解限于的时间范围,所以我们应该以边界条件为初始条件求出系统响应中的待定条件。

2. MATLAB对连续信号与系统的频域分析和s域分析

实验一运用MATLAB实现连续信号的傅里叶变换

一、实验目的

1、熟悉连续信号的傅里叶变换的定义和表示;

2、了解并掌握利用计算机进行连续信号的傅里叶变换的原理和方法;

3、熟悉MATLAB subplot函数、conv 函数等的应用。

二、实验原理

由傅里叶变换的定义,非周期信号f(t)的傅里叶变换为:

F(jw)∫+∞-∞f(jw)e-jwt dt

值得注意的是,)(t f的傅立叶变换存在的充分条件是)(t f在无限区间内绝对可积,即)(t f满足下式:

?∞∞-

<

dt

t

f)(

但上式并非)(t f存在的必要条件。当引入奇异函数概念后,使一些不满足绝对可积的)(t f也能进行傅立叶变换。

在MATLAB中,利用函数fourier实现信号f(t)的傅里叶变换,其调用形式为:

F=fourier(f)

三、涉及的MATLAB的函数

1、ezplot函数

功能:绘制符号函数在一定范围内的二维图形。简易绘制函数曲线。

调用格式:

ezplot (fun):在[-2π,2π]区间内绘制函数。

ezplot (fun,[min,max]):在[min,max]区间内绘函数。

ezplot (funx,funy):定义同一曲面的函数,默认的区间是[0, 2π]。】

2、sym函数

功能:定义信号为符号的变量。

调用格式:sym(fun):fun为所要定义的表达式。

3、subplot函数

功能:产生多个绘图区间。

调用格式:subplot(m,n,p):产生m行n列的绘图区间的第n个绘图区间

4、Heaviside函数:

Heaviside(t):产生没有移位的阶跃信号。

Heaviside(t-k):产生向右移动k 位的阶跃信号。

四、实验内容

已知信号f(t)=e-2tε(t),利用MATLAB实现其傅里叶变换F(jw)。

源程序如下:

syms t f;

f=exp(-2*t)*sym('heaviside(t)');

F=fourier(f);

subplot(2,1,1);

ezplot(f);

subplot(2,1,2);ezplot(abs(F));

运行结果如图:

五、实验总结

通过本次实验掌握了连续时间信号傅里叶变换的实现方法,并且掌握了傅里叶变换的时移频移特性,了解了傅立叶变换的特点及其以应用,掌握了fourier函数的调用格式及其功能,进一步熟悉了MATLAB,学会用MATLAB来实现各种信号的功能。

3. MATLAB对离散信号与系统的时域分析

实验一运用MATLAB绘制和分析离散序列图

一、实验目的

1、了解连续时间与离散时间信号的特点;

2、掌握离散时间信号时域运算的基本实现方法;

3、熟悉相关函数的调用格式及作用;

4、掌握离散信号的基本运算;

5、利用MATLAB 产生常见离散时间信号及其图形的显示,对离散信号进行分析和处理。 二、实验原理

1、离散信号:只在某些不连续的点上有数值,其他点上信号没有定义的信号。

2、离散信号的表示:在MATLAB 中,可以用向量(数组)来表示有限长序列,不过这样的向量并没有包含样本位置的信息,因此,需要用两个向量(数组)来表示一个有限长序列,其中一个向量表示序列的值,称为样本向量;另一个向量表示样本的位置(即序列的序号),称为位置向量。比如序列(){}22,1,1,1,5,2f n -=-在MATLAB 中需要用以下两个向量来表示:

n = [-2,-1,0,1,2,3]; x = [2,1,-1,5,2]; 其中 向量n 表示序号,向量x 表示序列的值。

当不需要样本位置信息或者序列从n = 0 开始时,可以只用样本向量表示。另外由于内存的限制,MATLAB 无法表示无限长序列。

3、指数序列

指数序列的一般形式为:

f(k)=Ae ak

操作系统实验报告_实验五

实验五:管道通信 实验内容: 1.阅读以下程序: #include #include #include main() { int filedes[2]; char buffer[80]; if(pipe(filedes)<0) //建立管道,filedes[0]为管道里的读取端,filedes[1]则为管道的写入端 //成功则返回零,否则返回-1,错误原因存于errno中 err_quit(“pipe error”); if(fork()>0){ char s[ ] = “hello!\n”; close(filedes[0]); //关闭filedes[0]文件 write(filedes[1],s,sizeof(s)); //s所指的内存写入到filedes[1]文件内 close(filedes[1]); //关闭filedes[0]文件 }else{ close(filedes[1]); read(filedes[0],buffer,80); //把filedes[0]文件传送80个字节到buffer缓冲区内 printf(“%s”,buffer); close(filedes[0]); } } 编译并运行程序,分析程序执行过程和结果,注释程序主要语句。

2.阅读以下程序: #include #include #include main() { char buffer[80]; int fd; unlink(FIFO); //删除FIFO文件 mkfifo(FIFO,0666); //FIFO是管道名,0666是权限 if(fork()>0){ char s[ ] = “hello!\n”;

信号与系统实验报告1

学生实验报告 (理工类) 课程名称:信号与线性系统专业班级:M11通信工程 学生学号:1121413017 学生姓名:王金龙 所属院部:龙蟠学院指导教师:杨娟

20 11 ——20 12 学年第 1 学期 金陵科技学院教务处制 实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:常用连续信号的表示 实验学时: 2学时 同组学生姓名: 无 实验地点: A207 实验日期: 11.12.6 实验成绩: 批改教师: 杨娟 批改时间: 一、实验目的和要求 熟悉MATLAB 软件;利用MATLAB 软件,绘制出常用的连续时间信号。 二、实验仪器和设备 586以上计算机,装有MATLAB7.0软件 三、实验过程 1. 绘制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?=; 2. 绘制指数信号at Ae t (f =),其中A=1,0.4a -=; 3. 绘制矩形脉冲信号,脉冲宽度为2; 4. 绘制三角波脉冲信号,脉冲宽度为4;斜度为0.5; 5. 对上题三角波脉冲信号进行尺度变换,分别得出)2t (f ,)2t 2(f -; 6. 绘制抽样函数Sa (t ),t 取值在-3π到+3π之间; 7. 绘制周期矩形脉冲信号,参数自定; 8. 绘制周期三角脉冲信号,参数自定。 四、实验结果与分析 1.制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?= 实验代码: A=1;

操作系统实验报告

操作系统教程 实 验 指 导 书 姓名: 学号: 班级:软124班 指导老师:郭玉华 2014年12月10日

实验一WINDOWS进程初识 1、实验目的 (1)学会使用VC编写基本的Win32 Consol Application(控制台应用程序)。 (2)掌握WINDOWS API的使用方法。 (3)编写测试程序,理解用户态运行和核心态运行。 2、实验内容和步骤 (1)编写基本的Win32 Consol Application 步骤1:登录进入Windows,启动VC++ 6.0。 步骤2:在“FILE”菜单中单击“NEW”子菜单,在“projects”选项卡中选择“Win32 Consol Application”,然后在“Project name”处输入工程名,在“Location”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“FILE”菜单中单击“NEW”子菜单,在“Files”选项卡中选择“C++ Source File”, 然后在“File”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5:在“开始”菜单中单击“程序”-“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的debug子目录,执行编译好的可执行程序: E:\课程\os课\os实验\程序\os11\debug>hello.exe 运行结果 (如果运行不成功,则可能的原因是什么?) : 有可能是因为DOS下路径的问题 (2)计算进程在核心态运行和用户态运行的时间 步骤1:按照(1)中的步骤创建一个新的“Win32 Consol Application”工程,然后将清单1-2中的程序拷贝过来,编译成可执行文件。 步骤2:在创建一个新的“Win32 Consol Application”工程,程序的参考程序如清单1-3所示,编译成可执行文件并执行。 步骤3:在“命令提示符”窗口中运行步骤1中生成的可执行文件,测试步骤2中可执行文件在核心态运行和用户态运行的时间。 E:\课程\os课\os实验\程序\os12\debug>time TEST.exe 步骤4:运行结果 (如果运行不成功,则可能的原因是什么?) : 因为程序是个死循环程序 步骤5:分别屏蔽While循环中的两个for循环,或调整两个for循环的次数,写出运行结果。 屏蔽i循环: 屏蔽j循环: _______________________________________________________________________________调整循环变量i的循环次数:

信号系统实验报告

电子工程系 信号与系统课程实验报告 2011-----2012学年第一学期 专业: 电子信息工程技术班级: 学号 : 姓名: 指导教师: 实常用连续时间信号的实现

一、实验目的 (1)了解连续时间信号的特点; (2)掌握连续时间信号表示的向量法和符号法; (3)熟悉MATLAB Plot函数等的应用。 二、实验原理 1、信号的定义 信号是随时间变化的物理量。信号的本质是时间的函数。 2、信号的描述 1)时域法 时域法是将信号表示成时间的函数f(t)来对信号进行描述的方法。信号的时间特性指的是信号的波形出现的先后,持续时间的长短,随时间变化的快慢和大小,周期的长短等。 2)频域(变换域)法 频域法是通过正交变换,将信号表示成其他变量的函数来对信号进行描述的方法。一般常用的是傅立叶变换。信号的频域特性包括频带的宽窄、频谱的分布等。 信号的频域特性与时域特性之间有着密切的关系。 3、信号的分类 按照特性的不同,信号有着不同的分类方法。 (1)确定性信号:可以用一个确定的时间函数来表示的信号。 随机信号:不可以用一个确定的时间函数来表示,只能用统计特性加以描述的信号。 (2)连续信号:除若干不连续的时间点外,每个时间点在t上都有对应的数值信号。离散信号:只在某些不连续的点上有数值,其他时间点上信号没有定义的信号。 (3)周期信号:存在T,使得等式f(t+T)=f(t)对于任意时间t都成立的信号。非周期信号:不存在使得等式f(t+T)=f(t)对于任意时间t都成立的信号。 绝对的周期信号是不存在的,一般只要在很长时间内慢走周期性就可以了。 (4)能量信号:总能量有限的信号。 功率信号:平均功率有限切非零的信号。 (5)奇信号:满足等式f(t)=--f(--t)的信号。偶信号:满足等式f(t)=f(--t)的信号。 三、涉及的MATLAB函数 1、plot函数 功能:在X轴和Y轴方向都按线性比例绘制二维图形。 调用格式: Plot(x,y):绘出相x对y的函数线性图。 Plot(x1,y1,x2,y2,…..):会出多组x对y的线性曲线图。 2、ezplot函数 功能:绘制符号函数在一定范围内的二维图形。简易绘制函数曲线。 调用格式: Ezplot (fun):在[-2π,2π]区间内绘制函数。 Ezplot (fun,[min,max]):在[min,max]区间内绘函数。 Ezplot (funx,funy):定义同一曲面的函数,默认的区间是[0, 2π]。】 3、sym函数 功能:定义信号为符号的变量。 调用格式:sym(fun):fun为所要定义的表达式。 4、subplot函数

北京理工大学信号与系统实验实验报告

实验1 信号的时域描述与运算 一、实验目的 1. 掌握信号的MATLAB表示及其可视化方法。 2. 掌握信号基本时域运算的MA TLAB实现方法。 3. 利用MA TLAB分析常用信号,加深对信号时域特性的理解。 二、实验原理与方法 1. 连续时间信号的MATLAB表示 连续时间信号指的是在连续时间范围内有定义的信号,即除了若干个不连续点外,在任何时刻信号都有定义。在MATLAB中连续时间信号可以用两种方法来表示,即向量表示法和符号对象表示法。 从严格意义上来说,MATLAB并不能处理连续时间信号,在MATLAB中连续时间信号是用等时间间隔采样后的采样值来近似表示的,当采样间隔足够小时,这些采样值就可以很好地近似表示出连续时间信号,这种表示方法称为向量表示法。表示一个连续时间信号需要使用两个向量,其中一个向量用于表示信号的时间范围,另一个向量表示连续时间信号在该时间范围内的采样值。例如一个正弦信号可以表示如下: >> t=0:0.01:10; >> x=sin(t); 利用plot(t,x)命令可以绘制上述信号的时域波形,如图1所示。 如果连续时间信号可以用表达式来描述,则还可以采用符号表达式來表示信号。例如对于上述正弦信号,可以用符号对象表示如下: >> x=sin(t); >> ezplot(X); 利用ezplot(x)命令可以绘制上述信号的时域波形 Time(seconds) 图1 利用向量表示连续时间信号

t 图 2 利用符号对象表示连续时间信号 sin(t) 2.连续时间信号的时域运算 对连续时间信号的运算包括两信号相加、相乘、微分、积分,以及位移、反转、尺度变换(尺度伸缩)等。 1)相加和相乘 信号相加和相乘指两信号对应时刻的值相加和相乘,对于两个采用向量表示的可以直接使用算术运算的运算符“+”和“*”来计算,此时要求表示两信号的向量时间范围和采样间隔相同。采用符号对象表示的两个信号,可以直接根据符号对象的运算规则运算。 2)微分和积分 对于向量表示法表示的连续时间信号,可以通过数值计算的方法计算信号的微分和积分。这里微分使用差分来近似求取的,由时间向量[N t t t ,,,21?]和采样值向量[N x x x ,,,21?]表示的连续时间信号,其微分可以通过下式求得 1,,2,1,|)('1-?=?-≈ +=N k t x x t x k k t t k 其中t ?表示采样间隔。MA TLAB 中用diff 函数来计算差分 k k x x -+1。 连续时间信号的定积分可以由MATLAB 的qud 函数实现,调用格式为 quad ('function_name',a,b) 其中,function_name 为被积函数名,a 、b 为积分区间。

信号与系统实验报告_1(常用信号的分类与观察)

实验一:信号的时域分析 一、实验目的 1.观察常用信号的波形特点及产生方法 2.学会使用示波器对常用波形参数的测量 二、实验仪器 1.信号与系统试验箱一台(型号ZH5004) 2.40MHz双踪示波器一台 3.DDS信号源一台 三、实验原理 对于一个系统特性的研究,其中重要的一个方面是研究它的输入输出关系,即在一特定的输入信号下,系统对应的输出响应信号。因而对信号的研究是对系统研究的出发点,是对系统特性观察的基本手段与方法。在本实验中,将对常用信号和特性进行分析、研究。 信号可以表示为一个或多个变量的函数,在这里仅对一维信号进行研究,自变量为时间。常用信号有:指数信号、正弦信号、指数衰减正弦信号、复指数信号、Sa(t)信号、钟形信号、脉冲信号等。 1、信号:指数信号可表示为f(t)=Ke at。对于不同的a取值,其波形表现为不同的形式,如下图所示: 图1―1 指数信号 2、信号:其表达式为f(t)=Ksin(ωt+θ),其信号的参数:振幅K、角频率ω、与初始相位θ。其波形如下图所示:

图1-2 正弦信号 3、指数衰减正弦信号:其表达式为其波形如下图: 图1-3 指数衰减正弦信号 4、Sa(t)信号:其表达式为:。Sa(t)是一个偶函数,t= ±π,±2π,…,±nπ时,函数值为零。该函数在很多应用场合具有独特的运用。其信号如下图所示:

图1-4 Sa(t)信号 5、钟形信号(高斯函数):其表达式为:其信号如下图所示: 图1-5 钟形信号 6、脉冲信号:其表达式为f(t)=u(t)-u(t-T),其中u(t)为单位阶跃函数。其信号如下图所示: 7、方波信号:信号为周期为T,前T/2期间信号为正电平信号,后T/2期间信号为负电平信号,其信号如下图所示 U(t)

操作系统实验报告

《计算机操作系统》实验报告 教师: 学号: 姓名: 2012年3月6日 计算机学院

实验题目:请求页式存储管理(三) ----------------------------------------------------------------------------- 实验环境:VC6.0++ 实验目的:学生应独立地用高级语言编写几个常用的存储分配算法,并设计一个存储管理的模拟程序,对各种算法进行分析比较,评测其性能优劣,从而加深对这些算法的了解。实验内容: (1)编制和调试示例给出的请求页式存储管理程序,并使其投入运行。 (2)增加1~2种已学过的淘汰算法,计算它们的页面访问命中率。试用各种算法的命中率加以比较分析。(增加了FIFO) 操作过程: (1)产生随机数 (2)输入PageSize(页面大小1 /2/4/8 K) (pageno[i]=int(a[i]/1024)+1) (3)菜单选择

(4)OPT/ LRU/FIFO演示(pagesize=1K)

(5) 过程说明(PAGESIZE = 4K ) OPT :最佳置换算法(淘汰的页面是以后永不使用,或许是在最长时间内不再被访问的页面) //在Table 表中如果未找到,记录每个元素需要找的长度 //全部table 中元素找完长度,然后进行比较,找出最大的,进行淘汰 int max=0; int out; for(k=0;kmax){ max = table_time[k]; out = k; } }//找出最长时间,进行替换 table[out]=pageno[i]; page_out++;

北京理工大学信号与系统实验报告2 LTI系统的时域分析

实验2 LTI 系统的时域分析 (基础型实验) 一. 实验目的 1. 掌握利用MATLAB 对系统进行时域分析的方法。 2. 掌握连续时间系统零状态响应、冲击响应和阶跃响应的求解方法。 3. 掌握求解离散时间系统响应、单位抽样响应的方法。 4. 加深对卷积积分和卷积和的理解。掌握利用计算机进行卷积积分和卷积和计算的方法。 二. 实验原理与方法 1. 连续时间系统时域分析的MATLAB 实现 1) 连续时间系统的MA TLAB 表示 LTI 连续系统通常可以由系统微分方程描述,设描述系统的微分方程为: (N)(N 1)(M)(M 1)1010(t)(t)...(t)b (t)b (t)...b (t)N N M M a y a y a y x x x ----++=++ 则在MATLAB 中可以建立系统模型如下: 1010[b ,b ,...,b ];a [a ,a ,...,a ];sys tf(b,a); M M N N b --=== 其中,tf 是用于创建系统模型的函数,向量a 和b 的元素是以微分方程求导的降幂次序来排列的,如果有缺项,应用0补齐,例如由微分方程 2''(t)y'(t)3y(t)x(t)y ++= 描述的系统可以表示为: >> b=[1]; >> a=[2 1 3]; >> sys=tf(b,a); 而微分方程由 ''(t)y'(t)y(t)x''(t)x(t)y ++=- 描述的系统则要表示成 >> b=[1 0 -1]; >> a=[1 1 1]; >> sys=tf(b,a); 2) 连续时间系统的零状态响应 零状态响应指系统的初始状态为零,仅由初始信号所引起的响应。MATLAB 提供了一个用于求解零状态响应的函数lism ,其调用格式如下: lism (sys,x,t )绘出输入信号及响应的波形,x 和t 表示输入信号数值向量及其时间向量。 y= lism (sys,x,t )这种调用格式不绘出波形,而是返回响应的数值向量。 3) 连续时间系统的冲激响应与阶跃响应

操作系统实验报告

《操作系统》课程实验报告 专业:软件工程 班级:软件二班 学号: 2220111350 姓名:韩培培 序号: 14

目录: 实验一、进程的创建 实验二、进程控制 实验三、进程的管道通信 实验四、消息通信 实验五、进程调度 实验六、FIFO页面调度 实验七、LRU页面置换算法

实验一进程的创建 一.实验目的:进程的创建 二.实验内容:编写一段程序,使用系统调用 FORK( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“A”子进程分别显示字符“B”和“C”。试观察记录屏幕上的显示结果,并分析原因。 三.实验代码: #include <stdio.h> Main() { int p1,p2; While((p1=fork())==-1); If (p1==0) Putchar(ˊbˊ); else { While((p2=fork())==-1); If(p2==0) Putchar(ˊcˊ); else putchar(ˊaˊ); } } 四.实验运行结果

五.分析原因 程序首先调用Fork()函数创建一个子进程1.当创建进程不成功,循环创建进程,直至进程创建成功。如果Fork()返回值为0,表示当前进程是子进程1,显示字符B。如果Fork()返回值大于0,则表示当前进程是父进程,表示当前的程序代码是父进程所要执行的。父进程调用Fork()创建子进程2。当创建进程不成功时,循环创建进程直至成功。如果Fork()返回值为0,则表示当前进程是子进程2,显示字符C。如果Fork()返回值大于0,则表示当前进程 是父进程,输出字符A。

信号与系统实验报告

实验三 常见信号的MATLAB 表示及运算 一、实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二、实验原理 根据MATLAB 的数值计算功能和符号运算功能,在MA TLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MA TLAB 语句表示出信号后,就可以利用MA TLAB 中的绘图命令绘制出直观的信号波形了。 1.连续时间信号 从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t =的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 ⑵ 符号运算表示法 如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。 ⑶ 常见信号的MATLAB 表示 单位阶跃信号 单位阶跃信号的定义为:10()0 t u t t >?=? 0); %定义函数体,即函数所执行指令

操作系统实验报告

操作系统实验报告 实验名称: 系统的引导 所在班级: 指导老师: 老师 实验日期: 2014年3 月29 日

一、实验目的 ◆熟悉hit-oslab实验环境; ◆建立对操作系统引导过程的深入认识; ◆掌握操作系统的基本开发过程; ◆能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。 二、实验容 1. 阅读《Linux核完全注释》的第6章引导启动程序,对计算机和Linux 0.11的引导过程进行初步的了解。 2. 按照下面的要求改写0.11的引导程序bootsect.s。 3. 有兴趣同学可以做做进入保护模式前的设置程序setup.s。 4. 修改build.c,以便可以使用make BootImage命令 5. 改写bootsect.s主要完成如下功能: bootsect.s能在屏幕上打印一段提示信息XXX is booting...,其中XXX是你给自己的操作系统起的名字,例如LZJos、Sunix等。 6. 改写setup.s主要完成如下功能: bootsect.s能完成setup.s的载入,并跳转到setup.s开始地址执行。而setup.s 向屏幕输出一行"Now we are in SETUP"。setup.s能获取至少一个基本的硬件参数(如存参数、显卡参数、硬盘参数等),将其存放在存的特定地址,并输出到屏幕上。setup.s不再加载Linux核,保持上述信息显示在屏幕上即可。 三、实验环境

本实验使用的系统是windows系统或者是Linux系统,需要的材料是osexp。 四、实验步骤 1. 修改bootsect.s中的提示信息及相关代码; 到osexp\Linux-0.11\boot目录下会看到图1所示的三个文件夹,使用UtraEdit 打开该文件。将文档中的98行的mov cx,#24修改为mov cx,#80。同时修改文档中的第246行为图2所示的情形。 图1图2 图3 2. 在目录linux-0.11\boot下,分别用命令as86 -0 -a -o bootsect.obootsect.s和 ld86 -0 -s -obootsectbootsect.o编译和bootsect.s,生成bootsect文件; 在\osexp目录下点击MinGW32.bat依此输入下面的命令: cd linux-0.11 cd boot as86 -0 -a -o bootsect.obootsect.s ld86 -0 -s -o bootsectbootsect.o

操作系统实验报告 (5)

实验名称:存储管理 学号班级姓名 1 实验目的: 存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。 本实验的目的是通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。 2 实验预备内容: (1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成: ①50%的指令是顺序执行的; ②50%的指令是均匀分布在前地址部分; ③50%的指令是均匀分布在后地址部分。 具体的实施方法是: ①在 [0,319] 的指令之间随即选取一起点m; ②顺序执行一条指令,即执行地址为m+1的指令; ③在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m′; ④顺序执行一条指令,其地址为 m′+ 1; ⑤在后地址[m′+ 2,319]中随机选取一条指令并执行; ⑥重复上述步骤①-⑤,直到执行320次指令。 (2)将指令序列变换为页地址流 设:①页面大小为1k; ②用户内存容量为4页到32页; ③用户虚存容量为32k。 在用户虚存中,按每k存放10条指令排在虚存地址,即320条指令在虚存中的存放方式为: 第0条-第9条指令为第0页(对应虚存地址为[0,9]); 第10条-第19条指令为第一页(对应虚存地址为[10,19]); …… 第310条~第319条指令为第31页(对应虚地址为[310,319])。 按以上方式,用户指令可组成32页。 (3)计算并输出下述各种算法在不同内存容量下的命中率。 ①先进先出的算法(FIFO); ②最近最少使用算法(LRR); ③最佳淘汰算法(OPT)先淘汰最不常用的页地址; ④最少访问页面算法(LFR); ⑤最近最不经常使用算法(NUR)。 其中③和④为选择内容。

信号与系统实验报告

信号与系统实验报告

信号与系统实验报告 姓名: 学号: 软件部分: 表示信号与系统的MATLAB 函数、工具箱 一、实验项目名称:表示信号、系统的MATLAB 函数、工具箱 二、实验目的与任务: 目的:1、加深对常用离散信号的理解; 2、熟悉表示信号的基本MATLAB 函数。 任务:基本MATLAB 函数产生离散信号;基本信号之间的简单运算;判 断信号周期。 三、实验原理: 利用MATLAB 强大的数值处理工具来实现信号的分析和处理,首先就是要学会应用MATLAB 函数来构成信号。 四、实验内容及步骤: 常见的基本信号可以简要归纳如下: 实验内容(一)、 编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 其中5种信号分别为单位抽样序列、单位阶跃序列、正弦序列、指数序列和复正弦序列。 实验内容(二)、 在[0,31]出下列图像 1223[]sin( )cos() 4 4 []cos ( ) 4[]sin()cos() 48 n n x n n x n n n x n πππππ=== 五、项目需用仪器设备名称:计算机、MATLAB 软件。

六、所需主要元器件及耗材:无 七、实验程序及数据 函 数 程序图片 单位冲击函数x=zeros(1,10); x(1)=1; stem(x) 单位阶跃函数x=ones(1,30); plot(x)

正弦序列n=0:30-1; x=sin(2*pi*n/10); stem(x) x=cos(1/4*pi*n).*cos(1/4*pi*n) ; stem(x) 复正弦序列n=0:29; x=exp(j*5*n); stem(x) 指数序列n=0:10; x=2.^n; stem(x)

操作系统实验报告

实验二进程调度 1.目的和要求 通过这次实验,理解进程调度的过程,进一步掌握进程状态的转变、进程调度的策略,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法。 2.实验内容 阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。 编写程序模拟实现进程的轮转法调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际程序。假设初始状态为:有 n 个进程处于就绪状态,有m个进程处于阻塞状态。采用轮转法进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过 t 个时间片系统释放资源,唤醒处于阻塞队列队首的进程。 程序要求如下: 1)输出系统中进程的调度次序; 2)计算CPU利用率。 3.实验环境 Windows操作系统、VC++6.0 C语言

4 设计思想: (1)程序中进程可用PCB表示,其类型描述如下: struct PCB_type { int pid ;// 进程名 int state ;// 进程状态 2——表示“执行”状态 1——表示“就绪”状态 0——表示“阻塞”状态 int cpu_time ; //运行需要的CPU寸间(需运行的时间片 个数) } 用PCB来模拟进程; (2)设置两个队 列,将处于“就绪”状态的进程PCB挂在队列readyxx ;将处于“阻塞”状态的进程 PCB挂在队列blockedxx。 队列类型描述如下: struct QueueNode{

struct PCB_type PCB; Struct QueueNode *next; } 并设全程量: struct QueueNode *ready_head=NULL,//ready 队列队首指针 *ready_tail=NULL , //ready 队列队尾指针 *blocked_head=NULL,//blocked 队列队首指 针 *blocked_tail=NULL; //blocked 队列队尾指 针 (3)设计子程序: start_state(); 读入假设的数据,设置系统初始状态,即初始化就绪队列和 阻塞队列 dispath(); 模拟调度,当就绪队列的队首进程运行一个时间片后,放到就绪队列末尾,每次都是队首进程进行调度,一个进程运行结束 就从就绪队列中删除,当到 t 个时间片后,唤醒阻塞队列队首进程。

信号与系统实验报告3 (2)

信号与系统实验 实验三:信号的卷积 (第三次实验)

【实验目的】 1. 理解卷积的物理意义; 2. 掌握运用计算机进行卷积运算的原理和方法; 3. 熟悉卷积运算函数conv的应用; 【实验内容】 给定如下因果线性时不变系统: y[n]+0.71y[n-1]-0.46y[n-2]-0.62y[n-3=0.9x[n]-0.45x[n-1]+0.35x[n-2]+0.002x[n-3] (1)不用impz函数,使用filter命令,求出以上系统的单位冲激响应h[n]的前20个样本; 代码如下: clear all; N=[0:19]; num=[0.9 -0.45 0.35 0.002]; den=[1 0.71 -0.46 -0.62]; h=filter(num,den,N); stem(N,h); xlabel('ê±??Dòo?'); ylabel('??·ù'); title('μ¥??3??¤?ìó|'); grid; 图像如下:

(2)得到h[n]后,给定x[n],计算卷积输出y[n];并用滤波器h[n]对输入x[n]滤波,求得y1[n]; 代码如下: clear all; N=[0:19]; num=[0.9 -0.45 0.35 0.002]; den=[1 0.71 -0.46 -0.62]; h=filter(num,den,N); x=[1 -2 3 -4 3 2 1]; y=conv(h,x); n=0:25; subplot(2,1,1); stem(n,y); xlabel('时间序号n');ylabel('振幅'); title('用卷积得到的输出');grid; x1=[x zeros(1,19)]; y1=filter(h,1,x1); subplot(2,1,2); stem(n,y1);

操作系统实验报告_实验四

实验四:进程管理(二) 实验内容: 1.编写一个程序,打印进程的如下信息:进程标识符,父进程标识符,真实用户ID,有效用户ID,真实用户组ID,有效用户组ID。并分析真实用户ID和有效用户ID的区别。 源代码及结果: 真实用户ID和有效用户ID的区别: 真实用户ID:这个ID就是我们登陆unix系统时的身份ID。 有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 2.阅读如下程序,编译并运行,分析进程执行过程的时间消耗(总共消耗的时间和CPU 消耗的时间),并解释执行结果。再编写一个计算密集型的程序替代grep,比较两次时间的花销。注释程序主要语句。 /* process using time */ #include #include #include #include #include void time_print(char *,clock_t);

int main(void){ //取得进程运行相关的时间 clock_t start,end; struct tms t_start,t_end; start = times(&t_start); system(“grep the /usr/doc/*/* > /dev/null 2> /dev/null”); /*command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。一般来讲标准输出和标准错误输出都是屏幕,因此错误信息还是会在屏幕上输出。>/dev/null 2> /dev/null 标准输出与标准错误输出都会被丢弃*/ // 0 1 2 标准输入标准输出错误输出 // > 将信息放到该文件null中 end=times(&t_end); time_print(“elapsed”,end-start); puts(“parent times”); time_print(“\tuser CP U”,t_end.tms_utime); time_print(“\tsys CPU”,t_end.tms_stime); puts(“child times”); time_print(“\tuser CPU”,t_end.tms_cutime); time_print(“\tsys CPU”,t_end.tms_cstime); exit(EXIT_SUCCESS); } void time_print(char *str, clock_t time) { long tps = sysconf(_SC_CLK_TCK); /*函数sysconf()的作用为将时钟滴答数转化为秒数,_SC_CLK_TCK 为定义每秒钟

中科大信号与系统 实验报告2

信号与系统实验报告 一、实验目的 1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法 2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法 3. 熟悉应用MATLAB实现求解系统响应的方法 二、实验原理 1.连续时间系统求解各种响应 impulse( ) 函数 函数impulse( )将绘制出由向量a和b所表示的连续系统在指定时间范围内的单位冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。 以默认方式绘出由向量a和b所定义的连续系统的冲激响应的时域波形。 绘出由向量a和b所定义的连续系统在0 ~ t0时间范围内冲激响应的时域波形。 绘出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。 只求出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的冲激响应的数值解,但不绘出其相应波形。 step( ) 函数 函数step( )将绘制出由向量a和b所表示的连续系统的阶跃响应,在指定的时间范围内的波形图,并且求出数值解。和impulse( )函数一样,step( )也有如下四种调用格式: step( b,a) step(b,a,t0) step(b,a,t1:p:t2) y=step(b,a,t1:p:t2) 上述调用格式的功能和impulse( )函数完全相同,所不同只是所绘制(求解)的是系统的阶跃响应g(t),而不是冲激响应h(t)。 lsim( )函数 根据系统有无初始状态,lsim( )函数有如下两种调用格式: ①系统无初态时,调用lsim( )函数可求出系统的零状态响应,其格式如下:

信号与系统实验报告

信号与系统实验 指导老师: 实验时间: 2015年6月 学校:海南大学 学院:信息科学技术学院 专业班级: 姓名: 学号:

《信号与系统实验》 实验一基本信号在MATLAB中的表示和运算 一、实验目的 1.学会用MATLAB表示常用连续信号的方法; 2.学会用MATLAB进行信号基本运算的方法; 二、实验原理 1.连续信号的MATLAB表示 MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。 表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。 例1-1指数信号 如f (t) = Ae at,调用格式为ft=A*exp (a*t) 程序: A=1;a=-0.4; t=0:0.01:10; ft=A*exp(a*t); plot(t,ft); grid on; 波形图:

例1-2 正弦信号 调用格式为ft=A*sin(w*t+phi) 程序: A=1;w=2*pi;phi=pi/6; t=0:0.01:8; ft=A*sin(w*t+phi); plot(t,ft); grid on; 波形图: 例1-3 抽样信号 定义为Sa(t) = sin c(t /π ) 程序: t=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; axis([-10,10,-0.5,1.2]); title('抽样信号') 波形图:

操作系统实验报告-实验四

操作系统实验报告-实验四

实验四:进程管理(二) 实验内容: 1.编写一个程序,打印进程的如下信息:进程标识符,父进程标识符,真实用户ID,有效用户ID,真实用户组ID,有效用户组ID。并分析真实用户ID和有效用户ID的区别。 源代码及结果: 真实用户ID和有效用户ID的区别: 真实用户ID:这个ID就是我们登陆unix 系统时的身份ID。 有效用户ID:定义了操作者的权限。有效用户ID是进程的属性,决定了该进程对文件的访问权限。 2.阅读如下程序,编译并运行,分析进程执行过程的时间消耗(总共消耗的时间和CPU

消耗的时间),并解释执行结果。再编写一个计算密集型的程序替代grep,比较两次时间的花销。注释程序主要语句。 /* process using time */ #include #include #include #include #include void time_print(char *,clock_t); int main(void){ //取得进程运行相关的时间 clock_t start,end; struct tms t_start,t_end; start = times(&t_start); system(“grep the /usr/doc/*/* > /dev/null 2> /dev/null”); /*command >/dev/null的作用是将是command命令的标准输出丢弃,而标准错误输出还是在屏幕上。一般来讲标准输出和标准

信号与系统实验报告(常用信号的分类与观察)

实验一:信号得时域分析 一、实验目得 1.观察常用信号得波形特点及产生方法 2.学会使用示波器对常用波形参数得测量 二、实验仪器 1.信号与系统试验箱一台(型号ZH5004) 2.40MHz双踪示波器一台 3.DDS信号源一台 三、实验原理 对于一个系统特性得研究,其中重要得一个方面就是研究它得输入输出关系,即在一特定得输入信号下,系统对应得输出响应信号.因而对信号得研究就是对系统研究得出发点,就是对系统特性观察得基本手段与方法.在本实验中,将对常用信号与特性进行分析、研究。 信号可以表示为一个或多个变量得函数,在这里仅对一维信号进行研究,自变量为时间。常用信号有:指数信号、正弦信号、指数衰减正弦信号、复指数信号、Sa(t)信号、钟形信号、脉冲信号等。 1、信号:指数信号可表示为f(t)=Ke at。对于不同得a取值,其波形表现为不同得形式,如下图所示: 图1―1 指数信号 2、信号:其表达式为f(t)=Ksin(ωt+θ),其信号得参数:振幅K、角频率ω、与初始相位θ。其波形如下图所示:

图1-2 正弦信号 3、指数衰减正弦信号:其表达式为其波形如下图: 图1-3指数衰减正弦信号 4、Sa(t)信号:其表达式为:。Sa(t)就是一个偶函数,t= ±π,±2π,…,±nπ时,函数值为零。该函数在很多应用场合具有独特得运用。其信号如下图所示: 图1-4 Sa(t)信号 5、钟形信号(高斯函数):其表达式为:其信号如下图所示:

图1-5 钟形信号 6、脉冲信号:其表达式为f(t)=u(t)-u(t—T),其中u(t)为单位阶跃函数。其信号如下图所示: f(t) ? ……??…… 0 t 图1-6脉冲信号 7、方波信号:信号为周期为T,前T/2期间信号为正电平信号,后T/2期间信号为负电平信号,其信号如下图所示 U(t) ………… ?0?t 图1-7方波信号 四、实验内容及主要步骤 下列实验中信号产生器得工作模式为11 1、指数信号观察 通过信号选择键1,设置A组输出为指数信号(此时信号输出指示灯为000000)。用示波器测量“信号A组”得输出信号。 输出波形为:

信号系统实验报告123(1)

实验一连续时间信号的时域基本运算 一、实验目的 (1)掌握连续时间信号时域运算的基本方法; (2)掌握相关函数的调用格式及作用; (3)掌握连续信号的基本运算。 二、实验原理 信号的基本运算包括信号的相加(减)和相乘(除).信号的时域变换包括信号的平移、翻转、倒相以及尺度变换。 (1)加减: f(t)=f1(t)±f2(t)(2)乘: f(t)=f1(t)×f2(t) (3)延时或平移:f(t)→(t-t0) t0>0时右移;t0<0时左移 (4)翻转: f(t)→f(-t) (5)尺度变换:f(t)→ f(at) |a|>1时尺度缩小;|a|<1时尺度放大;a<0时,尺度翻转。 (6)标量乘法:f(t)→af(t) (7)倒相: f(t)→-f(t) (8)微分: f(t)→df(t)/dt (9)积分: f(t)→∫t -∞f(t)d(t) 三、涉及的MATLAB函数及其运算 1、stepfun函数 功能:产生一个阶跃信号。 调用格式: Stepfun(t,t 0)其中,t是时间区间,在该区间内阶跃信号一定会产生;t 是信号 发生从0到1跳跃的时刻。 2、diff函数 调用格式: diff (f) : 求函数f对预设独立变数的一次微分值。 diff (f, ’t’) : 求函数f对独立变数t的一次微分值。 3、int函数 调用格式: Int(f): 函数f对预设独立变数的积分值。 Int(f,’t’): 函数f对独立变数t的积分值。 4、heaviside函数 Heaviside(t):产生没有移位的阶跃信号。 Heaviside(t-k):产生向右平移K单位的阶跃信号。 四、实验内容与方法1、验证性实验 (1)移位 实现连续信号的移位,即f(t-t0),或者f(t+t0);常数t0>0。 MATLAB程序 clear all t=0:0.0001:2 y=sin(2*pi*(t)); y1=sin(2*pi*(t-0.2)); plot(t,y,'-',t,y1,'--'); ylabel('f(t)');xlabel('t');title('信号的移位') 运行结果:

相关文档
最新文档