# exp( - j 2 pi k / N ) = W^k_N from math import exp, cos, sin, pi class TwiddleFactors(object): """docstring for TwiddleFactors""" def __init__(self, N): super (TwiddleFactors, self).__init__() self.N = N self.w = [] self.w_int = [] def build_twiddle_factors(self): w = [] for k in range( self.N / 2 ): teta = - 2 * pi * k / self.N w.append( cos ( teta ) + 1j * sin( teta ) ) self.w = w[:] return w def twiddle_factors_dot_vhd_generation(self): print 'size of w = ', len(self.w) nb_bits = 16 print self.w for k in range( self.N / 2 ): w_int_re = int(self.w[k].real * 2**(nb_bits-1)) w_int_im = int(self.w[k].imag * 2**(nb_bits-1)) self.w_int.append( w_int_re + 1j * w_int_im ) print self.w_int pass