Автор Тема: Эксперименты звукообработки (и тесты, тесты, тесты)  (Прочитано 123883 раз)

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

Оффлайн Macsimpain

  • Ветеран форума
  • ******
  • Сообщений: 3548
  • Репутация: +740/-18
  • Follow your Dream
Опять философ портянку наольязил :hitrez:

(нажмите чтобы показать/спрятать)

(нажмите чтобы показать/спрятать)

(нажмите чтобы показать/спрятать)

Онлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34189
  • Репутация: +3351/-40
  • alderman of morning star
    • Malefice
Если надо RLC-фильтр, то берёшь матрицу и выводишь с неё обычный цифровой фильтр, ничего такого в этом нет, коэффициенты другие будут, т.к. уже второй порядок.
Если надо такое включать в общую цепь, то и надо вносить MNA-матрицу (просто NA из-за индуктивности не получится) конкретного RLC-блока в общую матрицу, а не заниматься фигнёй.
По мере усложнения линейных фильтров сложность зависимостей для коэффициентов будет возрастать.
Но можно и матричным подходом всё решать.
« Последнее редактирование: Января 27, 2021, 15:00:04 от deLuther »

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
Цитировать
...а не заниматься фигнёй.

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

А вообще, провел эксперимент.
Практически получается, что и при переменных ёмкости и индуктивности - достаточно снова все того же одного единственного цифрового бэнд-фильтра

Сочетание любых значений R, L и С в RLC-фильтре - отлично воспроизводится, если менять значения в тех блоках "X-Y кривых", которые у меня там на картинках... (наверное это и есть нечто типа тех "матриц", о которых чуть выше... :hmmm: )
Т.е. по факту меняются лишь частота и глубина цифрового фильтра

Но...

У меня эти коэффициенты в модулях "X-Y кривых" надо на каждый конкретный случай вбивать в ручную..
Т.е. на каждое сочетание C и L - свой модуль

Но можно вывести эти значения наружу и менять их с помощью еще одного модуля "X-Y кривой"
Тогда уже должен по идее получиться ВЭквл RLC-фильтра где все три детали могут быть переменными...
« Последнее редактирование: Января 27, 2021, 15:54:25 от Винтик на отдыхе »

Оффлайн NSb-2

  • Живу на форуме
  • *******
  • Сообщений: 7745
  • Репутация: +885/-11
  • Shit in - Shit out
    • pornhub.com
deLuther,
У вас разных подход, ты чисто математически, как программер, а Винтик через конструктор - готовые блоки.
Твой метод ему не подойдет.

Онлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34189
  • Репутация: +3351/-40
  • alderman of morning star
    • Malefice
NSb-2,
Как сказать, выше упоминается необходимость забивать кривые вручную.
Я же, если помнишь, делал когда-то хайпас 4го порядка в SynthMaker, это же тоже модульная система, соответственно задаёшь систему блоков для расчёта коэффициентов и, используя блок IIR-фильтра, их применяешь к данным.
Просто я делаю это не визуально и всё (но работы при этом как бы меньше, тем более учитывая что инструментарий выдаёт готовый код для расчёта коэффициентов).

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
Цитировать
готовые блоки

Ну, не совсем.. стараюсь минимизировать "на всём готовеньком"
Благо в Reaktor на Core-уровне это возможно вполне..

Но кое какие модули фабричные таки использую.
Вот, к примеру, фильтры как раз..
Но и любой фильтр там можно сделать "с нуля", если сильно надо... (но нафига?)

... и добавил:

Цитировать
Просто я делаю это не визуально и всё..

А вот визуальное удобство мне как раз важно.
Когда блок-схемами мыслишь...
« Последнее редактирование: Января 27, 2021, 16:26:38 от Винтик на отдыхе »

Онлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34189
  • Репутация: +3351/-40
  • alderman of morning star
    • Malefice
