%HDB3prog.m
%本函数实现将输入的一段二进制代码进行HDB3编译码
xn=[1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0]; %输入单极性码
yn=xn; %输出yn初始化
num=0; %计数器初始化
for k=1:length(xn)
if xn(k)==1
num=num+1; %“1”计数器
if num/2== fix(num/2) %奇数个1时输出-1,进行极性交替
yn(k)=1;
else
yn(k)=-1;
end
end
end
%HDB3编码
num=0; %连0计数器初始化
yh=yn; %输出初始化
sign=0; %极性标致初始化为0
V=zeros(1,length(yn)); %V脉冲位置记录变量
B=zeros(1,length(yn)); %B脉冲位置记录变量
for k=1:length(yn)
if yn(k)==0
num=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(yn))=-1*yh(k+1:length(yn));%让后面的非零符号从V符号开始再交替变化
end
sign=yh(k); %记录前一个V符号的极性
end
else
num=0; %当前输入为1,则连0计数器清零
end
end %编码完成
re=[xn',yn',yh',V',B']; %编码结果输出
%HDB3译码
input=yh; %HDB3码输入
decode=input; %输入初始化
sign=0; %极性标志初始化
for k=1:length(yh)
if input(k)~=0
if sign==yh(k) %如果当前码与前一个非零符号的极性相同
decode(k-3:k)=[0 0 0 0]; %则该码判为V码并将*000V清零
end
sign=input(k); %极性标志
end
end
decode=abs(decode); %整流
error=sum([xn'-decode']); %解码的正确性检验,作图
subplot(3,1,1);stairs([0:length(xn)-1],xn);axis([0 length(xn) -2 2]);
subplot(3,1,2);stairs([0:length(xn)-1],yh);axis([0 length(xn) -2 2]);
subplot(3,1,3);stairs([0:length(xn)-1],decode);axis([0 length(xn) -2 2]);
没有合适的资源?快使用搜索试试~ 我知道了~
【编码译码】 HDB3编译码仿真【含Matlab源码 1961期】.zip
共3个文件
m:1个
jpg:1个
asv:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 137 浏览量
2024-06-22
11:28:40
上传
评论
收藏 19KB ZIP 举报
温馨提示
CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信
资源推荐
资源详情
资源评论
收起资源包目录
【编码译码】 HDB3编译码仿真【含Matlab源码 1961期】.zip (3个子文件)
【编码译码】基于matlab HDB3编译码仿真【含Matlab源码 1961期】
HDB3prog.asv 3KB
运行结果.jpg 27KB
HDB3prog.m 3KB
共 3 条
- 1
资源评论
Matlab领域
- 粉丝: 3w+
- 资源: 3283
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- kernel-devel-4.19.90-89.11.v2401.ky10.x86-64.rpm
- kernel-4.19.90-89.11.v2401.ky10.x86-64.rpm
- Unity游戏中高效的UI管理系统设计与实现
- Linux无窗口系统的图形界面demo程序(kmscube)
- 本报告基于电商平台的订单数据进行深入分析,旨在通过数据挖掘和可视化手段,洞察电商业务的运营状况,识别市场趋势,优化产品策略,并提出针对性的营销策略建议 报告涵盖数据预处理、财务分析、产品分析、市场分析
- C#ASP.NET企业展会网站源码数据库 Access源码类型 WebForm
- UDS ISO-14229协议中文翻译
- SSM威宁草海旅游(附源码+数据库)24776
- 系统源码A057-基于SpringBoot的失物招领平台的设计与实现
- 爬虫专栏第二篇:Requests 库实战:从基础 GET 到 POST 登录全攻略
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功