www.diyfactory.ru



  Ответ в темуСоздание новой темыСоздание опроса

> Dsp алгоритмы, Балуемся с VST...
Medved
Дата 29.04.2007 - 17:25
Цитировать сообщение




Unregistered












ќткуда:


Собственно хочется потрещать на тему... Есть некоторые мысли на этот счет, и пока я их думаю, предлагаю обсудить будущее цифры в гитарной обработке)
Top
Gunpowder
Дата 29.04.2007 - 17:49
Цитировать сообщение




Unregistered












ќткуда:


Артем, помоги, плиз. Твою формулу я посмотрел. Заоптимизировано конечно круто.

Есть ФВЧ. http://slil.ru/24311232

Едс и вх. сопротивление Rin заменяем нортоновским эквивалентом - источником тока Is и сопротивлением. Чтобы было меньше узлов.
Емкость С заменяется эквивалентом - источником Ic и проводимостью G. Это позволяет интегрировать во времени. Для обратного Эйлера: I[n] = G*(V[n] - V[n-1]). G = C/dt, в момент времени эквивалентный ток Ic[n] = G*V2[n-1].

Сопротивление R для сокращения схемы включает и нагрузку схемы.

Для узлов записываем равенство токов.
1) Is + Ic = Irin + Ig;
2) Ic = Ig - Ir;
Irin = V1/Rin; Ir = V2/R; Ig = (V1-V2)G;

подставляем 2 в 1
Is+Ig-Ir = Irin+Ig;
Ic = Ig - Ir;

Is=Irin+Ir;
Ic=Ig-Ir;

Получаем систему

Is = V1/Rin + V2/R;
Ic = V1*G - V2*(G+1/R)

Решая которую Гаусом

Is = G11*V1+G12*V2
Ic = C21*V1+C22*V2

получаем формулу

V2 = (Ic-Is*G21/G11)/(G22-G21*G12/G11),
где Is = E/Rin, Ic = G*V2[n-1], G=C/dt.

Которая в реальном примении ВСТ дает чушь.
Звучит конечно как "Я написал программу, а она не работает. Где у меня ошибка?...". Но вопрос, что не так с системой...

Для ФНЧ этот подход работает. Но для незаземленной емкости похоже нет.

Это сообщение отредактировал Gunpowder - 29.04.2007 - 19:34
Top
Gunpowder
Дата 29.04.2007 - 18:35
Цитировать сообщение




Unregistered












ќткуда:


Насчет модульности.
Мое имхо, ценность и интерес к ВСТ плугину будет гораздо выше, если будет возможность изменять номиналы (как минимум), а лучше схему. В противном случае это будет похоже на кучу уже имеющихся прог, даже если моделирование точнее.

Идеальный вариант - полное редактирование (как в САD и спайс программах). С точки зрения действий нужно автоматом составить систему, ее линеализировать и решить. Все действия типа составления и расчета кусков матриц можно делать до. Реально сделать быстрее спайса, но похоже не реально в риал-тайме.
+ пользователь может сгородить почти любую схему (ограничено моделями лампы, bjt, jfet) и получить ее звук.
- подсчет кол-ва операций на решение только линейной системы 30х30 (30 узлов в хорошем преде) показывает что это только мечты. Для LU-факторизации это n^2 (900 операций за отсчет), для Гауса 1/3*n^3 (9000 операций).

Второй вариант. Составление схемы из модулей: каскад такой, RC-цепь, каскад сякой и т.д.
+ решить 10 матриц по 3Х3 быстрее чем 1 30х30. А еще лучше вывести формулы на каждый модуль(по этому пути ты и пошел, как я понял).
- нельзя сформировать схему с цепью, которая не смоделирована разработчиками. Прощайте винтажные фузы с обратными связями.

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

Имхо, пока предпочтителен вариант 2.
Top
Gunpowder
Дата 29.04.2007 - 18:51
Цитировать сообщение




Unregistered












ќткуда:


И еще на счет интерполяции сплайнами. Судя по твоим подсчетам операций расчет выйдет из реального времени.

Тогда есть смысл использовать аналитические модели, типа Корена или Райдла. Плюс можно записать аналитический вид производной.

Хотя надо делать и так и так.

Правда я не понял, почему ты считаешь модульную архитектуру в 5-10 раз тормознутее полного обсчета схемы. Да кол-во узлов больше - больше совокупное кол-во уравнений. Однако счиатать маленькие схемки всегда дешевле: для LU факторизации (кол-во операций не точно - порядок, для 5 узлов) 2 матрицы по 3х3 это 18 операций, 1 5х5 это 25.
Не говоря уже про то что для малой схемы можно вывести прямое уравнение.

Это сообщение отредактировал Gunpowder - 29.04.2007 - 19:25
Top
Medved
Дата 29.04.2007 - 20:22
Цитировать сообщение




Unregistered












ќткуда:


