Измерение малых искажений звуковой картой

alexcp

Ну, что у нас плохого?
Давно хотел собрать в одном месте практические способы измерения малых (-140дБ, десятки микропроцентов) нелинейных искажений 24-битной звуковой картой.

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

Ключ к решению этой проблемы - подавать на вход звуковой карты не весь выходной сигнал измеряемого усилителя, а только заранее выделенные из него искажения. Поскольку искажения невелики, уровень сигнала на входе карты при таком подходе оказывается мал, ее собственные искажения тоже малы и не мешают анализу искажений усилителя. Собственно, тема о том, как практически выделить искажения измеряемого усилителя и не добавить к ним искажения измерительной установки.
 
Последнее редактирование:
Один из возможных подходов - использование пассивных (и потому линейных) фильтров. Этот способ был, в частности, успешно применен при отладке "Напалма", а для обсуждения примененного типа пассивного фильтра была создана отдельная тема.

Вкратце, для измерения ИМИ на тестовом сигнале 19+20 кГц были использованы три режекторных фильтра. Первый, настроенный на 1кГц, был включен между выходом ЦАПа и входом измеряемого усилителя для подавления собственного продукта интемодуляции ЦАПа. Второй и третий были включены между выходом измеряемого усилителя и входом АЦП для подавления тестового сигнала. Для обеспечения необходимого для измерений уровня сигнала был добавлен усилитель, а для нейтрализации искажений, связанных с высоким выходным импедансом фильтров, были использованы сверхлинейные буферы из соответствующей темы. В целом получилась вот такая установка:
1661121249171.png
 
Последнее редактирование:
Примененные режекторные фильтры были построены по схеме Холла:
Screenshot 2022-12-19 at 8.05.16 PM.png
Для получения режекторного фильтра емкости должны быть равны (С1=С2=С3), а резисторы должны удовлетворять равенству R3=6×(R1+R2). Частота настройки фильтра при этом F=1/(2π×C√(3×R1×R2)).

Например, для C=10нФ и R1=R2=1кОм получаем R3=12кОм и F=1/(2π×10н×√(3×1к×1к))≈9.19кГц:
Screenshot 2022-12-19 at 7.39.08 PM.png

На практике, конечно, удобнее отталкиваться от требуемой частоты настройки F и емкости C. Из приведенной выше формулы для частоты легко получить формулу зависимости сопротивления от выбранных частоты и емкости: R1=R2=1/(2π×F×С×√3), R3=6*(R1+R2).

Например, для C=10нФ и F=1кГц получаем R1=R2≈9.19кОм, R3≈110кОм:
Screenshot 2022-12-19 at 7.49.57 PM.png
Близкие к требуемым сопротивления можно получить параллельным соединением двух или трех резисторов, например 9.19к≈30к||30к||24к.
 
А не думали попробовать сделать рф на ОУ, как например в книге Практическая схемотехника в промышленной автоматике, стр 124.
Пассивный рф имеет очень грустную АЧХ и до рф измерительных приборов вроде Ар очень далеко, на ОУ можно сделать более приемлемую АЧХ.
 

Вложения

сделать рф на ОУ
На соседнем форуме @begemot сделал - biquad на сверхлинейных композитных усилителях - но это достаточно сложная конструкция. Для решения наших задач есть более простые решения, одно из которых - пассивные фильтры.
 
Приветствую уважаемых участников форума.
Я здесь новичок, получил плату Омикрон от @alexcp, увидел на плате адрес форума, посмотрел, и мне понравилось.
Заранее приношу извинения, потому что русский не является моим родным языком (это сербский). Мои знания русского языка пассивны, писать и говорить сложнее. Я использую швейцарско-немецкую клавиатуру, и это еще одно усложнение. Яндекс поможет:).

Я занимаюсь этой темой уже несколько лет и надеюсь, что мой опыт будет полезен.
Я убедился, что превосходные результаты достижимы в домашней лаборатории.
Моя система содержит синусоидальный генератор Виктора {1кГц}, режекторный фильтр {схема Холл}, малошумящий усилитель {60дБ} и А/Д Cosmos E1DA.
Я начну с фильтра, он реализован на плате С. Гронера:
За 1кГц у меня емкости 100 нФ.
Оригинальная плата была сделана для постоянной частоты, но я модифицировал ее, чтобы получить узкую регулировку ±5Гц вокруг центральной частоты.
Детали фильтра приведены на прилагаемой фотографии.
Я не смог найти никаких искажений в системе (см. спектр), вторая гармоника находится на уровне -159 дБ относительно 2 вольт (-109,6 - 50}, но на этом уровне вазможно определенное подавление искажений.
 

Вложения

  • P1030728.jpg
    P1030728.jpg
    306.9 KB · Просмотры: 124
  • VO_2V_Notch100n_GLNA_FFT_1M.png
    VO_2V_Notch100n_GLNA_FFT_1M.png
    67 KB · Просмотры: 157
А где можно фильтр посмотреть ,а то pdf файл не открывается .
 
На странице diyaudio.com был опубликован очень хороший скрипт:
 
