Skip to content

How do you handle multiple streams if the receiver is an AI receiver? #1

Description

@modestlyh

[batch size, num ofdm symbols, num subcarriers, num_bits_per_symbol]

        llr = self._neural_receiver([y, no])
        # [batch_size, num_rx, num_streams_per_rx, num_ofdm_symbols, fft_size, num_bits_per_symbol]
        llr = insert_dims(llr, 2, 1)
        # [batch_size, num_rx, num_streams_per_rx, num_data_symbols, num_bits_per_symbol]
        llr = self._rg_demapper(llr)
        # [batch_size, num_tx, 1, num_data_symbols*num_bit_per_symbols]
        llr = flatten_last_dims(llr, 2)
        # Remove stream dimension, NOTE: does not support
        # multiple-streams
        # per user; conceptually the neural receiver does, but would
        # require modified reshapes
        llr = tf.squeeze(llr, axis=-2)

How to change the code if num_streams_per_rx is not equal to 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions