1.本LDPC采用的量化方案

改进方案如下所示:

    第一个量化公式,的范围是由一个统计范围得到的,但是在实际中,根据信道的不同,可能存在多种可能,这里,我们的考虑的方案是自适应的调整Ymax和Ymin,根据信道的大概估计结果对Ymax和Ymin进行调整,

方案如下所示:

k1为0~1之间的值。在实际中,可以加入一个噪声估计模块,对难以确定的信道白噪声进行估计。

这种改进方案的思路是,当噪声越大的时候,接收到信号的幅度波动范围也就越大,因此,其置信区间并不是一个固定的范围。对于第二个量化公式,采用的改进方案如下所示:

2.核心源码

function Q = func_QX(x);q = 2;
s = 2;
s1= 1.7;
s2= 2;
d = 0.5;
N = 2^(q-1)-1;
r = 4;
Q = x;
tmp1=0;
for i = 1:Ntmp1(i) = d*s1^(i-1);
endX_= -sum(tmp1) + d/2;
X =  sum(tmp1) + d/2;if x >= s^(2^q-1)*XQ =  s2^(2^q-1)*X;
endif x > s^(r+1)*X & x <= s^(r)*XQ =  s2^(r)*X;
endif x >= X & x <= s^(r+1)*XQ =  X;
endif x > X_ & x < XQ =  QN(x,q,d,s1,N);
endif x >= s^(r)*X_ & x < X_Q = X_;
endif x >= s^(r+1)*X_ & x < s^(r)*X_Q =  s2^(r)*X_;
endif x <= s^(2^q-1)*X_Q =  s2^(2^q-1)*X_;
endendfunction y = QN(x,q,d,s1,N);tmp1=0;
for i = 1:Ntmp1(i) = d*s1^(i-1);
end
tmp2=0;
for i = 1:Ntmp2(i) = d*s1^(i-1);
end
A1 =  sum(tmp1) - d/2;
B1 =  sum(tmp2) - d/2;
A2 =  -sum(tmp1) + d/2;
B2 =  -sum(tmp2) + d/2;
y  = x;
if x >= A1 & x <= B1y =  sum(tmp2);
end    if x >= -d/2 & x <= d/2y =  0;
end if x >= B2 & x <= A2y =  -sum(tmp2);
end  end
clc;
clear;
close all;
warning off;
addpath 'func\'
rng(1);
%码率
Rate      = 13/24; %码率大于0.5,注意,码率不能任意设置的,这里可以设置为12/24~23/24
Lens      = 2400;%码长大于1000
%量化位宽
WB        = 6;%WB:1%迭代次数
iter      = 5;%基于IEEE802.16E的QC-LDPC构造
[Qc_H,Hb] = func_H(Lens,Rate);
k         = Rate*log2(2);
[RR,CC]   = size(Hb);
block     = Lens/CC;
SNRs      = [0.5:0.5:4];Err       = [];
% [cycle6num,cycle8num] = func_loop_check(Qc_H);for kj = 1:length(SNRs)kjSNR     = SNRs(kj)/k;sigma   = sqrt(1/(2*SNR));Ng      = 0.1;ofdm_N  = 256;                                        Lf      = 8;     Tx_dat  = round(rand(100000,1)); %导频PN_train= [1 1 0 1 0 1 1 1 0 0];  Nfft    = 8*ofdm_N;  %cyclic prefixNp      = round(Ng*Nfft); %LDPCTx_dat_ldpc = [];for i = 1:floor(length(Tx_dat)/(Rate*Lens))+1iif i <= floor(length(Tx_dat)/(Rate*Lens))tmps = Tx_dat((i-1)*(Rate*Lens)+1:(i)*(Rate*Lens));elsetmps = [Tx_dat((i-1)*(Rate*Lens)+1:end);zeros(Lens*Rate-length(Tx_dat((i-1)*(Rate*Lens)+1:end)),1)]; endtmps_ldpc = func_ldpc_encode(tmps',Qc_H,Hb);Tx_dat_ldpc = [Tx_dat_ldpc,tmps_ldpc];end%QPSK                                       [mods,demods]    = func_MPSK(ofdm_N,'M',4,'SymbolOrder','Gray'); %OFMD调制y_Tx_mod         = func_OFDM_mod(Tx_dat_ldpc,mods,Np,Lf,PN_train,Nfft);%发送,高斯白噪声y_Rx             = func_TRANSMITTER(y_Tx_mod,SNR);%OFMD解调[Rx_dat,Rx_dat2] = func_OFDM_demod(y_Rx,demods,Np,Lf,PN_train,Nfft);%LDPC译码Rx_dat_ldpc = [];for i = 1:floor(length(Rx_dat)/(Lens))itmps        = Rx_dat((i-1)*(Lens)+1:(i)*(Lens));tmps_deldpc = func_ldpc_decodenew([2*tmps-1]',RR,CC,block,Qc_H,sigma,iter,WB);Rx_dat_ldpc = [Rx_dat_ldpc,abs(tmps_deldpc(1:Rate*Lens)-1)];end%计算误码率Rx_dat_ldpcs = Rx_dat_ldpc';bit_errors  = length(find(Tx_dat(1:length(Rx_dat_ldpcs)) ~=Rx_dat_ldpcs))/length(Tx_dat); bit_errorsErr     = [Err,bit_errors];clear bit_errors Rx_dat_ldpcs Rx_dat_ldpc tmps_deldpc tmps Rx_dat_ldpc Rx_dat Rx_dat2 y_Rx y_Tx_mod mods demods Tx_dat_ldpc tmps_ldpc Tx_dat_ldpc Tx_dat
endfigure;
semilogy(SNRs,Err,'b-o');
grid on
xlabel('SNR');
ylabel('Error');save R.mat SNRs Err

