西电通信技术基础实验

news/2024/11/16 10:23:35/

实验一 基带传输常用编码

实验内容

数字编码技术:AMI码、曼彻斯特编码、HDB3码

实验目的

掌握几种基带传输常用码型的编码规则,如AMI码、HDB3码、曼彻斯特码。然后利用MATLAB设计并实现它们的编码。

实验环境

MATLAB程序设计、MATLAB Simulink仿真

原理简述

AMI码

定义:AMI码是传号交替反转码。其编码规则是将二进制消息代码“1”交替地变换为传输码的“+1”和“-1”,而“0”保持不变。

优点:无直流分量

缺点:当原信码出现连“0”串时,信号的电平长时间不跳变,造成提取定时信号的困难。

HDB3码

定义:HDB3码全称是高密度双极性码,是AMI码的一种改进型,其目的是为了保持AMI码的优点而克服其缺点,使连“0”个数不超过3个。

编码规则:

1) 先将消息代码变换成AMI码,若AMI码中连0的个数小于4,此时的AMI码就是HDB3码 ;
2) 若AMI码中连0的个数大于3,则将每4个连0小段的第4个0变换成与前一个非0符号(+1或-1)同极性的符号,表示(+V,-V);
3) 为了不破坏极性交替反转,当相邻V码之间有偶数个非0符号时,再将该小段的第1个0变换成+B或 -B,符号的极性与前一非零符号的相反,并让后面的非零符号从符号开始再交替变化。

例如:

消息代码: 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1

AMI码: -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 -1 +1

HDB3码:-1 0 0 0 –V +1 0 0 0 +V -1 +1 -B 0 0 -V +1 -1

数字双相码(Manchester码)

定义:它用一个周期的正负对称方波表示“0”,而用其反相波形表示“1”。编码是:“0”码用“1 -1”两位码表示,“1”码用“-1 1”两位码表示。

例如:

消息代码 1 1 0 0 1 0 1

曼彻斯特编码:-1 1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 1

仿真程序与实验结果及其分析:

AMI码

设计思路:

1、输入消息码;2、计算“1”的位置;3、偶数个1时输出1”,奇数时为“-1”。

关键步骤:统计“1”的个数,对奇偶不同的“1”进行区分。

matlab代码:

xn=[1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0];
tn=xn;
num=0;%AMI部分
for k=1:length(xn)            %只对1进行变化if xn(k)==1num=num+1;          if num/2==fix(num/2)      %偶数位输出为1tn(k)=1;elsetn(k)=-1;             %奇数位输出为-1endend
end
figure(1);                    %图一为原码,图二为AMI码
subplot(3,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);grid;
subplot(3,1,2);stairs([0:length(xn)-1],tn);axis([0 length(xn) -2 2]);grid;

实验结果及分析

对于输入的序列1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0经过AMI编码之后结果应是-1 0 1 -1 0 0 0 0 1 -1 1 0 0 0 -1 0,结果图像可知结果正确。

HDB3码

设计思路:

1、输入消息码,并将它转换为AMI码;

2、统计连零情况,如果4连0,让0000的最后一个0改变为与前一个非零符号相同极性的符号;

3、如果当前V符号与前一个V符号的极性相同,则让当前V符号极性反转,以满足V符号间相互极性反转要求,并且添加B符号,与V符号同极性,然后让后面的非零符号从V符号开始再交替变化。

matlab代码:

xn=[1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1];
tn=xn;
num=0;%AMI部分
for k=1:length(xn)            %只对1进行变化if xn(k)==1num=num+1;          if num/2==fix(num/2)      %偶数位输出为1tn(k)=1;elsetn(k)=-1;             %奇数位输出为-1endend
end%HDB3部分
HDB3=tn;
num1=0;
l1=0;
lv=0;
for i=1:length(xn)if HDB3(i)==0num1=num1+1;if num1==4if lv==l1HDB3(i)=-l1;HDB3(i-3)=-l1;elseHDB3(i)=l1;endlv=HDB3(i);l1=lv;num1=0;endelseif HDB3(i)==l1HDB3(i)=-l1;endl1=HDB3(i);num1=0;end
endfigure(1);
subplot(3,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);grid;
subplot(3,1,2);stairs([0:length(xn)-1],HDB3);axis([0 length(xn) -2 2]);grid;

