Adversarial training-aided time-varying channel prediction for TDD/FDD systems