-
In https://nvlabs.github.io/sionna/examples/Neural_Receiver.html: elif self._system == "neural-receiver":
# The neural receiver computes LLRs from the frequency domain received symbols and N0
y = tf.squeeze(y, axis=1)
llr = self._neural_receiver([y, no])
llr = insert_dims(llr, 2, 1) # Reshape the input to fit what the resource grid demapper is expected
llr = self._rg_demapper(llr) # Extract data-carrying resource elements. The other LLrs are discarded
llr = tf.reshape(llr, [batch_size, 1, 1, n]) # Reshape the LLRs to fit what the outer decoder is expected
# Outer coding is not needed if the information rate is returned
if self._training:
# Compute and return BMD rate (in bit), which is known to be an achievable
# information rate for BICM systems.
# Training aims at maximizing the BMD rate
bce = tf.nn.sigmoid_cross_entropy_with_logits(c, llr)
bce = tf.reduce_mean(bce)
rate = tf.constant(1.0, tf.float32) - bce/tf.math.log(2.)
return rate
llr = self._rg_demapper(llr) the rg_demapper needs the shape of input : |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Hi @modestlyh, Could you please try to rephrase your question? I am not sure that I fully understand your problem. |
Beta Was this translation helpful? Give feedback.
-
Im short, the neural receiver architecture is for a SIMO system, i.e., a single stream is sent. You cannot have more than one stream per receiver. Please have a look our recent repo in which we extend the neural receiver architecture to MIMO systems with multiple users. |
Beta Was this translation helpful? Give feedback.
Im short, the neural receiver architecture is for a SIMO system, i.e., a single stream is sent. You cannot have more than one stream per receiver.
Please have a look our recent repo in which we extend the neural receiver architecture to MIMO systems with multiple users.