极化码的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总的冻结位长度
极化码的matlab仿真(1)——参数设置的更多相关文章
- 极化码的matlab仿真(4)——SC译码(2)
================================================ 首先自作多情的说一句--"抱歉!" 古语"有志者.事竟成",是 ...
- 极化码的matlab仿真(3)——SC译码(1)
一个好码必须具备两个要素:可靠.高效. 高效的码要求码的编译方案都具有较低的复杂度.极化码出现后,Arikan本人提出使用SC译码方案来进行译码操作.SC全称successive cancellati ...
- 极化码的matlab仿真(2)——编码
第二篇我们来介绍一下极化码的编码. 首先为了方便进行编码,我们需要进行数组的定义 signal = randi([0,1],1,ST); %信息位比特,随机二进制数 frozen = zeros(1, ...
- js生成二维码参数设置
jquery qrcode使用方法 $(selector).qrcode({ width: 100, height: 100, color: '#3a3', text: 'http://larsjun ...
- matlab 可变参数与默认参数设置
1. 基本思路 矩阵矢量化编程,而不是循环和遍历: GPU 并行计算: 使用稀疏矩阵: 2. 实践 可变长输入参数,输出参数,需要解析(使用大括号进行索引): varargin varargout 函 ...
- 极化码之tal-vardy算法(1)
继前两节我们分别探讨了极化码的编码,以及深入到高斯信道探讨高斯近似法之后,我们来关注一个非常重要的极化码构造算法.这个算法并没有一个明确的名词,因此我们以两位发明者的名字将其命名为“Tal-Vardy ...
- UVW平台运动控制算法以及matlab仿真
UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些 ...
- OFDM通信系统的MATLAB仿真(2)
关于OFDM系统的MATLAB仿真实现的第二篇随笔,在第一篇中,我们讨论的是信号经过AWGN信道的情况,只用添加固定噪声功率的高斯白噪声就好了.但在实际无线信道中,信道干扰常常是加性噪声.多径衰落的结 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
随机推荐
- Java 数组初始化与定义的解惑
- 框架 之 -------Spring
目录一.Spring工作原理 二.为什么要用Spring三.请你谈谈SSH整合四.介绍一下Spring的事务管理五.什么是依赖注入,依赖注入的作用是什么? 六.什么是AOP,AOP的作用是什么? 七. ...
- RabbitMQ入门-高效的Work模式
扛不住的Hello World模式 上篇<RabbitMQ入门-从HelloWorld开始>介绍了RabbitMQ中最基本的Hello World模型.正如其名,Hello World模型 ...
- [补档][Jxoi2012] 奇怪的道路
[Jxoi2012] 奇怪的道路 题目 传送门 :http://www.lydsy.com/JudgeOnline/problem.php?id=3195 小宇从历史书上了解到一个古老的文明.这个文明 ...
- java中方法调用
JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @p ...
- 剑指offer---包含min的栈
思路:该题主要是补充栈的min方法,例如:栈有pop.push.peek等内置方法,每次调用这些方法就能返回个结果或者有个响应,本题意在补充min方法,使得每次调用min方法都能得到栈中最小值,保证每 ...
- NYOJ--20--搜索(dfs)--吝啬的国度
题意,N座城市有N-1条路,目的是找到哪个城市可以到目的城市 //NYOJ--search--吝啬的国度 #include<iostream> #include<vector> ...
- 测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录
笔者所在的项目组使用的缺陷管理工具是HP的QC11,作为测试人员,为了与开发一起跟随Bug的一生,简单的写了使用流程,这里记录一下,主要是让开发人员熟悉一下. 首先使用账户登录QC,如地址: http ...
- vue-router的使用
关于vue-router的基本使用方法 首先,需要下载vue-router npm install vue-router --save vue-router在html或组件中的展现 ``` &l ...
- setTimeout 与 Event Loop 浅析
先从一个小题目开始: 以下代码的输出结果是? function test1 () { console.log(1) }; setTimeout(test1, 1000); // T1-1setTime ...