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

IVX Написал:для диагностических целей
Для диагностических целей вполне достаточно ТХД+N в определённой полосе. Там для этого должны быть другие фильтры

Nobody Is Perfect
Ответ

хотя, я вот щас подумал, если А-фильтр стоит после нотча, тогда опять до лампочки, но если до, тогда надо сделать что-то поприличнее.
Ответ

работает схема А фильтра сносно, правда я туда ора1612 поставил. Тем не менее, как в оригинале 500нВ не получилось, а где-то 590, что всё равно ниже чем у 2722, у которой 700нВ, так что видимо в оригинальном А филтре импедансы ниже. Кстати, указанные идентификационные резисторы, которые я тщательно подобрал, несмотря на абсурдность, дают машине понять, что это не А-филтр, а 20кгц бриквол )) Надо подбирать как то под А филтр теперь ещё.
Ответ

хаха, в 10х раз больше нужны резы ID, я поставил 270к и 270к чтобы А-фильтр распознавался. Посимулировал я шум в полосе 10-22к с А фильтром и без, в натуре 3дб разницы для плоского ноиз флура, как и в реале АР мне показывает, так что ничего он не теряет даже с такими адскими импедансами, искажения тоже норм, с генератора без А .00012%, с А .0001% ровно. Видимо даже TL074 тут сойдёт. C0G я взял вместо полипропа, подобрал из ленты точно 1нф и 33нф, лучше 1% и ок.
Ответ

IVX Написал:хаха
Как тебя некоторые умные товарисчи и предупреждали

Nobody Is Perfect
Ответ

хто?? Я сам вчера расковырял их ID метод, полчаса наверное угрохал на это.
Ответ

Твои изыскания как АР идентифицирует опции- это ваше АР личное дело.
Я про твои страдания на тему шума

Nobody Is Perfect
Ответ

AP отдыхает, припиливаю phase lock АЦПшки на кэрриер. Зачем? Убийство сразу двух зайцев. Нет, даже трех.
- Банальный дециматор. Наверное)) логика та-же, фильтрануть и отсэмплить. только я сначала апсэмплю до внутренней частоты, а потом даунсэмплю до выбранной.
- PLL на кэрриер = возможность избавиться от дрейфа осциллятора и его ФШ. Ресемплер будет плавным, т.е. высчитываю мелкими ФФТ с коррекцией частоту кэрриера, нахожу ее среднее значение между ФФТшками, значения между найденными частотами коротких ФФТшек интерполирую например сплайном. Получившийся график дрейфа (дельта частоты для каждого сэмпла) заталкиваю в качестве параметра "длинна сэмплирующего сэмпла" в ресемплере. По идее, с небольшой математикой, вариирующаяся длинна сэмпла должна компенсировать дрейф частоты генератора. обязанна!
- И, заветное "coherent sampling" без когерентности - достаточно "залочить" ресемплер на частоту, попадающую на центр бина.
++ четвертый заяц, на основе ресемплера можно запилить джиттер симулятор, ибо работает он точь-вточь как и обычный ЦАП-фильтр-АЦП, где ЦАП и АЦП работают от разных клоков)

Если все получится, будет прикольно :)

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

+ прикручиваю с горем пополам тачь-зум/перетягивание и т.д. графика, по идее не сложно, на практике - идиотские глюки с изменением центров, относительно которых происходят маштабирования - нужно вдумчиво пересчитать и перекомпенсировать их... и как назло нигде рабочего примера нет. Фича банальная, но ее чот никто толком (прецизионно!) не осилил. Кое-как дергается, перетягивается, зуммируется. Но не там где пальцы))

Аминь.
Ответ

Ни фигасе, какая тема - Торрес ссылку дал!
Зачитываюсь...
The following 1 user says Thank You to SergeL-75 for this post:
  • s3t (09-26-2019)
Ответ

На всякий случай может кому пригодится. Если делаете ресемплер через синк функцию, то ее гораздо благородней обрезать Кайзером-9.
Шоб его такое, намучался) при апсемпле х4 все красиво, а при х3, х5 - дрожит юбка. Все потому, что синк имеет дергающиеся концы, и их нужно аккуратно подрезать в соответствии с частотой среза... Или правильной оконной функцией)) ппц намучался. С сэмплированием с маленькой девиацией частоты тоже лажа, торчат палки около фс, чую что вместо того, чтоб вылизывать точность - тупо срежу палки еще одним фиром)))

Аминь.
Ответ

s3t, у меня есть завтра время, давай THD+N samples для сравнения с АР.
The following 1 user says Thank You to IVX for this post:
  • s3t (09-28-2019)
Ответ

От дался вам этот +N.
Это же лютая глупость и стандартизирована только потому что во времена аналоговых анализитаров было дорого и громоздко анализировать ещё и спектр.
Есть THD, желательно вместе со спектром.
Есть шум без сигнала.
Есть шум при наличии сигнала. Т.е. модуляция шума сигналом.
Эти вещи имеют смысл и характеризуют измеряемую систему.
А THD+N обычно характеризует непонятно что. И его графики, так часто приводимые в измерениях, в первую очередь характеризуют шум измерителя.
Если конечно измеряемое устройство не очень кривое.
А потом рождают слухи про "первый ватт" в среде безголовых удифилов.
Вы бы ещё 'шумовыми полками' начали бы мерится

Nobody Is Perfect
The following 3 users say Thank You to begemot for this post:
  • mellowman (09-29-2019), nazar (09-29-2019), s3t (09-29-2019)
Ответ

