-
2021-04-22 05:41:35
第10卷第12期
Vo l .10,No .12
宜宾学院学报
J ou rnal of Yibin Un i versity
2010年12月
Dec .,2010
收稿日期1修回作者简介贺繇(),男,重庆江津人,工学硕士,讲师,主要从事信号与图像处理、遥感方向研究
浅海水声信道模型分析及频率选择性衰落仿真
贺繇
(宜宾学院物理与电子工程学院,宜宾644000)
摘要:水声通信是以声波信号作为载波的水下通信,水声信道是水下通信的重要组成部分.在浅海中,水声信道是通信环境恶劣的信道,存在着较强的频率选择性衰落.通过对浅海水声信道的分析、建模、仿真,验证了水声信道的频率选择性衰落.关键词:水声信道;频率选择性衰落;射线声学模型
中图分类号:T N92913 文献标志码:A 文章编号:1671-5365(2010)12-0078-03
Ana lysis of Under wa ter Acou stic Cha nne lsM odel a nd S i m u l a tion of F requen cy Se lect i v ity A tten ua tion
HE Yao
(College of Physics and Electronic Engineering,Yibin Un iversity,Yibin 644000,China)
Ab stract:The under water acou stic co mmun icati on is the under w ater commun icati on adop ted the acoustic signal as its carrier,and the under w ater acou stic channel is an i mpo rtan t p art of the under water ac ou stic c ommunication.Ho wever,the channel is a bad co mmun icati on channel in the shallo w sea and there is str ong frequency selectivity attenuation .Based on the analysis,modeling,si mu lating,the frequency selectivity attenuation of the under water commun icati on channels was p r oved.K ey word s:under water acoustic channels;frequency selectivity attenuati on;ac ou stic ray model
由于经济发展和国防建设的需要,人类活动已经频繁在水下展开,民用领域有水下的资源探测和开采、水下环境监测、海洋空间的利用;军事领域有潜艇在巡逻、演习、作战时与水面舰只或陆上基地的通信联络等,这些活动都必须建立可靠的通信互联,所以,水下通信,特别是人类活动最为频繁的浅海水域的水下通信是研究的重点领域之一.
1 浅海水声信道的基本情况
空间无线通信都采用高频电磁波作为信息传输的载波,一般都具有传播速度快、传播时延小、多普勒频移小、带宽较宽的特点.但是在水下,电磁波传输衰减极快,传播距离很短,所以电磁波不适合作为水下通信的载波.而声波在水下以纵波的方式进行传播,衰减速度比电磁波慢得多,传播距离较远,是水下通信较为理想的载波[1]
.
即使以声波作为水下通信的载波,水下通信仍然存在诸多的技术难题.声波在水中传输时,水将对声波产生较强的吸收作用,使声波能量严重衰减.同时,声波信号在水中传输将经历多次海面和海底的反射,到达接收端的信号是从不同方向和不同路径传来,多径效应明显.在浅海中,由于浅海海底的复杂构成、海面的风浪、海水在不同季节由于温度原因形成的不同温度梯度等因素影响,多径效应
将进一步增强,声波在传播过程中的能量衰减更为严重.
声波信号的发射端和接收端可能存在相对运动,这将会导致接收机接收到的信号发生频率变化的多普勒效应.即使发送端和接收端静止,由于海面存在波浪运动和海中存在各种湍流,声波在行进过程中被海面波浪的调制,到达接收端时频率也会产生变化[2].所以,水声信道必须考虑多普勒效应.
水声信道特别是浅海水声信道中的环境噪声比较严重,包括海潮、湍流、海面刮风下雨、生物群体活动、船舶航行和石油钻探都会对水声信道产生较强的噪声干扰.所以,水声信道是一复杂多变的信道,具有衰减严重、多径效应和频散特性较强、环境噪声严重的特点.正是水声信道的复杂性和不稳定性,使其成为自然界中最复杂的
无线通信信道[3]
.水声信道在传输通信信号的过程中,将出现较强的频率选择性衰落、时间选择性衰落和码间干扰.2 声波频率的选择
用声波作为水下通信的载波时,频率不能太低,因为太低的频率意味着通信速率很低.所以,水下通信的声波
载波频率都在1KHz 以上[4]
.当频率大于1K H z 的声波在水中传播时,能量的衰减主要是由于水对声波的吸收.其
中海水对声波的吸收系数为
[2]
:2010-10-24:2010-10-24
:1972-
更多相关内容 -
北交大无线通信实验3-信道均衡.doc
2020-01-17 01:31:46无线通信基础课程研究性学习手册 实验三 信道均衡 姓名 学号 同组成员 指导教师黄清 时间2015年6月 一实验任务 ...二理论分析 经过多径传播到达接收机的信号一般表示为 1 其中 为基带的频率选择性信道则调制解调器间的 -
数据结构哈夫曼编码实验报告总结计划.docx
2020-11-27 02:20:31数据结构实验报告 实验五 简单哈夫曼编 / 译码的设计与实现 本实验的目的是通过对简单哈夫曼编 / 译码系统的设计与实现来熟练掌握树型结构在实际问题中的应用此实验可以作为综合实验阶段性实验时可以选择其中的几 个... -
信号抽样实验报告
2021-04-20 07:33:57大连理工大学实验报告学院(系): 专业: 班级:姓 名: 学号: 组: ___ 实验时间: 实验室: 实验台:指导教师签字: 成绩:实验三 信号抽样一、实验目的1 学会运用MATLAB 完成信号抽样及对抽样信号的频谱进行分析...大连理工大学实验报告
学院(系): 专业: 班级:
姓 名: 学号: 组: ___ 实验时间: 实验室: 实验台:
指导教师签字: 成绩:
实验三 信号抽样
一、实验目的
1 学会运用MATLAB 完成信号抽样及对抽样信号的频谱进行分析; 2 学会运用MATLAB 改变抽样间隔,观察抽样后信号的频谱变化; 3 学会运用MATLAB 对抽样后的信号进行重建。
二、习题
1. 设有三个不同频率的正弦信号,频率分别为f 1=100Hz , f 2=200Hz , f 3=3800Hz 。
现在用抽样频率f 3=3800Hz 对这三个正弦信号进行抽样,用MA TLAB 命令画出各抽样信号的波形及频谱,并分析频率混叠现象。 解:分别写出三个频率正弦波的代码与图形: (f1=100HZ的正弦信号) 代码如下: Ts=1/3800; dt=0.0001;
t1= -0.008:dt:0.008;
ft=sin(2*pi*100*t1).*(uCT(t1+0.005)-uCT(t1-0.005)); subplot(221);
plot(t1,ft), grid on;
axis([-0.006 0.006 -1.1 1.1]); xlabel('Time(sec)'),ylabel('f(t)') title('正弦信号波形 ');
N=5000; k = -N:N;
W = 2*pi*k/((2*N+1)*dt); Fw= dt*ft*exp(-j*t1'*W); subplot(222); plot(W,abs(Fw)); grid on;
axis([-30000 30000 0 0.006]); xlabel('\omega'),ylabel('F(w)'); title('正弦信号的频谱'); t2=-0.008:Ts:0.008;
fst=sin(2*pi*100*t2).*(uCT(t2+0.005)-uCT(t2-0.005)); subplot(223);
plot(t1,ft,':'),hold on; stem(t2,fst),grid on;
axis([-0.005 0.005 -1.1 1.1]); xlabel('Time(sec)'),ylabel('fs(t)'); title('抽样后的信号'),hold off; Fsw= Ts*fst*exp(-j*t2'*W); subplot(224);
plot(W,abs(Fsw)), grid on; axis([-30000 30000 0 0.006]); xlabel('\omega'),ylabel('Fs(w)'); title('抽样信号的频谱');
matlab 波形如下:
100HZ 正弦信号波形
0.5-0.5
-1-6
-3
100HZ 正弦信号的频谱
F (w )
-3-4
-2
02Time(sec)
4x 10
6
-3
-3
f (t )
-2-1012x 10
3
4
ω
100HZ 抽样信号的频谱
100HZ 抽样后的信号
-5
F s (w )
0Time(sec)
5x 10
-3
f s (t )
-3
-2-1012x 10
3
4
ω
其中单个正弦信号(未经抽样)的频谱放大后如下:
(200HZ 的正弦信号) 代码如下:
Ts=1/3800; dt=0.0001;
t1= -0.003:dt:0.003;
ft=sin(2*pi*200*t1).*(uCT(t1+0.0025)-uCT(t1-0.0025)); subplot(221);
plot(t1,ft), grid on;
axis([-0.003 0.003 -1.1 1.1]); xlabel('Time(sec)'),ylabel('f(t)') title('200HZ正弦信号波形 '); N=5000; k = -N:N;
W = 2*pi*k/((2*N+1)*dt); Fw= dt*ft*exp(-j*t1'*W); subplot(222); plot(W,abs(Fw)); grid on;
axis([-30000 30000 0 0.003]); xlabel('\omega'),ylabel('F(w)'); title('200HZ正弦信号的频谱'); t2=-0.003:Ts:0.003;
fst=sin(2*pi*200*t2).*(uCT(t2+0.0025)-uCT(t2-0.0025)); subplot(223);
plot(t1,ft,':'),hold on; stem(t2,fst),grid on;
axis([-0.003 0.003 -1.1 1.1]); xlabel('Time(sec)'),ylabel('fs(t)');
title('200HZ抽样后的信号'),hold off;
Fsw= Ts*fst*exp(-j*t2'*W); subplot(224);
plot(W,abs(Fsw)), grid on; axis([-30000 30000 0 0.003]); xlabel('\omega'),ylabel('Fs(w)'); title('200HZ抽样信号的频谱');
matlab 波形如下:
200HZ 正弦信号波形
0.5-0.5
-1-3
-3
200HZ 正弦信号的频谱
F (w )
-3-2
-1
01Time(sec)
2x 10
3
-3
-3
f (t )
-2-1012x 10
3
4
ω
200HZ 抽样信号的频谱
200HZ 抽样后的信
号
-3
F s (w )
-2
-1
01Time(sec)
2x 10
3
-3
f s (t )
-3
-2-1012x 10
3
4
ω
(3800HZ 正弦信号) 代码如下: Ts=1/3800; dt=0.00001;
t1= -1/7600:dt:1/7600;
ft=sin(2*pi*3800*t1).*(uCT(t1+1/7600)-uCT(t1-1/7600)); subplot(221);
plot(t1,ft), grid on;
axis([-1/7600 1/7600 -1.1 1.1]); xlabel('Time(sec)'),ylabel('f(t)') title('3800HZ正弦信号波形 '); N=10000; k = -N:N;
W = 2*pi*k/((2*N+1)*dt); Fw= dt*ft*exp(-j*t1'*W); subplot(222); plot(W,abs(Fw)); grid on;
axis([-200000 200000 0 0.00015]); xlabel('\omega'),ylabel('F(w)'); title('3800HZ正弦信号的频谱'); t2=-1/7600:Ts:1/7600;
fst=sin(2*pi*3800*t2).*(uCT(t2+1/7600)-uCT(t2-1/7600)); subplot(223);
plot(t1,ft,':'),hold on; stem(t2,fst),grid on;
axis([-1/7600 1/7600 -1.1 1.1]); xlabel('Time(sec)'),ylabel('fs(t)');
title('3800HZ抽样后的信号'),hold off; Fsw= Ts*fst*exp(-j*t2'*W); subplot(224);
plot(W,abs(Fsw)), grid on;
axis([-200000 200000 0 0.00015]); xlabel('\omega'),ylabel('Fs(w)'); title('3800HZ抽样信号的频谱');
matlab 波形如下:
3800HZ 正弦信号波形
-1
0Time(sec)
3800HZ 抽样后的信号
-1
0Time(sec)
1x 10
-4
1.51
-4
3800HZ 正弦信号的频谱
F (w )
0.50
-2
-4
f (t )
1x 10
-1
-4
01
x 10
2
5
ω
1.513800HZ 抽样信号的频谱
F s (w )
f s (t )
0.50-2
-101
x 10
2
5
ω
可知f=3800Hz的频谱直接混叠在一起,出不了明显的频谱图
2. 结合抽样定理,用MATLAB 编程实现Sa (t ) 信号经冲激脉冲抽样后得到的抽样信号
f s (t ) 及其频谱,并利用f s (t ) 重构Sa (t ) 信号。
解:认为原Sa(t)的信号带宽为wm=2,取wc=1.2wm 代码如下:
wm=2;
wc=1.2*wm; Ts=1; dt=0.1;
t1= -10:dt:10;
ft=sinc(t1/pi).*(uCT(t1+10)-uCT(t1-10)); N=5000; k = -N:N;
W = 2*pi*k/((2*N+1)*dt); n=-100:100; nTs=n*Ts;
fst=sinc(nTs/pi).*(uCT(nTs+10)-uCT(nTs-10)); subplot(221);
plot(t1,ft,':'),hold on; stem(nTs,fst),grid on; axis([-10 10 -0.4 1.1]);
xlabel('Time(sec)'),ylabel('fs(t)'); title('Sa(t)抽样后的信号'),hold off; Fsw= Ts*fst*exp(-j*nTs'*W); subplot(222);
plot(W,abs(Fsw)), grid on; axis([-20 20 0 4]);
xlabel('\omega'),ylabel('Fs(w)'); title('Sa(t)抽样信号的频谱'); t=-10:dt:10;
f=fst*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t)))); subplot(223); plot(t,f),grid on;
axis([-10 10 -0.4 1.1]); xlabel('t'),ylabel('f(t)');
title('由f(nTs)信号重建得到Sa(t)信号'); error = abs(f-ft); subplot(224)
plot(t,error),grid on
xlabel('t'),ylabel('error(t)');
title('重建信号与原Sa(t)信号的绝对误差');
matlab 的波形如下:
Sa(t)抽样后的信
号
Sa(t)
抽样信号的频谱
F s (w )
-5
0Time(sec)
5
10
f s (t )
-10
-20
-1001020
ω
重建信号与原Sa(t)信号的绝对误差
由f(nTs) 信号重建得到Sa(t)信
号e r r o r (t )
-5
0t
5
10
-10
f (t )
-10
-5
0t
510
三、实验体会
本次实验遇到的问题: 第一题:用书上的例子的代码解题,但是发现抽样信号的频谱与未抽样信号的频谱除了周期延拓外并没有幅度减去应有的倍数(变为1/T),后来发现算未经抽样的频谱公式为:Fw= dt*ft*exp(-j*t1'*W);,而经过抽样后的频谱的公式:Fsw= Ts*fst*exp(-j*t2'*W);两者没有实质的差别,唯一的区别是两者时间的单元分别为:dt 和Ts ,这样并不能引起幅度的变化,虽然解释了图形幅度没变,但是不知道理论上图形幅度缩减一定的倍数(1/T)的原因。
第二题:解本题时本来也想先作出未经抽样时Sa(t)的频谱的,但是最终matlab 没有通过编译,提示错误Error using ==> mtimes Out of memory. Type HELP MEMORY for your options.好像是超出内存限制。所以只能直接作出抽样后信号的频谱。再利用书上的公式作出重建的Sa(t)信号再求绝对误差,但是出现了在t=10处绝对误差突然增大的现象,调整dt 与Ts 的值后t=10处的绝对误差依然很大,这一点暂时没有解决。
四、问题与思考
(1)由于抽样间隔改为2.5,对比例2可以发现w s 明显变小,容易产生频谱混叠,而且低通滤波器的截止频率不满足w m
-
基于Matlab的MIMO通信系统仿真,包括matlab仿真程序,word版实验报告
2022-04-13 08:05:09OFDM技术通过将频率选择性多径衰落信道在频域内转换为平坦信道,减小了多径衰落的影响。OFDM技术如果要提高传输速率,则要增加带宽、发送功率、子载波数目,这对于频谱资源紧张的无线通信时不现实的。 MIMO能够在... -
最新数据结构哈夫曼编码实验报告.docx
2020-11-24 20:21:42数据结构实验报告 实验五 简单哈夫曼编 / 译码的设计与实现 本实验的目的是通过对简单哈夫曼编 / 译码系统的设计与实现来熟练掌握树型结 构在实际问题中的应用此实验可以作为综合实验阶段性实验时可以选择其中的几 ... -
线性分组码实验报告(共10篇).doc
2021-05-20 14:08:42线性分组码实验报告(共10篇)线性分组码实验报告(共10篇) 实验二、线性分组码的编译码报告信息论与编码实验报告1、 简要总结线性分组码编译码的基本原理及步骤;分组码是一组固定长度的码组,可表示为(n , k),通常它...线性分组码实验报告(共10篇)
线性分组码实验报告(共10篇) 实验二、线性分组码的编译码报告
信息论与编码实验报告
1、 简要总结线性分组码编译码的基本原理及步骤;
分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(kn)组成一种码。这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=2k个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错.
编译码的一般步骤:
1完成对任意信息序列的编码
2根据生成矩阵,形成监督矩阵;
3根据得到的监督矩阵,得到伴随式,并根据它进行译码;
4验证工作的正确性
2、实现线性分组码编、译码的Matlab源程序;
clear all;
clc;
P=[1 1 1 0;0 1 1 1 ;1 1 0 1]
G=[eye(3),P]
H=[P',eye(4)]
M=input('设置输入码元M=:','s')
C=mod(M*G,2)
E=[0 0 0 0 0 1 0]
R=mod(C+E,2)
H
S=mod(R*H',2)
for i=1:7
if S==H(:,i)'
R(1,i)=mod(R(1,i)+1,2);
R1=R
end
end
3、 讨论该线性分组码的最小码距与码重及纠错能力的关系。
(1)若要发现e个独立差错,则要求最小码距dmin≥e+1
(2)若要纠正t个独立差错,则要求最小码距dmin≥2t+1
(3)若要发现e个同时又纠正t个独立差错,则要求最小码距dmin≥e+t+1,(et)其中e指检测的错误,t指纠正的错误。
采用纠错编码能增加传输信息时的正确率,能够及时的纠正一些错误的编码,提高编码的效率。
篇二:线性分组码实验报告
综合性设计性实验报告
专 业:
学 号:
姓 名:
实验所属课程:
实验室(中心): 信息技术软件实验室
指 导 教 师 :
2
一、 题目
线性分组码编译码实验 二、 仿真要求
1. 分别用不同的生成矩阵进行(7,4)线性分组码的编码,经调制解调后译码,并比较两种线性分组码的纠错能力。
2. 掌握线性分组码的编码原理、编码步骤和译码方法。
3. 熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码和译码。
三、仿真方案详细设计
编码:
本实验采用的是(7,4)线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵H为(3×4)的矩阵,由监督方程和(4×4)的单位矩阵构成,生成矩阵G为(4×7)的矩阵,由(4×4)的单位矩阵和监督矩阵的转置矩阵构成。实现过程为:
1、将要编码的序列先整形,整为4列
2、如果序列不能被4整除在后边补0使其能被4整除3、将整形后的序列与生成矩阵G相乘即得到编码后的码字
在本实验中,分别生成两种生成矩阵,在产生了生成矩阵后根据输入的四位信息位和生成矩阵相乘即可得到编码矩阵。
译码:
在译码过程中,我们利用错误图样和伴随式来进行纠错。
1、设一个接收码字矩阵为R,R*H'=S (模2乘),则S为码字对应的伴随式矩阵如果S=0则说明接受码字无差错;
2、如果S不为0,查看矩阵S中不为0的那行所在行数,该行即收码字错误所在行i;
3、将S转置,将不为0的一列与H每一列进行比较,找到H中相同列,该列的列数即为错误所在列;
4、由步骤2和3得到错误具体位置,模2加对应的错误图样就可得到正确码字。 BPSK调制:
BPSK调制利用载波的相位变化来传递数字信息,振幅和频率保持不变。双极性的全占空矩形脉冲序列与正弦载波相乘就得到调制信号。因此进行调制时首先进行码形变换变为双极性的,再经乘法器与载波相乘得到调制信号。其具体实现方法如下:
1、将0、1序列变为-1、1序列;
2、将序列与载波相乘,为‘1’时与载波相位相同,为‘-1’时与载波相位相反。 BPSK解调:
解调是产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号,进而通过抽样判决得出原始信号。解调是调制的逆过程,其作用是从接受信号中恢复出原基带信号。解调的方法分为两类:相干解调和非相干解调(如包络检波)。相干解调也称同步检波,适用于所有线性调制信号的解调。其关键是必须在已调信号的接收端产生与信号载波同频同相的本地载波。 本次仿真实验采用的是相干解调法,调制信号与想干
-
2020年数据结构哈夫曼编码实验报告毕业用资料.doc
2020-11-24 10:39:24数据结构实验报告 实验五 简单哈夫曼编/译码的设计与实现 本实验的目的是通过对简单哈夫曼编/译码系统的设计与实现来熟练掌握树型结构在实际问题中的应用此实验可以作为综合实验阶段性实验时可以选择其中的几个功能... -
数据结构哈夫曼编码实验报告毕业用资料.pdf
2020-07-05 22:37:12数据结构实验报告 实验五 简单哈夫曼编/译码的设计与实现 本实验的目的是通过对简单哈夫曼编/译码系统的设计与实 现来熟练掌握树型结构在实际问题中的应用此实验可以作为综 合实验阶段性实验时可以选择其中的几个... -
计算机网络数据链路层的实验报告
2021-06-19 05:37:39计算机网络实验和报告计算机网络数据链路层实验报告0/27计算机网络实验和报告Ŀ1. 实验内容和实验环境描述(1)实验内容和目的(2)实验环境二,软件设计(1)数据结构(2)模块结构(3)算法流程3.实验理论分析4.实验结果: (1...计算机网络实验和报告计算机网络数据链路层实验报告0/27计算机网络实验和报告Ŀ1. 实验内容和实验环境描述(1)实验内容和目的(2)实验环境二,软件设计(1)数据结构(2)模块结构(3)算法流程3.实验理论分析4.实验结果: (1)性能测试记录表(2)屏幕截图(因为有近200个屏幕截图,此处仅列出了最佳参数的情况,其余参数比较表及其日志文件位于“参数比较”文件夹中. 5.源程序列表. 6实验结果分析7.研究和探索问题8.实验总结和经验报告I.实验内容和实验环境的描述(1)实验内容和目的使用学习的数据链路层原理,您可以设计一个自己滑动窗口协议并在实际环境中对其编程,以在音频通道环境中的两个站点之间实现无噪声. nication. 信道模型为8000bps全双工卫星信道,信道传播延迟为270毫秒,信道误码率为10-5,该信道提供字节流传输服务,网络层数据包长度固定为256字节. 通过本实验,我们将进一步巩固和深入理解数据链路层错误检测的CRC验证技术以及滑动窗口的工作机制. 滑动窗口机制的两个主要目标: (1)在嘈杂的信道环境中实现无错误的传输; (2)充分利用传输通道的带宽.
程序可以稳定运行并成功实现第一个目标后,请在没有错误且通道中存在错误的情况下运行程序并检查通道利用率. 为了达到第二个目标,提高滑动窗口协议的信道利用率,有必要根据信道的实际情况合理配置协议的工作参数,包括滑动窗口的大小和重传定时器. 时间限制和ACK携带计时器的时间限制. 这些参数的设计需要充分了解滑动窗口协议的工作原理,并使用经过学习的理论知识,经过仔细计算后,可以计算出最佳阈值,并通过运行程序进行验证. 通过该实验,学生将提高他们的编程和实践技能,在调试协议软件时遇到各种问题和困难,设计可以跟踪和分析协议在运行过程中的工作过程的协议软件,并巩固和深刻地了解理论知识. 这些知识可以优化系统,并且对实际系统中的协议分层和协议软件设计有基本的了解. (2)实验环境Windows XP环境PC,Microsoft Visual C ++ 6.0集成开发环境. 二,软件设计(1)数据结构(选择性)#define MAX_SEQ 15 #define NR_BUFS((MAX_SEQ + 1)/ 2)#define DATA_TIMER 3000 #define ACK_TIMER 240 struct FRAME {unsigned char kind; 2/27 //帧超时时间间隔//确认计算机网络实验的超时间隔·报告未签名的确认;无符号字符序列;未签名的字符数据[PKT_LEN]; unsigned int padding;}; int no_nak = 1;静态诠释phl_ready = 0; unsigned char oldest_frame = MAX_SEQ +1;其中kind表示数据类型; ack表示确认帧; seq表示帧的序列号;数据[PKT_LEN]指示数据内容;此处不使用填充.
静态无符号字符frame_nr = 0,缓冲区[MAX_SEQ + 1] [PKT_LEN],nbuffered = 0;静态无符号字符frame_expected = 0;静态无符号字符ack_expected = 0;静态无符号字符next_frame_to_send = 0;静态诠释phl_ready = 0; Frame_nr表示帧的当前序列号; buffer表示用于存储来自网络层数据包的数据的缓冲区; nbuffered表示已发送但尚未收到确认的帧; frame_expected表示站点希望接收的下一帧; ack_expected表示站点希望接收的确认帧; next_frame_to_send表示要发送的帧的序号,即当前正在发送的帧的序号; phl_ready表示物理层的当前状态,1表示物理层已准备好,0表示尚未准备好. int事件,arg,i,len = 0;事件表示接收方正在等待的接收事件; arg表示物理层到达的字节数; i表示主要功能中for循环使用的音量; len表示帧的长度.
struct FRAME f表示帧数. (go_back_n)#define DATA_TIMER 3000 #define MAX_SEQ 7 struct FRAME {unsigned char kind; / * FRAME_DATA * /无符号字符; 3/27 //标记已发送到nak计算机网络实验·报告未签名的字符序列;未签名的字符数据[PKT_LEN]; unsigned int padding;};静态无符号字符frame_nr = 0,缓冲区[MAX_SEQ + 1] [PKT_LEN],nbuffered = 0;静态无符号字符frame_expected = 0;静态诠释phl_ready = 0;静态无符号字符ack_expected = 0; //发出最早的帧号,但未确认为静态未签名字符char next_frame_to_send = 0; //下一个要在缓冲设备中发送的帧4/27计算机网络实验·报告(2)模块结构5/27计算机网络实验和报告功能(无符号字符a,无符号字符b,无符号字符c)之间使用亍进行确定接收到的ACK序列号是否在发送窗口内.
a是下限,b是确认号,c是上限. 函数put_frame(无符号char * frame,int len)使用亍check frame来检查数据的正确性. 函数send_data_frame(void)使用发送方将数据帧发送到接收方. (3)算法流程Go-Back-N和选择性协议的过程大致相同,不同之处在于如何处理错误通道中的错误帧. 当发生错误时,Go-Back-N返回未确认的第一帧高性能计算机 网络 链路数,并选择性地发送NAK告知发送方哪个帧错误,发送方可以知道要发送哪个帧. 6/27计算机网络实验·报告7/27计算机网络实验·报告III. 实验理论分析(1)协议软件是否可以在带有错误代码的信道环境中实现无错误传输,并采用CRC检查和重发技术来发现和纠正错误. (2)该程序更健壮,可以在高负载和高误码率的条件下工作. 在低误码率通道条件下,程序运行平稳,没有任何错误,并且具有良好的鲁棒性. 在高误码率通道条件下,程序有时会中断,但大多数情况下会中断,因此该程序很健壮. (3)滑动窗口的大小选择该参数直接关系到信道利用率和数据拥塞的问题;如果太小,会导致信道利用率低,并且长时间没有数据在信道中传输;如果太大,则数据传输太快,将导致接收方的数据链路层对其进行处理. 数据物理层和通道拥塞将导致数据丢失并增加错误率.
(4)在go_back_n协议中(假设接收方始终进行数据传输,即没有确认计时器超时),滑动窗口M的大小,信道传输延迟a,传输速率c和帧大小f当满足以下关系时,信道利用率(M *(f / c)/ [2a + 2(f / c)])接近100%: M> = [2a + 2 *(f / c)] /(f / c);实际的数据传输8/27计算机网络实验和报告很可能在一定时间内没有从接收方返回数据,这涉及到ack帧的单独传输问题,因此一般的信道利用率可能达到100% ,但是M的选择必须至少满足公式. 为了防止M太大的问题,可以通过对实际测试结果的分析来获得适当的M值. 在选择协议中,发送方和接收方都保持一个相等长度的大发送/接收窗口,并且发送/接收缓冲池不能太短(可以将最小值设置为发送/接收窗口). 缓冲的作用类似于GobackN,但是增加的接收方窗口不缓冲池,其作用是: 当接收方收到错误帧或丌是期望的下一帧时,此时,它将仅发送nak帧(需要控制频率,以避免接收机接收太多相同的干扰信号和频繁的重传. 接收方不会缓冲落在窗口大小范围内的帧,因此它必须依赖接收方. 发送方重新发送发送窗口中的所有值以获得
.
由于这是选择性重传,因此只要不需要重新传输错误帧就可以. 即使通道中充满了数据帧高性能计算机 网络 链路数,错误后重发的成本也非常低. 实验表明,最佳窗口数为15. (5)错误控制方案通过附带确认来完成可靠的数据通信. 当信道错误导致接收到的帧中出现错误时,将丢弃所有后续帧. 此时,发送者长时间接收到确认消息并引起接收. 计时器到期后,发送方重新接收. 当接收方不发送数据并且发送方无法接收the带式确认时,确认计时器已到期,并构造一个确认帧以进行单独的传输. (6)CRC校验和的生成和验证protocol.h头文件中的函数原型为: unsigned int crc32(unsigned char * buf,int len);本实验中使用的CRC校验方案为CRC-32. IEEE802.3以太网校验和多项式相同. 生成多项式为: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1 CRC校验和在软件中生成. 通常,使用表2叠加方法逐位对模2进行变换,以验证整个CRC32响应是否为0: 校验和正确为0,否则. 为0. 根据我对CRC和计算的理解,接收到的32位CRC错误的概率非常小. 考虑到当前的信道传输速度和数据量,错误可能只会在几年甚至十年内发生一次.
因此,我对客户的建议是,除非有特殊要求,否则我们必须设计更复杂的验证方法. 32位CRC基本上可以满足当前的大多数需求. 否则,设计更准确的验证方法需要更负责任的数学推导和更负责任的编码技术,从而增加整个协议的设计成本. 9/27计算机网络实验和报告IV. 实验结果(1)性能测试记录(有选择)序号1数据链路au数据链路bu 2数据链路a数据链路b站点A在数据包层以平滑的方式接收数据,站点B定期轮换“发送100秒,停止接收持续100秒” 3数据链路afu数据链路bfu无错误通道,站点A和站点B的数据包层泛洪生成数据包4数据链路af数据链路bf 5数据链路af –ber 1e-4数据链路bf –ber 1e-4数据包层A / B站被淹. 站点A / B的数据包层被淹没. 线路误码率设置为10-4. 6数据链路af1数据链路bi1数据包在站A上被淹没. B在空闲模式下接收1900 49.4 93.7 1900 59.3 57.5 1900 92.3 92.9 1900 96.97 96.97 1900 51无错误通道数据传输指令运行时间(秒)1900效率(%)A 53.5 B 96.96 92.3备注性能测试记录表(go_back_n)序列命令编号1 2数据链路数据链路数据链路数据链路aub ab ab描述无错误通道根据报告,站点B定期在“发送100秒和停止100秒”错误之间交替-免费频道. 站点A和站点B的数据包层被淹没. 10/27运行时间(秒)1800 1800效率(%)A 52.3 41 B 70 57.5备注3 datalink afu datalink bfu18009797计算机网络实验和报告组4 5 datalink af datalink bf datalink af –ber 1e-4 datalink bf –ber 1e- 4站点A / B的报文层被洪泛生成报文站点A / B的报文层均以洪泛模式生成报文,线路的误码率设置为10-4 1800 1800 73.6 24.5 73.7 24.76 af1数据链路bi1站点A在泛洪模式下生成数据包,而B在空闲模式下接收180039.555.7(2)屏幕截图(因为有近200个屏幕截图. 此处仅列出了最佳参数. 其余参数及其日志的比较表)文件位于“参数比较”文件夹中. 1.(15个选择性窗口,帧超时3000,确认超时240)Af1〜bi1: 11/27计算机网络实验·报告au: 12/27计算机网络实验·报告bu: a : b: 13/27计算机网络实验·报告afu : 14/27计算机网络实验·报告bfu: af: bf: 15/27计算机网络实验·报告af –ber 1e-4: bf –ber 1e-4: 16/27计算机网络实验·报告2(7 go_back_n windows ,帧超时3000)Af1〜bi1: 17/27计算机网络实验·报告au: bu: 18/27计算机网络实验·报告a: b: 19/27计算机网络实验·报告afu: bfu: 20/27计算机网络实验·报告af: bf: 21/27计算机网络实验·报告af –ber 1e-4: bf –ber 1e-4: 22/27计算机网络实验·报告5.源程序列表显示在附件页面中. 实验列表有两个,分别是: 1.选择重传协议. ; 2.回滚N帧协议.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-161874-1.html
-
matlab软件实习报告
2021-04-23 09:59:527.9 积分软件实习报告软件实习报告Lacaya 200740401 信工信工 07012010/1/22 软件实习报告软件实习报告实验一实验一 信号幅度调制与解调信号幅度调制与解调一、实验目的一、实验目的 加深理解信号幅度调制与解调的... -
通信系统仿真实验报告
2022-05-04 16:14:31直接对信源进行无编码、(3,1)简单重复编码、(7,4)汉明码,通过二进制对称信道BSC,计算误码率丢包率 -
校园网规划与设计实验报告.docx
2021-07-06 07:03:57校园网规划与设计实验报告校园网的规划与设计实验报告篇一:校园网设计与规划报告(计算机网络大实验) 《计算机网络》实践报告 校园网设计与规划 专 业: 软件工程 班 级: 软件0901 姓 名: 李双双 学 号: 指导... -
数据结构哈夫曼编码试验报告.doc
2020-11-03 06:38:24数据结构实验报告 简单哈夫曼编/译码的设计与实现 实验五 本实验的目的是通过对简单哈夫曼编/译码系统的设计与实现来熟练掌握树型结构在实际问题中的应用此实验可以作为综合实验阶段性实验时可以选择其中的几个功能... -
信息安全实验总结报告
2021-06-19 06:39:23信息安全实验总结报告篇一:信息安全实验报告课程名称: 信息安全 实验名称: 共五次实验 班级: 姓名: 同组人:指导教师评定: 签名:实验一 木马攻击与防范一、实验目的通过对木马的练习,使读者理解和掌握木马... -
计算机网络实验报告1数据链路层协议设计与实现
2021-07-15 04:32:38《计算机网络实验报告1数据链路层协议设计与实现》由会员分享,可在线阅读,更多相关《计算机网络实验报告1数据链路层协议设计与实现(4页珍藏版)》请在人人文库网上搜索。1、南昌航空大学实验报告2019年 4月 18日... -
哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc
2021-05-20 11:08:43哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc 东北电力大学计算机科学与技术专业综合设计报告I目录摘要IIABSTRACTII第一章课题描述111问题描述112需求分析113程序设计目标第二章设计简介及设计方案... -
信道编码效率_信道编码实验 免费阅读可下载
2020-11-22 18:19:03积分 实验报告册课 程: 通讯系统原理教程 实 验: 信道编码实验 评语:成绩:签名:日期: 实验五:信道编码实验一、实验目的:1、了解信道编码的分类,理解线性分组码的特点2、掌握线性分组码的编码的过程3、理解据... -
通信原理实验报告
2021-04-22 14:36:33以下为《通信原理实验报告》的无排版文字预览,完整格式请下载下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。实验一:matlab/simulink 基础知识一、实验目的1.熟悉... -
移动通信课程设计报告实验报告-利用matlab进行m序列直接扩频仿真.doc
2021-04-18 11:01:03-.---.--目录一、背景4二、基本要求4三、设计概述 4四、...观察其时域波形94、计算并观察扩频前后BPSK调制信号的频谱105、仿真经awgn信道传输后,扩频前后信号时域及频域的变化116、对比经信道前后两种信号的频谱... -
哈夫曼编码译码系统课程设计实验报告(含源代码C++_C语言).doc
2021-05-20 11:09:16哈夫曼编码译码系统课程设计实验报告(含源代码C_C语言)目 录摘 要 ………………………………………………………………………..……………… IIAbstract …………………………………………………………………………..... -
哈夫曼编码译码系统课程设计实验报告(含源代码c++c语言).doc-资源下载蚂蚁文库
2021-05-20 11:08:47哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc东北电力大学计算机科学与技术专业综合设计报告I目录摘要IIABSTRACTII第一章课题描述111问题描述112需求分析113程序设计目标第二章设计简介及设计方案... -
汉明码编码译码实验报告(信息论与编码)及源程序.doc
2021-05-20 15:00:01因此,当信道中加性干扰主要是这种噪声时,就称这种信道为随机信道。由于信息码元序列是一种随机序列,接收端是无法预知的,也无法识别其中有无错码。为了解决这个问题,可以由发送端的信道编码器在信息码元序列中... -
哈夫曼编码译码系统课程设计实验报告(含源代码CC语言)(39页)-原创力文档
2021-05-20 11:07:35哈夫曼编码译码系统课程设计实验报告(含源代码CC语言).doc东北电力大学计算机科学与技术专业综合设计报告目录TOC \o "1-5" \h \z HYPERLINK \l "bookmark1" \o "Current Document" \h IIHYPERLINK \l "bookmark2" \o... -
混沌通信实验报告范文
2021-05-25 02:53:15混沌通信实验报告范文篇一:混沌通信实验仪实验操作步骤实验一: 非线性电阻的伏安特性实验1.实验目的:测绘非线性电阻的伏安特性曲线2.实验装置:混沌通信实验仪。3.实验对象:非线性电阻模块。4.实验原理框图... -
实验报告4
2017-10-29 23:16:00学号201421430023 中国人民公安大学 Chinese people’public ...实验报告 实验四 恶意代码技术 学生姓名 陆圣宇 年级 2014 区队 ... -
matlab实验心得体会-学习matlab的心得体会
2021-04-18 09:43:38matlab实验心得体会-学习matlab的心得体会导语:通过对MATLAB的系统环境,数据的各种运算,矩阵的分析和处理,程序设计,绘图,数值计算及符号运算的学习,初步掌握了MATLAB的实用方法。以下是小编带来的matlab实验... -
ASK调制及解调实验报告 - 范文中心
2020-12-23 01:29:40实验三 ASK调制及解调实验一、实验目的1、 掌握用键控法产生ASK信号的方法。2、 掌握ASK非相干解调的原理。二、实验器材1、 主控&信号源、9号模块各一块2、 双踪示波器一台3、 连接线若干三、实验原理1、实验... -
20155337 《Java程序设计》实验三(敏捷开发与XP实践)实验报告
2019-09-29 19:16:4420155337 《Java程序设计》实验三(敏捷开发与XP实践)实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程 2.完成实验、撰写... -
基于matlab的通信系统仿真报告
2021-04-28 09:38:41基于matlab的通信系统仿真报告 创新实践报告报 告 题 目: 基于 matlab 的通信系统仿真学 院 名 称: 信息工程学院姓 名: 余盛泽班 级 学 号: 11042232指 导 老 师: 温 靖二 O 一四年十月十五日目录一、引言 3二...