A method of generating a space-time block code, STBC, for encoding a digital data sequence comprising a set of independent symbols to be transmitted through a transmission channel in a communication system, the transmission channel being represented by an equivalent channel matrix, the space-time block code being represented by a set of linear dispersion matrices in a linear dispersion representation, each linear dispersion matrix comprising components having complex values, wherein the method comprises: generating, for every pair of two columns of the equivalent channel matrix which are to be orthogonal, the components of a pair of linear dispersion matrices which pair of linear dispersion matrices corresponds to said two columns depending on component-wise conditions, each pair of linear dispersion matrices comprising a first linear dispersion matrix comprising n t rows and T columns and a second linear dispersion matrix comprising n t rows and T columns, wherein n t represents the number of transmission antennas and T represents the length of the space-time block code, said component-wise conditions comprising a component-wise condition between the components of the first linear dispersion matrix and the components of the second linear dispersion matrix, wherein said component-wise condition depends on the trace form of the product between a component of the first linear dispersion matrix and the complex conjugate of a component of the second linear dispersion matrix, and wherein said component-wise condition is satisfied if at least one of the following is true: A. Tr a ql i a pl j ∗ = 0, ∀ p, q = 1,..., n t B. Tr i a ql i a pl j ∗ = 0, ∀ p ≠ q, p ≥ 1, q ≤ n t where a ql i designates the component of the first linear dispersion matrix A i at row q and column I and a ql j designates the component of the second linear dispersion matrix A j at row p and Column I. generating, for every pair of two columns of the equivalent channel matrix which are to be orthogonal, the components of a pair of linear dispersion matrices which pair of linear dispersion matrices corresponds to said two columns depending on component-wise conditions, each pair of linear dispersion matrices comprising a first linear dispersion matrix comprising n t rows and T columns and a second linear dispersion matrix comprising n t rows and T columns, wherein n t represents the number of transmission antennas and T represents the length of the space-time block code, said component-wise conditions comprising a component-wise condition between the components of the first linear dispersion matrix and the components of the second linear dispersion matrix, wherein said component-wise condition depends on the trace form of the product between a component of the first linear dispersion matrix and the complex conjugate of a component of the second linear dispersion matrix, and wherein said component-wise condition is satisfied if at least one of the following is true: A. Tr a ql i a pl j ∗ = 0, ∀ p, q = 1,..., n t B. Tr i a ql i a pl j ∗ = 0, ∀ p ≠ q, p ≥ 1, q ≤ n t where a ql i designates the component of the first linear dispersion matrix A i at row q and column I and a ql j designates the component of the second linear dispersion matrix A j at row p and Column I. A. Tr a ql i a pl j ∗ = 0, ∀ p, q = 1,..., n t B. Tr i a ql i a pl j ∗ = 0, ∀ p ≠ q, p ≥ 1, q ≤ n t