MATLAB通信仿真时,SNR、EbN0、EsN0转化问题简述(包含码率)。 您所在的位置:网站首页 误码率与ebn0计算公式 MATLAB通信仿真时,SNR、EbN0、EsN0转化问题简述(包含码率)。

MATLAB通信仿真时,SNR、EbN0、EsN0转化问题简述(包含码率)。

#MATLAB通信仿真时,SNR、EbN0、EsN0转化问题简述(包含码率)。| 来源: 网络整理| 查看: 265

通信工程MATLAB仿真的时候,最基本的信道就是高斯白噪声信道,而看别人画图的时候有的时候用SNR,有的时候用的是EbN0,EsN0画图,然后搞着搞着就一头雾水。最近狠心下来终于把这几个之间的关系搞懂了。 先介绍概念

SNR SNR 信号噪声功率比,注意这个是信号功率比上噪声功率,功率之比!EbN0 比特能量噪声功率谱密度比EsN0 符号能量噪声功率谱密度比

而MATLAB中对调制后的数据求模的平方再取平均求得的是信号的功率,公式如下: 平均功率 P = (1/N) * Σ|s(n)|^2 ,其中 N 是采样点数量,s(n) 是信号的离散时间序列。 比特能量和信号的平均功率之间存在一定关系。比特能量是指在数字通信系统中传输一个比特所消耗的能量,通常用 Eb 表示。比特能量和平均功率之间的关系可以用以下公式表示: Eb = S * Tb,其中 Tb 是一个比特的持续时间。Es = S * Ts,其中 Ts 是一个符号的持续时间。 再说一说他们之间的转换: ![转换公式](https://img-blog.csdnimg.cn/2e34bba4bebf40499c049100d85d90bc.png 所以SNR到EsN0的转化就在于Rs与fs之间的比值,如果是一个符号一个采样点,那么Rs/fs=1,那么: SNR = EsN0(在复数情况下,因为复数情况下可以理解为噪声功率密度为N0/2,或者占用了两倍的带宽) SNR = EsN0/2(在实数情况下) 如果进行了上采样,也就是一个符号n个点那么设上采样倍速为SPS, 那么: SNR = EsN0/SPS, 用dB来表示则为: Es/N0 (dB) = 10 * log10(SPS) + SNR (dB); 而EsN0与EbN0之间的转化则是码率之间的转化,这里面包含了调制方式以及编码的问题,最简单的当然是二进制调制以及没有编码的情况,那么: EsN0=EbN0。 这里我们设一个k,k是一个符号表示了多少bit的信息,由此可知 k = log2(M)R; 其中M为调制阶数,R为码率。 其实也比较好理解,要将原来的符号的能量分配到所有的比特位中, 如果我是QPSK,那么1个符号的能量要分配到2个bit中,或者反过来理解,2个bit的能量要集中到1个符号里;而如果这时使用重复编码R=1/3;那么2个bit就变成了6个bit,那么还是要保证这6个bit能量集合起来的符号能量要和之前的一样。所以有以下公式: EsN0 = EbN0× (M)/R; EsN0 (dB) = EbN0 (dB) + 10 log10(k)*



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有