⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 code_erro.m

📁 该代码实现了 ook等不同通信通信方式的误码率的仿真比较。
💻 M
字号:

function  erro=code_erro(input_seq,SNR,varargin)

%--------------------------------------------------------------------------
%用法: erro=code_erro(input_seq,SNR,'type') 
%input: 随机序列;
%  SNR:信噪比;
%type: 编码类型,可选 dppm, ppm, ook ;  
%erro: 编码、加高斯白噪声、检测、解码后,与input_seq相比的误码率
%--------------------------------------------------------------------------

s=varargin{1,1};        %取得输入的第三个参数
N=length(input_seq);

% for dppm,ppm,and ook coding

code_out=code(input_seq,s);

% add niose

temp=awgn(code_out,SNR,'measured');

% detect

detect=temp>0.5;

% decode

decode_out=decode(detect,s);

% erro calculate

if length(decode_out)>=N
   errol=decode_out(1:N)-input_seq;
else
   add1=zeros(1,(N-length(decode_out)));
   decode_out=cat(2,decode_out,add1);
   errol=decode_out(1:N)-input_seq;
end
erro_abs=abs(errol);

errosum=0;      %错误的个数
for i=1:N
    errosum=errosum+erro_abs(i);
end

erro=errosum/N;

%   end



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -