Iterative Detection for Spatial Multiplexing with Adaptive Power Allocation