5G DMRS sequence generation

27 views (last 30 days)
Bryan Ehlers
Bryan Ehlers on 23 Sep 2020
Edited: Bryan Ehlers on 29 Sep 2020
The sequence generation is described in the spec (TS 38.211 5.2.1) and is implemented in the MATLAB 5G Toolbox function nrPRBS. Starting on line 61, there is a block of code:
% If a subsequence was requested, extract the subsequence
if ~isscalar(n)
prbs = prbsInternal(end-n(2)+1:end);
prbs = prbsInternal;
I have two related questions, What is the reason for requesting a subsequence? How does the UE know where to look for this DMRS sequence?

Accepted Answer

Sriram Tadavarty
Sriram Tadavarty on 29 Sep 2020
Hi Bryan,
The function nrPRBS accepts a vector or a scalar to specify the number of elements in the sequence, n.
When n is specified as a two element vector [p m], seq contains m contiguous elements of the PRBS generator, starting at position p (zero-based).
This pseudo-random sequence is used in generating the reference signals which are confined to the bandwidth part (BWP). The bandwidth part can start from any position in the carrier, which might be at an offset to point A. This is scenario where a subsequence can be used directly.
Consider the case of demodulation reference signal (DM-RS) of PDSCH, which is only a part of complete BWP. Now to generate the DM-RS sequence confined to only the resource blocks of PDSCH, the subsequence is used. The complete sequence starts from point A, but the required set is only for the resource blocks of PDSCH. Only the sequence of required set is transmitted.
The UE knows where to transmit/receive based on the allocation of the respective channel.
The comment placed in the code is related only to the function. As can be seen prbsInternal generates complete sequence, but only returns the set required that is requested with the function when n is used as vector.
Hope this helps.
Bryan Ehlers
Bryan Ehlers on 29 Sep 2020
Edited: Bryan Ehlers on 29 Sep 2020
This makes sense. The sequence depends entirely on the frequency allocation of the actual PDSCH. If the PDSCH is offset from Point A by five resource blocks then the DMRS sequence used would start at the sixth resource block and would use however many the allocation required, is this right?
Sriram Tadavarty
Sriram Tadavarty on 29 Sep 2020
Yes Bryan. You are right, the sequence starts from starting resource of block of PDSCH and maps till the allocation.
Minor correction: The DM-RS sequence starts from the symbols corresponding to sixth resource block. Implies, if the each resource block has 6 DM-RS symbols (i.e., 12 PRBS bits with QPSK modulation), then DM-RS sequence that is transmitted for the allocation will be from 61 (6 * 2 * 5 +1). The selection is made till the allocation is covered.
For more insights of different patterns of reference signals, you can look at PDSCH Reference Signals and PUSCH Reference Signals.

Sign in to comment.

More Answers (0)


Find more on Get Started with 5G Toolbox in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!