在快速傅里叶变换(FFT)中,变换因子是一个复数,因而需要进行复数运算。但是,
,这表明
是1的
次根。对于任意整数
,
是按
对
取模呈现周期性。在数论变换中,是以整数
代替复数
实现正变换和反变换,要求这个整数是1的
次根。这一要求在一般的整数运算规则中不成立,只有采用同余式的运算规则才能找到满足这一要求的
和
。利用这样的
和
可以构成数论变换公式为:
…(1)
显然,这种变换在计算速度上比快速傅里叶变换快。
把一个给定的正整数称为模(mod),如果用
去除任意两个整数
和
,所得余数相同,便称作
和
对模
同余,记作:
…(2)
因此,同余式运算规则是以正整数为模的整数环域上所定义的一种线性正交变换。
在式(1)中,整数、
、
三者之间必须满足如下关系:
满足上式的最小正整数叫作
对模
的指数,
是1的
次根,或简称
是
阶的。例如,
为2时对模7的指数是3,对模11的指数是10。
在数论变换中要求找到合适的、
和
值。所选择的
应当是高复合数。但如采用2的乘方,就能构成像FFT算法那样的信号流图,并且希望选取的
值足够大,以满足实际需要。其次,所选取的
应当能用简便的方法实现乘法运算,因为在计算机中乘法运算最花费时间;如果
是2的乘方,可以用移位操作实现
的乘方运算,因而比较方便。又由于是模运算,所以不存在舍入误差。此外,
最好也是位数不太多的二进制数,而且必须是大于2的素数。