Adaptive Resource Allocation Techniques for Nonorthogonal Multiple Access (NOMA) Systems