commit 006841ff46ec83e606d11a7f4ec1d0eb9414c11b
parent 8de15ac9e793aaeabe0ee48892008f8cc63b755c
Author: Egor Achkasov <eaachkasov@gmail.com>
Date: Fri, 23 May 2025 01:40:35 +0200
Fix array continuity
Diffstat:
2 files changed, 30 insertions(+), 30 deletions(-)
diff --git a/include/common.h b/include/common.h
@@ -31,30 +31,30 @@ typedef struct {
/* Raw data */
/* Transmitted signal */
-extern data_t x_re[NUM_TX][NUM_SC];
-extern data_t x_im[NUM_TX][NUM_SC];
+extern data_t x_re[NUM_TX * NUM_SC];
+extern data_t x_im[NUM_TX * NUM_SC];
/* Channel */
-extern data_t H_re[NUM_RX][NUM_TX][NUM_SC];
-extern data_t H_im[NUM_RX][NUM_TX][NUM_SC];
+extern data_t H_re[NUM_RX * NUM_TX * NUM_SC];
+extern data_t H_im[NUM_RX * NUM_TX * NUM_SC];
/* Noise covariance matrix */
-extern data_t R_re[NUM_TX][NUM_TX][NUM_SC];
-extern data_t R_im[NUM_TX][NUM_TX][NUM_SC];
+extern data_t R_re[NUM_TX * NUM_TX * NUM_SC];
+extern data_t R_im[NUM_TX * NUM_TX * NUM_SC];
/* Received signal */
-extern data_t y_re[NUM_RX][NUM_SC];
-extern data_t y_im[NUM_RX][NUM_SC];
+extern data_t y_re[NUM_RX * NUM_SC];
+extern data_t y_im[NUM_RX * NUM_SC];
/* MMSE raw data */
-extern data_t G_re[NUM_TX][NUM_TX][NUM_SC];
-extern data_t G_im[NUM_TX][NUM_TX][NUM_SC];
-extern data_t L_re[NUM_TX][NUM_TX][NUM_SC];
-extern data_t L_im[NUM_TX][NUM_TX][NUM_SC];
-extern data_t g_D[NUM_TX][NUM_SC]; /* no imaginary part in D */
-extern data_t HHy_re[NUM_TX][NUM_SC];
-extern data_t HHy_im[NUM_TX][NUM_SC];
-extern data_t z_re[NUM_TX][NUM_SC];
-extern data_t z_im[NUM_TX][NUM_SC];
+extern data_t G_re[NUM_TX * NUM_TX * NUM_SC];
+extern data_t G_im[NUM_TX * NUM_TX * NUM_SC];
+extern data_t L_re[NUM_TX * NUM_TX * NUM_SC];
+extern data_t L_im[NUM_TX * NUM_TX * NUM_SC];
+extern data_t g_D[NUM_TX * NUM_SC]; /* no imaginary part in D */
+extern data_t HHy_re[NUM_TX * NUM_SC];
+extern data_t HHy_im[NUM_TX * NUM_SC];
+extern data_t z_re[NUM_TX * NUM_SC];
+extern data_t z_im[NUM_TX * NUM_SC];
/* Result of MMSE approximation */
-extern data_t x_MMSE_re[NUM_TX][NUM_SC];
-extern data_t x_MMSE_im[NUM_TX][NUM_SC];
+extern data_t x_MMSE_re[NUM_TX * NUM_SC];
+extern data_t x_MMSE_im[NUM_TX * NUM_SC];
/* Same data but casted to vcomplex */
extern vcomplex g_x;
diff --git a/main.c b/main.c
@@ -36,17 +36,17 @@ IMPORT_BIN(.rodata, "data/y_re.bin", y_re);
IMPORT_BIN(.rodata, "data/y_im.bin", y_im);
/* Allocate space for MMSE raw data */
-data_t G_re[NUM_TX][NUM_TX][NUM_SC];
-data_t G_im[NUM_TX][NUM_TX][NUM_SC];
-data_t L_re[NUM_TX][NUM_TX][NUM_SC];
-data_t L_im[NUM_TX][NUM_TX][NUM_SC];
-data_t g_D[NUM_TX][NUM_SC]; /* no imaginary part in D */
-data_t HHy_re[NUM_TX][NUM_SC];
-data_t HHy_im[NUM_TX][NUM_SC];
-data_t z_re[NUM_TX][NUM_SC];
-data_t z_im[NUM_TX][NUM_SC];
-data_t x_MMSE_re[NUM_TX][NUM_SC];
-data_t x_MMSE_im[NUM_TX][NUM_SC];
+data_t G_re[NUM_TX * NUM_TX * NUM_SC];
+data_t G_im[NUM_TX * NUM_TX * NUM_SC];
+data_t L_re[NUM_TX * NUM_TX * NUM_SC];
+data_t L_im[NUM_TX * NUM_TX * NUM_SC];
+data_t g_D[NUM_TX * NUM_SC]; /* no imaginary part in D */
+data_t HHy_re[NUM_TX * NUM_SC];
+data_t HHy_im[NUM_TX * NUM_SC];
+data_t z_re[NUM_TX * NUM_SC];
+data_t z_im[NUM_TX * NUM_SC];
+data_t x_MMSE_re[NUM_TX * NUM_SC];
+data_t x_MMSE_im[NUM_TX * NUM_SC];
/* Initialize data */
vcomplex g_x = { .re = (data_t *)x_re, .im = (data_t *)x_im };