def _get_row_amplitudes(self):
sample_rate = self.signal.sample_rate<EOL>signal_window = tile(self.signal(), ceil(<NUM_LIT:1.0>/self.signal.interval_length))<EOL>if self.windowing_function == None:<EOL><INDENT>smoothed_window = signal_window[<NUM_LIT:0>:sample_rate]<EOL><DEDENT>else:<EOL><INDENT>smoothed_window = signal_window[<NUM_LIT:0>:sample_rate] * self.windowing_function(sample_rate)<EOL><DEDENT>row_amplitudes = abs(fft.rfft(smoothed_window))[<NUM_LIT:0>:sample_rate/<NUM_LIT:2>]<EOL>row_amplitudes = row_amplitudes.reshape(<NUM_LIT:1>,sample_rate/<NUM_LIT>)<EOL>filter_responses = multiply(self.cochlear_channels, row_amplitudes)<EOL>sheet_responses = zeros(self._num_of_channels)<EOL>for channel in range(<NUM_LIT:0>,self._num_of_channels):<EOL><INDENT>time_responses = abs(fft.ifft(filter_responses[channel]))<EOL>sheet_responses[channel] = sum(time_responses) / (sample_rate/<NUM_LIT>)<EOL><DEDENT>return sheet_responses.reshape(self._num_of_channels, <NUM_LIT:1>)<EOL>
Perform a real Discrete Fourier Transform (DFT; implemented
using a Fast Fourier Transform algorithm, FFT) of the current
sample from the signal multiplied by the smoothing window.

See numpy.rfft for information about the Fourier transform.