实验结果及分析

对于输入的序列1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1经过AMI编码之后结果应是-1 0 0 0 -1 +1 0 0 0 +1 -1 +1 -1 0 0 -1 +1 -1,结果图像可知结果正确。

Manchester码

设计思路:

1、输入消息码;2、计算消息码中“1”、“0”的位置;3、将消息码中的“1”输出为“-1 1”;将消息码中的“0”输出为“1 -1”。

关键步骤:将每个码元用两位码表示。

matlab代码:

xn=[1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1];
yn=zeros(1,2*length(xn));for i=1:length(xn)if xn(i)==0yn(2*i-1)=1;yn(2*i)=-1;elseyn(2*i-1)=-1;yn(2*i)=1;end
endfigure(1);
subplot(2,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);grid;
subplot(2,1,2);stairs([0:0.5:length(xn)-0.5],yn);axis([0 length(xn) -2 2]);grid;

实验结果及分析

对于输入的序列1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1经过AMI编码之后结果应是-1 1 1 -1 1 -1 1 -1 1 -1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 ,结果图像可知结果正确。

in

实验二 数字调制截调技术

实验内容

一、Simulink简介
二、2ASK系统的仿真设计与分析
三、2FSK系统的仿真设计与分析
四、2PSK系统的仿真设计与分析
五、2DPSK系统的仿真设计与分析

实验目的

在学习了几种数字调制的基础上,通过simulink仿真软件,实现对2ASK、2FSK、2PSK等数字调制系统的仿真,然后对以上系统有更深入的了解。

实验环境

Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

2ASK系统的仿真设计与分析

2ASK系统的原理

ASK即“幅移键控”又称为“振幅键控”,2ASK是二进制振幅键控。发送为二进制符号“0”时,2ASK信号取值为0;发送为二进制符号“1”时,2ASK信号取值为载波对应的值。

解调算法:

上式中的第二项的频率远大于基带信号的频率,可以用低通滤波器滤掉。

具体如下图所示:

2ASK系统的仿真设计

2ASK系统仿真结果

2FSK系统的仿真设计与分析

2FSK系统的原理

数字键控法实现二进制移频键控信号的原理图:

2fsk非相干解调:

2fsk相干解调:

2FSK系统的仿真设计

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sFq3L9aT-1669267493001)(C:\Users\拽叉叉\AppData\Roaming\Typora\typora-user-images\image-20221030121154411.png)]

2FSK系统仿真结果

2PSK系统的仿真设计与分析

2PSK系统的原理

2PSK称为二进制相移键控,是相移键控的最简单的一种形式,它用两个初相相隔为180的载波来传递二进制信息。2PSK即发送为二进制符号“1”时,取0相位;发送为二进制符号“0”时,取pi相位。或者也可以反过来。

相干解调法:

整个2PSK的调制与解调仿真,流程如下图:

2PSK系统的仿真设计

2PSK系统的仿真结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uf6eZJji-1669267493002)(通信技术基础第二次实验/image-20221121211159611.png)]

2DPSK系统的仿真设计与分析

2DPSK系统的原理

2DPSK信号的解调方法:差分相干解调(相位比较)法

2DPSK系统的仿真设计

2DPSK系统仿真结果


在这里插入图片描述

实验三 模拟信号的数字传输

实验内容

一、PCM系统及matlab的实现
二、增量调制系统及matlab的实现

实验目的

通过此次课程的学习我们能加深理解和巩固理论课上所学的有关PCM\DM编码和解码的基本概念、基本理论和基本方法,并且更加熟练的掌握和操作MATLAB。

实验环境

MATLAB程序设计

原理简述

脉冲编码调制

脉冲编码调制(PCM)简称脉码调制,它是一种用一组二进制数字代码来代替连续信号的抽样值,从而实现数字通信方式。由于这种通信方式刚干扰能力强,他在很多领域获得了极为广泛的应用。

PCM信号的形成是模拟信号经过“抽样、量化、编码”三个步骤实现的。

  • 抽样是对模拟信号进行周期性的扫描,把时间上连续的信号变成时间上离散的信号。我们要求经过抽样的信号应包含原信号的所有信息,既能无失真地恢复出原模拟信号,抽样速率的下限有抽样定理确定。
  • 量化是把经抽样得到的瞬间值进行幅度离散,即指定规定的电平,把抽样值用最接近的电平表示。
  • 编码是用二进制码组表示有固定电平的量化值。实际上量化是在编码过程中同时完成的。