IVX Написал:s3t, у меня есть завтра время, давай THD+N samples для сравнения с АР.
http://xdxd.io/data/uploads/test_tones_48k_v1.zip
какой хочешь выбирай)) N, N2, N3 = разные уровни шума. PN = с ФШ, D = distortion (-100dBc).
Все файлики 48/24, не знаю какие у тебя там поддерживаются. Поэтому IMD кривенький с алиасами.
Шум тоже скорее всего с алиасами, т.к. я его не кондициировал ниразу. Но в итоге оно сложилось в пассбэнд и уж "как есть", т.е. считай что обычный шум))
шум Гауссовский. синусы кроме PN когерентны, особенно в IMD2 :)
1k Sine+D+N+PN.wav
1k Sine+D+N.wav
1k Sine+D+N2+PN.wav
1k Sine+D+N2.wav
1k Sine+D+N3.wav
1k Sine+D+PN.wav
1k Sine+D.wav
1k Sine.wav
IMD+D+N2.wav
IMD+D.wav
IMD.wav
IMD2+D+N2.wav
IMD2+D.wav
IMD2.wav
Noise.wav
Noise2.wav
Noise3.wav


Про ресемплер. В итоге такой, работает вполне сносно (даже на маленьких отстройках, хоть Fs*0.999999934392339):
апсемплинг *64..128 (zero stuffing + sinc-windowed FIR, window = Kaiser-9)
даунсемплинг через квадратическую интерполяцию между подходящими по местоположению сэмплами (кубическая и прочие криво-интерполяции не подошли т.к. имеют излом в точках стыков предидущих и последующих интерполяций, который вылазит ВЧ мусором на Фс и не только - в простонародье "non-differentiable").
Самое забавное, что линейная работала лучше кубической :)

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

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

Есть всё что душа пожелает...:) Thumbsupsmileyanim


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

6kB/s качаю уже час ))
Ответ

BW 22..22kHz MPC-HC player PC W7
THD+N
1) 1k Sine.wav .00034% level -6dbfs(да ещё MPC-HC player видимо снижает на -3дб или около, хз за чем)
2) 1k Sine+D.wav .00225%
3) 1k Sine+D+N.wav .040%
4) 1k Sine+D+N+PN.wav .040%
5) 1k Sine+D+N2.wav .0102%
6) 1k Sine+D+N2+PN.wav .0106%
7) 1k Sine+D+N3.wav .0062%
8) 1k Sine+D+PN.wav .00225%
IMD опции у меня нет.
   
The following 1 user says Thank You to IVX for this post:
  • s3t (09-29-2019)
Ответ

begemot Написал:От дался вам этот +N.
Это же лютая глупость и стандартизирована только потому что во времена аналоговых анализитаров было дорого и громоздко анализировать ещё и спектр.
Есть THD, желательно вместе со спектром.
Есть шум без сигнала.
Есть шум при наличии сигнала. Т.е. модуляция шума сигналом.
Эти вещи имеют смысл и характеризуют измеряемую систему.
А THD+N обычно характеризует непонятно что. И его графики, так часто приводимые в измерениях, в первую очередь характеризуют шум измерителя.
Если конечно измеряемое устройство не очень кривое.
А потом рождают слухи про "первый ватт" в среде безголовых удифилов.
Вы бы ещё 'шумовыми полками' начали бы мерится
подпишусь под каждым словом, я б вообще убрал возможность измерения +Н чтоб не плодить этот бред, или засунул такую возможность в какуюто жопу программы)

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
Ответ

THD+N это одна цифра, способная характеризовать всю систему)
В продолжение, набор файлов для определения фильтра вокруг несущей - синус с "рогами", отдаленными от несущей на Х Гц.
0
10
20
30
50
70
120
180
-500, +2500 (гарантированно мимо фильтра)
https://xdxd.io/data/uploads/test_tones_...ter_v1.zip (26мег, удачи)) )

А почему так зверски медленно? Такие прокси/випиэн, или у меня сервер кривенький? (US, кажется DC)


Нужно бы аналогичную операцию провести и для гармошек и измерения THD без N)

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



*** Про ресемплер. Т.к. мне удалось узнать амплитуду сигнала с точностью в -140дБ в любой точке, то... Логично предположить, что и переход через 0 будет вылавливаться с аналогичной точностью.
Из приятного - не надо сложных FFT, из неочень приятного - невозможно залочить на какой-то конкретный спур, лочится на весь сигнал - и если в нем есть примеси, они будут мешать. Но с третьей стороны, получается гораздо больше значений на длинну сэмпла, их можно лоу-пасснуть... С третьей стороны напрашивается бэндпасс на сигнал, хотя-бы IIR...

Аминь.
Ответ

s3t, АР не даёт THD, только THD+N, а новая АРх555 ещё SINAD может.
Заметил, что Арта THD+N ближе всех к АР, Спектралаб низит, там всегда разницы THD vs THD+N мало. Лично мне самым удобным инстркуентом кажется ФФТ и всё, но поскольку АР замер - это индастри стандарт, приходится иметь это барахло под рукой.
Кстати, можно просто по нойз флур увидеть как АР режектор продавливает "обратную юбку".
   
Ответ

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


*** ресемплер ***
т.к. его цель - удаление ФШ кэрриера до ФФТ, логично проверить как он плодит ФШ сам по себе))
NO ASRC - без
ASRC - с конвертером
GEN - для примера, "аналоговый" симуляторный ген
GEN-Spectra - и его спектра


Файлы вложений Эскизы(ов)
               

Аминь.
Ответ


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


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