1.仿真代码

clear all
EbN0 = 0:2:10; %SNR范围
N = 1000000; %消息比特个数
M = 2; %BPSK调制
L = 7; %约束长度
tre1 = poly2trellis(L,[171 133]); %卷积码的生成多项式
tblen = 6*L; %Viterbi译码器回溯深度
msg = randi([0,1],1,N); %消息比特序列
msg1 = convenc(msg,tre1); %卷积编码
x1 = pskmod(msg1,M); %BPSK调制
for ii=1:length(EbN0)iiy = awgn(x1,EbN0(ii)-3); %加入高斯白噪声,因为码率为1/2,所以每个符号的能量要比比特能量减少3dBy1 = pskdemod(y,M); %硬判决y1 = vitdec(y1,tre1,tblen,'cont','hard'); %Viterbi译码[err ber1(ii)] = biterr(y1(tblen+1:end),msg(1:end-tblen)); %误比特率y2 = vitdec(real(y),tre1,tblen,'cont','unquant'); %Viterbi译码[err ber2(ii)] = biterr(y2(tblen+1:end),msg(1:end-tblen)); %误比特率
end
ber = berawgn(EbN0,'psk',2,'nodiff'); %BPSK调制的理论误比特率
semilogy(EbN0,ber,'-ko',EbN0,ber1,'-k*',EbN0,ber2,'-k+');
legend("BPSK调制的理论误比特率","硬判决误比特率","软判决误比特率");
title("卷积码性能")
xlabel("Eb/N0");ylabel("误比特率");

2.仿真结果

matlab实现卷积编码与viterbi译码相关推荐

  1. AWGN信道下卷积编码、viterbe译码、分别采用软硬判决,进行误码率分析

    一.卷积编码 仿真 (硬判决译码 误码率和理论值比较) 已知卷积码生成函数: 可知码率为1/3,相应的抽头系数为(557 663 711)的卷积码.编写程序,采用卷积编码.维特比译码(硬判决),BPS ...

  2. 单载波频域均衡matlab仿真,包括卷积编码维特比译码,矩阵交织,QPSK调制解调,导频插入,MMSE-FDE频域均衡

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 频域均衡是从校正系统的频率特性出发,利用一个可调滤波器的频率的频率特性去补偿信道或系统的频率特性,使 ...

  3. Viterbi译码及其matlab和FPGA实现

    Viterbi译码由美国科学家Viterbi在1967年提出1,是卷积码的译码算法,是一种最大似然译码算法,其通过寻找距离最短的译码路径来实现.这篇文章侧重实现,具体原理就不说明了. matlab实现 ...

  4. 卷积码matlab仿真程序,卷积码编码译码程序仿真程序 卷积码应用详解

    (2) 通常称K为约束长度(一般来说,约束长度越大,则码字纠错 性能越好). (3) 码的效率:k/n (4) 编码前,k(K-1)个寄存器单元全部复位清零. (5) 由于一段消息不仅影响当前段的编码 ...

  5. BPSK调制下(2,1,6)标准卷积码及打孔生成2/3、3/4、4/5、5/6删余码Viterbi译码误码率曲线图(MATLAB实现)

    关注公号[逆向通信猿]更精彩!!! 目录 仿真结果 卷积码原理图 删余后性能比较 常用的删余码 仿真代码 根据码率生成打孔参数(子函数) 将标准(2, 1, 6)编码后的序列进行打孔,生成删余码(子函 ...

  6. 【编码译码】基于matlab QC-LDPC码编码和译码【含Matlab译码 2194期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[编码译码]基于matlab QC-LDPC码编码和译码[含Matlab译码 2194期] 点击上面蓝色字体,直接付费下载,即可. 获取代 ...

  7. Matlab模拟循环编码译码

    1 简介 Matlab模拟循环编码译码​ 2 部分代码 function [ C_decode ] = Jiaoyanzi_decode( n,k,R,gx )%UNTITLED2 Summary o ...

  8. viterbi matlab仿真,通信系统中Viterbi译码的Matlab仿真与实现

    2 维特比译码原理 Viterbi译码是卷积码的最大似然译码算法,是一种实用化的概率算法.它的基本思想是把已接收序列与所有可能的发送序列作比较,选择其中码距最小的一个序列作为发送序列.从图2的卷积码网 ...

  9. viterbi matlab,Matlab实现Viterbi译码

    viterbi译码算法是一种卷积码的解码算法.优点不说了.缺点就是随着约束长度的增加算法的复杂度增加很快.约束长度N为7时要比较的路径就有64条,为8时路径变为128条. (2< 先说编码(举例 ...

  10. viterbi译码算法简介

    viterbi译码算法简介 viterbi译码算法是一种卷积码的解码算法.优点不说了.缺点就是随着约束长度的增加算法的复杂度增加很快.约束长度N为7时要比较的路径就有64条,为8时路径变为128条.  ...

最新文章

  1. 03-SpringMVC-获得用户请求数据
  2. java7 AIO初体验
  3. 剑指offer--剪绳子
  4. LRU LeetCode
  5. CryEngine3 引擎非商业用途将免费
  6. mete30是鸿蒙系统么,华为mete30pro什么时候能用上鸿蒙系统?
  7. jQuery实现多个MP3音频播放
  8. 图像处理随笔——非极大值抑制
  9. Type-c边充边传数据应用OTG功能(LDR6028S)
  10. -1073740791 (0xC0000409)错误,附加内容:qt布局、页面跳转
  11. 2020年chx的计算机保研之路系列(1)——北师大人工智能学院+北航计算机学院(均获得优营)
  12. 2021最新Android常用开源库总结,建议收藏
  13. Elastic 7.14.0 版推出业界首个免费开放的 Limitless XDR
  14. iOS开发系列课程(10) --- 表格视图
  15. nz-select 选择器
  16. 蓝桥杯(python)——机器人数目
  17. 【华为/华三】PPP
  18. 斗鱼html5插件百度云,斗鱼HTML5播放器 0.8.10
  19. Cat.1火了?它是从哪来的?
  20. [SSD核心技术:FTL 9] 谁是固态硬盘数据的守护神?盘内RAID1/RAID5图文详解_盘内数据冗余保护

热门文章

  1. python查看opencv版本
  2. MySQL InnoDB中的锁-间隙锁(Gap Lock)
  3. Redis6.2.6下载和安装
  4. 毕设不要慌,论文写作法
  5. linux python2.7安装pip_linux安装pip2.7
  6. qgridlayout 滚动时固定第一行_滚动轴承组合设计应考虑的问题
  7. 看看故障诊断文献中的故障设置方法-中文论文篇
  8. 【竞赛篇-申报平台】浙江省国创(大创)平台里导出的word显示不出图片、右边界溢出页面,图片空间不足的解决办法
  9. 上班工作压力太大?来玩个游戏解压下
  10. matlab多行注释快捷键。