Пожалуйста подскажите, как считается Y апериодическое звено 2-го порядка для сглаживания сигнала?
Первого порядка я знаю, Y = (X-Y)/T+Y, такую же формулу надо и для 2-го порядка, W(p) я тоже знаю, нужны обе формулы, для sigma>1 и для sigma<1.
Спасибо.
простите, "Y апериодического звена"
Апериодическое звено 2 порядка можно получить последовательно соединив два апериодических звена 1 порядка.
Т.е., примерно так: Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y)
Первоначально опубликовано Александр Горский
Т.е., примерно так: Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y)
спасибо за ответ, я пробую так:
Y1 = ( X - Y1 ) / T + Y1; Y = Y1 * ( ( Y1 - Y ) / T2 + Y );
не работает, огромные числа дает. что я делаю не так? T = 60, T2 = 3
Ну это общая формула. Нужно еще учитывать время изменения сигнала.
Т.е. учитывать время за которое происходят изменения, и , если расчет производится в контроллере, учитывать время цикла - должен быть поправочный коэффициент в каждом такте расчета. Примерно так:
Y=k*(X1-Y1)/T1+Y1, где к -расчитать примерно k=Ta/1c
Т.е. если время цикла в контроллере 10 мс, то k=10мс/1с=0.01
Если расчет идет на компьютере(какая-то эмуляционная задача), то также необходимо разбить общее время отслеживания сигнала на шаги определенной длительности и величину этой длительности расчитать как коэффициент.
У меня получилась вот такая кривая при ваших данных Т1=60с, Т2=3с
Александр, сделал как Вы сказали, вот прям кусок кода:
///////////////////////////
Y = ( X - Y ) / T / period + Y; Z = Y*((Y-Z)/T2+Z);//Y=((X-Y1)/T1 + Y1)*((Y1-Y)/T2+Y); debug(Z);
////////////////////////
period=60, X=80+-2.000, T=66, T2=3
дает восходящий ряд (порядка до 10^30) за 60 прогонов, а далее NaN.
у меня вопрос: может у меня в формуле ошибка? чтож мне не дается такая же кривая, как у Вас на рисунке?
Первая ремарка: неправильная формула получилась (это я такую дал:-((), не нужно умножать на Y при расчете во втором элементе,т.к. мы используем не передаточные функции, а законченные функции, т.е. формула должна быть:
Z=k*(Y-Z)/T2+Z
Второе: что такое у вас period=60??? 60 мс??? 60 раз в 1 с???
В любом случае при расчете Z в вашем коде этого коэффициента нет, а он должен быть.
Третье: на начальном этапе расчета значение Z действительно имеет вид кривой похожей на параболу
Четвертое: вот фрагмент расчета в excell по шагам
STEP
x
y
z
0
0,022222
1
80
0,022222
0,022222
2
80
0,044438
0,022346
3
80
0,066648
0,022592
4
80
0,088852
0,02296
5
80
0,111049
0,023449
6
80
0,133241
0,024059
7
80
0,155426
0,024789
8
80
0,177605
0,025638
9
80
0,199778
0,026605
10
80
0,221945
0,027691
11
80
0,244105
0,028893
12
80
0,26626
0,030212
13
80
0,288408
0,031646
14
80
0,31055
0,033196
15
80
0,332686
0,034859
16
80
0,354816
0,036637
17
80
0,376939
0,038528
18
80
0,399057
0,04053
19
80
0,421168
0,042645
20
80
0,443274
0,044871
21
80
0,465373
0,047207
22
80
0,487466
0,049653
23
80
0,509552
0,052208
24
80
0,531633
0,054871
25
80
0,553708
0,057643
26
80
0,575776
0,060521
27
80
0,597838
0,063506
28
80
0,619894
0,066597
29
80
0,641945
0,069794
30
80
0,663988
0,073095
31
80
0,686026
0,0765
32
80
0,708058
0,080009
33
80
0,730083
0,08362
34
80
0,752103
0,087334
35
80
0,774116
0,091149
Здравствуйте!
period - это 60 раз в 1 с,
работает, вот, может кому пригодится:
///////////////////////////
// double i; // - сигнал
// double period = 60, T1 = 60, T2 = 3;
double Y1 = ( i - Y1 ) / T1 / period + Y1; double Z = ( Y1 - Z ) / T2 / period + Z;
///////////////////////////
Александр, спасибо Вам за ответ, вот только я думал, что я смогу сгладить сигнал более апроксимированно с использованием АПЗ 2-го порядка, а мне нужно скорее всего: охватить одно звено 1-го порядка ООС другим звеном 1-го порядка, простите за оффтоп
С уважением, помогите
Первоначально опубликовано adept_
... мне нужно скорее всего: охватить одно звено 1-го порядка ООС другим звеном 1-го порядка...
Я вас правильно понимаю?
Александр, Вы правы, вопрос в том, появится ли на выходе близкоапроксимированный входной сигнал, т.е. на выходе возможно будет не произведение звеньев, а их отношение? как будут выглядеть формулы с ООС?
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме