Digamos que tenemos una base de datos de cinco mil señales discretas de 512 puntos . Cada entrada de base de datos es única en sí misma. El punto importante a tener en cuenta sobre las señales en la base de datos es que de los 512 puntos, más de la mitad de los puntos son cero para todas las señales. Ahora, capturamos una señal discreta de 512 puntos desde el exterior (los detalles no son importantes). Esta señal corresponde a una de las señales en las cinco mil entradas de la base de datos. Yo comparo la señal adquirida tomando la Correlación de Spearman de la señal adquirida con cada una de las cinco mil señales y la entrada que da el mayor coeficiente de correlación es la más cercana y representa la señal adquirida. Esta operación de correlación, especialmente la correlación de 512 puntos, consume mucho tiempo en MATLAB. Obviamente, hay una latencia en la PC, que es la principal razón para el consumo de tiempo. El tiempo consumido es de 2.3 segundos en promedio para calcular la correlación de la señal adquirida con cada uno de los 5000 entradas de la base de datos.
Ahora, digamos que quiero implementar la cosa exacta en un FPGA (Familia Virtex-7 Xilinx). Creo que la operación de correlación se puede hacer en paralelo porque la señal adquirida es solo una y las entradas de la base de datos se pueden almacenar en el FPGA. Por lo tanto, no todas las 5000 señales pueden correlacionarse en paralelo, sin embargo, si al menos 1000 pueden correlacionarse en paralelo, entonces el tiempo se reducirá considerablemente en el FPGA. Por lo tanto, mi pregunta es cuántas señales podría correlacionar al mismo tiempo en este FPGA y cuál será el tiempo aproximado tomado para esta correlación de 512 puntos en total si se implementa en este FPGA.