def fix_segment_table(segment_table):
    """Given a list of dictionaries in the form [{"start":start_frequency,
    "stop":stop_frequency,"number_points":number_points,"step":frequency_step}...] returns a table that is ordered by start
    frequency and has no overlapping points"""
    segment_table = sorted(segment_table, key=lambda x: x['start'])
    i = 0
    while i + 1 < len(segment_table):
        if segment_table[i]['stop'] == segment_table[i + 1]['start']:
            segment_table[i + 1]['start'] = segment_table[i + 1]['start'
                ] + segment_table[i + 1]['step']
            segment_table[i + 1]['number_points'] -= 1
        i += 1
    return segment_table
