ВУЗ:
Составители:
30
Фрагмент программы, реализующий рекурсивное вычисление обрат-
ного z-преобразования, приведён на языке C.
for(i=0; i
<
=nd; i++)
{
if (i
<
=N) b=B[i]; else b=0;
if (i
<
=M) m=i;
x[i]=0;
for(j=1; j
<
=m; j++)
x[i]+=A[j]*x[i-j];
x[i]=(b-x[i])/A[0];
}
В листинге программы nd – количество точек данных обратного
z-преобразования; N – порядок многочлена числителя; M – порядок мно-
гочлена знаменателя.
Метод разложения на элементарные дроби подразумевает предста-
вить дробно-рациональное выражение (2.24) суммой простых дробей. Для
каждой простой дроби по таблицам z-преобразования находится подхо-
дящая функция обратного z-преобразования. Разложение на простые дро-
би особенно полезно при проектировании структуры дискретной системы,
которая представляется последовательным соединением отдельных про-
стых звеньев. Если полюсы (2.24) первого порядка и
MN =
, то
( )
,
11
1=
0
1
1
0
11
1
1
0
1
10
1
10
k
k
M
k
M
M
M
M
M
M
N
N
pz
zC
C
pz
zC
pz
zC
C
zp
C
zp
C
C
zazaa
zbzbb
zX
−
+=
−
++
−
+=
=
−
++
−
+=
+++
+++
=
∑
−−−−
−−
K
K
K
K
(2.25)
где
k
p
– полюсы
)(zX
;
k
C
– коэффициенты (вычеты функции
)(zX
);
./=
0 MN
abC
Если в (2.25)
MN <
, то
0=
0
C
. Если
MN >
, то
)(zX
сначала со-
кращают до
MN
≤
≤≤
≤
путём деления в столбик числителя на знаменатель.
Коэффициенты
k
C
, связанные с полюсами
k
p
, находятся путём ум-
ножения (2.25) на
zpz
k
)/( −
−−
−
с последующим вычислением полученного
выражения при
k
pz =
:
(
)
(
)
.=
=
k
pz
k
k
z
pzzX
C
−
(2.26)
Если
)(zX
имеет
m
-кратные полюсы, то разложение на элементар-
ные дроби для таких полюсов находится в виде
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
