现场总线控制技术实验报告.
时间:2020-09-10 12:19:53 来源:勤学考试网 本文已影响 人
课程名称: 现场总线实验
任课教师: 廉迎战
学 院: 自动化
专业班级:
学 号:
学生姓名:
1
2015 年 6月 16日
实验一 频移键控法仿真实验
一.实验目的
初步掌握通信原理基础知识中频移键控法的基本原理。
能用 MATLAB 仿真软件,编写并调试简单的仿真程序。
二.实验主要仪器设备和材料
实验用计算机
MATLAB 仿真软件三.实验内容
四.实验步骤及结果测试
1.安装部署 MATLAB 仿真环境,同时根据频移键控法要求,设置
仿真环境。
在 MATLAB 环境下,输入频移键控法原理图。原理图如下:
2
方法一
方法二
Repeating sequence stair:F3 数字信号
sine wave : 100Hz 信号
Sine wave1 : 50Hz 信号
Scope1:示波器
3
方法一: Switch1: 选通开关 // 方法二:用乘法器 product 代替
在 MATLAB 中产生 F1=50Hz 和 F2=100Hz 的交流信号,以及需要发送的数字信号,数字信号为: F3波波形。
加载输入信号,观察仿真原理图输出信号波形,同时记录并分析。如下图:
五.思考题
1.数字信号的频移键控法输出波形表示形式如下:
输出的数字信号为,其频移键控波形如下的 OUT :
4
1~6 行输出信号分别为: 1.数字信号的输入信号;2. 50Hz
频率 sine;3.100Hz 频率 sine; 4. Product 输出; 5.product1 输出;
6.add 输出
2.如何实现幅移键控法的信号通讯技术?
通过信号幅值的高低映射到数字信号的 1 和 0 从而达到载波传输信号, 可利用
现成的电信网,电话网等设施构成信道。
5
3.实验二 双极性非归零编码仿真实验
一.实验目的
初步掌握通信原理基础知识中的数字编码技术应用。
能用 MATLAB 仿真软件,编写并调试简单的仿真程序。
二.实验主要仪器设备和材料
实验用计算机
MATLAB 仿真软件三.实验内容
双极性非归零编码仿真实验原理图如同所示。
图 2 双极性非归零编码仿真原理图
四.实验步骤及结果测试
1.安装部署 MATLAB 仿真环境,同时根据双极性非归零编码要求,
设置仿真环境。
2. 在 MATLAB 环境下,设计输入双极性非归零编码原理图。如下:
6
3.
Signal buder : F=1011010010 单极性 方波波形;
Constant1:值为 1 的常数信号;
Constant-1:值为 -1 的常数信号 :
在 MATLAB 中产生数字信号为: F=1011010010 单极性 方波波形。
在相应的输入端加载输入信号,观察仿真原理图的输出信号波形,
7
同时记录并分析。
如下图, OUT 即为 F3 信号的双极性非归零编码仿真输出。
F3 1 时选择 constant 1,0 时选择 constant -1,合并波形。
以 上 6 个 信 号 分 别 为 : 1.signal builder 的 数 字 信 号 10110100101;
2.constant=1;3.constant1=-1;4.product 信号;5.product1 信号;6.add
输出信号
8
五.思考题
1.数字信号 10110100101双极性非归零编码输出波形图如下 OUT:
以 上 6 个 信 号 分 别 为 : 1.signal builder 的 数 字 信 号 10110100101;
2.constant=1;3.constant1=-1;4.product 信号;5.product1 信号;6.add
输出信号
输出的数字信号为 10110100101时,其单极性非归零编码波形如下 OUT:
9
以 上 6 个 信 号 分 别 为 : 1.signal builder 的 数 字 信 号 10110100101;
2.constant=1;3.constant1=0;4.product 信号; 5.product1 信号; 6.add
输出信号
2.如何实现双极性非归零编码的信号通讯?
通过电平的高低表示数字信号的 1 和 0;将数字信号调制成电平信号,经过信道传输,在信宿解调实现信号的还原从而完成通讯。
10
实验三 曼彻斯特编码仿真实验
一.实验目的
初步掌握通信原理基础知识中的曼彻斯特编码技术应用。
能用 MATLAB 仿真软件,编写并调试简单的仿真程序。
二.实验主要仪器设备和材料
实验用计算机
MATLAB 仿真软件三.实验内容
曼彻斯特编码仿真实验原理图如同所示。
图 2 曼彻斯特编码仿真波形图
四.实验步骤及结果测试
1.安装部署 MATLAB 仿真环境,同时根据曼彻斯特编码要求,设
置仿真环境。
2. 在 MATLAB 环境下,设计并输入曼彻斯特编码原理图。如下:
11
3.
Signal buder : F波波形 ;
Repeating Sequence Stair:重复下降沿信号,周期 1 秒;(曼彻斯
特编码中,当输入为 0 时,产生一个上升沿信号)
Repeating Sequence Stair1:重复上升沿信号, 周期 1 秒;(曼彻斯
特编码中,当输入为 1 时,产生一个下降沿信号)
在 MATLAB 中产生数字信号为: F曼彻斯特编码方波波形
输入波形为:
12
在相应的输入端加载输入信号,观察仿真原理图的输出信号波形,
同时记录并分析。如下:
13
以上 6 个输出信号分别为: 1.signal builder 的输入信号 :F 2.周期为 1 的下降沿信号; 3.周期为 1 的上升沿信号; 4.product 输出信号(当输入信号为 1 时,输出下降沿信号); 5. Product1输出信号(当输入信号为 0 时,输出上升沿信号); 6.输出 F曼彻斯特编码波形
五.思考题
数字信号 10110100101 的曼彻斯特编码输出波形表示形式如下图:
14
输出的数字信号为 10110100101时,其差分曼彻斯特编码波形如下:
如何实现曼彻斯特编码的信号通讯?
通过一个周期内高低电平的反转表示数字信号的 1 和 0;相邻两个保持一样表示数字 0,跳变相反表示数字 1。将数字信号调制成这样的电平信号,经过信道传输,在信宿解调实现信号的还原从而完成通讯。
15
实验四 CRC 冗余码校验编程实验
一.实验目的
掌握 CRC 冗余码校验编程。
利用 C 语言编程实现 CRC 校验过程。
二.实验主要仪器设备和材料
实验用计算机
C 语言开发软件三.实验内容
CRC 校验码的基本思想是利用线性编码理论,在发送端根据要传送的 k 位二
进制码序列,以一定的规则产生一个校验用的监督码(既 CRC 码) r 位,并附在信
息后边,构成一个新的二进制码序列数共 (k+ r) 位,最后发送出去。在接收端,则
根据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。
四.实验程序及结果测试
用 CRC-8 对数据 1011 0100 1010 进行效验,计算其效验码
程序清单如下:
#include<stdio.h>
void main(){
int k,i,j,n;
int a[20]={1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1};
int num[30];
16
int crc[30];
printf("xinxishujuweishu:");
scanf("%d",&k);
printf("shujuwei:\n");
for(i=k-1;i>=0;i--)
scanf("%d",&num[i]);
printf("K(x):");
for(i=k-1;i>=0;i--)
printf("%d",num[i]);
printf("\n");
for(i=k-1+16;i>=16;i--){
num[i]=num[i-16];
}
for(i=15;i>=0;i--){
num[i]=0;
}
printf("x^16*K(x):");
for(i=k-1+16;i>=0;i--)
printf("%d",num[i]);
printf("\n");
for(i=k-1+16;i>=16;i--){
if(num[i]==0){
crc[i-16]=0;
}
else{
crc[i-16]=1;
for(j=i,n=1;j>=i-16;j--,n++){
if(num[j]==a[16-n+1])
num[j]=0;
else
num[j]=1;
}
}
}
printf(" 冗余码 R(x) : ");
for(i=k-1+16;i>=0;i--){
if(num[i]!=0){
17
for(j=i;j>=0;j--)
printf("%d",num[j]);
break;
}
}
printf("\n");
printf(" 商输出 ");
for(i=k-1;i>=0;i--)
printf("%d",crc[i]);
printf("\n");
system("pause");
}
输出结果如下:
18