3.仿真结果效果

A14-36

【量化LDPC】基于量化技术的LDPC译码算法的研究与matlab仿真相关推荐

  1. 论文研读笔记_基于优化的SVM心音信号分类算法的研究

    论文研究_基于优化的SVM心音信号分类算法的研究 先存起来,持续更新 摘要 心音信号采集易混入杂音,影响判断: 经验式模态分解算法分析特征分布:心音信号集中于低频.噪音集中于高频: 利用切比雪夫滤波器 ...

  2. 电机调速设计并用matlab仿真,终稿毕业论文设计_基于PWM控制的直流电动机调速系统设计及MATLAB仿真.doc最终版(备份存档)...

    <毕业论文_基于PWM控制的直流电动机调速系统设计及MATLAB仿真.doc>由会员分享,可免费在线阅读全文,更多与<(终稿)毕业论文设计_基于PWM控制的直流电动机调速系统设计及M ...

  3. 基于高斯混合模型的频带扩展算法的研究

    本博客是我看<基于高斯混合模型的频带扩展算法的研究>_于莹莹论文的心得,大家可以通过知网或邮件我获取. 摘要 现状:传统的电话语音带宽范围是300Hz~3400Hz,当带宽扩展到300~8 ...

  4. 阅读豆丁网----基于模型的混合多目标算法的研究

    链接:  基于模型的混合多目标算法的研究 - 豆丁网 http://www.docin.com/p-1088777086.html (1) 研究背景意义 RM-MEDA(Regularity Mode ...

  5. SVPWM仿真和基于DSP28335的PIL(处理器在环) 仿真模型(将matlab仿真算法生成代码在DSP中在线运行返回数据给Matlab)验证算法可行性和实时性

    SVPWM仿真和基于DSP28335的PIL(处理器在环) 仿真模型(将matlab仿真算法生成代码在DSP中在线运行返回数据给Matlab)验证算法可行性和实时性. 对于数字信号处理很有用. ID: ...

  6. 基于手持技术的中学化学实验教学研究

    目 录 摘 要 I Abstract II 1 选题背景意义 1 1.1选题背景 1 1.1.1 案例开发阶段(20世纪90年代末至今) 1 1.1.2 理论研究阶段(约2006年至今) 2 1.1. ...

  7. 基于html5的矢量图绘制方法研究,基于HTML5Canvas技术的在线图像处理方法的研究...

    摘要: 本文主要对基于HTML5Canvas技术的在线图像处理方法进行探讨和研究. 随着网页技术的飞速发展,在线的应用程序越来越受到用户的欢迎,很多业余摄影爱好者开始采用在线的图像处理软件来对照片进行 ...

  8. 基于神经网络多项式插值的图像超分辨重构研究-附Matlab代码

    ⭕⭕ 目 录 ⭕⭕ ✳️ 一.引言 ✳️ 二.基于单帧图像的超分辨率重构技术 ✳️ 2.1 最近邻域插值法 ✳️ 2.2 双线性插值法 ✳️ 2.3 双三次插值法(Keys'插值) ✳️ 三.神经网络 ...

  9. matlab 载波相位估计,基于小波变换的载波相位恢复算法的研究

    刘畅安1,胡芳仁1, 2,刘昕1 (1. 南京邮电大学 光电工程学院,江苏 南京 210023: 2. 南京邮电大学 Peter Grüenberg中心,江苏 南京 210023) 摘要:在相干光通信 ...

最新文章

  1. 离开页面前显示确认提示对话框(兼容IE,firefox) = how to Catch Win...
  2. 不同品牌android手机ui,各大安卓手机品牌里,系统UI设计对比,谁赢了?
  3. python清空字典保留变量方法_python学习day06--02字典增删差改以及字符串的一些方法...
  4. 一段旅程的结束和另一端旅程的开始
  5. 首届中国服务创新大会在深举办 助力产业智慧升级
  6. 苹果系统更新服务器繁忙,如何解决升级MacOS 10.13时的常见问题
  7. Django(part26)--修改及删除记录
  8. html水调歌头实验总结,水调歌头明月几时有反思小结
  9. 河流逻辑结构图生成方法
  10. [家里蹲大学数学杂志]第410期定积分难题
  11. 想开公司没钱租用办公地,注册地址怎么办?
  12. android 注册静态广播接收器VS注册动态广播接收器
  13. Android之四大组件、六大布局、五大存储
  14. MySQL的基础操作
  15. plc模拟器软件_【万泉河】咸鱼上买了个二手施耐德PLC,上当了。
  16. word修订模式怎么彻底关闭_word修订模式取消不了
  17. 数据分析之 假设检验
  18. 首席新媒体商学院黎想:全新的抖音涨粉攻略
  19. 免杀技术有一套(免杀方法大集结)(Anti-AntiVirus)
  20. debian和archlinux下使用fcitx5-rime中州韵输入法之双拼及美化

热门文章

  1. PHP实现页面静态化、纯静态化及伪静态化
  2. QuaggaJS在给定图像中定位条形码的工作原理
  3. 我的世界服务器java启动脚本_我的世界服务器开服bat文件分享 常见脚本
  4. 票房破9亿,翻拍片《误杀》凭什么口碑票房双丰收?
  5. [python]bokeh学习总结——QuickStart
  6. Spring boot 整合Neo4j 实现动态Cypher
  7. 史上最完整的人工智能书单大全
  8. Oracle 访问SQL Server的数据 (通过Oracle gataway)
  9. Windows 10上用AutoHotkey实现快速隐藏/显示桌面图标与切换虚拟桌面
  10. 项目流程管理工具OmniPlan Pro 4