当前位置:文档之家› 信号与系统实验报告

信号与系统实验报告

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

信号与系统实验

实验一 常用信号分类与观察

一、实验目的

1、了解单片机产生低频信号源

2、观察常用信号的波形特点及产生方法。

3、学会使用示波器对常用波形参数的测量。

二、实验仪器

1、20MHz 双踪示波器一台。

2、信号与系统实验箱一台。

三、实验内容

1、信号的种类相当的多,这里列出了几种典型的信号,便于观察。

2、这些信号可以应用到后面的“基本运算单元”和“无失真传输系统分析”中。

四、实验原理

对于一个系统特性的研究,其中重要的一个方面是研究它的输入输出关系,即在一特定的输入信号下,系统对应的输出响应信号。因而对信号的研究是对系统研究的出发点,是对系统特性观察的基本手段与方法。在本实验中,将对常用信号和特性进行分析、研究。

信号可以表示为一个或多个变量的函数,在这里仅对一维信号进行研究,自变量为时间。常用信号有:指数信号、正弦信号、指数衰减正弦信号、抽样信号、钟形信号、脉冲信号等。

1、正弦信号:其表达式为)sin()(θω+=t K t f ,其信号的参数:振幅K 、角频率ω、与初始相位θ。其波形如下图所示:

图 1 正弦信号

2、指数信号:指数信号可表示为at

Ke t f =)(。对于不同的a 取值,其波形表现为不同的形式,如下图所示:

图 2 指数信号

3、指数衰减正弦信号:其表达式为 ??

?

??><=-)0()sin()0(0)(t t Ke t t f at ω

其波形如下图:

图 3 指数衰减正弦信号

4、抽样信号:其表达式为: sin ()t

Sa t t

=

。)(t Sa 是一个偶函数,t = ±π,±2π,…,±n π时,函数值为零。该函数在很多应用场合具有独特的运用。其信号如下图所示:

图4 抽样信号

5、钟形信号(高斯函数):其表达式为:

2

()()t

f t Ee

= , 其信号如下图所示:

图 5 钟形信号

6、脉冲信号:其表达式为)()()(T t u t u t f --=,其中)(t u 为单位阶跃函数。

7、方波信号:信号周期为T ,前2T 期间信号为正电平信号,后2

T

期间信号为负电平信号。

五、实验步骤

1、利用示波器观察正弦信号的波形,并测量分析其对应的振幅K ,角频率ω。具体步

骤如下:

(1)接通电源,并按下此模块电源开关S5。 (2)按下此模块中的按键“正弦波”,用示波器观察输出的正弦信号,并分析其对应的频率。

(3)再按一下“频率降”或“频率升”键,观察波形的变化,并分析且测量对应频率的变化,记录此时的振幅K,角频率ω。(注:复位后输出的信号频率最大,只有当按下“频率降”时,按“频率升”键波形才会变化,并每次在改变波形时,波形的频率为最大,以下波形的输出与此类似。)

a、参数。具体步骤如下:

2、用示波器测量指数信号波形,并分析其所对应的K

(1)按下此模块中的按键“指数信号”,用示波器观察输出的指数信号,并分析其对应的

a、参数。

频率、K

(2)再按一下“频率降”或“频率升”键,观察波形的变化,分析其对应频率的变化,并分析此时的参数a的变化。

3、指数衰减正弦信号观察(正频率信号)。具体步骤如下:

(1)按下此模块中的按键“指数衰减”,用示波器观察输出的指数衰减正弦信号,并分析其对应的频率。

(2)再按一下“频率降”或“频率升”键,观察波形的变化,并分析且测量对应频率的变化。

4、抽样信号的观察。具体操作如下:

(1)按下此模块中的按键“Sa信号”,用示波器观察输出的抽样信号,并分析其对应的频率。

(2)再按一下“频率降”或“频率升”键,观察波形的变化,并分析且测量对应频率的变化。

5、钟形信号的观察:

(1)按下此模块中的按键“钟形信号”,用示波器观察输出的钟形信号,并分析其对应的频率。

(2)再按一下“频率降”或“频率升”键,观察波形的变化,并分析且测量对应频率的变化及相应的参数τ。

6、脉冲信号的观察:

(1)按下此模块中的按键“脉冲信号”,用示波器观察输出的脉冲信号,并分析其对应的频率。

(2)再按一下“频率降”或“频率升”键,观察波形的变化和特点,并分析且测量对应频率的变化。

7、方波、三角波、锯齿波信号的观察:

(1)按下此模块中的相应信号的按键,用示波器观察输出的信号,并分析其对应的频率。

(2)再按一下“频率降”或“频率升”键,观察波形的变化和特点,并分析且测量对应频率的变化。

六、实验报告要求

用坐标纸画出各波形。

实验二 电路的一阶响应

一、实验目的

1、观察电路的零输入响应,了解系统零输入响应的过程,并与理论计算的结果进行比较。

2、观察电路的零状态响应,了解系统零状态响应的过程,并与理论计算的结果进行比较。

二、实验仪器

1、20MHz 双踪示波器一台。

2、信号与系统实验箱一台。

3、系统时域与频域分析模块一块。

三、实验内容

1、观察零输入响应的过程。

2、观察零状态响应的过程。

四、实验原理

1、零输入响应与零状态响应:

零输入响应:没有外加激励的作用,只有起始状态(起始时刻系统储能)所产生的响应。 零状态响应:不考虑起始时刻系统储能的作用(起始状态等于零)。 2、典型电路分析:

电路的响应一般可分解为零输入响应和零状态响应。首先考察一个实例:在下图中由RC 组成一电路,电容两端有起始电压Vc(0-),激励源为e(t)。

图1 RC 电路则系统响应-电容两端电压:

τττd e e

RC

Vc e

t Vc t t RC

RC

t

)(1

_)0()(_

0)(1

?--

-+

=

上式中第一项称之为零输入响应,与输入激励无关,零输入响应_)0(Vc e RC

t -是以初始电

压值开始,以指数规律进行衰减。

第二项与起始储能无关,只与输入激励有关,被称为零状态响应。在不同的输入信号下,电路会表征出不同的响应。

五、实验步骤

1、把系统时域与频域分析模块插在主板上,用导线接通此模块“电源接入”和主板上的电源(看清标识,防止接错,)。

2、系统的零输入响应特性观察

(1) 接通主板上的电源,同时按下本模块的电源开关S1,将“函数信号发生器”模块中的输出(将“波形选择”拨到方波“频率调节”用于在频段内的频率调节,“脉宽调节”用于脉冲宽度的调节,可改变以上的参数进行相关的操作),通过导线引入到“零输入零状态响应”的输入端。

(2) 用示波器的两个探头,一个接函数信号发生器输出作同步,一个用于观察输出信号的波形,即在低电平时所观察到的波形即为零输入响应,在高电平所观察到的波形即为零状态响应。

(3) 改变函数信号发生器的“频率调节”电位器,观察到的是不同系统下的零输入响应和零状态响应。

3、系统的零状态响应特性观察

(1)观察的方法与上述相同,不过当脉冲进入高电平阶段时,相当于此时加上激励,即此时零状态响应应在脉冲的高电平进行。

(2)改变本实验的开关K1的位置,观察到的是不同系统下的零状态响应,进行相应的比较。

六、实验报告

1、用两个坐标轴,分别绘制出零输入和零状态的输出波形。

2、通过绘制出的波形,和理论计算的结果进行比较。

七、思考题

图1所示电路中,根据实验提供的实验元件,计算系统的零状态和零输入过程。

实验三 信号的抽样与抽样定理

一、实验目的

1、了解信号的采样方法与过程以及信号恢复的方法。

2、验证抽样定理。

二、实验仪器

1、20MHz 双踪示波器一台。

2、信号与系统实验箱一台。

3、系统时域与频域分析模块一块。

三、实验内容

1、观察抽样脉冲、抽样信号、抽样恢复信号。

2、观察抽样过程中,发生混叠和非混叠时的波形。

四、实验原理

1、离散时间信号可以从离散信号源获得,也可以从连续时间信号抽样而得。抽样信号

()t f s 可以看成连续信号()t f 和一组开关函数()t s 的乘积。()t s 是一组周期性窄脉冲,见图1,

T S 称为抽样周期,其倒数S s T f 1

=称抽样频率。

图 1矩形抽样脉冲

对抽样信号进行傅里叶分析可知,抽样信号的频率包括了原连续信号以及无限个经过平移的原信号频率。平移的频率等于抽样频率s f 及其谐波频率s f 2、s f 3……。当抽样信号是周期性窄脉冲时,平移后的频率幅度按

()

x x sin 规律衰减。抽样信号的频谱是原信号频谱周

期的延拓,它占有的频带要比原信号频谱宽得多。

2、正如测得了足够的实验数据以后,我们可以在坐标纸上把一系列数据点连起来,得到一条光滑的曲线一样,抽样信号在一定条件下也可以恢复到原信号。只要用一截止频率等于

原信号频谱中最高频率f n 的低通滤波器,滤除高频分量,经滤波后得到的信号包含了原信号频谱的全部内容,故在低通滤波器输出可以得到恢复后的原信号。

3、但原信号得以恢复的条件是B f s 2≥,其中s f 为抽样频率,B 为原信号占有的频带宽度。而B f 2min =为最低抽样频率又称“奈奎斯特抽样率”。当B f s 2<时,抽样信号的频谱会发生混迭,从发生混迭后的频谱中我们无法用低通滤波器获得原信号频谱的全部内容。在实际使用中,仅包含有限频率的信号是极少的。因此即使B f s 2=,恢复后的信号失真还是难免的。图2画出了当抽样频率B f s 2≥(不混叠时)及当抽样频率B f s 2<(混叠时)两种情况下冲激抽样信号的频谱。

(b ) 高抽样频率时的抽样信号及频谱(不混叠)

(c ) 低抽样频率时的抽样信号及频谱(混叠)

图2 抽样过程中出现的两种情况

4、为了实现对连续信号的抽样和抽样信号的复原,除选用足够高的抽样频率外,常采用前置低通滤波器来防止原信号频谱宽而造成抽样后信号频谱的混叠。但这也会造成失真。原始的语音信号带宽为40Hz 到10000Hz,但实际中传输的语音信号的带宽为300Hz 到3400Hz,并不影响我们的听觉效果,因此本实验加了前置滤波器。

五、实验步骤

1、语音信号的抽样与恢复

(1) 把系统时域与频域分析模块插在主板上,用导线接通此模块“电源接入”和主板上的电源(看清标识,防止接错),并打开此模块的电源开关(S2、S3)。

(2) 把话筒插进V1耳机插进V2(看清标识不要接错),将开关K2拨到频率选择的中档,同时将短路块插在JD上,检查无误后就可以对着话筒讲话了,会在耳机里听到清楚的声音。(Rw3用来调节语音信号的放大倍数,Rw4用来调节声音的大小)

(3)用示波器观察测试钩“抽样脉冲”J8的波形,调节电位器“抽样脉宽调节”Rw1,则抽样脉冲的占空比将会改变。

(4)用示波器观察测试钩“抽样信号”的波形。则应可见到被抽样语音信号的波形的轮廓(是一个瞬时值可以用数字示波器的STOP按钮来观测语音信号的抽样,语音信号的波形可以通过测试购“语音信号”来观测)。

(5)另外,电位器“频率调节”Rw2用于调节抽样脉冲的频率,开关K2用于选择脉冲段,分为“高”“中”“低”档,在调试时,选择“低”和“中”档。(做实验的时候可以先选择“中”档再选择“低”档可以听到语音信号从正常到失真)

2、点频抽样

(1)用导线连接J9和J11,将短路块插在JD1上,同时将K3拨到下面(将K2拨到“高”调节“频率调节”Rw2使抽样脉冲的频率达到32kHz即在J8处测得的频率为32kHz).拨码开关用来选择抽样脉冲的频率.(拨码开关上面为1下面为0)在这个过程可以看不混叠,临界,和混叠三个状态。

(2)用示波器观察测试钩“抽样脉冲”J10的波形。

(3)用示波器观察测试钩“抽样信号”的波形。则可见到连续信号波形的轮廓。

1、整理并绘出原信号、抽样信号以及复原信号的波形,你能得出什么结论?

2、整理在三种不同抽样频率情况下,()t f s波形,比较后得出结论。

3、实验调试中的体会。

七、思考题

1、如果抽样脉冲τ→0,抽样信号经低通后能否复原f(t)

2、抽样脉冲的频率与抽样恢复信号有什么关系。

实验四 信号分解与合成

一、实验目的

1、观察信号的分解。

2、掌握带通滤波器的有关特性测试方法。

3、观测基波和其谐波的合成。

二、实验仪器

1、20MHz 双踪示波器一台。

2、信号与系统实验箱一台。

3、电信号分解与合成模块一块。

三、实验内容

1、观察信号分解的过程及信号中所包含的各次谐波。

2、观察由各次谐波合成的信号。

四、实验原理

任何信号都是由各种不同频率、幅度和初相的正弦波迭加而成的。对周期信号由它的傅里叶级数展开式可知,各次谐波为基波频率的整数倍。而非周期信号包含了从零到无穷大的所有频率成份,每一频率成份的幅度均趋向无限小,但其相对大小是不同的。

通过一个选频网络可以将信号中所包含的某一频率成份提取出来。本实验采用性能较佳的有源带通滤波器作为选频网络,因此对周期信号波形分解的实验方案如图1所示。

将被测方波信号加到分别调谐于其基波和各次奇谐波频率的一系列有源带通滤波器电路上。从每一有源带通滤波器的输出端可以用示波器观察到相应频率的正弦波。本实验所用的被测信号是1ω左右的周期信号,而用作选频网络的五种有源带通滤波器的输出频率分别是

111115432ωωωωω、、、、,因而能从各有源带通滤波器的两端观察到基波和各次谐波。其中,

在理想情况下,如方波的偶次谐波应该无输出信号,始终为零电平,而奇次谐波则具有很好的幅度收敛性,理想情况下奇次谐波中一、三、五、七、九次谐波的幅度比应为1:(1/3):(1/5):(1/7):(1/9)。但实际上因输入方波的占空比较难控制在50%,且方波可能有少量失真以及滤波器本身滤波特性的有限性都会使得偶次谐波分量不能达到理想零的情况。

五、实验步骤

1、把电信号分解与合成模块插在主板上,用导线接通此模块“电源接入”和主板上的电源(看清标识,防止接错,带保护电路),并打开此模块的电源开关。

2、调节函数信号发生器,使其输出Hz 53左右(其中在Hz Hz 56~50之间进行选择,使其输出的效果更好)的方波(要求方波占空比为50%,这个要求较为严格),峰峰值为5V

左右。将其接至该实验模块的各带通滤波器的“输入”端,用示波器观察各带通滤波器的输出(注:观察频率时,可利用实验箱上的频率计实验模块。即按下该模块电源开关S2。)

3、用示波器的两个探头,直接观察基波与三次谐波的相位关系,或者采用李沙育图的方法观察,看其相位差是否为零,同时考察其幅度关系,幅度之比是否为3:1(可以用相应带通滤波器中的调幅和调相电位器进行调节,保证了相位和幅度满足实验的要求)。

4、将方波分解所得基波和三次谐波,用导线与其对应的插孔相连,观测加法器的输出“合成”波形,并记录所得的波形。

5、同时考察基波、三次谐波、五次谐波的相位和幅度的关系,还是用李沙育图观察其相位关系,观察其幅度关系为5:3:1。

6、验证各高次谐波与基波之间的相位差是否为零。可用李沙育图形法进行测量,其方法如下:

用导线将函数发生器的方波输出端与带通滤波器输入端连接起来,即把方波信号分先后送入各带通滤波器,如图1所示。

图1 信号分解的过程

具体方法一:基波与标准同频同相信号相位比较(李沙育图相位测量法)

把函数信号发生器模块产生的正弦波电压调至5V ,使其送入示波器的X 轴,再把BPF-1

ω的基波送入Y 轴,示波器采用X-Y 方式显示,观察李沙育图形。(注:当滤波器的增益不为1时,即X 轴和Y 轴信号幅度不一致时,在0

90=Φ时其李沙育图形并不为圆,而是椭圆,但其是垂直椭圆,与0

900<Φ<时的椭圆并不相同。)

当两信号相位差为0

0时,波形为一条直线;当两信号相位差为0

90时,波形为一个圆;

当两信号相位差为0

900<Φ<时,波形为椭圆,如图2所示。

00

图2 李沙育图形

具体方法二:基波与各高次谐波相位比较(李沙育频率测试法)

把BPF-1ω处的基波送入示波器的X 轴,再分别把BPF-13ω、BPF-15ω处的高次谐波送入Y 轴,示波器采用X-Y 方式显示,观察李沙育图形。

当基波与三次谐波相位差为0

0(即过零点重合)、0

90、1800时,波形分别如图3所示。

00=Φ 090=Φ 0

180=Φ

图3 基波与三次谐波相位的观察

以上是三次谐波与基波产生的典型的Lissajous 图,通过图形上下端及两旁的波峰个数,确定频率比,即3:1,实际上可用同样的方法观察五次谐波与基波的相移和频比,其应为5:1。

7、方波波形合成

(1)将函数发生器输出的Hz 53左右,方波信号送入各带通滤波器输入端。 (2)在五个带通滤波器输出端逐个测量各谐波输出幅度,

(3)用示波器观察并记录加法器输出端基波与各奇次谐波的叠加波形,如图4所示。

图4 基波与三次和五次谐波叠加后的波形

六、实验报告

1、根据实验测量所得的数据,绘制方波及其基波和各次谐波的波形、频率和幅度(注意比例关系)。作图时应将这些波形绘制在同一坐标平面上。以便比较各波形和频率幅度。

2、将基波、三次谐波、五次谐波及三者合成的波形一同绘在同一坐标平面上。

3、画出方波信号分解后,鉴别基波与各奇次谐波的李沙育图形。详细整理实验数据,并画出波形分解与合成的波形。

4、分析相位、幅值在波形合成中的作用。

5、总结实验和调试心得意见。

七、思考题

1、考虑实验中,影响带通滤波器中心频点和带宽的主要因素是什么?

2、什么是吉布斯现象,它的具体的表现是什么?

实验五 无失真传输系统

一、实验目的

1、了解无失真传输的概念。

2、了解无失真传输的条件。

二、实验仪器

1、20MHz 双踪示波器一台。

2、信号与系统实验箱一台。

3、系统频域与复域分析模块一块。

三、实验内容

1、观察信号在失真系统中的波形。

2、观察信号在无失真系统中的波形。

四、实验原理

1、一般情况下,系统的响应波形和激励波形不相同,信号在传输过程中将产生失真。 线性系统引起的信号失真有两方面因素造成,一是系统对信号中各频率分量幅度产生不同程度的衰减,使响应各频率分量的相对幅度产生变化,引起幅度失真。另一是系统对各频率分量产生的相移不与频率成正比,使响应的各频率分量在时间轴上的相对位置产生变化,引起相位失真。

线性系统的幅度失真与相位失真都不产生新的频率分量。而对于非线性系统则由于其非线性特性对于所传输信号产生非线性失真,非线性失真可能产生新的频率分量。

所谓无失真是指响应信号与激励信号相比,只是大小与出现的时间不同,而无波形上的变化。设激励信号为)(t e ,响应信号为)(t r ,无失真传输的条件是

)()(0t t Ke t r -= (1)

式中K 是一常数,0t 为滞后时间。满足此条件时,)(t r 波形是)(t e 波形经0t 时间的滞后,虽然,幅度方面有系数K 倍的变化,但波形形状不变。

2、对实现无失真传输,对系统函数)(ωj H 应提出怎样的要求?

设)(t r 与)(t e 的傅立叶变换式分别为)()(ωωj E j R 与。借助傅立叶变换的延时定理,从式(1)可以写出

)()(t j e

j KE j R ωωω-= (2)

此外还有 )()()(ωωωj E j H j R = (3) 所以,为满足无失真传输应有

)(t j Ke

j H ωω-= (4)

(4)式就是对于系统的频率响应特性提出的无失真传输条件。欲使信号在通过线性系统时不产生任何失真,必须在信号的全部频带内,要求系统频率响应的幅度特性是一常数,相位特性是一通过原点的直线。

图1 3、本实验箱设计的电路图:(采用示波器的衰减电路)

图2 示波器衰减电路

计算如右: 2

22

211112

22

20111

)

