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

仿真的手段有很多种。可以利用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)——参数设置的更多相关文章

  1. 极化码的matlab仿真(4)——SC译码(2)

    ================================================ 首先自作多情的说一句--"抱歉!" 古语"有志者.事竟成",是 ...

  2. 极化码的matlab仿真(3)——SC译码(1)

    一个好码必须具备两个要素:可靠.高效. 高效的码要求码的编译方案都具有较低的复杂度.极化码出现后,Arikan本人提出使用SC译码方案来进行译码操作.SC全称successive cancellati ...

  3. 极化码的matlab仿真(2)——编码

    第二篇我们来介绍一下极化码的编码. 首先为了方便进行编码,我们需要进行数组的定义 signal = randi([0,1],1,ST); %信息位比特,随机二进制数 frozen = zeros(1, ...

  4. js生成二维码参数设置

    jquery qrcode使用方法 $(selector).qrcode({ width: 100, height: 100, color: '#3a3', text: 'http://larsjun ...

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

    1. 基本思路 矩阵矢量化编程,而不是循环和遍历: GPU 并行计算: 使用稀疏矩阵: 2. 实践 可变长输入参数,输出参数,需要解析(使用大括号进行索引): varargin varargout 函 ...

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

    继前两节我们分别探讨了极化码的编码,以及深入到高斯信道探讨高斯近似法之后,我们来关注一个非常重要的极化码构造算法.这个算法并没有一个明确的名词,因此我们以两位发明者的名字将其命名为“Tal-Vardy ...

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

    UVW平台运动控制算法以及matlab仿真   最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些 ...

  8. OFDM通信系统的MATLAB仿真(2)

    关于OFDM系统的MATLAB仿真实现的第二篇随笔,在第一篇中,我们讨论的是信号经过AWGN信道的情况,只用添加固定噪声功率的高斯白噪声就好了.但在实际无线信道中,信道干扰常常是加性噪声.多径衰落的结 ...

  9. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置

    前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...

随机推荐

  1. 【设计模式】Bridge模式(桥接模式)

    最近的一次面试中,被问到桥接模式,以前呢并没有很仔细的研究过这个设计模式,借此机会剖析一下. 先给出自己对这个模式理解后的源码: interface A{ void methodA(); } inte ...

  2. Java操作Excel和Word

    这是一个URL它提供了Java项目所推荐的处理此项目所用的类库 http://www.oschina.net/project/tag/258/excel-tools?company=0&sor ...

  3. android studio友盟分享

    这个东西搞了整整两天真是把我搞郁闷着了,官方demo下载后,根据提示的错误,修改了一个小bug之后,便能直接运行,但是不管我如何集成到自己app上,分享时APP都会黑屏Crash,并且代码都与官方de ...

  4. ICMP--ping--Traceroute

    ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息. ICMP报文通常被IP层或更高层协议TCP或UDP使用. 一些ICMP报文把差错报文返回给用户进程   ICMP报文是 ...

  5. 【整理】01. localhost_access_log 记录post请求参数

    环境:apache-tomcat-7.0.57 利用Filter过去request请求参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  6. 如何让Oracle释放undo表空间

    如何让Oracle释放undo表空间   最佳答案   在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间 ...

  7. swift UILabel多行显示时 计算UILable的高度(可用于UILable高度自适应)

    代码如下 func heightForView(text:String, font:UIFont, width:CGFloat) -> CGFloat{ let label:UILabel = ...

  8. SecureCRT 常用命令大全

    常用命令:一.ls 只列出文件名 (相当于dir,dir也可以使用) -A:列出所有文件,包含隐藏文件. -l:列表形式,包含文件的绝大部分属性. -R:递归显示. --help:此命令的帮助. 二. ...

  9. HPU--1280 Divisible

    题目描述 给定一个很大的整数,我想知道它能否被9整除. 输入 有t组测试数据,每组数据给定一个整数N不存在前导0.(1 <= t <= 20,1 <= N <= 10^200) ...

  10. 一个UITableViewCell的简单动画效果

    实现下面UITableViewDelegate的方法: forRowAtIndexPath:(NSIndexPath *)indexPath{ CATransform3D rotation; rota ...