【数字基带信号】基于matlab三阶高密度双极型码【含Matlab源码 990期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【数字基带信号】基于matlab三阶高密度双极型码【含Matlab源码 990期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、三阶高密度双极型码简介
要了解HDB3码的编码规则,首先要知道AMI码的构成规则,AMI码就是把单极性脉冲序列中相邻的“1”码(即正脉冲)变为极性交替的正、负脉冲。将“0”码保持不变,把“1”码变为+1、-1半占空归零码表示的交替的脉冲。如:
NRZ码: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码是一种AMI码的改进型,它的编码原理可简述为,在消息的二进制代码序列中:
(1)当连“0”码的个数不大于3时,HDB3编码规律与AMI码相同,即“1”码变为“+1”、“-1”交替脉冲;
(2)当代码序列中出现4个连“0”码或超过4个连“0”码时,把连“0”段按4个“0”分节,即“0000”,并使第4个“0”码变为“1”码,用V脉冲表示。这样可以消除长连“0”现象。为了便于识别V脉冲,使V脉冲极性与前一个“1”脉冲极性相同。这样就破坏了AMI码极性交替的规律,所以V脉冲为破坏脉冲,把V脉冲和前3个连“0”称为破坏节“000V”;
(3)为了使脉冲序列仍不含直流分量,则必须使相邻的破坏点V脉冲极性交替;
(4)为了保证前面两条件成立,必须使相邻的破坏点之间有奇数个“1”码。如果原序列中破坏点之间的“1”码为偶数,则必须补为奇数,即将破坏节中的第一个“0”码变为“1”,用B脉冲表示。这时破坏节变为“B00V”形式。B脉冲极性与前一“1”脉冲极性相反,而B脉冲极性和V脉冲极性相同。
如:
NRZ码: 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
虽然HDB3码的编码规则比较复杂,但译码却比较简单。从上述原理看出:每一个破坏符号V总是与前一非0符号同极性(包括B在内)。这就是说,从收到的符号序列中可以容易地找到破坏点V,于是也断定V符号及其前面的3个符号必是连0符号,从而恢复4个连0码,再将所有-1变成+1后便得到原消息代码。
HDB3如此, HDBn是一样推的. 主要是破坏节的长度不同
这里记录一个自己理解的小概念
归零与不归零:
比如都是表示 “1”
像这种,在整个码元期间电平保持不变的 就是不归零
像这种在一个码元期间内发生变化的,比如先低后高,或者先高后低的就是归零的
三、部分源代码
x=[1 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0];% 输入原码
y=x;% 输出y初始化
num=0;% 计数器初始化
for k=1:length(x)if x(k)==1num=num+1; % "1"计数器if num/2 == fix(num/2) % 奇数个1时输出-1,进行极性交替y(k)=1;elsey(k)=-1;endend
end% HDB3编码
num=0; % 连零计数器初始化
yh=y; % 输出初始化
sign=0; % 极性标志初始化为0
V=zeros(1,length(y));% V脉冲位置记录变量
B=zeros(1,length(y));% B脉冲位置记录变量
for k=1:length(y)if y(k)==0num=num+1; % 连“0”个数计数if num==4 % 如果4连“0”num=0; % 计数器清零yh(k)=1*yh(k-4); % 让0000的最后一个0改变为与前一个非零符号相同极性的符号V(k)=yh(k); % V脉冲位置记录if yh(k)==sign % 如果当前V符号与前一个V符号的极性相同yh(k)=-1*yh(k); % 则让当前V符号极性反转,以满足V符号间相互极性反转要求yh(k-3)=yh(k); % 添加B符号,与V符号同极性B(k-3)=yh(k); % B脉冲位置记录V(k)=yh(k); % V脉冲位置记录yh(k+1:length(y))=-1*yh(k+1:length(y));% 并让后面的非零符号从V符号开始再交替变化endsign=yh(k); % 记录前一个V符号的极性endelsenum=0; % 当前输入为“1”则连“0”计数器清零end
end % 编码完成
% re=[x',y',yh',V',B']; % 结果输出: x AMI HDB3 V&B符号% HDB3解码
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,2015.
[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,2020.
[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,2018.
【数字基带信号】基于matlab三阶高密度双极型码【含Matlab源码 990期】相关推荐
- 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】
一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...
- 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】
一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】
一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...
- 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】
一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
- 基于python+django学生信息管理系统设计与实现(含程序源码和毕业设计)
摘要 随着互联网技术的加快发展,计算机电脑硬件也在不断的迭代升级,而每年大学生不断的扩招,学院的增加,对于信息平台的管理需求也越来越多.选用B/S架构模式,可以更好的服务于学生信息化的管理,这是因为C ...
- 【图像处理】基于matlab GUI多功能图像处理系统【含Matlab源码 1876期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像处理]基于matlab GUI多功能图像处理系统[含Matlab源码 1876期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...
- 【故障检测问题】基于matlab免疫算法求解故障检测问题【含Matlab源码 196期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[故障检测问题]基于matlab免疫算法求解故障检测问题[含Matlab源码 196期] 获取代码方式2: 通过订阅紫极神光博客付费专栏,凭 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 基于JAVA高铁在线购票系统计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA高铁在线购票系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA高铁在线购票系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- 【生产优化】基于matlab遗传算法求解帐篷工序问题【含Matlab源码 2145期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [生产优化]基于matlab遗传算法求解帐篷工序问题[含Matlab源码 2145期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...
最新文章
- 视频动作定位的分层自关注网络:ICCV2019论文解析
- Mac 配置flutter
- MongoDB学习笔记lt;四gt;
- c语言五子棋坐标覆盖,跪求C语言五子棋悔棋部分实现
- JQuery UI 拖拽排序
- struct结构体和char型数组的相互转化
- 计算机安全最基础知识,计算机的分类(信息安全基础知识)
- 10个宝藏级编程资源,让你省下8K学费不香吗
- php在html中if,html里的if注释怎么使用
- 参数等效模型可以用于_扬声器单元的等效电路分析与应用(1)
- android office转pdf插件,office word转pdf插件-Office自带Word转PDF插件下载__飞翔下载
- 电线电缆行业MES解决方案
- 中兴f477v2超级管理员_中兴本机电信光猫超级密码获取-中兴F412/F460/F612/F660超级密码获取下载V1.0最新版-西西软件下载...
- python对文件去重_python对文件夹内文件去重
- 自动化框架到底是什么?
- linux c语言math lm pow,C语言pow()函数实现求x的y次方的值
- 【编程语言】Java夯实基础(一):Java的起源与发展
- 【TCP拥塞控制算法(TCP congestion control algorithm)学习笔记】
- Python(求第五个人岁数)
- C语言头昏,眩晕、头晕、头昏混为一谈?这可不是一种病症