Ниже - материал, посвященный оценке искажений элементов звуковоспроизводящего тракта.
Файл упаковал посильнее, по ссылкам в тексте - картинки в нормальном разрешении и звуковые файлы.
Способ определ
.pdf
20.03.2016 Создал новые каталоги в облаке. Основная ссылка проекта: https://drive.google.com/folderview?...Dg&usp=sharing
Старые ссылки из ранних постов позже снесу или обновлю.
В папке "МОДЕЛЬ MATLAB" буду выкладывать файлы программ. Пока выложил функцию генератора тестовых файлов "test_file_generator.m".
В ближайшем будущем напишу развернутое описание, как пользоваться ключами, с примерами.
Теперь есть возможность создания теста по своему вкусу любому, кто захочет .
В папке "ТЕСТОВЫЕ ФАЙЛЫ" буду выкладывать или обновлять/заменять тестовые файлы. Пока там следующие файлы:
TEST-RAND-48000Hz-1ch-16x-3s-500ms-0ms.wav (шум с равномерным распределением)
TEST-NORM-48000Hz-1ch-16x-3s-500ms-0ms.wav (шум звуковой полосы с нормальным распределением)
TEST-PINK-48000Hz-1ch-16x-3s-500ms-0ms.wav ("розовый" шум по DIN)
TEST-FILE--FRNT-48000Hz-1ch-16x-3s-500ms-0ms.wav (фрагмент "Together" Front 242)
TEST-FILE--HOSA-48000Hz-1ch-16x-4s-500ms-0ms.wav (фрагмент "Hosanna" Вебера)
TEST-FILE--JOVI-48000Hz-1ch-16x-3s-500ms-0ms.wav (фрагмент "We Don*t Run" Bon Jovi)
TEST-FILE--META-48000Hz-1ch-16x-3s-500ms-0ms.wav (фрагмент "Dirty Window" Metallica)
Все вышеперечисленные файлы имеют одноименные текстовые файлы с отчетом функции "test_file_generator.m".
Также в папке "ТЕСТОВЫЕ ФАЙЛЫ" создан подкаталог "ИСХОДНЫЕ ФАЙЛЫ", в котором содержатся муз. произведения, использованные при генерации тестовых файлов. Если кому интересно, может сам повторить синтез, введя в командной строке Matlab вызов ф-и test_file_generator.m с соответствуюшими параметрами.
31.03.2016 Обновил файлы моделей : https://drive.google.com/folderview?...zQ&usp=sharing
1. Теперь поиск маркеров стал быстрым (применил комбинированный алгоритм поиска вместо согласованной фильтрации по всему файлу). Открывается возможность "без тормозов" анализировать файлы с очень большим количеством проб - больше 100.
2. В очередной раз скорректирован список рассчитываемых параметров:
-> profile noise level (RMS, ref to 0 dB garm RMS): -111.80 dB - уровень шума по отношению к полной шкале. Характеризует уровень шума паузы в анализируемом тракте. От уровня записи не зависит.
-> average signal to noise ratio: 111.57 dB - реальное отношение мощности тестового сигнала к уровню шума (оно зависит от уровня записи ).
-> signal power deviation to signal, RMS: -44.74 dB - относительное изменение мощности тестового сигнала от пробы к пробе. Косвенно характеризует временнОй уход коэффициента передачи в измеряемом тракте, насколько "дышит" система. Если эта величина значительно больше уровня шума, то есть проблемы со стабильностью системы.
-> FIND (Relative Distortion Power): -88.58 dB - это отношение мощностей продуктов искажений и тестового сигнала. Собственно, "Коэффициент нелинейных искажений".
-> distortion power deviation to distortion average waveform, RMS: 9.45 dB - среднеквадратическое отклонение мощности продуктов искажений от пробы к пробе. Характеризует отношение "нестационарной" составляющей искажений (динамические амплитудные, фазовые, джиттер) к "стационарной" (нелинейность ААХ и усредненные тепловые шумы). Очень условно, данный параметр показывает, в какой степени можно ожидать расхождения результатов классического измерения КНИ и предложенного способа. Если данное отношение значительно меньше 0, то следует ожидать близких результатов. В противном случае есть шанс получить "плохо звучащий аппарат" при его малом Kr.
-> (distortion average waveform power to noise ratio: 13.07 dB) - среднее превышение мощности продуктов искажений над шумом (условная заметность).
И два параметра, характеризующих наихудший случай из всех проб:
-> FIND worst estimation (peak): -82.66 dB
-> (worst case distortion power to noise ratio: 28.91 dB) .
Переписка Теоретика с ИГВИНом по теме предложенного способа. Простое объяснение.
переписка
ИГВИН:
У меня есть предположение, что усилители (и прочие девайсы) нужно измерять в естественной среде их обитания - т.е. непосредственно в составе системы. В ходе воспроизведения музыки. Кажется Букварёв такое делает, но я что-то его плохо понимаю.
Teoretic:
Да. Букварев, Гапонов и К. Ребята нащупали универсальный метод измерения нелинейности именно на музыкальном сигнале. Мощность современных компьютеров позволяет это проделывать даже любителям.
Суть понять не трудно. Методика позволяет сравнить исходный сигнал с воспроизведенным и нечувствительна к линейным искажениям (это бич всех компенсационных/векторных методов). Примеры разностных файлов (чистые нелинейные искажения) можно послушать (выложены по ссылкам в теме https://forum.vegalab.ru/showthread.php?t=72049 )
ИГВИН:
По Букваревской методике надо мне разобраться в сути.
Что с чем сравниваем, как именно. Мельком я не понял.
Teoretic:
В двух словах. Берем музыкальный фрагмент. Пропускаем его через тракт (какой хотите, вплоть до динамиков), записываем результат. Преобразуем фрагмент. Снова пропускаем его через тракт и делаем обратное преобразование. Вычитаем из первого фрагмента второй. Результат (разностный сигнал) соответствует только нелинейным искажениям тракта.
ИГВИН:
Спасибо, суть понятна. Неясно, как это выполнить практически.
Teoretic:
Практически все выполняется на компьютере с хорошей звуковой картой.
Вывод через карту и запись обратно в комп тоже.
Преобразуем - это математика, преобразование Гильберта для исходного фрагмента, потом - обратное преобразование Гильберта, вычитание сигналов. Все в цифре. Букварев пока что это делает в Матлабе (ну, ему так удобнее), программы для пользователя еще не существует.
ИГВИН:
Метод теоретически хорош. Как быть с антиалисинговым фильтром, искажениями АЦП... преобразование возможно без искажения?... искажениями ЦАП и пост-фильтра - пусть авторы метода решают это практически.
И я всё-таки не понимаю, что такое "ортогональный сигнал". И почему после его прохождения через усилитель образуются какие-то другие искажения.
Teoretic:
Преобразование Гильберта сдвигает все спектральные составляющие исходного сигнала на 90 градусов.
Поэтому преобразованный сигнал "ортогональный". В принципе, это все.
Если в тракте есть нелинейные искажения, то прямой и ортогональный сигнал будут искажены по-разному.
Из ортогонального сигнала восстанавливаем обратно прямой. По разнице не преобразованного и восстановленного сигнала судим об искажениях. Эту разницу можно просто послушать.
Меру для величины таким образом полученных искажений еще не определили.
ИГВИН:
Сдвигает по фазе на 90 градусов? Относительно чего? Основная (первая) гармоника остаётся в своей фазе? или тоже отъезжает на 90?
Чем это отличается от задержки?
Teoretic:
Все гармоники сдвигаются на 90 градусов относительно гармоник исходного сигнала. Это совсем не задержка. При временной задержке сдвиг фазы пропорционален частоте, а у нас фаза постоянна. Это идеальный фазовращатель.
Мне самому стало интересно.
Я взял простой сигнал: меандр с ограниченным спектром (от первой до одиннадцатой гармоники):
h(x)=cos(x)-cos(3*x)/3+cos(5*x)/5-cos(7*x)/7+cos(9*x)/9-cos(11*x)/11
После сдвига всех гармоник на 90 градусов получим сигнал
g(x)=sin(x)-sin(3*x)/3+sin(5*x)/5-sin(7*x)/7+sin(9*x)/9-sin(11*x)/11
(все косинусы стали синусами).
И построил их графики. Вот они, "ортогональные" сигналы:
https://drive.google.com/open?id=0B8...GJwZTR6VFk4NTQ
ИГВИН:
Вижу. Здорово!!!
Интегралы по площади равны, форма сильно разная.
Теперь дайте подумать...
Итак, мы смотрим искажения двух разных сигналов. В идеальном случае оба не искажены.
В реале из-за различий формы будут разные амплитудные искажения.
Сравниваем их.
Чем меньше разница - тем меньше зависимость искажения vs амплитуда. То есть устройство более линейно.
Как будто сходится - метод теоретически должен работать.[свернуть]
09.02.2018 КАК ПРОВЕСТИ ИЗМЕРЕНИЯ (ВРЕМЕННЫЙ СПОЙЛЕР)
Скрытый текст
По ссылке находятся десять тестовых файлов: https://drive.google.com/drive/folde...b_?usp=sharing
Эти файлы делятся на группы по названию:
тесты определения коэффициента гармоник и шумовой полки
-test-1KHz-48.wav
-test_multitone_48.wav
тесты на основе FFT фильтра
-test-nonstationar--NoMercy-FFT-48KHz.wav
-test-nonstationar--NoMercy-FFT-EN-48KHz.wav
-test-nonstationar--NoMercy-FFT-FRQ-48KHz.wav
-test-nonstationar--NoMercy-FFT-FRQ-EN-48KHz.wav
тесты на основе БИХ фильтра Чебшева
-test-nonstationar--NoMercy-IIR-48KHz.wav
-test-nonstationar--NoMercy-IIR-EN-48KHz.wav
-test-nonstationar--NoMercy-IIR-FRQ-48KHz.wav
-test-nonstationar--NoMercy-IIR-FRQ-EN-48KHz.wav
Длительность файлов - 1 минута
Нужно их воспроизвести и записать с выхода усилителя (каскада). Частота дискретизации - 48 КГц, очень желательно использовать при записи режим ASIO.
При использовании для воспроизведения и записи двух различных звуковых карт, их лучше всего синхронизировать по SPDIF.
В крайнем случае, воспроизвести и записать как есть, на внутренних частотах карт.
Стерео или моно - без разницы. Если в разных каналах будут разные сигналы (к примеру, со входа и выхода усилителя), то нужно об этом написать в названии файла.
Самое главное - главное - правильно записать на саму карту. Уровень записи на звуковой карте лучше делать в пределах -20..-10 дБ при испытательном файле 1 КГц (-test-1KHz-48.wav). Это делается внешним делителем напряжения. Все регуляторы уровня в микшерах - на 100% (это проверить с помощью соединения входа и выхода карты напрямую коротким шнурком), все эффекты - отключены.
Вначале записать сигнал напрямую, чтобы привязаться к "сквозному каналу".
Потом включить в тракт усилитель под нагрузкой, и записать повторно. Записанные файлы назвать, как считаете нужным.
Между записями разных файлов ничего в системе не изменять.
Потом заменить усилитель (если есть желание и возможность измерить несколько аппаратов), и повторить запись.
По минимуму нужно записать первые шесть файлов из списка. Обязательно записывать ЦЕЛИКОМ. Можно даже оставить в начале и в конце паузы.
[свернуть]
Ссылки на две интересные темы:
https://forum.vegalab.ru/showthread.php?t=35395
https://forum.vegalab.ru/showthread.php?t=34487
Социальные закладки