working i+q+carrier generation