Size: a a a

2021 January 18

A

Arelav in pro.algorithms
Albyc
Ну да, нужно придумать метрику, которая максимальна, если точки максимально близко друг к другу + в одном направлении, если направление задаётся историей. Хотя направление может резко измениться, если шаг между точками большой - никто не говорил, что они, точки, распределенны равномерно на кривой))
Я не понял из твоих сообщений.
Предположим задана первая точка и направление. Вторая точка будет ближайшая? Или первая точка которая попадется если вращать луч с заданного направления по часовой?
источник

A

Arelav in pro.algorithms
Или вообще какой то вес направления и расстояния?
источник

DT

Dmitry Teh in pro.algorithms
делаю БПФ по мануалу https://holometer.fnal.gov/GH_FFT.pdf
хочу получить спектр, как в Audacity

вычисляю Linear (amplitude) Spectrum
беру от каждого бина 20 * Math.Log10(value) и получаю такую картину, где график сдвинут вниз на 75дБ.
Это нормально? И как правильно привести к виду, как у Audacity? Просто добавить 75дБ?
источник

P

Pepe 🐸 in pro.algorithms
Dmitry Teh
делаю БПФ по мануалу https://holometer.fnal.gov/GH_FFT.pdf
хочу получить спектр, как в Audacity

вычисляю Linear (amplitude) Spectrum
беру от каждого бина 20 * Math.Log10(value) и получаю такую картину, где график сдвинут вниз на 75дБ.
Это нормально? И как правильно привести к виду, как у Audacity? Просто добавить 75дБ?
на константу отличается, можно просто добавить 75дб
источник

DT

Dmitry Teh in pro.algorithms
а откуда такое вылезает?

а при вычислении RMS — тоже ту же константу добавлять?
источник

P

Pepe 🐸 in pro.algorithms
Dmitry Teh
а откуда такое вылезает?

а при вычислении RMS — тоже ту же константу добавлять?
а процесс точно такой же как описан в audacity?
источник

P

Pepe 🐸 in pro.algorithms
вообще если они сдвинуты по вертикали это эквивалентно тому что изначальная функция была сдвинута по вертикали
источник

DT

Dmitry Teh in pro.algorithms
нет, не такой же
но это нормализированный синус [-1, 1] и у него пик в нуле dBFS должен быть
аудисити — просто как подтверждение этому
источник

P

Pepe 🐸 in pro.algorithms
Dmitry Teh
нет, не такой же
но это нормализированный синус [-1, 1] и у него пик в нуле dBFS должен быть
аудисити — просто как подтверждение этому
короче надо смотреть, грубо говоря в твоем случае изначальная функция сдвинута по вертикальной оси. Какое преобразование применено что разница между твоим способ и audacity есть?
источник

P

Pepe 🐸 in pro.algorithms
либо они уже потом отнормировали
источник

d

disba1ancer in pro.algorithms
Dmitry Teh
делаю БПФ по мануалу https://holometer.fnal.gov/GH_FFT.pdf
хочу получить спектр, как в Audacity

вычисляю Linear (amplitude) Spectrum
беру от каждого бина 20 * Math.Log10(value) и получаю такую картину, где график сдвинут вниз на 75дБ.
Это нормально? И как правильно привести к виду, как у Audacity? Просто добавить 75дБ?
определение децибела дай, точнее определи, что у тебя значит 1 дБ, а точнее 10 дБ или 1 Б
источник

DT

Dmitry Teh in pro.algorithms
я dbFS пытаюсь получить
источник

d

disba1ancer in pro.algorithms
Dmitry Teh
я dbFS пытаюсь получить
что за fs?
источник

DT

Dmitry Teh in pro.algorithms
ну от «полной шкалы». на входе у меня семплы с 1 максимум, поэтому эта амплитуда будет 0dbFS
источник

d

disba1ancer in pro.algorithms
Dmitry Teh
ну от «полной шкалы». на входе у меня семплы с 1 максимум, поэтому эта амплитуда будет 0dbFS
а линейные значения проверял?
источник

d

disba1ancer in pro.algorithms
Dmitry Teh
делаю БПФ по мануалу https://holometer.fnal.gov/GH_FFT.pdf
хочу получить спектр, как в Audacity

вычисляю Linear (amplitude) Spectrum
беру от каждого бина 20 * Math.Log10(value) и получаю такую картину, где график сдвинут вниз на 75дБ.
Это нормально? И как правильно привести к виду, как у Audacity? Просто добавить 75дБ?
попробуй линейное умножить на 2
источник

d

disba1ancer in pro.algorithms
хотя это не тянет на 75 дБ
источник

d

disba1ancer in pro.algorithms
Dmitry Teh
делаю БПФ по мануалу https://holometer.fnal.gov/GH_FFT.pdf
хочу получить спектр, как в Audacity

вычисляю Linear (amplitude) Spectrum
беру от каждого бина 20 * Math.Log10(value) и получаю такую картину, где график сдвинут вниз на 75дБ.
Это нормально? И как правильно привести к виду, как у Audacity? Просто добавить 75дБ?
я бы всё таки на код глянул
источник

DT

Dmitry Teh in pro.algorithms
Pepe 🐸
короче надо смотреть, грубо говоря в твоем случае изначальная функция сдвинута по вертикальной оси. Какое преобразование применено что разница между твоим способ и audacity есть?
т.е. или на вход FFT приходит меньшая амплитуда, или я номирую «не так»?

в Аудисити так делают

for (size_t i = 0; i < mWindowSize; i++)
 in[i] = win[i] * data[start + i];

PowerSpectrum(mWindowSize, in.get(), out.get());
for (size_t i = 0; i < half; i++)
 mProcessed[i] += out[i];

double wss = [сумма-значений окна];
wss = 4.0 / (wss*wss);
double scale = wss / (double)windows; //windows - сколько раз в файле нашлось окон
mProcessed[i] = 10 * log10(mProcessed[i] * scale);

если собрать, то получается, что они берут среднее out[i], умножают на 4 и делят на квадрат суммы элементов окна

в методичке сумма элементов окна - S1 (19)
и у меня получается, что

//PS RMS (23)
double value = (2 * avgSamples[i]) / (sum_win_s1 * sum_win_s1);
//LS
value = Math.Sqrt(value);
double valuedB = 20 * Math.Log10(value)

т.е. разница в том, что
* они умножают усреднённый бин на 4, а в методичке - на два
* умножают логарифм на 10, а в методичке - 20
источник

DT

Dmitry Teh in pro.algorithms
disba1ancer
я бы всё таки на код глянул
можно показать целым солюшном студии C#?
или на какой-нибудь пастбин выложить кусками?
источник