## 5 Materials and Methods
### Contrastive Semantic Alignment
Since radio signals are sensitive to atmospheric conditions such as temperature, humidity, sunlight, darkness, wind speed, visibility, etc., the model's adaptability to these typical scenarios is also an essential factor in analyzing the recognition accuracy in MUDA vs SUDA settings. To the best of our knowledge, we are the pioneers in assessing the performance of an adaptation model in cross-atmospheric conditions with the help of device-free Wi-Fi sensing. We found the Brinke and Meratnia dataset suitable for this assessment because we could use the CSI data for two participants performing activities on three different days of a week marked as day6, day7, and day8 in the public dataset. We focused on four activities, including clapping, falling, nothing, and walking. Multi-source M-FUDA (MMD) achieved the best micro-F1 and macro-F1 scores on 5 out of 6 tasks when we switched between day6, day7, and day8 from the training to the testing phase. It obtained the highest averaged micro- and macro-F1 scores--73.3% and 73.1%, which was 1.38% and 1.39% higher than combined-source M-FUDA (MMD) and MCD [59; 88], as reported in Tables 8 and 9. The proposed multi-source M-FUDA (MMD) also successfully outperformed multi-source M-FUDA (MK-MMD) and combined-source CORAL [72] and Wasserstein [89]. However, there was not a big difference in the predictive performance of multi-source M-FUDA vs combined-source SUDA methods in cross-atmospheric conditions, showing the limitations of the proposed architecture. M-FUDA is a computationally expensive architecture because we need to train each pair of source and target domains separately, and increasing the diversity in domains demands high computational costs, which is not advisable for minor accuracy improvements in scenarios such as cross-atmospheric conditions domain-shifting tasks, as demonstrated in Table 10. The Brinke and Meratnia dataset was analyzed for cross-atmospheric tasks, comparing the averaged micro- and macro-F1 scores of multi-source M-FUDA with those of baseline models, as depicted in Figure 10. Last, we compared the training times of the proposed M-FUDA variants with baseline methods across cross-domain tasks, as illustrated in Figure 11.

\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline \multicolumn{1}{c}{} & \multicolumn{4}{c}{**Macro-F1**} \\ \hline \multicolumn{3}{c}{**Source Domains**} & \multicolumn{3}{c}{**Target Domain**} & \multicolumn{3}{c}{**Proposed Multi-Source Models**} & \multicolumn{3}{c}{**Combined-Source Models**} \\ \hline
**Source 1** & **Source 2** & **Source 3** & **Target 1** & **M-FUDA (MMD)** & **M-FUDA (MK-MMD)** & **M-FUDA (MMD)** & **CORAL [72]** & **Wasserstein [89]** & **MCD [59; 88]** \\ \hline E1(S1) & E1(S2) & E1(S3) & E3(S2) & 0.70 & \begin{table}
\begin{tabular}{c c c c c c c c c c c} \hline \hline  & \multicolumn{10}{c}{**Micro-F1**} \\ \hline \multicolumn{1}{c}{**Source Domains**} & \multicolumn{1}{c}{**Target Domain**} & \multicolumn{3}{c}{**Proposed Multi-Source Models**} & \multicolumn{3}{c}{**Combined-Source Models**} \\ \hline
**Source 1** & **Source 2** & **Source 3** & **Target 1** & **M-FUDA (MMD)** & **M-FUDA (MK-MMD)** & **M-FUDA (MMD)** & **CORAL [72]** & **Wasserstein [89]** & **MCD [59, 88]** \\ \hline
**De(S1)** & D7(S1) & D8(S2) & D8(S1) & 0.70 & 0.68 & 0.69 & 0.57 & 0.58 & 0.68 \\ \hline
**D7(S1)** & D8(S1) & D6(S2) & D6(S1) & 0.78 & 0.75 & 0.80 & 0.71 & 0.68 & 0.89 \\ \hline
**De(S1)** & D8(S1) & D7(S2) & D7(S1) & 0.76 & 0.73 & 0.75 & 0.68 & 0.66 & 0.70 \\ \hline
**De(S2)** & D7(S2) & D8(S1) & D8(S2) & 0.67 & 0.66 & 0.63 & 0.58 & 0.60 & 0.62 \\ \hline
**D7(S2)** & D8(S2) & D6(S1) & D6(S2) & 0.74 & 0.67 & 0.74 & 0.67 & 0.65 & 0.73 \\ \hline
**De(S2)** & D8(S2) & D7(S1) & D7(S2) & 0.75 & 0.72 & 0.73 & 0.69 & 0.67 & 0.72 \\ \multicolumn{10}{c}{**Average**} & \multicolumn{1}{c}{**0.73**} & **0.70** & **0.72** & **0.65** & **0.64** & **0.72** \\ \hline \hline \end{tabular} Note: S1 means Subject 1, S2 means Subject 2, D6 means day6, D7 means day7, and D8 means day8.

\end{table}