一起来看看含有卷积码结合BPSK调制解调器的仿真程序是什么样子的吧。
%% File: convcode_BPSK_modem_sim1.m %%
%%% date: 2017-06-02 author: 算法工匠 %%%
%%% 程序说明
%%% 仿真(2,1,7)卷积码在BPSK下AWGN信道中的误码率曲线
% 程序功能:测试EbNo下的卷积码误码率
% 输入变量:EbNo 比特信噪比
% 输出值: BER 误码率
% 说明: 调制为BPSK调制,解调可采样硬判决或软判决,不考虑脉冲成形。
%********* 仿真环境 *********%
% matlab:R2015b
clc;
clear all;
close all;
%%******** 程序主体 ******%%
%%%%% 程序重要参数
EbNo = 0; % 设置信噪比参数
% 不同的信噪比得到不同的误码性能
number_of_frame = 1e3; % 仿真的帧数
noe=0; % 错误比特数
nod=0; % 仿真的数据长度
%--------------****************---------------
%---------* 信号源 *------------
%--------------*************-------------------------
for frm_loop=1:number_of_frame
frm_length = 1000; % 帧长度
frm_data = randi(2,1,frm_length)-1;
%---------------***************---------------
%----------* 卷积编码 *-----------
%----------------*************-----------------
%%%%%%%% 卷积编码参数
GenPoly =[1 0 0 1 1 1 1;1 1 0 1 1 0 1]; % 生成多项式
[G_colomn ,constraint_len ] = size(GenPoly); % 约束长度
trellis = poly2trellis(constraint_len,[117,133]); % 网格图
k=1;
% GenPoly = [1 1 1 1 0 0 1 ; 1 0 1 1 0 1 1 ];
% trellis = poly2trellis(constraint_len,[171,133]); % 网格图
% (n,k,M) = (2,1,7)的卷积编码生成多项式
%%%%%%%% 卷积编码
data1 = convenc(frm_data,trellis);
% code = convenc(msg,trellis)
%-----------------------**************************-------------------------
%-----------------------* BPSK调制 *--------------------------
%-----------------------**************************-------------------------
data2 = data1*2-1;
%--------* AWGN信道 *------------
% 计算信号功率,根据EbNo加噪
s_pow=sum(data2.*data2)/length(data2);
attn = 0.5*s_pow*10^(-EbNo/10);
% 比特率和符号率相等,br=sr(BPSK)
attn = sqrt(attn);
noise=randn(1,length(data2)).*attn;
data3=data2+noise; % 数据加噪
接收机的程序下堂课再展示。
讲到这里,同学们是不是会有疑问?
什么是BCH码?
什么是卷积码?
近几年鞋类市场一落千丈!
当年我读大学那会,
达芙妮太火了。
我记得是刘若英做的代言人。
当年她的电影《小花》好像火过一阵子!
聊完题外话,再回到正题。
BCH码是循环码的一个重要子类,它具有纠正多个错误的能力,BCH码有严密的代数理论,是目前研究最透彻的一类码。根据所要求的纠错能力就可以构造出BCH码。
不要着急!
关于通信仿真的高级课程将在公众号matlab仿真工匠中展示,该公众号专门讲解MATLAB仿真。欢迎大家关注。依旧是一天一篇的速度发表新文章。
推荐大家关注我公众号-算法工匠,介绍使用matlab仿真工具和其各种类型的算法,讲解高校涉及matlab的相关课程,免费提供通信类、导航类的产品级物理层算法、数据统计分析算法、图像处理算法、AI算法。义务为各高校的MATLAB学习社团和医生朋友们做技术支持和数据分析。
20190717记录:
真正的干货,希望能帮助上大家!!!
未完,待续!
修订记录
20181203 完成初稿;
20190718 修订内容;