增量调制

预测误差 e k = m k – m k ′ ek = mk – mk' ek=mkmk 被量化成两个电平 + σ +\sigma +σ − σ -\sigma σ σ \sigma σ值称为量化台阶。这就是说,量化器输出信号 r k rk rk 只取两个值 + σ +\sigma +σ − σ -\sigma σ 。因此, r k rk rk 可以用一个二进制符号表示。例如,用“1”表示“ + σ +\sigma +σ”,及用“0”表示“ − σ -\sigma σ ”。

当前抽样值和前一个抽样重构值比较,若大于前一个抽样重构值,则编为1,若小于,则编为0

增量调制的采样间隔为 T s T_s Ts ,量化阶距 δ δ δ ,前一个抽样量化值初始值为0。输入信号,求出20个采样点。

编码端:

  1. 先取差值;
  2. 量化器输出:差值大于0输出δ,差值小于0输出-δ ;
  3. 前一个抽样量化值状态更新:差值加上前一个抽样量化值
  4. 编码输出,差值大于0输出为1,小于等于0输出为0。

解码端:

  1. 前一个抽样量化值初始值为0
  2. 根据编码端的输出得到量化值,若编码值为1,则量化值= δ δ δ,否则为 − δ -δ δ
  3. 更新抽样量化值:前一个抽样量化值 + δ +δ +δ
  4. 输出图像

仿真程序与实验结果:

脉冲编码调制

%sympref('FloatingPointOutput',true);signLen=4%产生原始信号
syms x
originalFunction(x)=sin(2*pi*x)+sin(2*pi*5*x)
ts=0.01;
t=0:ts:signLen;
original=originalFunction(t)
subplot(4,1,1);
plot(original);
title('原始信号');%用离散的周期序列对信号进行抽样
sampleNum=81
ts=signLen/(sampleNum-1);
t=0:ts:signLen;
sample=originalFunction(t)
subplot(4,1,2);
stem(sample);
title('抽样信号');%均匀量化
maxY=2
minY=-maxY;
M=19 
delta=(maxY-minY)/M
dx=1:1:M;
q=dx*delta + (minY-delta/2)*ones(1,M)
index=zeros(1,sampleNum);
for i=1:sampleNumsp=sample(i);tempi=find((q-delta/2 <= sp) & (sp <= q+delta/2));index(i)=(tempi(1)-1-(M-1)/2)*2/(M-1)*maxY; 
end
subplot(4,1,3);
stem(index);
title('均匀量化信号');oneSample = sample/maxY; 
ys=[];
A= 3;
lnA = log(A);for j = 1:length(oneSample)ori = oneSample(j);if(abs(ori)<1/A)ys(end+1) = ori*A/(1+lnA);elseys(end+1) = sign(ori)*(1+log(A*abs(ori)))/(1+ lnA);end
end
ysys_max = max(ys);
ys_min = min(ys);
delta = (ys_max-ys_min)/M;
q2=dx*delta + (ys_min-delta/2)*ones(1,M)
index2=zeros(1,sampleNum);
for i=1:sampleNumsp=ys(i);tempi=find((q2-delta/2 <= sp) & (sp <= q2+delta/2));index2(i)=(tempi(1)-1-(M-1)/2)*2/(M-1); 
endans =[];
for j=1:length(index2)tempy = index2(j);if(abs(tempy)<1/(1+lnA))ans(end+1) = tempy*(1+lnA)/A;elseans(end+1) = sign(tempy)*(exp(abs(tempy)*(1+lnA)-1))/A;end
end
ans = ans*maxY; 
subplot(4,1,4);
stem(ans);
title('A律量化信号');

增量调制

syms x
originalFunction(x)=sin(2*pi*x);signLen=1delta=0.35;                          % 量化阶距ts=0.01;                             % 采样间隔
t=0:ts:signLen;                      % 仿真时间序列
original=originalFunction(t)
subplot(3,1,1);
plot(t,originalFunction(t));sampleLen=0.05
sampleNum=signLen/sampleLen+1;
t=0:sampleLen:signLen;
sample=originalFunction(t)
hold on;
stem(t,originalFunction(t));tz=[];
base=0; 
for i=1:sampleNum-1flag=sample(i+1)-baseif flag>0tz(end+1)=1;base=base+deltaelsetz(end+1)=0;base=base-deltaend
end
tz(end+1)=tz(end);
tz
subplot(3,1,2);
stairs(t,tz);
ylim([-1 2]);%解码端
jt=[];
jtBase=0;                           % 解码端预测器初始状态
for i=1:length(tz)-1if tz(i)==0jtBase=jtBase-delta;elsejtBase=jtBase+delta;endjt(end+1)=jtBase;
end
jt(end+1)=jt(end);                  % 延迟器状态更新
jt
subplot(3,1,3);
stairs(t,jt);
ylim([-1.5 1.5]);
hold on;
plot(t,originalFunction(t));


http://www.ppmy.cn/news/363961.html

相关文章

基于android的教育机构家校通系统app

需求信息&#xff1a; 客户端老师 1&#xff1a;用户注册与登录 2&#xff1a;添加作业信息&#xff1b;作业包含选择、填空以及简单题 3&#xff1a;查看自己添加的试题信息&#xff1b; 4&#xff1a;对学生提交的作业信息进行查看和批改&#xff1b; 5&#xff1a;和学生进行…

网络通信学习

网络通信学习 并发并行同步异步通信过程网络层传输层 应用层数据包组成 并发 并发 指计算机可以同时执行多项任务。 要完成并发&#xff0c;可以像下图一样通过单核处理器对时间片管理&#xff0c;经过一定时间后执行另一个任务&#xff0c;这个过程称为进程或线程的上下文切换…

使用vuex记住当前页面页码信息,以便从详情页返回列表页时能还原到上一次页面

文章目录 一、在vuex中需要完成的工作二、在需要记住页面信息的列表页组件中添加如下代码&#xff0c;比如list.vue:三、在详情页添加返回按钮&#xff08;可选&#xff09;四、顺便来总结下&#xff0c;能返回上一级页面的方法有2类5种&#xff1a;五、总结&#xff0c;记住当…

计算机毕业设计-家校通管理系统javaweb-校讯通管理系统ssm项目

计算机毕业设计-家校通管理系统javaweb-校讯通管理系统ssm项目 注意&#xff1a;该项目只展示部分功能&#xff0c;如需了解&#xff0c;评论区咨询即可。 作者&#xff1a;IT跃迁谷 1.开发环境 开发语言&#xff1a;Java框架&#xff1a;SSM(SpringSpringMVCMybatis)数据库&a…

【调剂】2023齐齐哈尔大学通信与信息系统(学硕)电子信息(专硕)招收调剂生...

公众号【计算机与软件考研】每天都会发布最新的计算机考研调剂信息&#xff01; 点击公众号界面左下角的调剂信息或者公众号回复“调剂”是计算机/软件等专业的所有调剂信息集合&#xff0c;会一直更新的。 要求&#xff1a;工科考生&#xff08;学硕、专硕均可&#xff09;&am…

无锡:严禁强制学生家长使用“校讯通”类服务

新出台的无锡市《关于规范使用“校讯通”类服务密切家校联系的通知》明确&#xff0c;使用“校讯通”类服务应当坚持学生家长自愿选择原则&#xff0c;教育行政部门和学校不得强制和变相强制学生家长使用&#xff0c;不得要求和变相要求学生家长订制超出基础服务项目范围的收费…

基于android的校园通系统

需求信息&#xff1a; 1.校园资讯管理 该模块主要功能包括&#xff1a;学校的基本信息展示&#xff0c;教务任务、校园热点新闻、竞赛信息、学术讲座等资讯的推送。用户可以根据自己的感兴趣的内容的关键字进行搜索查询&#xff0c;热点新闻根据用户浏览量进行实时推送&#xf…

沈阳移动打造“爱贝通”、“校讯通”业务助少年儿童健康成长

每个清晨&#xff0c;当一年级的“小豆包”屁颠颠地去上学&#xff0c;年轻父母的心里总放不下那份惦念&#xff1a;在陌生的校园里&#xff0c;他会安心上课吗&#xff1f;班级外出活动时&#xff0c;他会紧跟着老师和同学们吗&#xff1f;奶奶在放学时去接他&#xff0c;他们…