In LTE system, it is difficult for an eNB to properly allocate uplink resource blocks (RBs) to UEs as many factors complicate the issue. So far, most research has focused on maximizing system throughput. However, this is often achieved by downgrading other performance metrics and may result in the waste of resources. In this paper, a resource allocation scheme for LTE uplink is proposed which takes into account the data rate granted by call admission control (CAC). Data rate is defined based on exponentially weighted moving average (EWMA). The scheme leads to a close match between user demand and resources actually allocated, thereby making better use of the resources. In addition, robust modulation-coding is considered in resource allocation. Results obtained via simulation show that the proposed scheme demonstrates good performance in important aspects compared to other resource allocation methods.