|
|
  |
Комплексная передаточная функция, имеет физический смысл? |
|
|
|
Jul 4 2014, 02:25
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
Я пытаюсь понять как работает один алгоритм (старая тема тут). По сути программа составляет полином и ищет его корни. Эти корни имеют вполне конкретный физический смысл (действительная часть - частота, мнимая - коэффициент затухания). Но входные параметры и способ составления полинома - загадка. Пытаясь приложить все мои знания я пришел к тому, что изображено на картинке. Полином в этим случае - это характеристическое уравнение замкнутой системы. Соответственно корни этого полинома (D(s) + N(s)*H(s) = 0) - это собственные числа. В принципе, собственные числа обладают нужными свойствами, поэтому рассуждения похожи на правду. Вот только в этом случае H(s) - это константа, не зависящая от s (t1 и t0 тоже константы). Более того, это комплексная константа. Вопрос - имеет-ли какой-нибудь физический смысл комплексно-значная функция обратной связи? Или я не в том направлении рою?
Сообщение отредактировал Taradov Alexander - Jul 4 2014, 03:22
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 4 2014, 05:18
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (AlexandrY @ Jul 3 2014, 22:09)  Реальный сигнал значит был комплексным. Может это модель обработки сразу двух сигналов? Дело в том, что никакой системы в реальности нет и сигналы через нее не пропускает никто. Это я нарисовал как способ объяснить как получается полином. Все что нужно от этой системы (опять же по моему предположению) - это получить положение полюсов. А потом для дальнейших вычислений используется эти корни. В частности, благодаря "правильному" выбору параметров a, b, t0, t1 получается, что действительная часть содержит частоту, а мнимая - коэффициент затухания одной из мод. Всего в системе 3 моды, представляющие 3 струны фортепиано, настроенные в юнисон. Возможно я вообще не прав. Все что у меня есть - это способ составления полинома, а нужно узнать почему он составляется именно так.
|
|
|
|
|
Jul 4 2014, 05:46
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Taradov Alexander @ Jul 4 2014, 08:18)  Дело в том, что никакой системы в реальности нет и сигналы через нее не пропускает никто. Это я нарисовал как способ объяснить как получается полином.
Все что нужно от этой системы (опять же по моему предположению) - это получить положение полюсов. А потом для дальнейших вычислений используется эти корни. В частности, благодаря "правильному" выбору параметров a, b, t0, t1 получается, что действительная часть содержит частоту, а мнимая - коэффициент затухания одной из мод. Всего в системе 3 моды, представляющие 3 струны фортепиано, настроенные в юнисон.
Возможно я вообще не прав. Все что у меня есть - это способ составления полинома, а нужно узнать почему он составляется именно так. В смысле? Сами нарисовали. Сами вставили туда формулу с комплексной величиной и теперь спрашиваете у нас как это у вас получилось? Ну так не может быть после преобразований по Лапласу реального сигнала еще каких-то комплексных величин в структурной схеме. s - сама по природе комплексная величина.
|
|
|
|
|
Jul 4 2014, 05:53
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (AlexandrY @ Jul 3 2014, 22:46)  В смысле? Сами нарисовали. Сами вставили туда формулу с комплексной величиной и теперь спрашиваете у нас как это у вас получилось? Нарисовал я в попытках объяснить. Я не утверждаю, что я прав 100%. Если бы там была не комплексная величина, то объяснение было бы простым. Опять-же все, что у меня есть это вот этот алгоритм CODE arr = [261.4508114 261.5063567 261.6451613]; t0 = 199.1735851; t1 = -0.00705058376; n = 1;
avg = sum(arr) / length(arr); a = (2 - arr / avg) / (avg * 2); b = (1 - arr / avg) * (n) * pi;
az1 = conv([a(2) b(2)], [a(3) b(3)]); % az1 = (a2*s + b2) * (a3*s + b3) az2 = conv([a(1) b(1)], [a(3) b(3)]); % az2 = (a1*s + b1) * (a3*s + b3) az3 = conv([a(1) b(1)], [a(2) b(2)]); % az3 = (a1*s + b1) * (a2*s + b2) N = az1+az2+az3; N = [0 N];
D = conv(az3, [a(2) b(3)]); % p1 = (a1*s + b1) * (a2*s + b2) * (a2*s + b3)
z = D + N * (exp(-(t1+pi/2)*j) / t0);
roots(z); и задача понять, что именно он делает. QUOTE (AlexandrY @ Jul 3 2014, 22:46)  Ну так не может быть после преобразований по Лапласу реального сигнала еще каких-то комплексных величин в структурной схеме. s - сама по природе комплексная величина. Ну так вопрос про то и есть, что может это какой известный прием. Физически такое не реализуемо, но помогает с вычислениями.
Сообщение отредактировал Taradov Alexander - Jul 4 2014, 05:54
|
|
|
|
|
Jul 4 2014, 16:49
|
Местный
  
Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195

|
Цитата(Taradov Alexander @ Jul 4 2014, 06:25)  Вопрос - имеет-ли какой-нибудь физический смысл комплексно-значная функция обратной связи? Или я не в том направлении рою? В том - или нет направлении - Вам виднее. Функция обратной связи - это идеальный фазовращатель, к-т передачи по амплитуде=1/t0.
|
|
|
|
|
Jul 4 2014, 16:56
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (AlexandrY @ Jul 4 2014, 04:50)  А это что за чудо, брать и просто тупо складывать оператором '+' передаточные функции Это что угодно, но не операторное представление. Обычное сложение параллельных передаточных функций. QUOTE (AlexandrY @ Jul 4 2014, 04:50)  А алгоритм то работает? Кто проверял? И как? Работает. Проверялось сравнивая результаты с оригинала.
|
|
|
|
|
Jul 4 2014, 19:13
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Дмитрий_Б @ Jul 4 2014, 09:49)  В том - или нет направлении - Вам виднее. Функция обратной связи - это идеальный фазовращатель, к-т передачи по амплитуде=1/t0. Похоже в правильном. На самом деле экспонента относится к самим передаточным функциям, таким образом в обратной связи только 1/t0. И как утверждает работа в приложении в случае струн фортепиано эта экспонента всегда будет присутствовать. И меняя коэффициент усиления в обратной связи мне удалось получить такие же корневые годографы, как и в приложении. Теперь нужно понять как формируются коэффициенты a_i и b_i. К стати, в программе есть "ошибка". Когда вычисляется "D = conv(az3, [a(2) b(3)]);" нужно умножать на [a(3) b(3)]. Но эта ошибка присутствует и в оригинале с которого делался реверс-инжиниринг. Я проверял много раз, так как такая нерегулярность поставила меня в тупик давным давно, и только предположение о возможной ошибке в оригинале позволило продвинуться дальше. На практике числа очень близки и разница в результате не большая. Можно испугать авторов оригинала, сказав им, что у них есть ошибка
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|