Aquí observamos las condiciones colocadas en una transformada lineal general para que pueda soportar la convolución cíclica. La forma de una transformación lineal de una secuencia longitud-N de número viene dada por
\[X(k)=\sum_{n=0}^{N-1}t(n,k)x(n) \nonumber \]
para\(k=0,1,...,(N-1)\). La definición de convolución cíclica de dos secuencias viene dada por
\[y(n)=\sum_{m=0}^{N-1}x(m)h(n-m) \nonumber \]
para\(n=0,1,...,(N-1)\) y todos los índices evaluados módulo\(N\). Nos gustaría encontrar las propiedades de la transformación tales que soportará la convolución cíclica. Esto significa que si\(X(k),\; H(k),\; Y(k)\) son las transformaciones de\(x(n),\; h(n),\; y(n)\) respectivamente,
\[Y(k)=X(k)H(k) \nonumber \]
Las condiciones se derivan tomando la transformada definida en las ecuaciones anteriores de ambos lados de la ecuación que da
\[Y(k)=\sum_{n=0}^{N-1}t(n,k)\sum_{m=0}^{N-1}x(m)h(n-m) \nonumber \]
\[Y(k)=\sum_{m=0}^{N-1}\sum_{n=0}^{N-1}x(m)h(n-m)t(n,k) \nonumber \]
Haciendo el cambio de las variables de índice,\(l=n-m\) da
\[Y(k)=\sum_{m=0}^{N-1}\sum_{l=0}^{N-1}x(m)h(l)t(l+m,k) \nonumber \]
Pero a partir de la ecuación, esto debe ser
\[Y(k)=\sum_{n=0}^{N-1}x(n)t(n,k)\sum_{m=0}^{N-1}x(m)t(m,k) \nonumber \]
\[Y(k)=\sum_{m=0}^{N-1}\sum_{l=0}^{N-1}x(m)h(l)t(n,k)t(l,k) \nonumber \]
Esto debe ser cierto para todos\(\(x(n),\; h(n)\) y\(k\), por lo tanto de las ecuaciones anteriores tenemos
\[t(m+l,k)=t(m,k)t(l,k) \nonumber \]
Para\(l=0\) nosotros tenemos
\[t(m,k)=t(m,k)t(0,k) \nonumber \]
Por lo tanto,\(t(0,k)=1\). Para\(l=m\) nosotros tenemos
\[t(2m,k)=t(m,k)t(m,k)=t^2(m,k) \nonumber \]
Porque de igual manera\(l=pm\) tenemos
\[t(pm,k)=t^p(m,k) \nonumber \]
Por lo tanto,
\[t^N(m,k)=t(Nm,k)=t(0,k)=1 \nonumber \]
Pero
\[t(m,k)=t^m(1,k)=t^k(m,1) \nonumber \]
Por lo tanto,
\[t(m,k)=t^{mk}(1,1) \nonumber \]
Definir\(t(1,1)=\alpha\) da la forma para nuestra ecuación de transformación lineal general como
\[X(k)=\sum_{n=0}^{N-1}\alpha ^{nk}x(n) \nonumber \]
donde\(\alpha\) es una raíz de orden\(N\)NN“role="presentation” style="position:relative;” tabindex="0">, lo que significa que\(N\)NN“role="presentation” style="position:relative;” tabindex="0"> es el entero más pequeño tal queαN=1αN=1“role="presentación” style="position:relative;” tabindex="0"> \(\alpha ^N=1\).
Teorema 1 La ecuación de transformación soporta convolución cíclica si y solo si\(\alpha\)αα“role="presentation” style="position:relative;” tabindex="0"> es una raíz de orden\(N\) y\(N^{-1}\) está definida.
Teorema 2 La ecuación de transformación soporta convolución cíclica si y solo si
\[N\mid O(M) \nonumber \]
donde
\[O(M)=\text{gcd}\; \left \{ p_1-1,p_2-1,...,p_l-1 \right \} \nonumber \]
y
\[M=p_{1}^{r_1}p_{2}^{r_2}...p_{l}^{r_l} \nonumber \]
Este teorema es una forma más útil del Teorema 1. Observe queNmax=O(M)Nmax=O(M)“role="presentación” style="position:relative;” tabindex="0"> \(N_{max}=O(M)\).
Uno necesita encontrar apropiado\(N\),\(M\) y\(\alpha\)NN“role="presentation” style="position:relative;” tabindex="0"> tal que
- \(N\)debe ser apropiado para un algoritmo rápido y manejar las longitudes de secuencia deseadas.
- \(M\)debería permitir el rango dinámico deseado de las señales y debería permitir la aritmética modular simple.
- \(\alpha\)debería permitir una simple multiplicación paraαnkx(n)αnkx(n)“role="presentación” style="position:relative;” tabindex="0"> \(\alpha ^{nk}x(n)\).
Vemos que siMM“role="presentation” style="position:relative;” tabindex="0">\(M\) es par, tiene un factor de 2 y, por lo tanto, lo\(O(M)=N_{max}=1\) que implicaMM“role="presentation” style="position:relative;” tabindex="0">\(M\) debería ser impar. SiMM“role="presentation” style="position:relative;” tabindex="0">\(M\) es prime elO(M)=M-1O(M)=M-1“role="presentation” style="position:relative;” tabindex="0">\(O(M)=M-1\) que es tan grande como podría esperarse en un campo deMM“role="presentation” style="position:relative;” tabindex="0">\(M\) enteros. Para\(M=2^k-1\), dejar\(k\) ser un compuestok=pqk=pq“role="presentation” style="position:relative;” tabindex="0">\(k=pq\) donde\(p\) es prime. Entonces2p-12p-1“role="presentación” style="position:relative;” tabindex="0">\(2^p-1\) divide2pq-12pq-1“role="presentation” style="position:relative;” tabindex="0">\(2^{pq}-1\) y la longitud máxima posible de la transformada se regirá por la longitud posible para2p-12p-1“role="presentación” style="position:relative;” tabindex="0">\(2^p-1\). Por lo tanto, sólo el prime\(k\) necesita ser considerado interesante. Los números de esta forma se conocen como números de Mersenne y han sido utilizados por Rader. Para las transformaciones numéricas de Mersenne, se puede demostrar que las transformaciones de longitud al menosMM“role="presentación” style="position:relative;” tabindex="0">\(2p\)2p2p“role="presentación” style="position:relative;” tabindex="0">kk“role="presentación” style="position:relative;” tabindex="0">2p-12p-1“role="presentation” style="position:relative;” tabindex="0"> existen y los correspondientesα=-2α=-2“role="presentación” style="position:relative;” tabindex="0">\(\alpha =-2\). Las transformaciones numéricas de Mersenne no son de tanto interés porqueMM“role="presentation” style="position:relative;” tabindex="0"> no\(2p\) es altamente compuesto y, por lo tanto, no tenemos algoritmos de tipo FFT.
2p2p“role="presentation” style="position:relative;” tabindex="0"> For\(M=2^k+1\) e\(k\) impar, 3 divide\(2^k+1\) y la longitud máxima de transformación posible es 2. Por lo tanto consideramos sólo parejo\(k\). Let\(k=s2^t\), donde\(s\) es un entero impar. Entonces22t22t“role="presentation” style="position:relative;” tabindex="0">\(2^{2^t}\) divide\(2^{s2^t}+1\) y la longitud de la posible transformación se regirá por la longitud posible para\(2^{s2^t}+1\). Por lo tanto, los enteros de la formaM=22t+1M=22t+1“role="presentation” style="position:relative;” tabindex="0">\(M=2^{2^t}+1\) son de interés. Estos números se conocen como números de Fermat. Los números de Fermat son primos para0≤t≤40≤t≤4“role="presentation” style="position:relative;” tabindex="0"> \(0\leq t\leq 4\)y son compuestos para todos\(t\geq 5\).
Desde Fermat numera hastaF4F4“role="presentation” style="position:relative;” tabindex="0">\(F_4\) son primos,\(O(F_t)=2^b\) donde\(b=2^t\) y podemos tener una transformada de número Fermat para cualquier longitud\(N=2^m\) donde\(m\leq b\). Para estos cebos Fermat el enteroα=3α=3“role="presentation” style="position:relative;” tabindex="0">\(\alpha =3\) es de orden\(N=2^b\) permitiendo la mayor longitud de transformación posible. El enteroα=2α=2“role="presentation” style="position:relative;” tabindex="0">\(\alpha =2\) es de ordenN=2b=2t+1N=2b=2t+1“role="presentación” style="position:relative;” tabindex="0">\(N=2^b=2^{t+1}\). Esto es particularmente atractivo ya queαα“role="presentation” style="position:relative;” tabindex="0"> \(\alpha\)a una potencia se multiplica por los valores de datos en la ecuación.
La siguiente tabla da posibles parámetros para varios módulos de números Fermat.
t |
b |
\(M=F_t\) |
\(N_2\) |
\(N_{\sqrt{2}}\) |
\(N_{max}\) |
\(\alpha \: \text{for}\: N_{max}\) |
|
|
|
|
|
|
|
3 |
8 |
\(2^8+1\) |
16 |
32 |
256 |
3 |
4 |
16 |
\(2^{16}+1\) |
32 |
64 |
65536 |
3 |
5 |
32 |
\(2^{32}+1\) |
64 |
128 |
128 |
\(\sqrt{2}\) |
6 |
64 |
\(2^{64}+1\) |
128 |
256 |
256 |
\(\sqrt{2}\) |
Tabla 12.5.1 Módulos de números Fermat
Esta tabla da valores deNN“role="presentation” style="position:relative;” tabindex="0">\(N\) para los dos valores más importantes deαα“role="presentation” style="position:relative;” tabindex="0">\(\alpha\) que son 2 y\(\sqrt{2}\). La segunda columna da el número aproximado de bits en la representación numérica. La tercera columna da el módulo numérico de Fermat, la cuarta es la longitud máxima de convolución paraα=2α=2“role="presentation” style="position:relative;” tabindex="0">\(\alpha =2\), el quinto es la longitud máxima paraα=2α=2“role="presentation” style="position:relative;” tabindex="0">\(\alpha =\sqrt{2}\), el sexto es la longitud máxima para cualquierαα“role="presentation” style="position:relative;” tabindex="0">\(\alpha\), y el séptimo es elαα“role="presentación” style="position:relative;” tabindex="0">αα“role="presentación” style="position:relative;” tabindex="0">αα“role="presentation” style="position:relative;” tabindex="0"> \(\alpha\)para esa longitud máxima. Recuerde que las dos primeras filas tienen un módulo numérico Fermat que es primo y las segundas dos filas tienen un número Fermat compuesto como módulo. Tenga en cuenta las diferencias.