Cognitive radio networks have emerged to improve the utilization of the scarce spectrum. In this paper, we propose a distributed resource allocation algorithm that allocates resources opportunistically to the secondary users in a multiple-input multiple-output environment. In order to reduce the complexity and cost, antenna selection schemes are employed to allow the secondary communication using a single radio frequency chain. The proposed algorithm is proved theoretically and using simulations, to give a performance very close to that of a centralized one with lower delay and overhead. Furthermore, we introduce two techniques for the proposed algorithm based on the allowable data rates referred to as limited and maximum rates. We derive closed-form expression for the consumed power and tight upper bounds for the average throughput achieved by each technique. A comparison between the proposed techniques is also provided. Both simulations and analytical results show that the proposed algorithm achieves high throughput with low complexity. Moreover, the results show that the tightness of the bounds improves with the diversity order. Finally, the proposed techniques are compared with two suggested random schemes to investigate their effectiveness.