Find signal's maximum peak in window
Instead of getting the positions of the maximum value and then retrieving the values thanks to the positions, you can directly ask numpy to retrieve the maximum values:

tmp = sig.reshape((trial_num, step, dims))
max_res = np.max(np.max(tmp, axis=1), axis=1)


I suggest you, however, to use a function to encapsulate this behaviour. It could take the amount of steps per cycle as a parameter and compute the rest from there:

def max_peak_values(data, steps_per_cycle=30):
    length, dims = data.shape
    trials = length // steps_per_cycle
    new_shape = trials, steps_per_cycle, dims

    return np.max(np.max(data.reshape(new_shape), axis=1), axis=1)


and use it like:

max_res = max_peak_values(sig, 30)