Автор Тема: SpectraLab для чайников  (Прочитано 34702 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #30 : 09 августа 2013, 09:16 »
"Вау! Я-то думал, что у меня отстойный звук!"
А, ну тогда я не жертва зомбирования, потому что я и сейчас так думаю.  ;D
Слава Украине!

Оффлайн Valery_C

  • Ветеран
  • *****
  • Сообщений: 662
    • Просмотр профиля
SpectraLab для чайников
« Ответ #31 : 12 августа 2013, 14:44 »
Цитата: AndrejE
А если сделать так:
Андрей, так можно, но не нужно, точнее неправильно.
В исходной схеме на дифференциальный вход АЦП сигналы (неинвертированный и инвертированный) идут каждый через свой и только один операционник. В предложенном варианте замены неинвертированный сигнал идет опять через один операционник, а инвертированный уже через два.
Чем это плохо. Во-первых, получается, что на один вход АЦП приходит сигнал с искажениями только одного операционника, а на другой - с бОльшим количеством суммарных (и не только) искажений уже обоих. В исходной схеме операционники по отношению к своим входным сигналам работают вообще-то тоже в неодинаковых условиях, но это в данном случае данность, которая к тому же сохраняется и предлагаемой доработке, поэтому не рассматривается.
А во-вторых, для инвертированного сигнала по отношению к неинвертированному появляется дополнительная задержка, которая к тому же растет с ростом частоты. Ему приходится через две двери проходить, а неинвертированному только через одну. А ведь сигналы на дифференциальных входах АЦП в идеале должны быть абсолютно противофазны во всей полосе рабочих частот.

Все можно сделать правильнее. Просто в исходной заводской схеме в обвязке инвертирующего усилителя заменить оба резистора 4,7 КОм на те же 22 КОм. Но...есть одна тонкость - точность этих резисторов должна быть очень высокой. Я не знаю хватит ли 1% точности, тут скорее наш добрый хозяин может подсказать. Я думаю, что далеко не хватит. 1% при плохом раскладе даст 2% разности по величине противофазных сигналов на входе АЦП.
Причем ладно бы, можно было бы подобрать резисторы из менее точных серий просто попарно дру к другу. Увы, точные детали, обычно подразумевают не только одномоментную точность, но и долговременную, что для менее точных серий регламентируется не так строго. Поэтому можно поступить так - выбрать из 1%-ных или 0,5%-ных резисторов два наиболее близких друг к другу по сопротивлениям. Конечно прибор должен это позволять. На руку в данном случае нам будет играть то обстоятельство, что измерения нам нужны не абсолютные, а относительные. А относительные измерения сделанные в одно время конкретным прибором всегда точнее чем абсолютная точность этого прибора, подразумевающая опять же долговременную точность измерений.
« Последнее редактирование: 12 августа 2013, 15:25 от Valery_C »

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #32 : 12 августа 2013, 15:41 »
так можно, но не нужно, точнее неправильно.
Всё ясно. А я уже думал, найдено простое решение.  :(
 
Все можно сделать правильнее. Просто в исходной заводской схеме в обвязке инвертирующего усилителя заменить оба резистора 4,7 КОм на те же 22 КОм.
 
А это не вызовет увеличение шумов?


 
Причем ладно бы, можно было бы подобрать резисторы из менее точных серий просто попарно дру к другу. Увы, точные детали, обычно подразумевают не только одномоментную точность, но и долговременную

Честно говоря, не очень представляю, что есть долговременная точность для резистора и почему она может отличаться от одномоментной. Имеется ввиду влияние температуры?


 
относительные измерения сделанные в одно время конкретным прибором всегда точнее чем абсолютная точность этого прибора, подразумевающая опять же долговременную точность измерений.
 
Шесть раз фразу перечитал, и то не уверен, что понял...  ;D
Но в целом всё ясно, спасибо!
Слава Украине!

Оффлайн Valery_C

  • Ветеран
  • *****
  • Сообщений: 662
    • Просмотр профиля
SpectraLab для чайников
« Ответ #33 : 12 августа 2013, 16:40 »
Шумы за счет увеличения сопротивления резисторов увеличатся в обоих случаях. В моем варианте вроде бы больше, поскольку увеличивается номинал сразу двух резисторов, но только "вроде бы". На деле может оказаться наоборот. И потом, RC4580 не самый супер-пупер малошумящий операционник. Мне думается, что шумы резисторов будут меньше. Правда я могу ошибаться. Но вспомним о том, что на один вход АЦП при плохой схеме идут шумы сразу двух операционников. Правда они суммируются не алгебраически, что даст шумов не в два раза больше.

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

Андрей, помните сентенцию - "Даже стоящие часы два раза в сутки показывают правильное время".
Что есть в данном случае абсолютные измерения и относительные измерения. При абсолютных измерениях нам необходимо измерить конкретный номинал резистора. Соответственно для того, чтобы измерять сопротивления резисторов из 1%-ного ряда нам нужен прибор с точностью на порядок большей чем 1% - то есть 0,1%. И этот прибор должен от момента своей последней поверки до момента следующей поверки (например год) эту точность измерений обеспечивать в пределах большого диапазона внешних воздействий, допустим температуры. Причем на деле, допустим сегодня он добавляет к истинному номиналу резистора этот самый 0,1%, а завтра (фаза луны не та) уже отнимает этот 0,1%. И так в течении года, но не больше 0,1%.
НО...в данном случае нам не важны конкретные значения номиналов резисторов, нам важно, чтобы они были как можно более близки друг к другу. А при этом абсолютная долговременная точность прибора нам не нужна. В пределе, доведя до абсурда, можно сказать, что нам даже на приборе шкала не нужна, нужна только стрелка. Вот мы будем по одинаковому отклонению стрелки подбирать два резистора. Я конечно утрирую. Подразумевается, что в каждом приборе есть систематические и, скажем так, несистематические погрешности, которые складываясь и определяют его точность. Причем в цифровом приборе даже определяется скольким единицам младщего разряда доверять уже нельзя. Но...если мы делаем измерения в одно время и в одних условиях, то погрешности прибора в этот момент, что для одного резистора, что для другого могут считаться одинаковыми и по знаку и по величине. А посему если мы измерили величину одного резистора 21,01 КОм, и в это же время тем же прибором величину другого - 21,02 КОм, то нам по большому счету пофигу, что на самом деле их сопротивления равны 22,11 и 22,12 КОм. Разница между ними все равно в 10 ом.
Правда надо учесть, что прибор все-таки должен быть достаточно точным, ибо любой прибор обычно имеет шкалу  (даже цифровую) с градациями измеряемых величин меньше чем его абсолютная погрешность измерений. И у прибора с 1%-ной погрешностью шкала все-таки точнее, чем у прибора с 5%-ной погрешностью, и поэтому позволяет проводить относительные измерения точнее.

Фу-у - по-моему я уже сам запутался. ;D
 

А теперь забудьте все это как страшный сон ;D
Потому что проблема с низким входным сопротивлением звуковой карты при большинстве нужных Вам измерений решается гораздо проще - добавочным последовательным сопротивлением между выходом измеряемого устройства и входом звуковой карты. Допустим, поставили сопротивление 4,7 КОм - входное сопротивление измерителя уже стало 9,4 КОм. Ну да, напряжение на входе карты упало в два раза, но это по шкале спектралаба всего 6 дБ. Помехи и искажения, допустим корректора, тоже упали вдвое, а значит пользуясь термином "относительные измерения" ничего не изменилось с точки зрения отношения сигнал/помеха и коэффициента нелинейных искажений, если конечно они не приближаются к таковым параметром самой карты, но в нашем случае это нам не грозит. Более того, если измерять с выхода лампового корректора, то нам так и так понадобится загрублять вход карты по чувствительности внешним резистором.
Так зачем карту переделывать. Я еще раз подчеркиваю, что нам важно знать ее параметры, чтобы учитывать это при измерениях, но совсем необязательно ее переделывать.
« Последнее редактирование: 12 августа 2013, 19:31 от Valery_C »

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #34 : 12 августа 2013, 18:07 »
RC4580 не самый супер-пупер малошумящий операционник.
У меня уже там AD8672A стоят,  ;) я писал.


 
Фу-у - по-моему я уже сам запутался. ;D
На этот раз всё как раз предельно ясно.  :)


 
А теперь забудьте все это как страшный сон ;D
Будем считать, что забыл.  :) 
Слава Украине!

