FFT и прочее - как правильно?

Только хотел предложить как-то хранить настройки при сохранении скриншота...
Есть-ли возможность правее Averaging сделать окно (Notes, например), чтобы туда можно было что-то писать врукопашную?
Ответ

s3t Написал:^^ ты проверял на SSA-Installer2.msi , в котором есть и MME и WASAPI Shared?
Если так, то "руки опускаются (ц)", фигня какай-та :)

Нет еще, я только на том, что было в ссылках в #203.
Ответ

s3t Написал:инсталлер на десктоп ссылку делает) правда иконка хромая и надпись SSA01, фиг найдешь :)

Ага.
Только открывается при этом не твоя прожка, а браузер с новой страницей, из числа уже открытых.

А если посмотреть внутрю иконки, то там #внезапно обнаруживается ссылка на нее:
https://hi-fidelity-forum.com/forum/thre...e-130.html
:):):)
Ответ

С новым вариантом:
1) Ты поменял иконку на десктопе, и теперь она работает!
2) UAC1 в MME заработал. Даже что-то показывает :)
3) UAC2 в ASIO: по прежнему не работает. Выкидывет такое:

   

4) UAC2 Wasapi Shrd: видит только 44кгц, биты дает выбрать 16/24/32/32F.
Делает вид что работает, но график не рисует

5) UAC2 Wasapi Excl: видит от 44 до 192, но битность - только 16 и 24.
Делает вид что работает, но график не рисует.

6) UAC2 Wasapi Global: видит только 44, битность вообще не показывает.
Не работает и ошибок не выбрасывает.

7) UAC2 MME: видит от от 44 до 768 (с какого бодуна столько?), битность 16/24/32/32F.
Работает. Но то что я поставил 96/24 ему наплевать, работает на той скорости, что выставлена в пропертях в винде.


Теперь общее:

8) Ну сделай ты, блин, что-нибудь с этой зеленой кнопкой "Button"!
Ну хотя бы чтобы было видно в каком она положении - Play или Stop.

9) Окошки - хоорошо бы чтобы они закрывались не только кликом по "Done" или по другому окошку, но еще бы и кнопочкой Esc.

10) Averaging - в SpectraPlus есть 1...1000 и Infinity, а тут оно где?

11) Зеленая кнопочка (-) в нижнем левом углу, над кнопкой RMS - выставляет от -140дБ до+10дБ и от 20гц до 20кгц.
Это намертво прошито, или можно менять? Хорошо чтобы хотя бы верхнюю частоту оно автоматом ставило на половину семплрейта.

12) Куда оно в интернет ломится при запуске?
Ответ

Цитата:3) UAC2 в ASIO: по прежнему не работает. Выкидывет такое:
>> а после "ок", дает выбрать ЧД и запустить? это сообщение не должно быть фатальным)

Цитата:4) UAC2 Wasapi Shrd: видит только 44кгц, биты дает выбрать 16/24/32/32F.
Делает вид что работает, но график не рисует
видит только то, что выбрали в виндовсе. выбор 16/24/32/32F - из того, что я могу попросить у виндовса, а он для меня сконвертит. управлять ЧД невозможно, т.к. "шэйрд".

Цитата:5) UAC2 Wasapi Excl: видит от 44 до 192, но битность - только 16 и 24.
Делает вид что работает, но график не рисует.
>> 16 и 24 - то, что поддерживается на уровне железа/драйвера.

не рисующиеся графики это странно, очень странно)
"делает вид что работает" - это когда эфпиэсики в правом верхнем углу рисуются-меняются?
если так, то данные поступают, но они всегда "0". может у тебя только один канал работает, и он как назло не тот, что я показываю? :) (переключение каналов пока не реализованно :) ) или громкость/мьют...

Цитата:6) UAC2 Wasapi Global: видит только 44, битность вообще не показывает.
Не работает и ошибок не выбрасывает.
>> Глобал = запись лупбека, т.е. записывать програмки, выводящие звук через выбранное устройство. если ничего через устройство не играет, то оно затыкается и ждет сэмплов.

Цитата:7) UAC2 MME: видит от от 44 до 768 (с какого бодуна столько?), битность 16/24/32/32F.
Работает. Но то что я поставил 96/24 ему наплевать, работает на той скорости, что выставлена в пропертях в винде.
>> MME штука гибкая, сколько у нее попросишь столько и даст. И пофиг что у тебя саундбластер 16, хочешь 768/32F - получишь! не переключает ЧД, ресемплит из того, что выставленно в виндовсе до того, что попросили)

