def convert_frame_change(self, instruction):
        """Return converted `FrameChangeInstruction`.

        Args:
            instruction (PulseQobjInstruction): frame change qobj
        Returns:
            Schedule: Converted and scheduled Instruction
        """
        t0 = instruction.t0
        channel = self.get_channel(instruction.ch)
        phase = instruction.phase

        # This is parameterized
        if isinstance(phase, str):
            phase_expr = parse_string_expr(phase, partial_binding=False)

            def gen_fc_sched(*args, **kwargs):
                # this should be real value
                _phase = phase_expr(*args, **kwargs)
                return commands.FrameChange(_phase)(channel) << t0

            return ParameterizedSchedule(gen_fc_sched,
                                         parameters=phase_expr.params)

        return commands.FrameChange(phase)(channel) << t0
 def gen_fc_sched(*args, **kwargs):
     # this should be real value
     _phase = phase_expr(*args, **kwargs)
     return commands.FrameChange(_phase)(channel) << t0
 def gen_fc_sched(*args, **kwargs):
     phase = abs(phase_expr(*args, **kwargs))
     return commands.FrameChange(phase)(channel) << t0