Оффлайн MARKAN

  • Администратор
  • *****
  • Сообщений: 1335
  • Андрей
    • Просмотр профиля
SpectraLab для чайников
« Ответ #35 : 27 августа 2013, 23:26 »

Все можно сделать правильнее. Просто в исходной заводской схеме в обвязке инвертирующего усилителя заменить оба резистора 4,7 КОм на те же 22 КОм. Но...есть одна тонкость - точность этих резисторов должна быть очень высокой. Я не знаю хватит ли 1% точности, тут скорее наш добрый хозяин может подсказать. Я думаю, что далеко не хватит. 1% при плохом раскладе даст 2% разности по величине противофазных сигналов на входе АЦП.
Причем ладно бы, можно было бы подобрать резисторы из менее точных серий просто попарно дру к другу. Увы, точные детали, обычно подразумевают не только одномоментную точность, но и долговременную, что для менее точных серий регламентируется не так строго. Поэтому можно поступить так - выбрать из 1%-ных или 0,5%-ных резисторов два наиболее близких друг к другу по сопротивлениям. Конечно прибор должен это позволять. На руку в данном случае нам будет играть то обстоятельство, что измерения нам нужны не абсолютные, а относительные. А относительные измерения сделанные в одно время конкретным прибором всегда точнее чем абсолютная точность этого прибора, подразумевающая опять же долговременную точность измерений.
А никто и не сможет предсказать, "хватит" ли "точности". Поведение подобных узлов на статических и динамических сигналах абсолютно разное, скорее всего, даже значительный разброс резисторов будет незаметен на сигналах с крутыми фронтами - там бОльшую роль будут играть проблемы по питанию микросхемы и прочие непредсказуемые факторы (температура вокруг узла, возраст и ресурс элементов и т.д.). Маловероятно, что для звуковых плат изначально используются какие-то прецизионные пассивные элементы - точность номиналов обычной, индустриальной,  SMD комплектации довольно высока и ее вполне можно использовать для подобных "бытовых" экспериментов.