поэтому MME/WASAPI Shared я изначально проигнорировал, бо они кривенькие.


Цитата:8) Ну сделай ты, блин, что-нибудь с этой зеленой кнопкой "Button"!
Ну хотя бы чтобы было видно в каком она положении - Play или Stop.
>> сделал, даже крутится и переключается стоп-плей. в следующей версии увидишь)

Цитата:9) Окошки - хоорошо бы чтобы они закрывались не только кликом по "Done" или по другому окошку, но еще бы и кнопочкой Esc.
ок) воще хочу их сменить бо тормозные (визуально не поменяется), но пока и так сойдет.

Цитата:10) Averaging - в SpectraPlus есть 1...1000 и Infinity, а тут оно где?
у тебя столько памяти нет)) а оно такое нужно? и в каких режимах...
синхронные вэйв и спектра у меня в экспоненциальном виде, но уже после 20-30 аверейджев выходят на неменяющийся график. плюс много аверейджев - вредно)
"дисплей" - аверейджинг экрана (вернее данных, из которых он высчитывается) - реализован прямым способом - держать все "экраны" в памяти, для каждого нового выбрасывать старый и суммировать оставшиеся. т.е. зохаванная память прямо пропорциональна размеру аверейджинга. нужно проверить, сколько памяти ест каждый аверейджинг.
Ну и алгоритм там кривенький-прямой, каждый раз суммирующий все экраны - вместо того, чтоб держать отдельно сумму и в нее добавлять новый и вычитать старый.
Но самый главный вопрос - нафига Infinity? :) ну ловить редкие всплески пик-холдом или триггером - это интересно)
но сами данные от аверейджинга не улучшаются. По крайней мере до какого-то предела...

Цитата:11) Зеленая кнопочка (-) в нижнем левом углу, над кнопкой RMS - выставляет от -140дБ до+10дБ и от 20гц до 20кгц.
Это намертво прошито, или можно менять? Хорошо чтобы хотя бы верхнюю частоту оно автоматом ставило на половину семплрейта.
>>> пока намертво, когда будет интерфейс внутренних настроек, можно будет управлять.
график сам по себе не очень гибкий, я его делал для "print grade", т.е. чтоб рисовалось так - хоть в книжку подшивай. Значит все границы графика прибиты к круглым стандартным значениям (0.1, 1, 10, 20, 100, 200Гц для старта частот) и т.д., с дополнительным 22к, 24к и т.д. границами будут глюки)



из апдейтов:
- можно делать зум при остановленном анализаторе, но кривенький и может быть разрешу только без аверейджинга дисплея (в нем нет данных для перерисовки экрана).
- прикручиваю IMD измерялку. нет чтоб сделать как все нормальные люди - мощность несущих к всей остальной мощности, я выковырял все продукты ИМД)) наверное придется разрешить это действо только для 2-3х несущих, иначе получится каша)
для 4+ несущих можно простым и банальным способом, все на все)
ну и это... видимо маркеры при ИМД придется рисовать старым способом - ромбиками или крестиками, иначе оно не читабельно)
   

Аминь.
Ответ

s3t Написал:>> а после "ок", дает выбрать ЧД и запустить? это сообщение не должно быть фатальным)


Да, ЧД дает, битность не дает, но потом работает. При нажатии "стоп" - опять выкидывает ту-же табличку.

s3t Написал:поэтому MME/WASAPI Shared я изначально проигнорировал, бо они кривенькие.
С UAC1 - надо, ибо АСИО у него нет.

s3t Написал:у тебя столько памяти нет)) а оно такое нужно? и в каких режимах...

Спектраплюс-же где-то находит :)
А насчет нужно - при обзоре нет, 1 ставлю, при окончательном изщмерении, например THD/IMD или АЧХ на белом шуме - ставлю на инфинити и жду секунд 30/минуту.
Ответ

Altor Audio Написал:
s3t Написал:>> а после "ок", дает выбрать ЧД и запустить? это сообщение не должно быть фатальным)


Да, ЧД дает, битность не дает, но потом работает. При нажатии "стоп" - опять выкидывает ту-же табличку.
Гуд, значит все ок, просто определение ЧД в данном случае не работает... спрячу ошибки в маленький не выскакивающий notification и зошибись)

Altor Audio Написал:
s3t Написал:у тебя столько памяти нет)) а оно такое нужно? и в каких режимах...

