<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def log_power_spectrum(frames, fft_points=512, normalize=True):
 """Log power spectrum of each frame in frames. Args: frames (array):
 The frame array in which each row is a frame. fft_points (int):
 The length of FFT. If fft_length is greater than frame_len, the frames will be zero-padded. normalize (bool):
 If normalize=True, the log power spectrum will be normalized. Returns: array: The power spectrum - If frames is an num_frames x sample_per_frame matrix, output will be num_frames x fft_length. """

    power_spec = power_spectrum(frames, fft_points)
    power_spec[power_spec <= 1e-20] = 1e-20
    log_power_spec = 10 * np.log10(power_spec)
    if normalize:
        return log_power_spec - np.max(log_power_spec)
    else:
        return log_power_spec