def METHOD_NAME(self, modulation_type, given_bandwidth_deviation = 0):
    if modulation_type == "ASK":
        if given_bandwidth_deviation > 500:
            # OOK, bandwidth 650kHz, asynchronous
            FuriHalString = "FuriHalSubGhzPresetOok650Async"
            bandwidth_deviation = 650
        else:
            # OOK, bandwidth 270kHz, asynchronous
            FuriHalString = "FuriHalSubGhzPresetOok270Async"
            bandwidth_deviation = 270
    elif modulation_type == "FSK":
        if given_bandwidth_deviation > 20:
            # FM, deviation 47.60742 kHz, asynchronous
            FuriHalString = "FuriHalSubGhzPreset2FSKDev476Async"
            bandwidth_deviation = 47.6
        else:
            # FM, deviation 2.380371 kHz, asynchronous
            FuriHalString = "FuriHalSubGhzPreset2FSKDev238Async"
            bandwidth_deviation = 2.38
    elif modulation_type == "GFSK":
        # GFSK, deviation 19.042969 kHz, 9.996Kb/s, asynchronous
        FuriHalString = "FuriHalSubGhzPresetGFSK9_99KbAsync"
        bandwidth_deviation = 19.04
    elif modulation_type == "PSK":
        FuriHalString = "FuriHalSubGhzPresetCustom"
        bandwidth_deviation = 238
    else:  # Fallback is Flipper Zero SubGHz default
        # OOK, bandwidth 650kHz, asynchronous
        FuriHalString = "FuriHalSubGhzPresetOok650Async"
        bandwidth_deviation = 650
    return FuriHalString, bandwidth_deviation