Увеличивая номиналы резисторов можно потерять пресловутую "энергетику" звучания. Если рассматривать только измерительные задачи - то ничего не потеряется, можно смело экспериментировать. Но, опять-таки, это просто теоретические размышления...
DAC MARKAN - просто ангел. С особой геометрией крыла.

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #36 : 30 августа 2013, 21:59 »
скорее всего, даже значительный разброс резисторов будет незаметен на сигналах с крутыми фронтами
точность номиналов обычной, индустриальной,  SMD комплектации довольно высока и ее вполне можно использовать для подобных "бытовых" экспериментов.

Увеличивая номиналы резисторов можно потерять пресловутую "энергетику" звучания.


Андрей, спасибо! Что такое "энергетика" я смутно представляю, но терять ничего не хочется. (Надеюсь эпитет "пресловутая" - это не намёк, на то, что её и потерять не страшно?) Пользуясь случаем, хочу ещё спросить: можно ли без потерь    уменьшить  номинал резисторов R3 и R4 с целью увеличить уровень сигнала (примерно в два раза)? Судя по тому, что в схеме фильтра из даташита к АЦП эти резисторы не показаны, на работу фильтра они не влияют. Правда, в карте схема немного отличается - ОУ в инвертирующем включении почему-то - но, насколько я понимаю, на данный вопрос это не влияет. А не будет ли каких-нибудь подводных камней, как с R1 и R2? И не возникнет ли проблемы с нагрузкой для предыдущего каскада?