Винтик на отдыхе,
Вот например в том же SynthMaker блоками задать выражение для расчёта коэффициентов фильтров радость ещё та :)
С другой стороны можно потом использовать повторно, пока что-то новое не надо.
Применение с готовым блоком да, проще. Но и когда сам пишешь, то тут обычно используются классы, т.е. некоторый объект, который выполняет нужную работу внутри.
Мыслить всё равно приходится тоже блоками по сути или сводить к ним для удобства.

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
Психологи находят различия между людьми, типа "визуалы", "аудиалы", "кинестетики" и "дигиталы"...

Отсюда и - то что "съедобно" дигиталу, к примеру... то может быть вовсе не съедобно "визуалу"..

А все науки и прочие традиции - то как они оформлены и как преподаются - зачастую заточены под сугубо тех или других, или третьих...
Бяда...........  :hitrez:

А еще бывают, скажем, "левополушарные" и "правополушарные" - и между ними тоже идёт неформальная "классовая борьба"... ппц какой-то
« Последнее редактирование: Января 27, 2021, 16:37:48 от Винтик на отдыхе »

Оффлайн NSb-2

  • Живу на форуме
  • *******
  • Сообщений: 7745
  • Репутация: +885/-11
  • Shit in - Shit out
    • pornhub.com
NSb-2,
Как сказать, выше упоминается необходимость забивать кривые вручную.
Я же, если помнишь, делал когда-то хайпас 4го порядка в SynthMaker, это же тоже модульная система, соответственно задаёшь систему блоков для расчёта коэффициентов и, используя блок IIR-фильтра, их применяешь к данным.
Просто я делаю это не визуально и всё (но работы при этом как бы меньше, тем более учитывая что инструментарий выдаёт готовый код для расчёта коэффициентов).
Помню и Вадим не мало в ней плагов сделал...

... и добавил:

Винтик на отдыхе,
Вот например в том же SynthMaker блоками задать выражение для расчёта коэффициентов фильтров радость ещё та :)
С другой стороны можно потом использовать повторно, пока что-то новое не надо.
Применение с готовым блоком да, проще. Но и когда сам пишешь, то тут обычно используются классы, т.е. некоторый объект, который выполняет нужную работу внутри.
Мыслить всё равно приходится тоже блоками по сути или сводить к ним для удобства.

Алгоритмами всеж точнее и ты не привязан к конструктору. Можешь гибко выстругивать аленький цветочек как угодно +оптимизация на прожорливость.

... и добавил:

 :hmmm: :hmmm: :hmmm: хотя и сложнее
« Последнее редактирование: Января 27, 2021, 17:01:02 от NSb-2 »

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
P/s

Думаю... переключусь, наверное, пока на изучение ВЭквл полосного RLC-фильтра (band-pass)

Там взаимодействие катушки и кондёра - это как делитель тока с частотно-переменными резисторами...



Между делителем тока и делит. напряж - есть не только разница, но и кое что общее..
Недаром, я когда моделировал делитель напряжения о трёх резисторах - задачка решилась использованием внутри делителя тока...  :hmmm:

Может на сравнении обеих вариантов таки пойму некую суть, которую пока еще не догоняю до конца.

Цитировать
Алгоритмами всеж точнее и ты не привязан к конструктору. Можешь гибко выстругивать аленький цветочек как угодно +оптимизация на прожорливость.

Так у меня по большей части и есть на ологритмах, собственного изобретения велосипеда...
Как вон с тем модулем "X-Y кривой", к примеру...  :D

... и добавил:

P/s

Во... узрел очевидное...  ;D

Если сравнить оба типа RLC-фильтров, и потыкать их в LTspice на всех любых контактах и деталях...
.. то оказывается, что там везде и всюду - и волна тока - и волна напряжения имеет характер полосной фильтрации, нет никаких хайпассов с лоупассами..

Все таки, видимо, для модели со всеми переменными (R, L и C) лучше применение двух цифровых полосных фильтров с разными настройками...
Эти два фильтра при банальном смешивании дают на резисторе  искомую волну тока и соотв. обратную волну напряжения на контакте между R и LC
Надо было сразу с этой схемы начинать..  :hmmm:
« Последнее редактирование: Января 27, 2021, 18:14:45 от Винтик на отдыхе »

Онлайн deLuther

  • Живу на форуме
  • *******
  • Сообщений: 34189
  • Репутация: +3351/-40
  • alderman of morning star
    • Malefice
