Implementation of fountain codes over fading channels