P.S. Наоффтопил я тут... Может перенести всё это про мою карту куда-нибудь? Или вообще прибить... Только сначала прошу ответить.  :) 
Слава Украине!

Оффлайн MARKAN

  • Администратор
  • *****
  • Сообщений: 1335
  • Андрей
    • Просмотр профиля
SpectraLab для чайников
« Ответ #37 : 30 августа 2013, 23:53 »
"Пресловутая" - имеется в виду, что о ней много говорят, но, мало кто знаком с ней "лично".


Насколько она важна? На мой взгляд - это самое важное в звуке...


Насколько ее много в цифровом звуке? Предельно малое ее количество является важнейшим фактором повального увлечения  винилом. Всемерная и всесторонняя борьба за энергетику в цифровом звуке - это основное направление всех моих экспериментов.


Можно ли с ней познакомиться, чтобы понять о чем речь? Легко. Достаточно просто послушать цифровые записи, выполнеенные с разным  средним уровнем громкости. Более "тихие" записи звучат "жиденько", именно из-за потерь в энергетике.


По поводу обозначенных Вами резисторов - да, если уменьшить их номинал, то все будет нормально. Здесь эксперименты с номиналами  могут иметь широкие рамки без всяких последствий и "подводных камней".

DAC MARKAN - просто ангел. С особой геометрией крыла.

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #38 : 31 августа 2013, 00:09 »
Спасибо!


 
ОУ в инвертирующем включении почему-то
А вот и объяснение:
Цитировать
в неинвертирующем включении коэффициент гармоник для большинства ОУ существенно больше, чем для инвертирующего включения. Эта разница существенно возрастает в схемах, в которых на входах ОУ включены резисторы.
Цитировать
неинвертирующее включение ОУ с резисторами на входах не позволяет реализовать предельный потенциал у большинства микросхем по нелинейным искажениям. Инвертирующее включение дает ряд лучших характеристик: меньшие нелинейные искажения, более короткий и «мягкий» спектр искажений, отсутствие «порога» (резкого возрастания высших гармоник в спектре), на искажения и спектр не оказывает влияние внутреннее сопротивление источника сигнала.
« Последнее редактирование: 02 сентября 2013, 14:58 от AndrejE »
Слава Украине!

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #39 : 12 ноября 2013, 22:21 »
Читая другой форум наткнулся на рекомендацию пользователя Groovydmk для  большей достоверности (точности) устанавливать параметры измерения искажений и уровня шумов, как на рисунке. Обратите внимание на размер FFT и вид врменнОго окна. Аргументацию он не приводил (хотя его никто и не спрашивал), но и помидорами в него не кидали.
Слава Украине!

Оффлайн Valery_C

  • Ветеран
  • *****
  • Сообщений: 662
    • Просмотр профиля
SpectraLab для чайников
« Ответ #40 : 13 ноября 2013, 00:53 »
Андрей, насколько я понимаю в колбасных обрезках, а в измерение спектральных и шумовых характеристик я особо не вдавался, хотя именно спектры - главная задача спектроанализатора, уменьшение величины окна действительно приводит к увеличению точности измерения, по крайней мере коэффициента нелинейных искажений.
Просто, когда вычисляется величина сигнала, попавшего в окно, кроме гармоники, вызванной нелинейностью, в расчет принимается и все остальное, что попало в окно - шум и системные помехи. Спектралаб в результате рисует пик величиной, полученной путем интегрального подсчета всех сигналов, попавших в окно. И чем меньше окно, тем меньше в него попадает "лишних сигналов", не связанных со спектральными составляющими того сигнала, который мы измеряем. Чем чаще зубья у расчески, чем легче прическу разделить на отдельные "фракции" :)
Понятное дело, что это очень важно, когда идет подсчет на уровнях не в десятых долях процента, а гораздо меньше. То есть, чем ближе по величине спектральные составляющие сигнала к величине шума на этом же частотном участке, тем это важнее.
Вид временного окна, действительно влияет на расчеты, поскольку это, по-простому, есть функция, фактически устанавливающая весовые коэффициенты, которые присваиваются компонентам отловленной окном "каши" в зависимости от их удаленности в обе стороны от центра окна.

