Data Communication Systems and Their Performance