В-принципе для такого фильтра коэффициенты будут следующие:
числитель:
b0=0
b1=L
b2=0
знаменатель:
a0=R
a1=L
a2=R * L * C

Потом эти коэффициенты необходимого дискретизировать под конкретный сэмпл-рейт, допустим SR
B0 = b0 + 2 * b1 * SR + 4 * b2 * SR * SR;
B1 = 2 * b0 - 8 * b2 * SR * SR;
B2 = b0 - 2 * b1 * SR + 4 * b2 * SR * SR;
A0 = a0 + 2 * a1 * SR + 4 * a2 * SR * SR;
A1 = 2 * a0 - 8 * a2 * SR * SR;
A2 = a0 - 2 * a1 * SR + 4 * a2 * SR * SR;
Потом желательно всё поделить на A0, обычно этот коэффициент предполагается равным единице и не указывается...
Как видно числитель и знаменатель трансформируются одинаковым образом, поэтому для них можно сделать блок-преобразователь и использовать повторно.
« Последнее редактирование: Января 27, 2021, 18:21:43 от deLuther »

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
Всё таки, NSb был прав...

Цитировать
У вас разных подход, ты чисто математически, как программер, а Винтик...
Твой метод ему не подойдет.

Реально, это что-то совсем не съедобное для меня...  :7:

Вот я когда смотрю на исходную волну напряжение и на волну тока в ключевых узлах цепи - я вижу как из исходной волны напряж. получается результирующая волна - там всё наглядно..
« Последнее редактирование: Января 27, 2021, 19:16:38 от Винтик на отдыхе »

Оффлайн Victor 1989

  • Опытный
  • ****
  • Сообщений: 877
  • Репутация: +233/-26
Вопрос Винтику. Винтик, вы достигли успехов которые очень похоже и даже неотличимо звучат от реального аппарата. А что,еще лучше можно сделать ? Я чего не пойму, почему поиски никак не закончатся. Уже ведь есть результат. Или уже какие-то другие задачи стоят ? Например эмуляция железных каналов разных железяк. Чет не пойму,

Оффлайн Винтик на отдыхе Автор темы

  • Эксперт
  • *****
  • Сообщений: 2948
  • Репутация: +301/-14
Цитировать
Вопрос Винтику. Винтик, вы достигли успехов которые очень похоже и даже неотличимо звучат от реального аппарата.

Это где, например?
Пруфы в студию...


... и добавил:

P/s

В ходе экспериментов в LTspiсe - обнаружил, что в бандпассовом RLC-фильтре - опять таки имеет место быть ПРОПОРЦИЯ, которая - значима
Пропорция значений между емкостью кондера и индуктивностью катушки
Равная по частоте среза пропорция 1 к 1 когда L=1H C=1uF

А когда пропорция увеличивается (при чем пофиг в ту или иную сторону) - форма волны тока на кондере (или на катушке) становится все более неизменная при разных номиналах резистора, при разности в 1млн - практически одна тютелька в тютельку, что при R=100, что при R=10K и т.д..
Но меняется амплитуда

В режекторном фильтре все те же законы обязательно должны присутствовать (только наизнанку по току), но в этом вот где L и C как два перем. резюка в делителе тока - эти фишки обнаружить легче. Там волна тока разная на разных деталях, а в последовательном соединении - на всех деталях одинаковая (зато напряж. вокруг элемента разное, а в том - наоборот - одинаковое, что, собственно, понятно)

... и добавил:

Хм... как раз недели две назад придумал модуль выводящий значение разности номиналов (пофиг каких)...

А он не пригодилсо... дернулась как-то рука удалить, но решил погодить...
наверное, не зря таки.. :hmmm:
« Последнее редактирование: Января 27, 2021, 20:53:21 от Винтик на отдыхе »

Оффлайн Macsimpain

  • Ветеран форума
  • ******
  • Сообщений: 3548
  • Репутация: +740/-18
  • Follow your Dream
Это где, например?
Пруфы в студию...

Не ведись на провокации. Сирёжа будет жоцка тралить и RLC-фильтру придет хана.