я модифицировал ее, чтобы получить узкую регулировку ±5Гц
Интересно, как это сделано,
учитывая, что точность подстроечных резисторов R1 и R2 должна быть довольно высокой.

холл.png
Как это сделано у Алекса я видел. Интересно как это реализовали Вы.

Подстройка частоты.png


Подстройка.png
 
Последнее редактирование:
учитывая, что точность подстроечных резисторов R1 и R2 должна быть довольно высокой.
В полностью пассивном варианте добротность невысокая, подстраивать легко. Если добавить bootstrap, то добротность ничего не стоит увеличить до черт знает каких пределов, но настройка при этом становится трудной или невозможной.
 
Интересно, как это сделано,
учитывая, что точность подстроечных резисторов R1 и R2 должна быть довольно высокой.

Посмотреть вложение 66799
Как это сделано у Алекса я видел. Интересно как это реализовали Вы.
Основная проблема заключается в том, чтобы три конденсатора имели почти одинаковую емкость. Затем резисторы настраиваются таким образом, чтобы получить желаемую номинальную частоту фильтра.
Частота фильтра изменяется с помощью триммера, в моем случае он имеет номинальное сопротивление 100 Ом (реально 106.7 Ом}.
Поскольку конденсаторы C0G с допуском 1% очень дороги, я купил 50 из них с допуском 5%, измерил емкость каждого из них и сформировал три группы номинально по 100,6нФ. Максимальное отклонение между группами составило менее 1%.
После этого я рассчитал номинальные сопротивления и произвел точную настройку резисторов в LtSpice (модель прилагается).
Поскольку в нижней ветви фильтра имеется триммер, резисторы R1 и R2 имеют разные значения. В моем случае R2=935 Ом и R1=1075 Ом (R3=11020 Ом). На заключительном этапе сборки все еще может потребоваться точная регулировка значений резисторов.
На практике фильтр обеспечивает режектование до -90 дБ.
 

Вложения

Частота фильтра изменяется с помощью триммера, в моем случае он имеет номинальное сопротивление 100 Ом
У меня, из практики построения точных генераторов, такие низкоомные триммеры имели уход частоты со временем.
Ниже 200 Ом вообще нигде не советую применять.
В Вашем случае, если надо получить 100 Ом, то лучше сделать такую схему, чтобы она была долго стабильной.

холл+рег.png
 
Вы правы, я также заметил медленное изменение частоты в фильтре во время работы, но это в данном случае не критично.
Фильтр имеет высокое подавление, поэтому, даже если оно изменяется на 10 дБ или более, основной сигнал остается значительно ниже полной шкалы АЦП.
Обычно я должен корректировать фильтр один раз в день на 5-10 дБ, если у меня более длительный проект измерения.
Я спросил С. Гронера в связи с триммером, и он предупредил меня о возможных искажениях из-за контактного сопротивления, но этого не произошло (у меня есть два таких фильтра).
 
Поскольку выходной сигнал режекторного фильтра очень низкий, он должен быть адекватно усилен малошумящим усилителем перед подачей на АЦП.
У меня есть опыт работы с двумя такими усилителями, которые, возможно, могут быть полезны пользователям форума.

Один из них был предложен известным сотрудником завода Analog Devices Скоттом Вурсером (Scott Wurcer, Mr. AD797) в 2010 году:
Построил его на плате, нарисованной EUVL, используя 2SK369 и OPA1642. В начале питание било 9 вольт, а позже - LiPo, 11,1 вольт.
Чтобы уменьшить уровень электромагнитных помех от окружающей среды, усилитель встроен в стальную коробочку, затем в алюминиевый корпус, который изнутри облицован листом мю-металла.
Результат - полное отсуствие помех в спектре шума при заземленном входе.
 

Вложения

  • Wurcer_LNA_CircuitDiagram.JPG
    Wurcer_LNA_CircuitDiagram.JPG
    100 KB · Просмотры: 117
  • Wurcer_LNA_Parts.jpg
    Wurcer_LNA_Parts.jpg
    127.7 KB · Просмотры: 112
  • WLNA_C6_10nF_LiPo_InpShort_Cosmos_01.png
    WLNA_C6_10nF_LiPo_InpShort_Cosmos_01.png
    62.2 KB · Просмотры: 123
Это правда, что малошумящи усилитель вместе с сигналом усиливает и шум, но преобразование Фурье отделяет шум от дискретных частей сигнала, распределяя энергию шума по частоте, оставляя при етом дискретные части (гармоники) нетронутыми.
Во вложении приведено измерение искажения операционного усилителя OPA627. Его искажение составляет -133 дБц, официальное значение примерно такое же.
 

Вложения

  • VO_2V_OPA627Chn_NonInvBuffer_Rf_100R_Load_600R.jpg
    VO_2V_OPA627Chn_NonInvBuffer_Rf_100R_Load_600R.jpg
    278.3 KB · Просмотры: 72
Во вложении приведено измерение искажения операционного усилителя OPA627.
Уровень второй гармоники -:примерно -100дБ или 0,001%.
По нынешним меркам - слабовато.
Основной бонус 627 - слежение во входном каскаде.
Такое же, как и в разы более доступом 140уД8...
 
Назад
Сверху Снизу