Привет. Я честно скажу, что ничерта не понимаю в подходе спайса, в его узлах и проч)
I)Про ФВЧ. Мы говорим на разных языках и используем разные подходы)
Я применял первый и второй з-н Кирхгофа к такой цепи: источник, конденсатор, резистор. Дальше, не переходи к производным, считай все через интегралы, т.к. в численных вычислениях интегрирование гораздо предпочтительнее дифференцирования. Получишь простенькую системку. Попробуй, не получится- напишу... Просто формулы в комп сложно загонять)
II) Смотря кому что надо. Мне нужен риалтайм алгоритм, который бы давал результат, близкий к оригиналу.
Приведенные тобой цифры я все-равно не понимаю (смотри вступление). По моим подсчетам (3) вариант сводится к одной системе из 2*N уравнений, где N - количество триодов. Т.е. в общем случае отдельного двухбалонного преампа к восьми уравнениям.
(2) вариант итерационный. Он считает немного по другим принципам, в итоге получается N систем из двух уравнений, но еще накручена внешняя итерация, которая избавляет математика от объемных вычислений и позволяет создать модульную структуру.
III) Аналитические модели - тупик. Их лишь можно попробовать прикрутить в качестве источника производных. Тут надо еще думать. Свести к 25-30 операциям вполне реально при соответсующем подходе.
Top
Gunpowder
Дата 2.05.2007 - 13:31
Цитировать сообщение




Unregistered












ќткуда:


Спасибо! Выразил емкость через интеграл. Пассивные схемы (ФВЧ, ФНЧ и пр.)заработали.

Для меня все-таки загадка, как ты получил такое малое кол-во уравнений для обоих вариантов. 8 уравнений на преамп!!! Межкаскадку тоже учитываешь?
Стандартными методами из Кирхгофа должна быть система 20-30 уравнений.

И про второй вариант - 2 уравнения на каскад. Ты также используешь эквивалентную схему лампы из 2-х источников тока? На один каскад у меня выходит 3 уравнения с 3-мя неизвестными напряжениями сетка, катод, анод. У Серафини тоже 3, правда неизвестные - токи.

Top
Medved
Дата 2.05.2007 - 17:02
Цитировать сообщение




Unregistered












ќткуда:


Цитата
Спасибо! Выразил емкость через интеграл. Пассивные схемы (ФВЧ, ФНЧ и пр.)заработали.

Ну вот видишь. Все просто)
Цитата
Для меня все-таки загадка, как ты получил такое малое кол-во уравнений для обоих вариантов. 8 уравнений на преамп!!! Межкаскадку тоже учитываешь?

Если ты измарал достаточно бумаги, то понял, что межкаскадка- константы в уравнениях до тех пор, пока они не начинают проявляют зависимость своих характеристик от сигнала)))
Цитата
И про второй вариант - 2 уравнения на каскад. Ты также используешь эквивалентную схему лампы из 2-х источников тока? На один каскад у меня выходит 3 уравнения с 3-мя неизвестными напряжениями сетка, катод, анод. У Серафини тоже 3, правда неизвестные - токи.

Два источника тока. Две неизвестных функции тока, зависящие от (Va-Vk),(Vg-Vk). Какие у тебя это вызывает ассоциации? tongue.gif
Top
Medved
Дата 13.07.2007 - 22:41
Цитировать сообщение




Unregistered












ќткуда:


Валентин, ты куда пропал? В отпуске что ли?
У меня вести с полей, очень хорошие на мой взгляд. Я думаю, ты им обрадуешься) До меня неожиданно дошло, что начальный участок ВАХ триодов в реальной жизни не используется! В гитарных каскадах напряжение анод-катод не опускается ниже 60-70в из-за открытия входного диода. Я думаю, не надо объяснять какие выгоды это нам дает в вычислительном плане laugh.gif
Top
Gunpowder
Дата 31.07.2008 - 16:18
Цитировать сообщение




Unregistered












ќткуда:


Привет! Не прошло и годаsmile.gif
Как дела? Давно забросил уравнения?
Top
Medved
Дата 31.07.2008 - 19:23
Цитировать сообщение




Unregistered












ќткуда:


Да, забросил. Разочаровавшись в том, что мощности цпу не хватает на посчитать весь преамп в риалтайме) Ты куда пропал?
Top
Gunpowder
Дата 31.07.2008 - 19:36
Цитировать сообщение




Unregistered












ќткуда:


Была смена работы и защита кандидатской. Вобщем, было не до интернета. Зато щас - свобода и легкость в телеsmile.gif
Top
Gunpowder
Дата 31.07.2008 - 19:38
Цитировать сообщение




Unregistered












ќткуда:


Кстати на форуме forum.rmmedia.ru один чел сотворил в VST богнер шарп. Довольно неплохо. В алгоритмах естественно не признаётся.

Это сообщение отредактировал Gunpowder - 31.07.2008 - 19:39
Top
Medved
Дата 31.07.2008 - 21:16
Цитировать сообщение




Unregistered












ќткуда:


