Patent ID: 8433738

Claim:
A filtering apparatus configured to obtain an output in a case where a discrete-time signal having a length of N (N is an integer) is input to an FIR filter with a filter coefficient having a length of M (M is an integer, N≧M−1), the filtering apparatus comprising: a division unit configured to divide the discrete-time signal having the length of N into a plurality of signals and obtain a plurality of discrete-time signals; a first zero padding unit configured to pad an appropriate number of zero after the respective discrete-time signals obtained by the division unit and obtain a plurality of pieces of zero padded data having a length of a multiplier of 2; a first fast Fourier transform unit configured to perform a fast Fourier transform on the respective pieces of zero padded data obtained by the first zero padding unit and obtain a plurality of pieces of frequency domain data; a second zero padding unit configured to pad zero after the filter coefficient having the length of M and obtain a plurality of pieces of zero padded data having a length corresponding to the respective pieces of zero padded data obtained by the first zero padding unit; a second fast Fourier transform unit configured to perform a fast Fourier transform on the respective pieces of zero padded data obtained by the second zero padding unit and obtain a plurality of pieces of frequency domain data; a multiplication unit configured to multiply the respective pieces of frequency domain data obtained by the first fast Fourier transform unit by the respective pieces of frequency domain data obtained by the second fast Fourier transform unit and obtain a plurality of multiplication results; an inverse fast Fourier transform unit configured to perform inverse fast Fourier transform on the respective multiplication results obtained by the multiplication unit and obtain a plurality of discrete-time signals; and an adder unit configured to add the respective discrete-time signals obtained by the inverse fast Fourier transform unit and obtain an output discrete-time signal, wherein the division unit divides the discrete-time signal having the length of N into two and obtains two discrete-time signals, wherein when the length of the multiplier of 2 equal to or larger than (N+M−1) is set as L, the first zero padding unit obtains a zero padded data having a length of L/2 and a zero padded data having a length equal to or smaller than L/2, wherein when a minimum multiplier of 2 equal to or larger than the N is set as P, the N and the M satisfy M−1≦(P−N)/2, and wherein the division unit divides the discrete-time signal having the length of N into a discrete-time signal having a length of (P/2−(M−1)) and a discrete-time signal having a length of (N−P/2+(M−1)).