1. A method for detecting a space-time block code, the method comprising: randomly selecting, by a processor, one initial candidate layer (x N ) with respect to a signal vector {tilde over (y)}; applying, by the processor, a decision feedback (DF) algorithm to first J (J≧1) layers (x N−1 , x N−2 ,. .. , x N−J ) with respect to each of all the available candidate symbols within the one initial candidate layer (x N ) to generate candidate symbols of each of the first J layers; re-arranging, by the processor, the first J layers according to values of the generated candidate symbols; selecting, by the processor, the lowest layer of the re-arranged first J layers as a new candidate layer; performing, by the processor, a DF process on remaining layers of the re-arranged first J layers, excluding the new candidate layer, to generate N-dimensional candidate symbol vectors x i ; and performing, by the processor, a maximum likelihood detection on the x i to detect an N-dimensional input vector {circumflex over (x)}.