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

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

先介绍概念

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

** 而MATLAB中对调制后的数据求模的平方再取平均求得的是信号的功率,公式如下:
平均功率 P = (1/N) * Σ|s(n)|^2 ,其中 N 是采样点数量,s(n) 是信号的离散时间序列。**
比特能量和信号的平均功率之间存在一定关系。比特能量是指在数字通信系统中传输一个比特所消耗的能量,通常用 Eb 表示。比特能量和平均功率之间的关系可以用以下公式表示: Eb = P * Tb,其中 Tb 是一个比特的持续时间。Es = P * Ts,其中 Ts 是一个符号的持续时间。
再说一说他们之间的转换:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中B是高斯白噪声的噪声带宽而不是信号S(t)的带宽!!!!所以B永远是采样频率的一半(奈奎斯特采样率),这一点非常重要。
![转换公式](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× k;
EsN0 (dB) = EbN0 (dB) + 10 log10(k)
*

在这里插入图片描述
其中的k进制调制意味着,一个符合k个bit信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值