Design of Interleavers for Turbo Codes Based on a Cost Function