У меня доступа нет к тому разделу, а регистрироваться лениво. Выползи уже в аську, поболтаем... В оффлайне-то даром соорудить все, что до динамика, включая выходной транс. С кабинетом и динамиком же серьезные проблемы. В любом случае, все упирается во время счета tongue.gif
Top
GrafOsciLL
Дата 1.08.2008 - 08:52
Цитировать сообщение




Unregistered












ќткуда:



хм...... ну отмечу что реально можно добится средненького звучания

если использовать железный пред => софтовый каб


но! один чел сказал что есть два секрета лампового звучания

1) низкое выходное сопротивление
2) скорость нарастания

по 1ому ,я поставил в дешёвый комбик последовательно с динамиком
резистер в 20 ом , заметил разницу средение дествительно стали
детальнее чтоли=), ну громкость немного упала, но не критично для дома хватит с запасом, проблема резонанса ГГ обсуждаемая на форумах
оказалась ПРИУВЕЛИЧЕНОЙ , так што можно и ИТУН с нулевым сопротивлением делать в качестве выходника
** кстати 1ое объясняет что динамик на большой громкости начинает звучать
изза того что начинает свободно болтаться и применяя ИТУН ,ВОЗЖМОЖНО
МОЖНО снизить громкость нормального звучания комбика.............

хотя у меня есть ещё мысль что на большой громкости соотношение эха
к сигналу из ГГ становится другим(увеличивается), (эха становится больше при увеличении громкости), вот даже миком пишешь и звучание конкретно!
изменяется особенно если мик, метра на два или далее от комбика отнести,
похоже он просто лучше эхо(со всех сторон) помещения слышит нежели УХО

2) теперь по второму(надо же ещё динамику игры объяснить=)..),

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

//дисторшен это обруб сигнала, остаётся только то что
около нуля , А в нуле-то сигнал имеет максимальное нарастание,

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

нарастание f*u*k=(В/мкс)

f=частота в герцах
u=амплитуда синуса
k=0,0000066

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

из этого кстати можно сделать вывод,, почему!! подключая педаль дисторшена из дрянных деталей в усилитель с хорошим оконечником
выходит приличный звук , потому что для первых каскадов нарастание не
достигает критического для транзисторов ,
можно вспомнить,как пример, предел для драйва в педальках или в комбиках,
на а если есть предел для драйва ТО и динамика тоже ОТПАДЁТ=)

ну и наконец , цифра не решит проблему влоб (последовательно модулируя
каждый каскад),здесь можно заметить ЧТО исходный и КОНЕЧНЫЙ звуки(то есть с датчиков и концерт на диске) хорошо передаются ,,,,,,,,,,,
этим можно воспользоваться , нужно перескакивать
моделирование усилителя и ограничение сигнала вобще , и забирая
со входа(аудиокарты) сигнал датчиков моделировать его влияние сразу на
динамик,,, вот почему щас в симуляторах такие не понятные на слух
алгоритмы ,,, ТИПА "ОТКЛИК кабинетов" ,, скорее они только получив сигнал на вход в виде амплитудных выборок переводят его в более
удобный вид типа наклонных выборок и т. д. и т. п.
Top
Gunpowder
Дата 1.08.2008 - 11:50
Цитировать сообщение




Unregistered












ќткуда:


Medved - ну с кабинетом проблем, имхо, меньше всего. Решение: динамический FIR, который интерполирует по откликам (импульсам), снятым с реального устройства на разной громкости. Плугин такой я уже как-то написал. Жрет ~300Мгц проца (уже с небольшой ассемблерной оптимизацией). А вот нормальных импульсов с посредсвенной аппаратурой не снял.

А вот то, что кажется тебе простым (пред и паверамп), у меня так и не заработалоsad.gif Метод интерполяций Ньютона при обсчете лампового каскада срывается на горизонтальном участке сигнала. На том я на это и забил...

Это сообщение отредактировал Gunpowder - 1.08.2008 - 11:54
Top
Medved
Дата 1.08.2008 - 14:00
Цитировать сообщение




Unregistered












ќткуда:


Насколько я помню, при использовании соответствующей модели, получалась линейная система... huh.gif
Top
Gunpowder
Дата 1.08.2008 - 16:14
Цитировать сообщение




Unregistered












ќткуда:


Линейная? У меня была нелинейная sad.gif
Если так, то ты молодец! А почему ж тогда не хватает мощи обсчитать...

Это сообщение отредактировал Gunpowder - 1.08.2008 - 16:15
Top
GrafOsciLL
Дата 2.08.2008 - 05:13
Цитировать сообщение




Unregistered












ќткуда:


а оптимизацию по времени делали ,,

я говорю об том что шаги дальше от нуля сигнала могут быть

реже
Top
Thehm
Дата 22.11.2008 - 21:13
Цитировать сообщение




Unregistered












ќткуда:


Никто случайно нормальный ревер писать не собирается? smile.gif Могу помочь с интерфейсом.
Top
zztim
Дата 24.11.2008 - 11:37
Цитировать сообщение




Unregistered












ќткуда:


я собираюсь, можно списаться и обсудить
Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса

 

<% COPYRIGHT %>