Turbo coding for satellite and wireless communications