極化碼的matlab仿真(1)——參數設置

根據老師的安排,對於極化碼的瞭解從仿真開始。編程

仿真的手段有不少種。能夠利用C,C++,matlab等進行仿真的實現。其中matlab因爲具備強大的函數庫,和壯觀的矩陣運算能力,被(咱們老師課題組)看中了。函數

理由是,matlab的語法很是簡單,接近天然語言。優秀的繪圖能力,讓其餘軟件自愧不如。還有衆多的工具箱,功能強大到使人髮指。固然非要用C來仿真也是能夠的。但試想一個簡單的函數,matlab只須要調用一下就行了,C語言怕是要本身動手寫兩行,何須自找麻煩呢。工具

話很少說,等下,我再說最後一句,本人研究水平不高,在描述不少問題的時候不能從較高的高度去剖析,表述不免有些膚淺,海涵 TvT|l'。spa

好了,話很少說。blog

matlab仿真極化碼,第一步是要肯定仿真的參數。都有哪些參數呢?io

碼塊:block;class

碼長: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總的凍結位長度
相關文章
相關標籤/搜索