Hi Nadav You can also read the interesting discussion at
http://projects.scipy.org/numpy/ticket/748 which also contains some padding code. I still disagree with the conclusion, but oh well :) Cheers Stéfan 2009/3/6 Nadav Horesh <[email protected]>: > I found the solution I needed for my peculiar case after reading your email > based of the following stages: > > I have a N x N frequency-domain matrix Z > > 1. Use fftshift to obtain a DC centered matrix > Note: fftshift(fft(a)) replaces np.fft.fft(np.power(-1,np.arange(64))*a) > Zs = np.fft.fftshift(Z) > 2. pad Zs with zeros > scale = int(ceil(float(N)/M)) > MM = scale*M > Ztemp = np.zeros((MM,MM), dtype=complex) > Ztemp[(MM-N)//2:(N-MM)//2,(MM-N)//2:(N-MM)//2] = Zs > 3. Shift back to a "normal order" > Ztemp = np.fft.ifftshift(Ztemp) > 4. Transform to the "time domain" and sub-sample > z = np.fft.ifft2(Ztemp)[::scale, ::scale] > > I went this was since I needed the aliasing, otherwise I could just truncate > Zs to size MxM. _______________________________________________ Numpy-discussion mailing list [email protected] http://mail.scipy.org/mailman/listinfo/numpy-discussion
