After a lot of trial and error, I found the following lines of python code,
for N in range(2**1,2**3): print [(2**n % (3*2**(2*N - n))) % (2**N-1) for n in range(2*N+1)]
which produce the following conclusion,
[1, 2, 1, 2, 1] [1, 2, 4, 1, 4, 2, 1] [1, 2, 4, 8, 1, 8, 4, 2, 1] [1, 2, 4, 8, 16, 1, 16, 8, 4, 2, 1] [1, 2, 4, 8, 16, 32, 1, 32, 16, 8, 4, 2, 1] [1, 2, 4, 8, 16, 32, 64, 1, 64, 32, 16, 8, 4, 2, 1]
i.e. degrees from 2 to 2**(N-1) , 1 and degrees of two inverse. This is exactly what I need for my problem (related to fft and wavelet). However, I'm not quite sure why this works? The final modulo operation, which I understand, is provided by 1 in the middle of the series. Factor 3 in the first modulo operation gives me headaches. Can anyone suggest an explanation? In particular, what is the connection between my base 2 and factor 3?