()

()(C j R C j R C j R C j R C j R C j R U U H i Ω+

Ω+Ω+ΩΩ+

Ω=

ΩΩ=

Ω

2

22

1212

22

111C R j R C R j R C R j R Ω++

Ω+Ω+ (5)

如果 2211C R C R = 则 1

22

)(R R R H +=

Ω是常数,0)(=Ω? (6)

式(6)满足无失真传输条件。

五、实验步骤

1、把系统复域与频域分析模块插在主板上,用导线接通此模块“电源接入”和主板上的电源(看清标识,防止接错,带保护电路)。

2、打开函数信号发生器的电源开关,使其输出一方波信号,频率为1K ,峰峰值为V 5,将其接入到此实验模块的输入端,用示波器的两个探头观察,一个接入到输入端,一个接入到输出端,以输入信号作输出同步进行观察。

3、观察输出信号是否失真,即信号的形状是否发生了变化,如果发生了变化,可以调节电位器“失真调节”,使输出与输入信号的形状一致,只是信号的幅度发生了变化(一般变为原来的1/2)。

4、改变信号源,采用的信号源可以从函数信号发生器引入,也可以从常用信号分类与观察引入各种信号,重复上述的操作,观察信号的失真和非失真的情况。

六、实验报告

1、绘制各种输入信号失真条件下的输入输出信号(至少三种)。

2、绘制各种输入信号无失真条件下的输入输出信号(至少三种)。

七、思考题

比较无失真系统与理想低通滤波器的幅频特性和相频特性。

实验六模拟滤波器的分析

一、实验目的

1、了解RC无源和有源滤波器的种类、基本结构及其特性。

2、对比研究无源和有源滤波器的滤波特性。

3、学会列写无源和有源滤波器网络函数的方法。

4、比较不同阶数滤波器的滤波效果。

5、比较巴特沃斯和切比雪夫滤波器的异同

二、实验仪器

1、20MHz双踪示波器一台。

2、信号与系统实验箱一台。

3、系统频域与复域分析模块一块。

三、实验内容

1、用函数信号发生器中正弦信号观察各滤波器的幅频特性。

2、用扫频源观察各滤波器的幅频特性。

四、实验原理

1、滤波器是对输入信号的频率具有选择性的一个二端口网络,它允许某些基本频率(通常是某个频带范围)的信号通过,而其它频率的信号受到衰减或抑制,这些网络可以是由RLC 元件或RC元件构成的无源滤波器,也可以是由RC元件和有源器件构成的有源滤波器。

2、根据幅频特性所表示的通过或阻止信号频率范围的不同,滤波器可分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)和带阻滤波器(BEF)四种。我们把能够通过的信号频率范围定义为通带,把阻止通过或衰减的信号频率范围定义为阻带。而通带与阻带的分界点的频率f c称为截止频率或称转折频率。图1中的A up为通带的电压放大倍数,f0为中心频率,f cL和f cH分别为低端和高端截止频率。

