5G NR 时频资源

5G NR 时频资源

频域:100M = 273/272RB = 273 * 12 RE(子载波) 

10log(273*12) = 35dB

时域:1 TTI = 2 subframe = 2 * 5 ms = 2 *  10 slot = 2 * 10 * 14 symble (OFDM符号)

1subframe = 5ms  = 10slot 

1slot = 14 symble

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
5G NR PSS(Primary Synchronization Signal)是5G NR同步信号中的一种,用于UE搜索和同步5G NR基站。下面是5G NR PSS信号生成的步骤: 1. 生成PSS序列:PSS序列是由两个长度为31的m序列(m0和m1)通过加权和得到的。加权和的公式为:s(n)=(-1)^m0(n)+j*(-1)^m1(n),其中n为序列的下标,j为虚数单位。 2. 生成IQ调制信号:将PSS序列映射到IQ调制信号上,得到复数序列s(n)=[I(n),Q(n)]。其中,I(n)和Q(n)分别为实部和虚部。 3. 进行OFDM调制:将IQ调制信号进行OFDM调制,得到时域信号s(n)。OFDM调制的过程包括将IQ调制信号进行IDFT变换、添加循环前缀、并将信号映射到载波上。 4. 将PSS信号插入到物理资源块(PRB)中:将PSS信号插入到物理资源块(PRB)中,得到PSS信号的时频资源图。 5. 将PSS信号映射到帧上:将PSS信号映射到帧上,得到PSS信号的时域波形。 下面是Python代码示例: ```python import numpy as np # 生成m序列 def m_sequence(n, c_init): c = np.zeros(n) c[0] = 1 for i in range(1, n): c[i] = c[i-1] if c_init == 0 else (-1)*c[i-1] return c # 生成PSS序列 def pss_sequence(): m0 = m_sequence(31, 0) m1 = m_sequence(31, 1) s = np.zeros(62, dtype=complex) for i in range(31): s[i] = (-1)**m0[i] + 1j*(-1)**m1[i] s[i+31] = (-1)**m1[i] + 1j*(-1)**m0[i] return s # 生成IQ调制信号 def iq_modulation(s): n = len(s) I = np.real(s) Q = np.imag(s) return np.vstack((I, Q)).reshape(2*n, order='F') # 进行OFDM调制 def ofdm_modulation(s, Nfft, Ncp): n = len(s) s_ifft = np.fft.ifft(s, Nfft) s_cp = np.hstack((s_ifft[-Ncp:], s_ifft)) s_ofdm = np.zeros(Nfft, dtype=complex) s_ofdm[::2] = s_cp[:n//2] s_ofdm[1::2] = s_cp[n//2:] return s_ofdm # 将PSS信号插入到物理资源块(PRB)中 def insert_pss_to_prb(pss, prb_idx, Nrb): Nprb = len(prb_idx) Nsymb = 14 Nfft = 2048 Ncp = 160 s_prb = np.zeros((Nprb, Nsymb, Nfft), dtype=complex) for i in range(Nprb): for j in range(Nsymb): s_prb[i, j, :] = ofdm_modulation(pss, Nfft, Ncp) s_prb_all = np.zeros((Nrb, Nsymb, Nfft), dtype=complex) s_prb_all[prb_idx, :, :] = s_prb return s_prb_all # 将PSS信号映射到帧上 def map_pss_to_subframe(s_prb_all): Nsymb = 14 Nfft = 2048 Ncp = 160 s_subframe = np.zeros((Nsymb*Nfft+2*Ncp), dtype=complex) for i in range(Nsymb): for j in range(len(s_prb_all)): s_subframe[i*Nfft+j*Nfft*Nsymb:i*Nfft+(j+1)*Nfft*Nsymb] = s_prb_all[j, i, :] return s_subframe # 生成PSS信号 def generate_pss(prb_idx, Nrb): pss = pss_sequence() s_prb_all = insert_pss_to_prb(pss, prb_idx, Nrb) s_subframe = map_pss_to_subframe(s_prb_all) return s_subframe ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值