Спектраплюс-же где-то находит :)
А насчет нужно - при обзоре нет, 1 ставлю, при окончательном изщмерении, например THD/IMD или АЧХ на белом шуме - ставлю на инфинити и жду секунд 30/минуту.
проверил, аверейджинг ест 200мег памяти для 1000 усреднений на маленьком экране. на большом будет 400-600мег... терпимо :) память нынче доступная, максимум - пользователю придется закрыть 1-2 закладки хрома )))))
*** спектраплюс в тех-же условиях ест 400, видимо она усредняет сами ФФТшки а не их отображение. --- так и есть. ну у меня зато есть приемущество, усредняй хоть 16М ФФТшки, всеравно будет 200-600мег памяти сожрано)

Аминь.
Ответ

s3t Написал:спектраплюс в тех-же условиях ест 400, видимо она усредняет сами ФФТшки а не их отображение. -
Естествено.

s3t Написал:ну у меня зато есть приемущество, усредняй хоть 16М ФФТшки, всеравно будет 200-600мег памяти сожрано)

А у них?
Ответ

+700 мег для 131к, выше не дает - ругается что память закончится и советует экспоненциальный аверейджинг.
т.е. для 16М у них будет 87гб :)

я спектр аверейджу экспоненциально, но только в синхро-спектральном случае (т.к. нужно было векторно, и из-за вышеописанного нереально сделать обычным способом). и потому, что пиковое значение при экспоненциональном аверейджинге невозможно сохранить, требуется держать еще один буфер только для пиков...

Аминь.
Ответ

Занялся точными циферками измерений)
спектраплюс чудит с измерением THD+N, у нее получается меньше чем THD :)

Просьба счастливых владельцев АП (есть такие?) или чего-нибудь другого, померьте пожалст эти файлы на критичных для вас настройках и выложител замеры, буду подгонять/проверять)

http://s3t.it/5857_112i/sa01-cal-files.zip

в архиве 96k/24b 1ch файлики:
imd = 10+11k, coherent
imd+noise = imd + noise = -93dB FS

sine = 1kHz, -6.02dB FS, coherent
sine-dist = sine + distortion = -100dB harmonics 2,3,4,5,6
sine-dist_non-coherent = same as above, non-coherent
sine-dist_and_noise = sine, distortion, noise = -73dB FS
sine-dist-noise-phasenoise = all above + phase noise for sine and harmonics
sine-noise_only = only noise, -73dB FS

Аминь.
Ответ

а я уже вернул ту АР, что брал в лизинг.
Ответ

Разобраться/сравнить измерения IMD было б интересно, т.к. его можно считать по разному (в отличии от THD).
Я его представляю аналогично THD - соотношение сумм мощностей несущих к сумме мощностей гармошек (IMD). Или к сумме всего спектра (IMD+N). Но спектраплюс думает как-то по своему, АП вместе с R&S(?) пишут что-то разнообразное (можно несущие брать как одну из них, либо их сумму мощностей, либо среднюю мощность, либо сумму вольт (пик)).
Всякие RF измеряшки игнорируют четные продукты. CCIF и прочие стандарты описывают какие-то произвольно-выдуманные образы (пол лаптя отсюда, в два раза оттуда, и от фуллскейла до обеда, хотяб по словам АП).

Прикрутил noise de-embedding и к графику, получилось весьма прикольно)
   
красный = обычный макс детектор
желтый = уровень шума (извлекает из измеряемого сигнала, т.е. не требует отдельного измерения и работает с тем, что есть на экране). немножко не правилен, т.к. усредняет в dB, т.е. среднее между -10дБ и -20дБ = -15дБ. Хм, мож исправить? :)
зеленый = после вычитания шума

профит коррекции = примерно 7dB, я ее ограничил т.к. чем глубже тем менее точно.

Ладно, ухожу прикручивать отвалившиеся маркеры и ногами запаковывать пре-релиз версию. Если ждать всех хотелок до конца, то конца не настанет :)

Аминь.
Ответ

Существуют стандарты, описывающие CCIF и SMPTE измерения интермодуляции и есесьно, условия нормировки.
АП измеряет в соответствии с тем что позволяет его железо, в первую очередь аналоговое.
Это может не всегда в точности соответствовать тому как Вы интерпретируете стандарты.
https://www.ap.com/technical-library/more-about-imd/
http://www.hit.bme.hu/~papay/edu/Acrobat/Fund.pdf
http://mediaschool.ohio.edu/Websites/ous...etzler.pdf
https://scdn.rohde-schwarz.com/ur/pws/dl...2-0032.pdf

