Department of Electrical and Computer Engineering, University of Alberta, Edmonton T6G 2V4, Canada.|Department of Electrical and Computer Engineering, University of Alberta, Edmonton T6G 2V4, Canada Department of Computer Science, Virginia Commonwealth University, Richmond, 23284, U.S.A.