In this section, we present the design of VSP-IMUD and describe the receiver structure employing VSP-IMUD. By exploiting interactions among wireless signals, the detection of multiple users’ signals can be achieved with fewer receiving antennas.
3.1. Integrated Multi-User Detection
As
Figure 1 plots, when multiple Txs simultaneously send signals to the common Rx, the mixed signals received by the Rx can be expressed as
where
denotes the Additive White Gaussian Noise (AWGN) vector whose elements have zero mean and variance
. For clarity, we denote the mixed signal
as
.
Under IMUD, the received mixed signal
is treated as a structured equivalent signal. Based on the characteristics of such an equivalent signal, the data carried in multiple signal components can be decoded simultaneously, thereby realizing MUD. Given
K and
L, there will be
forms of
. Assuming that all Txs adopt
L-order modulation, we can represent the modulation symbol set as
, with each Tx
k’s desired data
. Based on the composite channel matrix
and all possible combinations of data from the
K Txs, the Rx can derive
possible forms of
, as presented in Equation (
2).
As Equation (
2) shows, there are
possible combinations of the symbol set
. Superscripts
are used to index these symbol combinations. We denote the data combination indexed by
as
, where
and
(
) represents the data symbol sent from
. Consequently, the
m-th form of the received mixed signal
can be expressed as
. If
is uniquely related to
, we can obtain
by detecting the structured
in an integrated manner.
We define the spatial feature of
as
According to Equations (2) and (3), given
and
, the structure and spatial features of
are determined. Based on Equation (
3), we can employ a matched filter (MF)
to process
. Since
is the target that the Rx aims to detect, we need
filter chains to attempt to decode the data vector
from
. For each filter chain, we calculate the modulus of its output and select the one with the largest modulus as the correct chain. Then, we can determine the receiving filter as
where
M is computed in terms of
. In this way,
is decoded integrally. In practical applications, as
K and/or
L increase, the structure of SVP-IMUD becomes more complicated. To mitigate this complexity, we can divide the
K Txs into multiple smaller groups, effectively reducing
K before applying VSP-IMUD. Furthermore, we can increase
to enhance the hardware processing capabilities at the Rx, achieving a trade-off between the number of matched filter chains and the number of receiving antennas. Additionally, it is important to note that the matched filter chains are implemented in the digital domain, eliminating the need for radio frequency chains, which makes them more cost-effective compared to receiving antennas.
We denote the decoded data vector using
as
. It is important to note that two possible forms of
, namely
and
, may arise due to the symmetric nature of the constellation points with respect to the origin. However, only one of
and
corresponds to the correct data vector sent from the
K Txs. To determine the exact data vector, we use ZF to recover the data from the Tx with the largest channel gain relative to the RX, and adopt this as referential data for determining the exact data vector. In
Figure 2, we illustrate the realization of VSP-IMUD using binary phase shift keying (BPSK) as an example.
As the figure shows, with K Txs and , two data vectors and correspond to the same MF vector . We denote these two symbol sets as and , respectively. Since the elements in and are opposite, we use ZF to decode the data sent from the Tx with the largest channel gain to obtain the correct symbol set. We denote this referential symbol as (where ). We then compare the referential symbol with the symbol under the same index in sets and . If there is an in that matches , we can determine that is the correct symbol set. Otherwise, becomes the final decoding output.
In practice, due to the randomness of the Tx channels, the Euclidean distance between two
s may be very small, i.e.,
(for
and
), where
is a small positive real number. This situation can lead to incorrect outputs from the Rx structure shown in
Figure 2, resulting in a high bit-error rate (BER). We refer to this condition as channel ambiguity, and we will design an ambiguity detection and elimination method in the following subsection.
3.2. Channel Ambiguity Detection and Elimination
In the previous subsection, we assumed the structure of the received mixed signal to be unique and employed an MF to recover the data/symbol set sent from multiple TXs. In practice, however, the structure of the mixed signal may arise from various data and channel combinations, resulting in similarities and ambiguities among the characteristics of the equivalent signals. In such cases, the MF cannot achieve accurate data recovery [
13].
Therefore, in this subsection, we will design a channel ambiguity detection (CAD) module to identify the channels that contribute to the similarity of the mixed signal’s structure, and then decode the signals transmitted via these ambiguous channels successively using SIC. Once the channel ambiguity is completely mitigated, the structure of the remaining mixed signal becomes unique, allowing for exclusive recovery of the dataset from multiple Txs using the IMUD method presented in Section III-A. Below, we will detail the detection and elimination of channel ambiguity.
We denote the set of symbols to be detected as
, and initialize it to
, where
(for
) is the data symbol sent from
. According to Equation (
2), the mixed signal perceived by the Rx is
. The Rx can then obtain all possible combinations of the aggregated channel matrix
and the symbol set
. Note that although Rx does not know the desired data sent by the Txs at this time, it can still derive
based on the known modulation scheme, where each element indicates a possible structure or characteristic of the received mixed signal. Next, we use the Euclidean distance between
and
as the ambiguity coefficient
of
and
, defined in Equation (
4):
where
and
.
We employ a real value as the ambiguity threshold. If , the structures of and are similar (ambiguous), indicating detection of ambiguity between and . It should be noted that the value of affects the processing complexity and BER performance of the Rx. When is large, more pairs will be classified as similar, leading to a greater number of Tx signals that need to be decoded to eliminate ambiguity, which increases the processing burden. Conversely, if is small, the similarities in features of the mixed signals arising from various datasets may go undetected. In this situation, while IMUD may still be applicable, it could yield an incorrect symbol set, resulting in poor BER performance. It is important to note that serves to balance decoding complexity and accuracy. Moreover, the degree of ambiguity depends on the K channel matrices associated with the K Txs, the K data symbols, and their modulation order L. Among these factors, the K channel matrices and data symbols are random and independent, making a quantitative analysis of the relationship among , K and L difficult. For this reason, we utilize simulations to investigate the impact of different values of on the probability of direct decoding with IMUD, as illustrated in Figure 4. Consequently, we can empirically determine the value of to achieve an optimal balance between signal processing complexity and system performance.
In order to detect the ambiguity among various pairs
, we define an
ambiguity matrix
as shown in Equation (
5). As depicted, the element in the
i-th row and
j-th column of
is either 1 or 0, indicating whether the spatial features of
and
are ambiguous. Specifically, if the Euclidean distance between
and
is less than
, then
’s element
is set to 1; otherwise, it is set to 0. It should be noted that under
, we set
.
Next, we calculate the sum of the elements in each row of , and record the result of the i-th row as . The value reflects the number of mixed signals that are similar to . The larger is, the more ambiguous the structure of is in relation to other mixed signals. In this case, if one performs IMUD on the received signal, s/he will have to choose among multiple possible symbol sets, resulting in a high BER due to this ambiguity.
The ambiguity arises from the fact that the same aggregated channel matrix and various symbol sets where can produce identical structures for the mixed signals. To avoid ambiguity, we identify the channels in that contribute to the ambiguity of the signal structure and subsequently remove them from . In what follows, we will establish the criterion for determining the contribution of channel () to the similarity between different mixed signals. We use to denote the ambiguity coefficient of and initialize to 0, indicating that does not contribute to ambiguity.
We assume that the
-th row of
that outputs the largest
has been determined. If
, the structures of
and
are similar. Then, according to Equation (
4), we have
. Under
, if
(
), we can have
. In this case, we cannot determine the contribution of
to the ambiguity of the mixed signal structures; thus, the value of
remains unchanged. Conversely, if
(
),
holds, indicating that
contributes to the structure ambiguity of the received signals. Therefore, we increment
as
. If
,
does not contribute to the ambiguity of the received signals’ structures, and the value of
remains unchanged.
After checking each in the - row, we can obtain the ambiguity coefficient for each . Similarly, we can examine all rows of to determine the ambiguity coefficients for the channels of all K Txs. We then sort () in descending order. This process establishes the decoding order for the signals that generate ambiguity. Specifically, the signal transmitted via with the largest , denoted as , should be detected first.
Since Rx has
receiving antennas, it can utilize ZF reception to concurrently decode up to
signal components associated with the channels with the largest ambiguity coefficients in the spatial domain. For the remaining
signals, they are treated as equivalent interference [
11]. The Rx then employs SIC to eliminate the detected ambiguous signal components from the original mixed signal and updates the symbol set
by removing the decoded symbols.
Next, the Rx recalculates the ambiguity matrix and the channel ambiguity coefficients for the remaining signals and decodes any signal components that still exhibit structural ambiguity. This processing is repeated iteratively until , at which point the IMUD method introduced in the previous subsection can be applied to the remaining mixed signals, as there will be no similarities among these components. In this way, the desired data carried in the remaining mixed signal can be uniquely determined using the spatial features of the mixed signal and the decoded referential data symbol.
It is important to note that if exceeds the number of signals to be detected, we can directly apply ZF to detect the signals. In other words, the proposed VSP-IMUD is primarily focused on scenarios where the number of signals to be detected is greater than , where ZF is infeasible due to the RX’s limited number of antennas.
3.3. VSP-IMUD-Based Rx Structure
Based on the designs of IMUD and CAD in the previous two subsections, we now present the VSP-IMUD-based Rx structure. As
Figure 3 shows, there are three processing steps in the Rx structure.
Step 1: At Switch A, we check the relationship between the number of symbols to be decoded, denoted as , and the total number of Txs, denoted as K. If , we switch to A1, and the received mixed signal is fed into the CAD module for ambiguity detection (i.e., proceed to Step 2). If , we switch A to A2 and continue with ambiguity detection for the remaining mixed signal (i.e., proceed to Step 2).
Step 2: For the mixed signal that has passed through the CAD module, we check
at switch B. If
, we switch B to B1, and the mixed signal is fed into the IMUD module. As
Figure 3 shows, there are
filter chains in this structure. Each chain uses a filter vector that matches the spatial feature of a possible equivalent/structured mixed signal.
We then calculate the modulus of the output from each filter chain and determine the index of the filter chain yielding the largest modulus. Based on this index information, we can obtain two potential desired symbol sets, namely and . To finalize the symbol set, the Rx employs a ZF filter vector to recover the signal from the Tx with the largest channel gain relative to the Rx, and adopts the decoded data as the referential symbol. If there is an in such that , we switch C to C1 and output as the final decoded symbol set. Conversely, if , we switch C to C2 and output . In this way, signals from all TXs are detected.
At switch B, if , it indicates that the ambiguity of the mixed signal has not been fully resolved. Therefore, we switch B to B2 to allow the Rx to sort the channels by their ambiguity values in descending order and to detect the signals propagating through these channels. If the number of signals with exceeds , the Rx employs ICom/SIC-ZF to detect the signals from the Txs corresponding to the first channels with the highest values. This results in obtaining data symbols, which we denote as . We can then reconstruct the detected signals and utilize SIC to subtract them from the mixed signal. After this, we can update the symbol set as . Finally, we compare with and proceed to Step 3.
Step 3: At switch D, if , we switch D to D1 and concurrently switch E to E1. The Rx can then apply the ZF matrix to directly detect the remaining mixed signals and obtain the detected symbol set . This completes the MUD process. If , it indicates that the Rx does not have enough antennas to decode data. Moreover, it remains uncertain whether the ambiguity in the symbol set has been mitigated. Consequently, we switch D to D2, switch F to F1, and return to Step 1, sending the mixed signal back to switch A. At switch A, since , we switch A to A2 and perform channel ambiguity detection. Based on the output from the CAD module, we switch B to either B1 or B2 (as discussed in Step 2). These steps are repeated until all K signals are successfully detected.