My_data3_1500的使用说明,以及当中遇到的问题

My_data3_1500的使用说明,以及当中遇到的问题

本程序是以渐进的方法生成衰落信道下的ldpc码率数据,多普勒频移和信噪比大小可调,码字长度和传输包的数量可调,但是首先要在genhh中生成对应的校验矩阵
myH_1500首先生成了10个变量节点1500,校验节点由75开始,750结束,每增大75个校验比特,码率减小,一共有十个校验矩阵,已经对校验矩阵的性能进行了初步的测试,确认不会存在校验矩阵设计过差而无法译码的情况(使用结构伴随机ldpc码会出现这样的情况。主要表现为:在译码时,使用编码后的码,不加任何的衰落和噪声,无法译码,会输出全零的序列。在使用一系列的校验矩阵时,会出现校验矩阵的黑洞,所有码率集中,即只存在一个校验矩阵正常译码),生成了换位矩阵和P矩阵,在编码,译码,换位时会遇到
默认的码字的传输速率为2M,载波2GHZ,采样率为载波的5倍(足够使用就行),t是一个bit的采样时间序列,t_all是1500个比特的采样序列
Snr_use是awgn中会使用到的参数,对于awgn函数,awgn(tx,Snr_use)这里并没有‘measured’ snr_use=snr-10log10(fsT) 均已db为单位,对于实数传输和复数,会在后面加上3db,相关的参数在使用时进行尝试就行,上式说明,符号的持续时间/采样频率会对snr的取值造成影响,之后或许会遇到QPSK的情况,又会有不同,在本程序中,一个bit(载波上),的积分应该为一。
genHH的矩阵产生的较快,PEG产生的太慢了,就没有试,有时间尝试一下
使用了rx_msg,rx_msg2,R来储存其中的接受码字,编码后的码字,和此时所使用到的码率,将之后的特征提取工作放在线下进行
对于一个block,首先产生11500的信息序列,h中的随机参数已经认为固定,这样一来,产生的信道在每次调用时,初始状态相同,只用改变时间序列的位置,然后产生噪声,保证噪声序列在一个block中也是一样的
开始循环,从j=1:10,码率逐渐降低,译码能力增强,ldpc_encode和dedcode1中的程序是正确的,不要去更改。
在使用到虚数时,不要去用i/j,写sqrt(-1),否则在程序中,如果出现了其他的i,j会使程序出错
尽量使用…_…的命名方式,防止变量名相同。
运行完程序后,检查关键参数的值和矩阵,判断是哪里出现了错误。
NAN的意思是非数,可能是因为数据陷入循环而过大产生的问题
在从本时间序列向下一时间序列过渡时,所加的不是T
nsymbol而是length_tall,使得其实是加了一个很大的数,导致前后的码的相关性很小,这样子的错误不会使得最后的结果产生NAN或inf的变化,但是的确结果错误,需要注意这方面的问题
在某个子函数中,如果存在非数(未定义的变量,超出计数范围的值)的情况的话,会使得函数返回NAN,需注意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值