RE: FFT и прочее - как правильно? -
wired - 07-13-2019
Какое-то оно не людски крутое вьіходит
RE: FFT и прочее - как правильно? -
s3t - 07-17-2019
Я никуда не делся, все это время пилю чтоб работало))
Работают
- асио
- васапи эксклюзив
- васапи лупбэк (чтение потока до выхода на звуковушку, можно мерять всякие звукопроизводящие програмки)
- демо (разные режимы - с/без шумом, искажениями, и 2 синуса 19+20). С симуляцией битности и ЧД :) Полезно для понимания всего всея, т.к. параметры сигналов заведомо известны, считай калибровочные - 0дб синус, -120дб шум, -100дб гармошки).
Прикручиваю мат функции между каналами,
- сумма
- аверейдж
- разница (можно делать псевдо-дифф)
- чередование LRLR (RLRL) каналов с удваиванием ЧД - для PCM4222 режима 384кГц через 192кГц спдиф (оно один и тот-же канал чередует между L и R)
- кросс-корреляшки, наконец-то. Хотя до конца не понял куда их прикручивать))
(upd: опять печалька, нужно делать после ффт,
https://www.edn.com/design/test-and-measurement/4394635/3/Measuring-small-signals-accurately--A-practical-guide )
кстати, про режим ФШ. я его всегда делал через одно место, брал частоту пика, помечал как "0 Гц" и рисовал все, что правее. Такой себе SSB.
Но во всех девайсах используют digital downconversion, т.е. перемножают сигнал с частотой "конверсии", и уже из него естественным образом получают SSB. фигня та-же и оставить деревенский способ, или все-же мучаться с даунконвертером? :)
и нужно, наконец-то, прикрутить компенсатор оконных функций, не каким-то чудо-циферкой, а все-же высчитывать из самой функции, т.к. их у меня много и странных))
RE: FFT и прочее - как правильно? -
wired - 07-17-2019
s3t Написал:Аминь
Аллелуйа
RE: FFT и прочее - как правильно? -
Black_Jack - 07-18-2019
Пока шлялся по инетам и искал что такое HFT95 наткнулся вот на такой софт
https://www.hpw-works.com
Может, конечно баян, а может что интересное там увидится для S3T`s FFT.
Это мануал к нему.
http://download.hpw-works.com/HpW-Works32_3_7_2.zip
RE: FFT и прочее - как правильно? -
Altor Audio - 07-18-2019
Black_Jack Написал:Пока шлялся по инетам и искал что такое HFT95 наткнулся вот на такой софт
https://www.hpw-works.com
Дык, это штука давно известная. Я пробовал когда-то, оно смогла даже 768 переварить. Но триал у меня давно закончился,уже не запускается.
Была на diyaudio кроме HpW еще одна программка, забыл название, тоже весьма дорогая. Ее продавали там с большой скидкой, в составе RTX ADC/DAC от Дженса. Говорят неплохая, я не пробовал.
RE: FFT и прочее - как правильно? -
begemot - 07-18-2019
s3t Написал:прикрутить компенсатор оконных функций, не каким-то чудо-циферкой, а все-же высчитывать из самой функции, т.к. их у меня много и странных
То то я смотрю ты их так быстро прикрутил :)
Там часть точно не нужна, например Кайзеры мелких порядков (бетта меньше 5) не интересны, они похожи на другие не очень высокоизбирательные окна, которые у тебя уже есть.
Кайзер с бетта 7-11 в принципе может быть интересен. Можешь ввести задание бетты или оставить парочку высоких порядков.
RE: FFT и прочее - как правильно? -
s3t - 07-21-2019
Вопрос про фазу
луныгарошек, относительно несущей.
Может ли быть гармошка с фазой, отличной от 0 и 180 относительно несущей?
Мои методы синтеза чот дают только 0 и 180
И... как считать нечетные гармошки, они по стандарту перевернуты (180) или таки "0"?
Как-то криво обьясняю...
Допустим есть ряд гармошек
sin(x)
sin(2x)
sin(3x)
sin(4x)
^^ это правильный ряд, или должно быть
sin(x)
cos(2x)
sin(3x)
cos(4x)
? :)
наверное опять непонятно. видимо я до конца не понял чего сделал, но оно научилось рисовать фазу гармошек, зачастую 0 и 180 :)
RE: FFT и прочее - как правильно? -
begemot - 07-21-2019
s3t Написал:видимо я до конца не понял чего сделал
Сделай тестовый сигнал, пару гармошек сдвинутых по фазе. И посмотри.
RE: FFT и прочее - как правильно? -
s3t - 07-22-2019
Не, с фазой все печально.
Беру ее из максимальных бинов, в 360-градусном виде,
p1 = 180 * atan2(im,re) / pi;
затем для каждой гармошки,
h1 = p1 - p1; //0
h2 = p2 - 2 * p1 - 1*90;
h3 = p3 - 3 * p1 - 2*90;
приходится заворачивать фазу в 0..180 для стабильного результата, иначе - если заворачивать в 0..360, то она иногда прыгает между +0 и +180 градусов на тех-же сигналах.
почему все эти манипуляции с циферками при вычитании?
- ффт на выходе всегда крутит фазу +90 градусов, так уж оно работает
- почему-то обычное вычитание фазы несущей из гармошек не работало (вернее работало в одном только случае, когда частота сигнала кратна сэмплрейту). а в таком виде - работает, почему-то, всегда :)
решить проблему с 360-градусной фазой я не осилил.
В интернетах пишут про пост-коррекцию результатов ФФТ, находя из трех максимальных бинов настоящий максимум по всяким аппроксимизациям формы оконной функции - с правильными значениями частоты и прочего. Реализовал для Ханна, частота на лишних 3-4 знака стала точней, но все всеравно криво - плюс это для каждого окна нужно придумывать коррекцию.
ну и все эти алгоритмы разваливаются, стоит добавить немножко шума
(
https://indico.cern.ch/event/132526/contributions/128902/attachments/99707/142376/Meeting1-06-11_FFT_corrections_for_tune_measurements.pdf )
RE: FFT и прочее - как правильно? -
mellowman - 07-22-2019
Вот вавчик, какие там фазы у 1к и 2к получаются сразу после ффт?
RE: FFT и прочее - как правильно? -
s3t - 07-22-2019
Пишет 90 :) хотя на самом деле может быть и 270.
гы, сначала обломался т.к. нету куда вавки засовывать в проге... а потом просто сграбил вывод звуковушки (цифро-лупбек васапи, удобно), правда в 48к но не страшно :)
* 96к тоже работает, но нужно ручками выставлять в звуковушке. хм...
RE: FFT и прочее - как правильно? -
mellowman - 07-22-2019
Вот, а на самом деле — 45.
RE: FFT и прочее - как правильно? -
mellowman - 07-22-2019
А, хотя нет, 90 :) Это у меня 1к на 45 сдвинут, т.е. относительно него 2к как раз 90 :) Тогда вот так надо, тут 45
RE: FFT и прочее - как правильно? -
s3t - 07-22-2019
Ага)
RE: FFT и прочее - как правильно? -
mellowman - 07-22-2019
Ну значит должно быть правильно :)
RE: FFT и прочее - как правильно? -
s3t - 07-24-2019
Вместо того, чтоб завернуть и отправить, я прикручиваю фичи
С другой стороны - в процессе вылавливаются и баги...
Встречайте, автоопределялка сигнал-шум. Т.е. спуры отдельно, шум отдельно.
Теперь для ТХД можно считать HD, HD+Spurs, HD+Spurs+Noise, и все составляющие поотельности :)
Получив только шум (без сигнала), теоретически можно высчитать вклад каждого шума - розовый, белый, и частота пересечения)
хз зачем))
А, вспомнил. Если хочется посмотреть одновременно и на шум и на сигнал, то это в обычном виде невозможно ввиду различных скэйлингов для шума с сигнала. Отделив их, и прифотошопив обратно после скэйлинга - можно получить правильное отображение всего всея :)
RE: FFT и прочее - как правильно? -
Black_Jack - 07-25-2019
Осталось прикрутить нетворк аналайзер и всё :)
RE: FFT и прочее - как правильно? -
s3t - 07-25-2019
Оказалось, что HD считалка в корне не верна. И, кажется, у всех))
Сигнал, торчащий на 6дб из шумовой полки, на самом деле находится в ровень с полкой.
Вернее торчащий на 3дБ в мощности) т.к. сумма мощностей двух равных сигналов (полка + сигнал) дают +3дб мощи :)
Благодаря определению шумовой полки, получилось сделать и этот "компенсатор".
Эталонный "-100дБ" искажений с шумовой полкой "-100дб макс" ранее мерялся как -96дб, а сейчас - -99--103дБ.
Заодно отдельный скейлинг полки и сигналов в зависимости от окна. Результат - смена окна не влияет на шумовую полку, и она всегда правильна.
Блин, теперь это все в UI прикручивать каким-то логическим образом.
И это, расчет уровня гармошек "селективным микровольтметром" не самая хорошая затея, ловит много мусора рядом, если реальный шум уровнем с сами гармошки, и результат от длинного ФФТ не улучшается.
При высоком шуме следует брать максимумы, они получше, хотя страдают от scalloping-а (попадания частоты между бинами и потери уровня).
Последнее фиг скомпенсируешь. Вернее можно, но нужно знать поведение оконной функции на пиках. И пик ли это воще... Хотя... раз уж я считаю ENBW из множителей окна, почему бы его не пропустить через ффт... хм) чорт.
компенсация уровня гармошек из
https://www.edn.com/design/test-and-measurement/4394635/Measuring-small-signals-accurately--A-practical-guide
описание глюков ФФТ
https://kluedo.ub.uni-kl.de/frontdoor/deliver/index/docId/4293/file/exact_fft_measurements.pdf
RE: FFT и прочее - как правильно? -
Black_Jack - 07-25-2019
S3t... пора тебе диссертацию писать.
Хотя, не исключаю, что у тебя уже есть :)
RE: FFT и прочее - как правильно? -
s3t - 07-25-2019
не, меня из школы выгнали, не будет дессиртации) развишто ввиде кода))
я математику ваще не понимаю)) вот есть программирование, в нем все просто. Что написал - то и работает)