Analysis and design of natural and threaded space-time codes with iterative decoding