Problem B
Spatial estimation and separation
1 Introduction
In a wireless communication system, spatial separation and estimation are important for many scenarios such as interference suppression and channel estimation. In this problem, target signals and interference signals are combined together, and the former one need to be separated and estimated. The target signals and interference signals are classified based on different spatial features.
The main challenges of this problem are as follow:

The number of interference signals can be very high, which means the optimization problem of spatial estimation and separation is nonconvex and complicated.

The power of target signals and interference signals is comparable, meaning interference significantly impacts target signals.
Compared with traditional optimization problems, this problem has the following two special difficulties:

Subspace estimation and separation in fullrank space: Because the number of interference signals exceeds the spatial dimension, contestants need to separate target signals based on a fullrank space. In the current baseline solution, subspace separation solution is performed through beam scanning, but weak target signals (power is relatively low) in this fullrank space cannot be effectively separated.

Subspace estimated precision: In this problem, the estimated precision of the weak target signals and the strong target signals is equally important. However, the estimation of weak target signals is easily affected by the existence of strong interference signals or other target signals. Therefore, Highprecision weak target signal estimation is one of the main difficulties in this problem.
This is an interactive problem, and the input of this problem can be changed by the contestants. Contestants should design an optimization method to input different signals to a black box system which can provide corresponding output signals. The target signal subspace need to be separated and estimated by contestants’ algorithms through the processing and analyzing of the input and output data.
Notations: $(\cdot )^{*}$ denotes the conjugate operation; $(\cdot )^{T}$ denotes the transpose operation $(\cdot )^{H}$ denotes the conjugate transpose operation; $\left\ \cdot \right\ _{F}$ denotes Frobenius norm; $\mathbb {C}^{M \times N}$ represents the $M \times N$ dimension matrix spaces with complex entries. $\{ 1,..., X\} $ represents a set containing integers from 1 to $X$. Assume there is a matrix $\mathrm{V}$, $\mathrm{V}\left[1: X,:\right]$ denotes 1 to $X$ rows and all columns of matrix $\mathrm{V}$.
2 System Model
All signal systems, whether they are target signals or interference signals, have the same structure (linearnonlinearlinear).The differences in linear layer characteristics of these signals distinguish the target signals from the interference signals. Therefore, the signal models described in 2.1 and 2.2 are applicable to both target and interference signals. 2.3 provides the description of differences between target signals and interference signals.
2.1 Single Signal System Model
System model of single signal is modelled as shown in Figure 1. It consists of input modules, linear system modules, generate data modules, nonlinear module, and output module. The linear system modules, generate data modules, and nonlinear system module are embedded in the Kattis platform as a black box system. Input modules and output module are visible to the contestants’ program.
Input modules: The input data weights $\mathrm{W}_{1} \in \mathbb {C}^{N_{T x} \times N_{stream,1 }}$ and $\mathrm{W}_{2} \in \mathbb {C}^{N_{T x} \times N_{stream,2 }}$ can be modified by contestants, $N_{stream,1}$, $N_{stream,2}\in \{ 1,..., N_{T x}\} $. The elements of $\mathrm{W}_{1}$ and $\mathrm{W}_{2}$ and the values of $N_{stream,1}$ and $N_{stream,2}$ are all changeable for contestants.
Black box system: None of the modules in black box system are visible for the contestants.
When dealing with different numbers of $N_{stream,1}$ and $N_{stream,2}$, $\mathrm{S}_{1}\in \mathbb {C}^{N_{stream,1} \times N_{data }}$ and $\mathrm{S}_{2}\in \mathbb {C}^{N_{stream,2} \times N_{data }}$ are as follow:
\[ \mathrm{S}_{1}=\mathrm{S}_{1}^{all }\left[1: N_{stream,1},:\right] \]\[ \mathrm{S}_{2}=\mathrm{S}_{2}^{all }\left[1: N_{stream,2},:\right] \]where $\mathrm{S}_{1}^{a l l} \in \mathbb {C}^{N_{T x} \times N_{data }}$ and $\mathrm{S}_{2}^{a l l} \in \mathbb {C}^{N_{T x} \times N_{data }}$ are fixed (but unknown) for all the contestants. The generated data matrices $\mathrm{X}_{1}$ and $\mathrm{X}_{2}$ can be written as
\[ \mathrm{X}_{1}=\alpha _{1}\mathrm{W}_{1}^* \times \mathrm{S}_{1}, \quad \mathrm{X}_{1} \in \mathbb {C}^{N_{T x} \times N_{data }} \]\[ \mathrm{X}_{2}=\alpha _{2}\mathrm{W}_{2}^* \times \mathrm{S}_{2}, \quad \mathrm{X}_{2} \in \mathbb {C}^{N_{T x} \times N_{data }} \]where $\alpha _{i}=\sqrt{\frac{N_{T x}}{N_{stream , i}}},i \in \{ 1,2\} $. We call linear layer $\mathrm{H}_{1} \in \mathbb {C}^{1 \times N_{T x}}$ and linear layer $\mathrm{H}_{2} \in \mathbb {C}^{1 \times N_{T x}}$ as downlink channels, and linear layer $\mathrm{H}_{3} \in \mathbb {C}^{N_{R x} \times 1}$ as uplink channel. Signals $\mathrm{X}_{1}$ and $\mathrm{X}_{2}$ pass through $\mathrm{H}_{1}$ and $\mathrm{H}_{2}$:
\[ \mathrm{m}_{1}=\mathrm{H}_{1} \times \mathrm{X}_{1}, \quad \mathrm{m}_{1} \in \mathbb {C}^{1 \times N_{data }} \]\[ \mathrm{m}_{2}=\mathrm{H}_{2} \times \mathrm{X}_{2}, \quad \mathrm{m}_{2} \in \mathbb {C}^{1 \times N_{data }} \]The nonlinear system is defined by a thirdorder nonlinear function $f(.)$.
\[ \mathrm{p}[1, n]=f\left(\mathrm{m}_{1}[1, n], \mathrm{m}_{2}[1, n]\right)=\mathrm{c}_{\mathrm{nlin},n}\left(\mathrm{m}_{1}[1, n]\right)^{2}\left(\mathrm{~ m}_{2}[1, n]\right)^{*}, \quad n \in \{ 1, ...,N_{data }\} \]where $\mathrm{c}_{\mathrm{nlin},n}$ is the nonlinear coefficient. The output of nonlinear system module is $\mathrm{p}\in \mathbb {C}^{1 \times N_{data }}$.
Output module:The nonlinear signal then propagates through uplink channel $\mathrm{H}_{3} \in \mathbb {C}^{N_{R x} \times 1}$, and output signal $\mathrm{Y}$ is obtained.
\[ \mathrm{Y}=\mathrm{H}_{3} \times \mathrm{p}, \quad \mathrm{Y} \in \mathbb {C}^{N_{R x} \times N_{data }} \]Output signal $\mathrm{Y}$ is visible for the contestants’ program. None of other information in the box black system is visible.
2.2 Multiple Signals System Model
System model of multiple signals is shown in Figure 2. $N_ i$ represents the total number of signals. The Input modules and the output module are the same as single signal system model. The differences are centered at the black box system.
Black box system (multiple signals): The generate data modules are the same as the single signal system model.
\[ \mathrm{X}_{1}=\alpha _{1}\mathrm{W}_{1}^* \times \mathrm{S}_{1}, \quad \mathrm{X}_{1} \in \mathbb {C}^{N_{T x} \times N_{data }} \]\[ \mathrm{X}_{2}=\alpha _{2}\mathrm{W}_{2}^* \times \mathrm{S}_{2}, \quad \mathrm{X}_{2} \in \mathbb {C}^{N_{T x} \times N_{data }} \]The differences come in the latter modules. Multiple signals mean that the linearnonlinearlinear system has many branches. $N_ i$ represents the branch number. The generated data flows into different branches. Linear system $1,1$ to Linear system $1,N_ i$ represent the downlink channels of signal 1 to $N_ i$ for input1 signal. Linear system $2,1$ to Linear system $2,N_ i$ represent the downlink channels of Signal 1 to $N_ i$ for input2 signal.
Input1:
\[ \begin{array}{cc} \mathrm{m}_{1,1}=\mathrm{H}_{1,1} \times \mathrm{X}_{1}, & \mathrm{~ m}_{1,1} \in \mathbb {C}^{1 \times N_{data }} \\ \vdots & \\ \mathrm{m}_{1, N_{i}}=\mathrm{H}_{1, N_{i}} \times \mathrm{X}_{1}, & \mathrm{~ m}_{1, N_{i}} \in \mathbb {C}^{1 \times N_{data }} \\ \end{array} \]Input2:
\[ \begin{array}{cc} \mathrm{m}_{2,1}=\mathrm{H}_{2,1} \times \mathrm{X}_{2}, & \mathrm{~ m}_{2,1} \in \mathbb {C}^{1 \times N_{data }} \\ \vdots & \\ \mathrm{m}_{2, N_{i}}=\mathrm{H}_{2, N_{i}} \times \mathrm{X}_{2}, & \mathrm{~ m}_{2, N_{i}} \in \mathbb {C}^{1 \times N_{data }} \\ \end{array} \]Signals $\mathrm{m}_{1,a}$ and $\mathrm{m}_{2,a}, a\in \{ 1,...,N_ i\} $ pass through the corresponding nonlinear system which can be also indicated as a thirdorder nonlinear function $f_ a (.)$. Each signal $a$ has its own nonlinear process and corresponding $\mathrm{p}_{a}$.
\[ \mathrm{p}_{a}[1, n]=f_{a}\left(\mathrm{~ m}_{1, a}[1, n], \mathrm{m}_{2, a}[1, n]\right)[1, n]=\mathrm{c}_{ \mathrm{nlin},a,n}\left(\mathrm{m}_{1, a}[1, n]\right)^{2}\left(\mathrm{~ m}_{2, a}[1, n]\right)^{*}, \quad \mathrm{n} \in \{ 1, ...,N_{data }\} ] \]where $\mathrm{c}_{ \mathrm{nlin},a,n}$ is the nonlinear coefficient of signal $a$. Different signals have different values of nonlinear coefficients. Nonlinear signals go through corresponding uplink channels $\mathrm{H}_{3,1} \in \mathbb {C}^{N_{Rx} \times 1}$ to $\mathrm{H}_{3,N_ i} \in \mathbb {C}^{N_{Rx} \times 1}$ afterwards.
\[ \begin{array}{cc} \mathrm{Y}_{1}=\mathrm{H}_{3,1} \times \mathrm{p}_{1}, & \mathrm{Y}_{1} \in \mathbb {C}^{N_{Rx} \times N_{data }} \\ \vdots & \\ \mathrm{Y}_{N_{i}}=\mathrm{H}_{3, N_{i}} \times \mathrm{p}_{N_ i}, & \mathrm{Y}_{N_{i}} \in \mathbb {C}^{N_{Rx} \times N_{data }} \\ \end{array} \]The output $\mathrm{Y}$ is the sum of $\mathrm{Y}_1$ to $\mathrm{Y}_{N_ i}$.
\[ \mathrm{Y}=\mathrm{Y}_{1}+\mathrm{Y}_{2}+\cdots +\mathrm{Y}_{N_{i}}, \quad \mathrm{Y} \in \mathbb {C}^{N_{R x} \times N_{data}} \]The contestants’ program can choose the input data weights $\mathrm{W}_{1}$ and $\mathrm{W}_{2}$,and observe the resulting received signal Y. All other information is hidden in the platform.
In summary, the entirety of the system modeling can be represented by the following formula
\[ \mathrm{Y} =\left[\begin{array}{lll} \mathrm{H}_{3,1} & \ldots & \mathrm{H}_{3, N_{\mathrm{i}}} \end{array}\right] \times f\left(\left[\begin{array}{c} \mathrm{H}_{1,1} \\ \ldots \\ \mathrm{H}_{1, N_{\mathrm{i}}} \end{array}\right] \times \mathrm{X}_{1},\left[\begin{array}{c} \mathrm{H}_{2,1} \\ \ldots \\ \mathrm{H}_{2, N_{\mathrm{i}}} \end{array}\right] \times \mathrm{X}_{2}\right) \]The total $N_{i}$ signals can be divided into $N_{tar}$ target signals and $N_{intf}$ interference signals ($N_{i} = N_{tar} + N_{intf}$). For convenience, the first $N_{tar}$ number of branches are set as the target signals’ branches, which means $\mathrm{H}_{\{ 1,2,3\} ,\{ 1,...,N_{tar}\} }$ are all corresponding to the $N_{tar}$number of target signal,
2.3 Signal categories
Signals can be divided into two categories (target and interference) according to different spatial characteristics (different linear system characteristics).
$\mathrm{H}_{\mathrm{downlink,1}}$ and $\mathrm{H}_{\mathrm{downlink,2}}$ represents the characteristics of $\mathrm{H}_{\mathrm{1,i}}$ and $\mathrm{H}_{\mathrm{2,i}}$ respectively, where $\mathrm{i} \in \{ 1,...,N_\mathrm {i}\} $. $\mathrm{H}_{\mathrm{uplink}}$ represents the characteristics of $\mathrm{H}_{\mathrm{3,i}}$ , where $\mathrm{i} \in \{ 1,...,N_\mathrm {i}\} $.
Target Signal: For each target signal (so the $\mathrm{H}_{\mathrm{downlink,1}},\mathrm{H}_{\mathrm{downlink,2}} \in \mathbb {C}^{1 \times N_{Tx}}$, $\mathrm{H}_{\mathrm{uplink}}\in \mathbb {C}^{N_{Rx} \times 1}$), the downlink channels and the uplink channel are characterized by the following features.
\[ \begin{aligned} \mathrm{H}_{\mathrm{downlink,1}}[1, t] & =\mathrm{x}_{t,1}, & & t \in \{ 1,...,N_{Tx}\} \\ \mathrm{H}_{\mathrm{downlink,2}}[1, t] & =\mathrm{x}_{t,2}, & & t \in \{ 1,...,N_{Tx}\} \\ \mathrm{H}_{\mathrm{uplink}}[r, 1] & =\mathrm{x}_ r, & & r \in \{ 1,...,N_{Rx}\} \end{aligned} \]$\mathrm{x}_{t,1}$,$\mathrm{x}_{t,2}$ and $\mathrm{x}_ r$ are different complex values, which are all nonzero (The squared norm of some values are order of ${10}^{1}$, and square norm of others are in the range of ${10}^{5}$ to ${10}^{2}$). This can be called as ’multconnection’ features which is shown in Figure 3. We call this category of signal “nTnR target signal”.
Interference category: The downlink channels and the uplink channel for one of this category of interference signals are characterized by the following features.
\[ \begin{aligned} \mathrm{H}_{\text {downlink,1 }}[1, j] & =h, & & \mathrm{H}_{\text {downlink,1 }}[1, i]=k, i \in \{ 1,..., N_{T x}\} \backslash j \\ \mathrm{H}_{\text {downlink,2 }}[1, j] & =h, & & \mathrm{H}_{\text {downlink,2 }}[1, i]=k, i \in \{ 1,..., N_{T x}\} \backslash j \\ \mathrm{H}_{\mathrm{uplink}}[j, 1] & =h, & & \mathrm{H}_{\mathrm{uplink}}[i, 1]=k, i \in \{ 1, ...,N_{R x}\} ] \backslash j \end{aligned} \]where $j\in \{ 1,...,N_{T x}\} $,$\left h \right^2\to 1$,$\left k \right^2\to 0$(order of ${10}^{9}$), and $\backslash j$ means except $j$. No two interference signals have the same $j$. The downlink channels and the uplink channel of one interference signal must have the same index $j$. All of the downlink and uplink channels for interference signals have the singleconnection features as shown in Figure 4. We call this category of interference signal“1T1R interference signal”.
Contestants are supposed to utilize the connection features of these target and interference signals to reach the goal of this challenge, which is highaccuracy target signal subspace separation and estimation.
More precisely, contestants need to accurately separate and estimate the subspace of downlink channels $\mathrm{H}_{1,1}$ to $\mathrm{H}_{1,N_{tar}}$ (where ${N_{tar}}$ presents the number of target signals) corresponding to signal $\mathrm{X}_1$ of each target signal. The final accuracy is judged by the null space projection residual which is described in section 5.
3 Constraint
\[ \begin{array}{c} N_{T x}=N_{R x}=32 \\[6pt] N_{\text {data }} = 300 \\[6pt] 0 \leq N_{i} \leq 42 \\[6pt] N_{\text {stream } 1} \leq N_{T x} \\[6pt] N_{\text {stream } 2} \leq N_{T x} \\[6pt] 0 \leq N_{tar} \leq 10 \\[6pt] \mathrm{c}_{a, \text { nlin }} \in \mathbb {C} \\[6pt] \left\ \mathrm{S}_{1}[i,j]\right\ ^{2}= 1,\quad i \in \{ 1,...,N_{stream,1}\} ,j \in \{ 1,...,N_{data}\} \\[6pt] \left\ \mathrm{S}_{2}[i,j]\right\ ^{2}= 1,\quad i \in \{ 1,...,N_{stream,2}\} ,j \in \{ 1,...,N_{data}\} \\[6pt] \left\ \mathrm{W}_{1}\right\ _{F}^{2}=1 \\[6pt] \left\ \mathrm{W}_{2}\right\ _{F}^{2}=1\\[6pt] \left\ \mathrm{H}_{a,b}\right\ _{F}^{2}=1,\quad a \in \{ 1,2,3\} ,b \in \{ 1,...,N_\mathrm {i}\} \\[6pt]\end{array} \]Any value of the square of Norm can bear error between ±0.001.
Your program can make at most 2000 queries to the black box system per case.
Hint: all the constraints are validated, so please adhere to all of them. Violating the constraints will result in a verdict of Wrong Answer.
4 Optimization Objective
Based on the foregoing system model, contestants are expected to solve the following cases:
\[ \begin{array}{cccc} \hline & 1 \mathrm{~ T} 1 \mathrm{R} \text { interference } & \text { nTnR target signal } \\ \hline \text { CASE1 } & 0 \leq N_{intf } \leq 10 & 0 \leq N_{tar} \leq 10 \\ \hline \text { CASE2 } & 0 \leq N_{intf } \leq 10 & 0 \leq N_{tar} \leq 10 \\ \hline \text { CASE3 } & N_{intf }=32 & 0 \leq N_{tar} \leq 10 \\ \hline \text { CASE4 } & N_{intf }=32 & 0 \leq N_{tar} \leq 10 \\ \end{array} \]Spatial separation and estimation problems of above four cases should be solved universally by contestants’ algorithm. Different cases have different number of signals (system branches): $N_{i} = N_{intf } + N_{tar}$.
The ideal channel matrices are defined as below. Some channels are correlated, with some being highly correlated.
\[ \begin{array}{c} \mathrm{H}_{1,\text {ideal}}=\left[\begin{array}{c} \mathrm{H}_{1,1} \\ \ldots \\ \mathrm{H}_{1,N_{tar}} \end{array}\right] \\ \end{array} \]The estimated downlink channel subspace for all target signals should be written as below.
\[ \begin{array}{c} \mathrm{L}_{\text {est }}=\left[\begin{array}{c} \mathrm{L}_{\mathrm{e,1}} \\ \ldots \\ \mathrm{L}_{\mathrm{e},N_{tar}} \end{array}\right] ,\quad \mathrm{L}_{\text {est }}\in \mathbb {C}^{N_{tar} \times N_{Tx }}\\ \end{array} \]The constraints of $\mathrm{L}_{\text {est }}$ are
\[ \begin{array}{c} \left\ \mathrm{L}_{\text {e,i }}\right\ _{F}^{2} = 1,\quad \text {i}\in \{ 1,...,{N}_{tar}\} \\[6pt] rank(\mathrm{L}_{\text {est }})={N}_{tar} \end{array} \]Violating the constraints will result in a verdict of Wrong Answer.
Because for each case, the $N_{tar}$ is different. The contestants’ program should estimate the exact value of $N_{tar}$ first. Otherwise, the dimension of $\mathrm{L}_{\text {est }}$ will not match the dimension of $\mathrm{H}_{\text {ideal,downlink,1 }}$.
5 Score calculation
To evaluate the accuracy of the estimated subspace, first obtain the null space projection matrix $\mathrm{D}_{\text {null }}$ of estimated subspace $\mathrm{L}_{\text {est }}$.
\[ \begin{array}{c} \mathrm{L}_{\text {est,t }}=\mathrm{L}_{\text {est }}^{T}\\[6pt] \mathrm{D}_{\text {null }}=\mathrm{I}  \mathrm{L}_{\text {est,t }}\left(\mathrm{L}_{\text {est,t }}^{H}\mathrm{L}_{\text {est,t }}\right)^{1}\mathrm{L}_{\text {est,t }}^{H} \end{array} \]Then compute the projection residual of the ideal subspace
\[ \mathrm{L}_{proj,resid} = \mathrm{D}_{\text {null }}\mathrm{H}_{\text {ideal,downlink,1 }}^{T} \]The average projection residual power can be written as
\[ \mathrm{P}_{resi}= \frac{\left\ \mathrm{L}_{proj,resid}\right\ _{F}^{2}}{N_{tar}} \]The full score is 100, and four cases’ score need to be summed up to obtain the final score. Each case’s sorce can be written as
\[ \mathrm{Score}_{s}= M_{s}\times (1\mathrm{P}_{resi}), \quad s \in \{ \mathrm{CASE1},...,\mathrm{CASE4}\} \]where $M_{\mathrm{CASE1}} = 15, M_{\mathrm{CASE2}} = 20, M_{\mathrm{CASE3}} = 30, M_{\mathrm{CASE4}} = 35$.The full score is written as
\[ M_{fullScore} = M_{\mathrm{CASE1}} + M_{\mathrm{CASE2}} + M_{\mathrm{CASE3}} + M_{\mathrm{CASE4}} = 100 \]6 Program Structure
The main interaction program structure is shown in Figure 5. The detailed steps are described in this section. A simple demo code about this whole process is in the attachment (at the end of this statement).
The / means no input or output in this step.
Hint: Please don’t forget to flush the output. This will result in a Time Limit Exceeded.
Step 0: The black box system (The kattis platform starts from here, so this step is necessary.):
[output: ’Start’]
Step 1: Contestant program(Interaction Start):
[output: $\mathrm{W}_{1} \in \mathbb {C}^{N_{T x} \times N_{stream,1 }}$, $\mathrm{W}_{2} \in \mathbb {C}^{N_{T x} \times N_{stream,2 }}$]
$N_{T x}$ is a constant of 32. $N_{stream,1}$ and $N_{stream,2}$ can be chosen from $\{ 1, ...,N_{T x}\} $ (These two values can be changed between each iteration). Size of output matrices is $32\times N_{stream,1 }$ and $32\times N_{stream,2 }$.
The interaction data has to be a string. Hence $\mathrm{W}_{1} $ and $\mathrm{W}_{2} $ both need to be converted to a string. (See detail in the demo code!)
Step 2: The black box system (Interaction continue):
[output: $\mathrm{Y} \in \mathbb {C}^{N_{R x} \times N_{data}}$]
$N_{R x}$ is a constant of 32 and $N_{data}$ is a constant of 300. Size of output matrix is $32\times 300$. Same as Step 1, the output Y is a string when fed into the contestants’ program.
Step 3: Contestant program(Whether interaction end?):
the input Y must be read from a string and be converted to a matrix.
[input: $\mathrm{Y} \in
\mathbb {C}^{N_{R x} \times N_{data}}$]
If the interaction continue, $\mathrm{W}_{1}$ and $\mathrm{W}_{2}$ need to be output again. Go back to Step 2.
If the interaction end, contestants need to output a sign to tell black box system. Continue to Step 4.
Step 4: The black box system(Interaction end):
[output:’Roger that’]
Step 5: Contestant program (Interaction end) :
[output: $\mathrm{L}_{\text {est }}\in \mathbb {C}^{N_{tar} \times N_{Tx }}$]
$\mathrm{L}_{\text {est }}$ is the estimated downlink channel subspace. $N_{tar}$ can be $\{ 1,..., 10\} $. Size of output matrix is $N_{tar}\times 32$. This output matrix also need to be converted to a string.
Step 6: The black box system (Calculate the score) :
[output: Display Score ]
The accuracy of the estimated downlink channel can be evaluated in this step. The score should be shown to the contestants.
7 Evaluation Criteria
The solutions of contestants are evaluated as follows:

The estimation accuracy of downlink channels of each target signals.

The complexity of the solution is an evaluation criteria in Round 2. Please minimize the complexity of the algorithm as much as possible.