Nobody Is Perfect
The following 1 user says Thank You to begemot for this post:
  • s3t (08-09-2019)
Ответ

Ну вот, стандарты игнорируют почти все гармошки кроме тех, что можно измерить "школьной линейкой и двумя мотками изоленты", т.е. если например сигнал - 19+20к, то 49к игнорируется, хотя она ничем не хуже 1к, просто лежит за пределами "22кГц" стандарта.
Т.е. это не измерение интермод, а некоторое измерение, называющееся "CCIF-IMD". А я уже было думал искать алиасы от Fs/2 :)
Хотя логично, нужно такие критерии, чтоб все смогли померять.
По их логике, THD для 15кГц синуса всегда должно быть 0% :)

Аминь.
Ответ

Прикручиваю математику межканальную, получилось сгруппировать ее всю вместе)
и вейвформ, и спектру, и даже фотошоп:
   

что-то лишнее, или чего-нибудь забыл?

Аминь.
Ответ

Кажется будет коррекция scalloping loss (когда частота сигнала попадает между частотами бинов - получается неправильное пиковое значение, например для Ханна и ровно между бинами будет -1.4дБ).
Нашел кучу статей и извращенных алгоритмов, разковыривающих ффт на части и что-то сташное считающие...
Даже книжку на тему... Чот написал, нифига не понял и...
В итоге запилил в пределах собственного понимания - тупо табличка разниц уровней максимального и ближайшего бинов, коррекция, оффсет частоты от максимального бина.
И линейная интерполяция между ячейками таблицы. 0.003дБ/1Е-8Гц ошибка для таблички с 10 значениями, для Ханна. Вместо его обычных 1.4дБ)
Табличку насчитал сугубо экспериментальным перебором частоты от 0 до 0.5 между бинами)))

Аминь.
Ответ

Ну ты маньяк

Nobody Is Perfect
The following 3 users say Thank You to begemot for this post:
  • s3t (08-27-2019), wired (08-27-2019), Black_Jack (08-27-2019)
Ответ

Нет. вчера был не маньяк. маньяк - сегодня.
Имея передаточную функцию скаллопинга для каждого оффсета частоты... ее можно вычесть из бинов. и влепить в центральный бин восстановленное значение. и тогда наступит мир во всем мире. т.е. оконная функция как-бы есть, а на графике ее нет.
смысл для обычных тхд извращений не очень полезный. но как только нужно посмотреть на фазовый шум/юбку несущей, это начинает иметь смысл :)
ну или даже не вычитая, просто нарисовать на графике саму форму юбки из-за используемого окна, ее худьшее-лучшее значение и т.д., ибо не всегда понятно, сигнал кривоват или оконная функция торчит.

и самый страшный штука. везде для демонстрации 2д ффт показывают такой вот штука.
Берут две картинки, делают им ффт, и подменивают фазовую составляющую между картинками.

Знакомтесь, Лена!
.png lena.png Размер: 177.48 KB  Загрузок: 43


Магнитуда Лены
.png lena_mag_ift.png Размер: 333.91 KB  Загрузок: 44


Фаза Лены
.png lena_phase_ift.png Размер: 40.35 KB  Загрузок: 43


Лена на фоне озера, левая нижняя картинка содержит магнитуду озера и фазу Лены, правая - магнитуду Лены и фазу озера.
   

визуально становится весьма заметно, что фаза сигнала имеет гораздо большее влияние на результат нежели амплитуда(магнитуда).
Эта закономерность работает и в аудио - например если взять белый шум и свип синуса от 0 до Fs/2 (псевдошум и псевдосинус*), то АЧХ у них будет одинаково ровной линией. Но, вся разница - в фазе, т.е. в задержках времени каждого сэмпла.
фаза = местоположение сэмпла во времени
амплитуда = уровень сэмпла

к чему это я? к тому, что изучение искажений магнитуды - занятие безперспективное по сравнению с искажениями фазы :)

Аминь.
The following 2 users say Thank You to s3t for this post:
  • wired (08-28-2019), mellowman (08-28-2019)
Ответ

Точно маньяк!
The following 3 users say Thank You to Altor Audio for this post:
  • s3t (08-28-2019), wired (08-28-2019), Black_Jack (08-28-2019)
Ответ

s3t Написал:...к чему это я?
ибануццо
The following 1 user says Thank You to wired for this post:
  • s3t (08-28-2019)
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 6 Гость(ей)