Я попал в проект, который мне не понятен. Я пытаюсь извлечь значения «частотной области», такие как HF, LF и VLF. Я также должен отобразить частоту на графике с единицей "s² / Hz" на оси Y. Код должен быть в Javascript для применения в Ionic APP.
До сих пор я анализировал много библиотек, но на разных языках:
В некоторых видео также пытались понять механизм преобразования временной области в частотную:
Единственный код, который я мог немного продвинуть, это функция быстрого преобразования Фурье, в Javascript:
Но, тем не менее, 1) числа явно находятся в другом единстве;2) данный массив был зеркальным (что-то вроде: [1,2,3,3,2,1]);3) 1-я позиция слишком высока.
var frequencies = fft([0.737,0.677,0.792,0.754,0.796,0.862,0.855,0.792,0.792,0.877,0.728,0.717,0.654,0.659,0.686,0.695,0.796,0.828,0.815,0.792,0.784,0.783,0.765,0.761,0.778,0.849,0.861,0.852,0.879,0.844,0.812,0.892,0.797,0.791,0.768,0.889,0.855,0.816,0.852,0.945,0.914,0.857,0.863,0.822,0.793,0.783,0.824,0.855,0.847,0.857,0.859,0.854,0.841,0.868,0.876,0.846,0.863,0.793,0.753,0.698,0.717,0.757,0.717,0.779,0.845,0.868,0.857,0.882,0.749,0.772,0.755,0.738,0.775,0.789,0.827,0.825,0.828,0.791,0.717,0.728,0.739,0.747,0.818,0.835,0.796,0.828,0.831,0.796,0.776,0.771,0.825,0.797,0.827,0.852,0.872,0.899,0.897,0.838,0.831,0.855]);
var frequencies_amp = Array();
frequencies.shift();
frequencies.forEach(function(v){
frequencies_amp.push(v.amp);
});
frequencies_amp = frequencies_amp.splice(0, frequencies_amp.length/2);
console.log(frequencies_amp)
Приведенный выше код дал результат:
Но ожидаемыйбыло:
Любая помощь приветствуется!