LINUX.ORG.RU
ФорумTalks

Как считаеются схемы


0

0

Допустим есть схема. с некоторым кол-вом входов

есть некоторый сигнал, сложный (можно только сказать что его спектр укладывается в пусть 50 Кгц)

есть желаение получить сигнал на выходе

как это делается?

первая мысль - тупо взять dt = 10^-5 c и итерировать

насколько это получится?

а на самом деле интересно, как это сделать максимально быстро

★★★★

1. Сосчитать коэффицент пропускания цепи K(w)

2. Разложить входной сигнал на спектр (прямое преобразование Фурье)

3. Получить очевидным образом выходной

4. Собрать обратным преобразованием.

5. ...

6. PROFIT

Если цепь линейная, просто просуммируй реакцию от всех входов

ArtNaiL
()

а тебе препод не сказал, чтоли, каким образом считать? Обычно говорят, особенно, если спросить :)

igels
()
Ответ на: комментарий от igels

был бы препод...

это я для себя интересуюсь

namezys ★★★★
() автор топика
Ответ на: комментарий от ArtNaiL

насколько такой алгоритм будет работать? а если цеп нелинейная? а задержки? а то что частоты могут изменяться?

не верится мне что все так просто

namezys ★★★★
() автор топика

>первая мысль - тупо взять dt = 10^-5 c и итерировать

>тупо

Никогда не делай ничего тупо! В этом корень всех ошибок.

dent
()
Ответ на: комментарий от namezys

> насколько такой алгоритм будет работать?

работает

> а если цеп нелинейная?

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

> а задержки?

если размеры системы этак раз в 10 меньше длины волны - спокойно пренебрегаем

> а то что частоты могут изменяться?

т.е.? фурье-преобразование от минус бесконечности до плюс бесконечности. Если формально, то синусоидальный сигнал конечной длительности уже содержит весь спектр. Реально этим пренебрегают

ArtNaiL
()
Ответ на: комментарий от dent

мне интересно как поулчить максмаильное приближение к реальности

namezys ★★★★
() автор топика
Ответ на: комментарий от ArtNaiL

> тогда все плохо.. будут появляться всякие лишние частоты.. там сложнее

Вот как раз лишнии частоты и интересны

Форматльно идею преобразования я понимю

Если s - сигнал, то тогда

fftw^{-1}( K(fft(s)) )

Формально так. Но если допустим я заранее не знаю сигнал. Он поступает с внешнего для компа девайся

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

> Вот как раз лишнии частоты и интересны

man Нелинейные элементы. А что, собственно, моделируем-то?

> Но если допустим я заранее не знаю сигнал.

берем какой-то интервал времени, и по нему интегрируем. Чем меньше интервал - тем ниже точность

ArtNaiL
()
Ответ на: комментарий от ArtNaiL

А как влияние старых кусков учесть?

вообще меня жутко заинтересовал вопрос: почему до сих пор не сделали программный гитарный эффект по качеств сопоставимый с аппаратным? что, в реалтайме невозможно?

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

забить :)

получается что нет. Численно интегрировать от минус бесконечности до плюс бесконечности, да еще и с большой точностью - совсем не легко.. А приближения ведут к искажениям..

ArtNaiL
()
Ответ на: комментарий от ArtNaiL

не. не хочу забивать

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

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

ну.. тогда взять момент времени T=0, все запоминать и интегрировать по всему известному промежутку.. А теперь представь, если наш интервал 1 секунда то к каким тормозам мы придем через пару часов работы. уверен что вычислительных мощностей хватит? подожди еще пару часов, тогда точно не хватит:)

а как же винил и "теплый ламповый"? теоретически, аналоговый сигнал содержит бесконечно много информации (если забить на квантование)

ArtNaiL
()
Ответ на: комментарий от ArtNaiL

ну совсем к такому ужасному пределу переходить не надо

900 Gflp простаивают

Надо что-то с ними делать

Мне кажется что приводить все к одной функции K(w) неполучится ничего хорошего

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

> 900 Gflp простаивают

поставь на них генту

> Мне кажется что приводить все к одной функции K(w) неполучится ничего хорошего

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

ArtNaiL
()
Ответ на: комментарий от ArtNaiL

> поставь на них генту

инетеренсая идея. но компиляция требует много памяти, а не поизовдтельности

---------------

у нас моно вход и моно выход

все просто

namezys ★★★★
() автор топика
Ответ на: комментарий от ArtNaiL

> 1. Сосчитать коэффицент пропускания цепи K(w)
> 2. Разложить входной сигнал на спектр (прямое преобразование Фурье)

> 3. Получить очевидным образом выходной

> 4. Собрать обратным преобразованием.


Оно.
(Как будущий радиоинженер, которому через 4 дня сдавать этот материал придётся, авторитетно заявляю)

Terrens
()
Ответ на: комментарий от namezys

2 гига оперативки, /var/tmp/portage в tmpfs. Немного свопится только при компиляции OOo и других огромых пакетов. __ усилитель? вроде там еще как-то нужно учесть усиление, точно не помню.. Но, кажется, оно тоже в K(w) уходит

ArtNaiL
()
Ответ на: комментарий от ArtNaiL

хм.... в один поток на моих проектах 1 гига хватает. в 2 уже не всегда

да дело то в неленейных эффектах

namezys ★★★★
() автор топика
Ответ на: комментарий от namezys

нууу... возможно вру, но действие нелинейного элемента можно представить как оператор, который будет действовать на сигнал. тогда будет уже не совсем домножение на K(w)

ArtNaiL
()
Ответ на: комментарий от Terrens

> 2. Разложить входной сигнал на спектр (прямое преобразование Фурье) > 3. Получить очевидным образом выходной

если учитывать дискретизацию и проч нелинейности -- не получится жеж организовать суперпозицию...

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

Corey
()
Ответ на: комментарий от namezys

>почему до сих пор не сделали программный гитарный эффект по качеств сопоставимый с аппаратным?

А zoom - эт что? Любой гитарный процессор программу имеет. Другое дело, что там, емнип, специализированные какие-то они, да качество - буээээ :((

Осиль лучше теплые лампы - масса удовольствия от звука, честно!

igels
()

>как это сделать максимально быстро

А может стоит подключить машину? Ведь для автоматизации их и сделали. ЕМНИП, Microcap это умеет. Хотя и открытые аналоги должны быть.

wyldrodney
()
Ответ на: комментарий от Corey

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

Terrens
()
Ответ на: комментарий от namezys

Всё гениальное - настолько сложно, что осилить это человеческому мозгу всегда не под силу, а злое правительство специально заставляет придумывать ложные теории, чтобы потом говорить "всё гениальное - просто". Теория заговора же :)

Terrens
()

Я знаю, что в SPICE и gnucap применяется метод итераций Ньютона (а точнее Ньютона-Рафсона) для поиска нелинейных решений и еще LU-разложение.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.