https://github.com/diegomarvid/fourier
Libreria basica de Fourier discreto para procesamiento digital en Javascript
https://github.com/diegomarvid/fourier
Last synced: 3 months ago
JSON representation
Libreria basica de Fourier discreto para procesamiento digital en Javascript
- Host: GitHub
- URL: https://github.com/diegomarvid/fourier
- Owner: diegomarvid
- License: mit
- Created: 2019-12-16T06:47:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-12-18T16:06:06.000Z (over 5 years ago)
- Last Synced: 2025-01-20T18:12:50.950Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 567 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fourier
Librería de DFT.Para crear un objeto Fourier se debe hacer
```javascript
let F = new Fourier(x);
```Donde x es la señal en tiempo discreto, siendo esta un objeto Complex.
Por defecto se crea el objeto en el centro de la pantalla pero se puede trasladar añadiendo
parámetros de coordenadas de la siguiente forma:```javascript
let F = new Fourier(x, 200, 300);
```Donde 200 es la coordenada en el eje 'x' y 300 en el eje 'y'.
Si se quiere cambiar los colores se deben crear objetos color() para poder modificarlos,
un ejemplo de inicializacion es el siguiente:```javascript
let color_center = color(255, 100);let color_line = color(255);
let color_wave = color(20,200,50);
let F = new Fourier(x, width / 2, height / 2, color_center, color_line, color_wave);
```Para poder observar los epicycles de la transformada se hace:
```javascript
F.show_epycicles();
```Si además se quiere dibujar el camino que hace para poder observar la forma generada
se debe llamar con el parámetro true.```javascript
F.show_epycicles(true);
```Para poder exportar la dft existe la funcion export:
```javascrpt
F.export("dft.txt");
```El formato del texto exportado es de la forma `%f + %fi/n`
Esto significa que por cada linea se encuentra el complejo asociado de la transformada discreta
de Fourier. La primera linea corresponde a frecuencia cero y asi en adelante.Para poder acceder a los valores desde un lenguaje numerico como MATLAB se puede implementar el siguiente codigo:
```matlab
clear;
fileID = fopen("dft.txt" , 'r');
formatSpec = "%f + %fi\n";
sizeA = [2 inf];
A = fscanf(fileID, formatSpec, sizeA);
N = size(A, 2);
X = zeros(1, N);
for n = 1:N
X(n) = A(1,n) + A(2, n)*j;
endfclose(fileID);
```
Una vez que se tiene el vector X se puede utilizar el lenguaje para aprovechar sus graficas o poder realizar operaciones en la transformada como filtrar altas frecuencias.