STBC Rank Criteria Explanation
[First shot] What I like with SE.DSP is that you can try to answer questions on topics you know nothing about. And I know nothing about space-time block coding. But I'll dig into the papers to be more precise later, since I am quite interested in concepts like diversity, redundancy, sparsity.

Most signal processing algorithms reside in the gray area between: "what you really want" and "what you can reasonably achieve". Sometimes, what you want is not computable, or difficult to model, and most of your DSP  work consists in finding a "good-enough" proxy to satisfy both goals. This the modelling and optimization part of DSP.

Concepts like diversity, redundancy, sparsity are rather vague, and could formalized in many and very different ways, depending in the objective. One acceptation of diversity is: how good am I at describing the richness of the space of possibilities? Good may means: do I describe the space of possibilities as much as I can (with respect to my dimension) or do I describe this space efficiently?

Let us be more concrete. In a 2D linear space, I only need two basis vectors to describe all other vectors, by linear combination. Wait, not any tow vectors. Two that are not co-linear. Two (and more vectors) that are colinear, or linearly dependent, have lower rank. 
And we do not care about the size of the vectors. So basically, the rank is one mathematical object that both:


check how much a set of vectors is not colinear
does not really bother about their actual size (if $\vec{a}$ and $\vec{b}$ are not colinear, $\vec{a}$ and $10^{-6} \vec{b}$ ae not as well)


So, the issue is not about being big (as scalar factors barely matter), but being "spread" (or dense).

I'll be back latter, building on parts of: Space–Time Codes for High Data Rate Wireless Communication: Performance Criterion and Code Construction,  IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 44, NO. 2, MARCH 1998