• NR modulation 1


    前言

             终端在测试吞吐量的时候主要看两个参数,网络分配的RB,以及Modulation

    这个系列主要参考一些海外专家的课程做个分享

                这里主要参考cisco 的 tutorangel


     

    1.  summary
    2.  RF Encoding and modulation Mechanisms
    3. BPSK
    4. QPSK
    5. QAM

    一  summary

             编码后,我们得到的还是数字信号 0,1 ,前面讲过会把QPSK 会把0

    调制成1,1调制成-1的模拟信息,对应一个waveform.

             如何区分wavefrom(symbol) ,主要通过幅度,频率,相位

            为什么要调制:

             最终信号要通过天线发射出去 

            天线的长短和波长成正比,所以和频率成反比,频率越高,波长越短,天线也就可以做得越短。天线的长度并不等于一个波长,往往是1/4波长或者5/8波长。


    二 RF Encoding and modulation Mechanisms

       调制后,0,1对应一个symbol(或waveform),我们可以通过三种方式区分0,1

          Amplitude, frequency, phase

        2.1 Amplitude 区分

            

     

               如上可以通过幅度来区分1,0

         2.2 Frequency  区分

             

         如图,后半段的频率更高,低频认为是1,高频认为是0。

    2.3  phase区分

        0,1 相位相差\pi

     

     2.4  调制算法

       对应一段时域的波形


     3: BPSK(Binary phase shift keying) 二进制相移键控

         

             根据数字基带信号的两个电平,使得载波相位在两个不同的数值之间切换的一种相位调制方式。 通常两个相位相差\pi,故有时也称为反相键控PSK

          以二进制调相为例,码元为0时,调制后载波与为调制载波同相

         码元为1,调制后载波与为调制载波反相。

       

         每个符号一个bit,或者一个waveform 对应一个bit

    1. # -*- coding: utf-8 -*-
    2. """
    3. Created on Mon Jul 4 15:06:27 2022
    4. @author: chengxf2
    5. """
    6. import numpy as np
    7. import matplotlib.pyplot as plt
    8. def bpsk(bit):
    9. a = 1.0
    10. w = 2.0
    11. if bit ==0:
    12. p = -np.math.pi/2.0
    13. else:
    14. p = np.math.pi/2.0
    15. x = np.linspace(0, 2*np.math.pi,1000)
    16. y = []
    17. for t in x:
    18. v = a*np.cos(w*t+p)
    19. y.append(v)
    20. if 0 ==bit:
    21. plt.plot(x, y, color='g',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    22. else:
    23. plt.plot(x, y, color='r',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    24. plt.xlabel("x")
    25. plt.ylabel("y")
    26. plt.show()
    27. bpsk(0)

    4: QPSK(Quadrature phase shift key 正交相移键控)

         BPSK 是1bit/symbol

         QPSK 是2bit/symbol

          相当于速率增加了一倍

        

     

    1. # -*- coding: utf-8 -*-
    2. """
    3. Created on Mon Jul 4 15:06:27 2022
    4. @author: chengxf2
    5. """
    6. import numpy as np
    7. import matplotlib.pyplot as plt
    8. from enum import Enum
    9. class QPSK_PHASE(Enum):
    10. ONE = 1
    11. TWO = 2
    12. THREE =3
    13. FOUR =4
    14. def qpsk(phase):
    15. a = 1.0
    16. w = 2.0
    17. if phase is QPSK_PHASE.ONE:
    18. p = np.math.pi/2*0
    19. elif phase is QPSK_PHASE.TWO:
    20. p = np.math.pi/2
    21. elif phase is QPSK_PHASE.THREE:
    22. p = np.math.pi
    23. else:
    24. p = np.math.pi*3/2
    25. x = np.linspace(0, 2*np.math.pi,1000)
    26. y = []
    27. for t in x:
    28. v = a*np.cos(w*t+p)
    29. y.append(v)
    30. if phase is QPSK_PHASE.ONE:
    31. plt.plot(x, y, color='g',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    32. elif phase is QPSK_PHASE.TWO:
    33. plt.plot(x, y, color='r',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    34. elif phase is QPSK_PHASE.THREE:
    35. plt.plot(x, y, color='b',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    36. else :
    37. plt.plot(x, y, color='y',linewidth=2.0,linestyle="-.") # plot方法绘点制图
    38. plt.xlabel("x")
    39. plt.ylabel("y")
    40. plt.show()
    41. qpsk(QPSK_PHASE.FOUR)

    5: Quadrature Amplitude Modulation(正交幅度调制)

     前面都是调节phase,有讲过可以通过增加幅度来区分bit 0,1

     如16QAM  

         一个symbol 可以传输4bit

       64AQM

         一个symbol 可以传输6bit

           调制方式越高,点之间的距离越来越近了,如果在一个有噪声的环境中

    信号的多径传输影响,信号衰减等影响,得到的符号会产生偏差,就产生了误差

    这个时候调制方式需要逐渐降低 64QAM-16QAM-QPSK-BPSK,速度也会逐渐降低

     

     

     

  • 相关阅读:
    【外汇天眼】FCA发布最新警告:FXsmart Options未经授权!
    文档分析器SDK快速处理与内置模板
    Hadoop3:MapReduce的序列化和反序列化
    Linux网络环境配置:(内含:随机ip和固定ip设置方式)
    21年6月阿里巴巴Java暑期实习面经回顾(已上岸)
    Spring整合RabbitMQ
    golang 自动生成文件头
    印度金融公司数据遭泄露,泄露数据超过3TB
    python OS+autoit实现自动化,易报错点
    安卓与js交互
  • 原文地址:https://blog.csdn.net/chengxf2/article/details/125599829