NR PUSCH(五) DMRS

PUSCH DMRS和PDSCH DMRS内容基本一样,但也有不同的地方,例如PUSCH 可能需要Transform precoding,port 对应0~11(DMRSconfigured type2)等等。先简单看看Transformprecoding的相关内容,Transformprecoding主要集中在38.211 6.3.1.4。Transformprecoding enable与否与PUSCH 使用的波形有关系,disable时对应的是cyclic Prefix OFDM,enable时对应的是DFT-s-OFDM,更具体的DFT-s-OFDM适合远距离传输,而CP-OFDM,如果使用较大的功率发送,由于PAPR的原因,难以保证信号的稳定性,所以CP-OFDM适用于距离较近的传输。在enable Transformingprecoding(DFT-s-OFDM)时只支持 one layer传输,disable Transformingprecoding(CP-OFDM)时,最大可支持四层传输,但是实际中由于硬件的限制,目前UE只能最大支持上行2 layer传输。一般在NR中 FR1优先使用DFT-s-OFDM,FR2中使用CP-OFDM,当然这个也和具体场景有关系,总之,UE根据网络带下来的参数,听指挥就好。

除此之外Transformprecoding enable与否还和PUSCH DMRS的序列生成有关, enable时采用低均峰比序列,dis

### NR PUSCH DMRS Generation Method In New Radio (NR), the Physical Uplink Shared Channel (PUSCH) Demodulation Reference Signal (DMRS) plays a critical role in ensuring accurate signal demodulation at the receiver side. The process of generating these reference signals involves several key parameters and steps. The configuration of DMRS includes setting up various attributes such as the number of front-loaded DMRS symbols, additional DMRS positions, scrambling identity, and more[^1]. These configurations are specified by higher layers through RRC signaling or configured via DCI for dynamic scheduling scenarios. For each slot where there is scheduled PUSCH transmission, UE calculates the time-frequency resources allocated to DMRS based on the provided configuration information. Specifically: - **Scrambling Sequence Initialization**: A unique initialization value derived from cell-specific and user-specific identifiers ensures orthogonality between different users' transmissions. - **Mapping Pattern Selection**: Depending on whether single-symbol or double-symbol DMRS patterns are used, appropriate mapping rules apply within the assigned resource blocks[^2]. Here's an example code snippet demonstrating how one might initialize some variables related to DMRS generation in Python-like pseudocode: ```python def init_dmrs_params(cell_id, n_scid, bwp_size): # Initialize base sequence generator with specific seed values c_init = ((cell_id << 9) | n_scid) & 0xFFFFFFFF dmrs_config = { 'scramblingId': c_init, 'dmrsTypeAPosition': 2, # Example position; actual depends on config 'numDmrsCdmGroupsNoData': calculate_cdm_groups(bwp_size), ... } return dmrs_config ``` This function initializes essential parameters required for subsequent stages of DMRS creation including determining CDM groupings without data, which affects density and distribution across frequency bands[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值