极化码的matlab仿真(1)——参数设置

根据老师的安排,对于极化码的了解从仿真开始。

仿真的手段有很多种。可以利用C,C++,matlab等进行仿真的实现。其中matlab由于具有强大的函数库,和壮观的矩阵运算能力,被(我们老师课题组)看中了。

理由是,matlab的语法非常简单,接近自然语言。优秀的绘图能力,让其他软件自愧不如。还有众多的工具箱,功能强大到令人发指。当然非要用C来仿真也是可以的。但试想一个简单的函数,matlab只需要调用一下就好了,C语言怕是要自己动手写两行,何必自找麻烦呢。

话不多说,等下,我再说最后一句,本人研究水平不高,在描述很多问题的时候不能从较高的高度去剖析,表述难免有些肤浅,海涵 TvT|l‘。

好了,话不多说。

matlab仿真极化码,第一步是要确定仿真的参数。都有哪些参数呢?

码块:block;

码长:N;

码率:R;

信噪比:SNR(dB)、snr;

大概就是这些了,解释一下。

block,码块,我的理解是“一次信息发送动作所传递的信息位数”,可能一个码块代表着一个具有完整意义的信息,因此码块不可分割发送。例如,一个码块相当于一篇文章。

N,码长,我的理解是“一个信息单元所占据的比特位数”,例如,如果码块是文章,码长就是文章中的一个个文字。

R,码率,就是有用信息占所传输信息的比例。在信息传输之中,为了能够提高传输准确性,常常在信息位中插入不具有信息量的信息。一般来说R越小,准确性越高,但是对应传输效率就越低。鱼与熊掌不可兼得的道理。想要靠谱就得牺牲速度;想要提高速度,就要忍受不靠谱。

SNR,signal noise ratio,信噪比,换算关系如下:SNR(dB)=10*log10(snr)。为什么要进行这样的换算?跟使用对数坐标轴一个道理,方便,简单,绘图的时候好看。

为了因为我只会仿真低阶方便仿真,在这里我们进行如下参数规定:

%% 预定义
clear;
clc;        %预处理
block=10;   %码块
N=2^3;    %码长
R=1/2;    %码率
SNR=1:5;   %信噪比dB
snr=10.^(SNR./10); %信噪比 

预定义到这里还没有完。接下来为了方便编程,继续定义将用到的其他变量。

S=floor(N*R);       % 信息位所占码长,使用floor意在当N为奇数时冻结位占据数量优势
F=N-S;              % 冻结位所占码长
ST=S*block;         % signal_total总的信息位长度
FT=F*block;         % frozen_total总的冻结位长度
时间: 2024-10-29 04:45:17

极化码的matlab仿真(1)——参数设置的相关文章

matlab 可变参数与默认参数设置

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 1. 基本思路 矩阵矢量化编程,而不是循环和遍历: GPU 并行计算: 使用稀疏矩阵: 2. 实践 可变长输入参数,输出参数,需要解析(使用大括号进行索引): varargin varargout 函数体内,首先进行的是可变长输入输出参数的解析,赋值: 可变长参数与参数默认值: if ~exist('sigma', 'var'),

极化码小结

一个暑假过去了,身心懈怠,知识荒疏,为了方便接下类的研究工作.这里对已经掌握的极化码知识做一个简单的小结. Chapter1 极化码简介: 极化码建立在信道极化这一现象之上. 信道极化现象来自于信道合并与信道分裂这两种信道操作. 信道合并: 将N个独立信道W通过变换使之变为一个具有“集体意义”的信道WN,这里“集体意义”的产生来源于变换,而变换遵循固定的规则. 首先,变换是一个递归过程.对于N(N=2n)个独立信道W,想要将其变为一个具有“集体意义”的信道WN需要进行n次信道操作,每次信道操作都

极化码之tal-vardy算法(1)

继前两节我们分别探讨了极化码的编码,以及深入到高斯信道探讨高斯近似法之后,我们来关注一个非常重要的极化码构造算法.这个算法并没有一个明确的名词,因此我们以两位发明者的名字将其命名为"Tal-Vardy算法". 在<极化码小结(2)>之中,我们简单讲述了BEC信道下构造极化码的方法--通过直接计算巴氏参数Z(W)来构造,计算复杂度为O(N). 在<极化码之高斯近似>中,我们讨论了常用的高斯信道下构造极化码的方法--高斯近似,计算复杂度也为O(N). 现在,我们再次

UVW平台运动控制算法以及matlab仿真

UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些资料学习一下,大概了解了运动模式后,使用matlab模拟了此平台,并验证了UVW平台资料提供的运动控制算法的正确性. 一.UVW平台介绍 1.这是一种可以实现以平面上任意一点为中心,进行旋转运动的装置,并可沿着任意的方向平移.2.此平台和视觉CCD纠偏系统对接在一起,可以很快完成高精度的纠偏工作,重复定

Laravel5.2队列驱动expire参数设置带来的重复执行问题 数据库驱动

  'connections' => [     ....         'database' => [             'driver' => 'database',             'table' => 'jobs',             'queue' => 'default',             'expire' => 60,         ],         'redis' => [             'driver

Lattice 的 Framebuffer IP核使用调试笔记之IP核生成与参数设置

本文由远航路上ing 原创,转载请标明出处. 这节笔记记录IP核的生成以及参数设置. 先再IP库里下载安装Framebuffer 的ipcore 并安装完毕. 一.IP核的生成: 1.先点击IP核则右边会出现生成对话框: 按箭头指示顺序进行设置:要设置生成ip核的路径(可以新建一个文件夹ipcore来放置IP核,若有多个IP核则在ipcore下分别建立文件夹),IP核的名字,以及语言的类型:verilog或VHDL.最后点击Customize. 2. 在上一步设置之后会出现下面的设置界面,先设置

PR2打印机参数设置

HCC-PR2存折打印机参数设置: 郁闷了我两天了,终于在几天下午这个打印机被我搞定了!真是太不容易了,O(∩_∩)O哈哈~ PR2针式打印机一般只有在银行才能用到,一般市场上是不允许销售的,是属于银行直供的.不过我这里不是银行啊,哈哈.不知道从哪儿弄了个PR2打印机.哈哈 由于最初的时候不懂PR2打印机的设置瞎弄了一番,把打印机之前设置好的参数给弄乱了.最后打客服我领悟到了一些参数,最终设置好了. PR2打印机查看参数设置的方法: 按"station2",然后开机,等到打印机初始化完

【Matlab开发】matlab中bar绘图设置与各种距离度量

[Matlab开发]matlab中bar绘图设置与各种距离度量 标签(空格分隔): [Matlab开发] [机器学习] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ Matlab Bar图如何为每个bar设置不同颜色 data = [3, 7, 5, 2;4, 3, 2, 9;6, 6, 1, 4]; b = bar(data); 使用bar绘制非常直观简单,但有时需要突出显示某一个bar,比如该bar是一个标杆,用来衡量其bar的高度,所以可以用醒目

极化码之高斯近似

我们知道,极化码的诞生在伴随着"到达香农限"的光荣头衔的同时,也遗憾的存在许多缺点. 极化码有两大法宝--低复杂度和高可靠性.其中高可靠性的前提条件为"码长较长时",在短码领域,由于信道极化的不充分,极化码并不能很好的逼近香农限.低复杂度也有前提条件,就是它是基于BEC(二元删除信道)提出的,在BEC信道下,极化码的编码和译码都具有较低的复杂度.然而,在其他信道上我们不得不采用各种近似手段,如蒙特卡洛法.密度进化法等,这些方法的引入使得极化码的低复杂度特点受到一定的