Вот мне так кажется. По поводу повышения точности измерения шума я не думал.
« Последнее редактирование: 13 ноября 2013, 01:01 от Valery_C »

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #41 : 13 ноября 2013, 11:50 »
уменьшение величины окна действительно приводит к увеличению точности измерения, по крайней мере коэффициента нелинейных искажений. 
 
Так он как раз предлагает ставить огромное (как по мне) значение - 524288.

 
Просто, когда вычисляется величина сигнала, попавшего в окно, кроме гармоники, вызванной нелинейностью, в расчет принимается и все остальное, что попало в окно - шум и системные помехи. Спектралаб в результате рисует пик величиной, полученной путем интегрального подсчета всех сигналов, попавших в окно. И чем меньше окно, тем меньше в него попадает "лишних сигналов", не связанных со спектральными составляющими того сигнала, который мы измеряем.
 
Но есть же ещё усреднение, и тогда, чем больше окно, тем меньше влияние случайных, статистически недостоверных,  помех на конечный результат вычислений. Разве не так?


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

Ну, то что влияет, это понятно. Вопрос - как? Т.е. по какому принципу выбирать этот алгоритм? Мне до сих пор не попадалось никаких рекомендаций по этому поводу, из чего я сделал для себя вывод, что это не имеет принципиального значения, как формула для расчёта протрактора, хоть Баерволд, хоть Лофгрен - так и этак хорошо.  :)  Но тут атор почему-то настаивал именно на Блэкмане.
Слава Украине!

Оффлайн Valery_C

  • Ветеран
  • *****
  • Сообщений: 662
    • Просмотр профиля
SpectraLab для чайников
« Ответ #42 : 13 ноября 2013, 16:54 »
Цитировать
Так он как раз предлагает ставить огромное (как по мне) значение - 524288.
Нет Андрей, FFT size (samples) 524288 - это число отсчетов (сэмплов).
А ширина окна, точнее разрешение, это то, что я на рисунке обвел красным - Spectral Line Resolution. Меняя число отсчетов меняем значение этого параметра. Подразумевается, что если две составляющие спектра отстоят по частоте на эту величину, то Спектралаб их посчитает раздельно, а не в куче. То есть как бы весь спектр разбивается на кусочки такой ширины и каждый такой кусочек анализируется сам по себе. Правда там есть еще ниже параметр Overlap (Перекрытие), который подразумевает, что Спектралаб все-таки при анализе одного кусочка, учитывает в некоторой степени и два соседних кусочка. Вот как там и что - этого я не знаю. Вероятнее всего, поскольку это все-таки Быстрое Преобразование Фурье, таким способом в нужную сторону корректируются ошибки преобразования.
« Последнее редактирование: 13 ноября 2013, 17:10 от Valery_C »

Оффлайн AndrejE

  • Старожил
  • ****
  • Сообщений: 442
    • Просмотр профиля
SpectraLab для чайников
« Ответ #43 : 13 ноября 2013, 18:31 »
Нет Андрей, FFT size (samples) 524288 - это число отсчетов (сэмплов).
А ширина окна, точнее разрешение, это то, что я на рисунке обвел красным - Spectral Line Resolution.
Аааа! Вот я темнота!  ;D  Тогда всё становится на свои места.
Слава Украине!

Loewer

  • Гость
SpectraLab для чайников
« Ответ #44 : 13 февраля 2014, 00:23 »
Прошу пардона, прочитал здесь, сходил по ссылкам, но так и не понял где здесь то самое для чайников?
Внятного и слитного руководства как бы и нет. Вот, например, на том сайте где обсуждается работа программы с винил-корректором - вроде бы много материала, но как там всё запутано, с массой ошибок, оговорок, вааще отвлечённых рассуждений, что у меня сразу возникло вопросов гораздо больше чем ответов...
Неужели так никто и не систематизировал...