滤波器的实验线路如下图所示:

图2 四种滤波器的实验线路

图1 各种滤波器的理想幅频特性

图3 巴特沃斯滤波和切比雪夫滤波的比较

3、全通网络:如果一个系统函数的极点位于左半平面,零点位于右半平面,而且零点与极点对于

ωj 互为镜像,则系统函数为全通函数,或称全通网络。

图4

网络频率特性的表达式为:

)]

()[(3

21321321321)(θθθ???ω++-++=j e M M M N N N K

j H

则,由于321N N N 与321M M M 相消,幅频特性等于常数K ,而只是相位变化。

设计电路:

图 5 全通网络

转移函数

C

R j C

R j s H f ωω---

=11)(1 ,其中f R R =1

则其零极图可表示为:

图6 上述全通网络的零极图

根据零极图,则此系统为全通网络。

4、滤波器(如图7所示)的网络函数H (j ω),又称为传递函数, ()()()ωθ∠ω==

ω?

?

A U U j H 1

2

它全面反映了滤波器的幅频和相频特性。

可以通过实验方法来测量滤波器的上述幅频特性A (ω)。

图7 滤波器

五、实验步骤

1、把系统复域与频域分析模块插在主板上,用导线接通此模块“电源接入”和主板上的

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

实验五:管道通信 实验内容: 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('信号的移位') 运行结果:

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