Uniform puncturing approach to the performance evaluation of punctured turbo product codes: theory and applications