УДК658.51 2:004.42, 658.51 2:519.87
К.Г. Жуков, Д.Н. Бутусов
РЕАЛИЗАЦИЯ ЦИФРОВЫХ ФИЛЬТРОВ МЕТОДОМ ПОСЛЕДОВАТЕЛЬНОГО ИНТЕГРИРОВАНИЯ
Постановка задачи
Фильтры — особо важный класс линейных стационарных систем. Строго говоря, термин "частотно-избирательный фильтр" обозначает систему, которая пропускает определенные частотные компоненты и полностью задерживает все остальные. Но в более широком смысле фильтром можно называть любую динамическую систему, меняющую определенные частоты входного сигнала. Традиционный подход к проектированию цифровых фильтров основан на преобразовании непрерывного фильтра в дискретный, обладающий необходимыми спецификациями [1].
Это разумный подход по следующим причинам. Во-первых, искусство проектирования непрерывных фильтров на данный момент является широко развитой областью знания, и, поскольку в ней уже получено большое число эффективных результатов, было бы странно ими не воспользоваться при проектировании дискретных систем. Во-вторых, многие из найденных методов проектирования непрерывных фильтров сводятся к относительно простой и компактной формуле. В-третьих, стандартные аппроксимирующие методы, корректно работающие в случае непрерывных фильтров, не допускают простой компактной формулы проектирования при применении этих методов непосредственно к созданию дискретных фильтров.
Спроектировать фильтр значит определить его параметры какдинамического звена. Вычисление этих параметров — сложная задача; обычно оно происходит путем выбора некоторого аналога из числа фильтров известных типов и последующего такого расчёта параметров аналога, который бы обеспечил требуемые качества фильтра [2]. В статье предлагается новый подход к аппаратной реализации цифрового фильтра, основанный на том, что аналоговый фильтр представляет собой управляемую динамическую систему, непрерывная передаточная функция ко-
торой представлена в одной из форм математического описания обыкновенныхдифференци-альныхуравнений (ОДУ). Определение численного решения ОДУ эквивалентно решению разностного уравнения, определяющего выходную последовательность цифрового фильтра [4]. Таким образом, реализация фильтра сводится к реализации цифрового дифференциального анализатора (решателя ОДУ). Аппаратная реализация дифференциального анализатора требует меньшего объёма регистровой памяти, блоков умножения и сумматоров по сравнению с традиционной.
Далее будут кратко рассмотрены формы представления фильтров и основные функции модуля расширения Lab VIEW 2009 MathScript RT.
Формы представления фильтров
Фильтр как звено системы автоматического управления может быть представлен и полностью описан в нескольких эквивалентных формах.
В форме рациональной передаточной функции (//-представление). Если звено непрерывное (аналоговое), то оно описывается непрерывной передаточной функцией
X(s) 2Ksl 2 + b(2)S'"~'+••• + b(m +1) 1 ) X (s) а(1) S + a(2)S"~ '+••• + а(п + 1)
a если фильтр является дискретным, он может быть представлен дискретной передаточной функцией вида
W (z) = = ¿(1) + ¿(2)+ ••• + b(m + 1) Z-" X(z) a(1) + a(2)z~' + ••• + a(n + 1)"-"'
В обоих случаях для определения звена достаточно задать два вектора коэффициентов: b — для числителя ий- для знаменателя передаточной функции.
В виде разложения передаточной функции на простые дроби. Если корни этой функции простые, разложение имеет следующий вид (для дискретной передаточной функции):
г (1)
г (п)
Y (") 2_ _
X(z) 1 - p(\)z~^ "l - p(n)z (3) + к (1) + к (!) z"1 +••• + к (т - n +1) z~(m~ "К
В этой форме звено описывается тремя векторами: вектором-столбцом /-вычетов передаточной функции, вектором-столбцом р полюсов и вектором-строкой к коэффициентов целой части дробно-рациональной функции.
В каскадной форме (sos-представление), когда передаточная функция звена представлена в виде произведения передаточных функций не выше второго порядка:
Н(г) 2 ПН(") =П + + blkZ^2 • (4) к=\ к=\ а0к + а\к" + a2kZ
Параметры каскадного представления задаются в виде матрицы sos, содержащей вещественные коэффициенты:
sos =
^21 ат
а,,
а
Íq^ ^^ ^^ ^^ ^а о tí^i")'
V 6о/.
'02
Ь2/, а01.
•'12
а,
а
(5)
2/, У
В пространстве состояний (55-представление), т. е. с помощью уравнений звена в форме
' = Вх + Bu; у = Сх + Dw.
(6)
B ( " ) =
У (")
b0 + b]Z~
+ ••• + i"'
(8)
х(z) h + h" ^-----^ ai"
Если эти два вектора известны, осуществление самой фильтрации, как упомянуто ранее, происходит с применением процедуры filter, аргу-
ментами которой являются векторы. Напомним, что представленная дискретная передаточная функция описывает в сжатой форме такое конечно-разностное уравнение фильтра:
+ аху(к - 1) + а$>{к - 2) + ... + а,у{к — п) = = Ь(ух(к) + Ьхх(к - 1) + ... + Ьпрс(к - т). (9)
Если п = 0, фильтр называют нерекурсивным, а число т — порядком фильтра. Такой фильтр имеет конечную импульсную характеристику, поэтому его также называют КИХ-фильтром.
Если п > 0, фильтр называется рекурсивным. Его порядком при этом называют большее из чисел т и п. В этом случае импульсная характеристика фильтра — бесконечна, и его называют также БИХ-фильтром. Такие фильтры представляют собой некоторые аналоги динамических звеньев.
Одним из средств проектирования БИХ-фильтров, предусмотренных в пакете МаШБсирг ЯТ, является разработка соответствующего аналогового прототипа, т. е. нахождение передаточной функции непрерывного фильтра, и последующий переход к цифровому фильтру путём поиска цифрового аналога непрерывного звена. Последнее можно осуществить с помощью билинейного преобразования 5-плоскости в ¿-плоскость. Билинейное преобразование выполняется в соответствии с выражением
H(z) = H(s)\<
(Ю)
В этой форме звено задается совокупностью четырех матриц — А, В, С, Б.
Путём определения вектора г нулей передаточной функции, вектора р её полюсов и коэффициента к передачи звена ^-представление):
X( 2х [,-"(!)][,-г(2)]...[,-"(„)] _
' ' [,-р(1)][,-р(2)]...[,-р(п)]
БИХ-фильтры. Конечной задачей проектирования линейного цифрового фильтра будем считать расчёт значений элементов векторов числителя (Ь) и знаменателя (а) его дискретной передаточной функции С(г), записанной в виде (2):
где — частота дискретизации сигнала. При этом ось ую преобразуется в единичную окружность на ¿-плоскости.
В пакете MathScript RT билинейное преобразование осуществляется с помощью процедуры bilinear, обращение к которой имеет три формы: [bd, ad] = bilinear (b, a, Fs, Fp); [zd, pd, kd] = bilinear (z, p, k, Fs, FP); [Ad, Bd, Cd, Dd] =bilinear(A, В, C, D, Fs, Fp). Во всех трёх случаях параметры, характеризующие аналоговый прототип фильтра, преобразуются в аналогичные параметры, описывающие дискретный БИХ-фильтр. Вид и число входных параметров определяют вид и число выходных. Параметр Fs задает частоту дискретизации в герцах. Параметр Fp не обязателен. Он определяет частоту в герцах, для которой значения АЧХ до и после выполнения преобразования должны совпадать, т. е. задаёт так называемые предыскажения.
Обращение в первой форме позволяет определить коэффициенты полиномов числителя и знаменателя дискретной передаточной функции фильтра вида (8) по заданным коэффициентам полиномов числителя и знаменателя непрерывной передаточной функции вида (1). Обращение во второй форме даёт возможность вычислить нули, полюсы и коэффициент усиления дискретного фильтра по заданным аналогичным параметрам аналогового прототипа. И наконец, с помощью третьей формы определяется матрица дискретного пространства состояний фильтра по известным матрицам непрерывного пространства состояний.
Второй способ построения цифрового фильтра по его аналоговому прототипу заключается в таком преобразовании параметров аналогового фильтра в параметры дискретного фильтра, при котором импульсная характеристика последнего совпадала бы с импульсной характеристикой аналогового фильтра в дискретные моменты времени. В МаШБсирг ЯТ это осуществляется посредством процедуры АНеМтрике:
[Ь2, га] = АИеМтри^еф, а, Бз).
Здесь Ь и а — заданные векторы коэффициентов числителя и знаменателя передаточной функции аналогового прототипа фильтра; Ьх и га — вычисляемые коэффициенты числителя и знаменателя дискретной передаточной функции дискретного фильтра; Бз — заданная частота дискретизации сигнала в герцах. Если параметр Бз при обращении не указан, то по умолчанию он принимается равным 1 Гц.
Третий способ формирования дискретных фильтров — использование ранее рассмотренных процедур формирования фильтров: Пг_ЬиАег, Нг_с11еЬу1, Нг_с11еЬу2 и Нг_еШрИс. Если при обращении к этим процедурам не указывать в конце списка входных параметров параметра V, то результатом работы этих процедур будут параметры именно цифровых фильтров. Основное отличие применения этих функций для разработки цифровых фильтров заключается в том, что все частоты в векторе 'МЪ задаются по отношению к частоте Найквиста. Частотой Найквиста называют половину частоты дискретизации сигнала.
Поскольку диапазон частот изменения дискретного сигнала всегда меньше частоты дискретизации, все частотные характеристики дискретных фильтров определяются только в
диапазоне от нуля до частоты Найквиста. Поэтому все задаваемые в векторе Wc граничные частоты должны быть меньше единицы.
Существуют еще две процедуры расчёта БИХ-фильтров.
Процедура iir_maxflat производит расчёт обобщенного цифрового фильтра Баттерворта. Формы обращения к ней таковы: [b, а] = iir_maxflat (nb, па, Wc); [b, а] = iir_maxflat (nb, 'syni, Wc); [b, a, bl, b2] = iir_maxflat (nb, na, Wc); [b, a] = iir_maxflat (nb, na, Wc, 'design_flag'). Первое обращение позволяет вычислить коэффициенты числителя (Ь) и знаменателя (а) дискретной передаточной функции H(z) цифрового ФНЧ Баттерворта с частотой среза Wc, порядок числителя которой равен nb, а порядок знаменателя — па.
При обращении второго вида вычисляются коэффициенты цифрового симметричного КИХ-фильтра Баттерворта. В этом случае параметр па принимается равным нулю, а параметр nb должен быть четным.
Если использовать третье обращение к процедуре, т. е. указать в качестве выходных четыре величины, дополнительные параметры Ы и Ь2 дадут коэффициенты двух полиномов, произведение которых является полиномом числителя b искомой дискретной передаточной функции, причем все нули полинома b 1 равны — 1, а полином Ь2 содержит все остальные нули полинома Ь.
Добавление в список входных параметров процедуры параметра 'design_flag' позволяет изменять характер выводимой на экран информации. Если значение этого параметра равно 'trace', на экране отображаются параметры, используемые в процедуре проектирования.
Схемы в переменных состояния для линейных стационарных систем
Схемы непрерывных линейных стационарных систем (ЛСТ) в переменных состояния совпадают со схемами моделирования этих систем на АВМ [3]. Схема системы в переменных состояния может быть составлена по передаточной функции системы четырьмя различными способами:
прямого программирования; параллельного программирования; последовательного программирования; совместного интегрирования.
Для иллюстрации различных методов составления схемы системы в переменных состояния рассмотрим два аналоговых фильтра, заданных следующими передаточными функциями:
Н ) 2
Н2 (S) 2
S + + 2 0 S + 7S2 + 12S'
S + 2/ + 3S + 4 7S3 + 6S2 + 5S + 4'
(11)
(12)
Сначала более детально рассмотрим перечисленные способы для фильтра (11). Полученные схемы моделирования предназначены для реализации в Simulation Module.
Прямое программирование. Уравнение (1) представим в виде
C ) 2
Y(S) _ S2 + 35 + 2 R(S) _ S + 7S + 12S
+ 3s~2 + г3 1 + 7S"1 + 12S"2'
Умножим числитель и знаменатель (11) на промежуточную переменную E(S):
Y(S) (S_1 + З^2 + Г3) Е (S)
(13)
) (1 + 75"1 +125" О Е(5)
Приравнивая значения знаменателей выражения (13), получаем следующее равенство:
R(S) = (1 + 75"1 + 12S~2)E(S).
(14)
R(S) = E(S) + (7S~l + 12S~2)E(S):
E($) = R($)-7S-lE($)-l2S-2E($): (15)
У(5) = (^Г1 + З^Г2 + 2^Г3)Д5). (16)
Операции S~1 E(S), S-2E(S) и S~3E(S) реализуются цепочкой интеграторов с передаточной функцией 5-1. В схеме системы в переменных состояния, показанной на рис. 1, используются переменные состояния xt, х2, х3.
Дифференциальные уравнения для переменных состояния могут быть легко найдены из рассмотрения схемы системы. Считая, что входное воздействие является ступенчатой функцией, получаем:
F 0, X] х2, х9 Х3, х-^ f 7х3 12х2.
Выход системы у(г) — линейная комбинация переменных состояния — определяется уравнением (16)
у(г) = 2 х,(?) + Зх2(?) + х3(?).
Параллельное программирование. Первоначально необходимо равенство (11) представить в виде суммы дробно-рациональных функций. Для этого следует определить корни (полюса) знаменателя, представив его в виде полинома [17120] и используя функцию roots MathScript RT. Корнями знаменателя являются действительные числа 0, —3, —4.
В соответствии с методом элементарных дробей (из интегрального исчисления) существуют константы А, В и С, такие, что
T + 3S + ! А В
С
Выразим значение E(S) через R(S) из значения E(S)S~lnE(S)S~2:
_ А _
S(S + 3)(S + 4) _ S + S + 3 + S + 4
(17)
Рис. 1. Модель прямого программирования
Умножение обеих частей последнего уравнения на 5(5 + 3) (5 + 4) приводит к уравнению
52 + 35+2 = Д5+3)(5 + 4) + 55(5 + 4) +
+ CS(S+3). (18)
Подставив в (18) корень 5t = 0, получим 2 = 12А\ А = 1/6. Подстановка 52 = —3 дает 2 = —3В: В = —2/3. Подстановка 53 = —4 позволяет определить коэффициент С: 6 = 4 С; С= 6/4 = 3/2.
Передаточная функция (11) примет окончательный вид:
y (s) _ j___:
R(S) _ 6S 3(S + 3) 2(S + 4)
(19)
Y (S) = % S E (S) _
R(S) " E,(S) ^(1 + 3S"')E2(S)
I 3)
S~'E2 ( S )
3
(20)
S E3 ( S )
V !
(\ + 4 ') Е3 (5)
Выражения для промежуточных переменных Ех(,5), Е2(5), Е3(5) найдём из следующих равенств:
ад = (1 + З^Г>)Е2(5) = Е2(5) + З^Г>Е2(5); Е2(5) = ад-З^Г1Е2(5); ад = (1 + 4^Г>)Е3(5) = Е3(5) + 4^Г>Е3(5); Е3(5) = ад-4^Г>Е3(5).
Схема в переменных состояния (19) использует выражения Et(5), E2(S) и Е3(5) и представлена на рис. 2. Выражение для выхода Y(S) следует из (20):
Y (S) = - S~1 @ (S) - 2 ^1 @ (S) + 3 S ^1 @ (S). 6 3 2
Система дифференциальных уравнений имеет теперь вид:
г = 0; ij = г; '2 = г — 3х2; х3 = г — 4х3.
Уравнение выхода тогда выглядит следующим образом:
1 2 3 J С) = - ' (t) -- *2 (t) + -'(t )• 6 3 2
Последовательное программирование. Равенство (11) записывается в виде дробно-рациональных функций. Для этого с помощью функции roots необходимо найти корни числителя (нули) передаточной функции. Значения нулей для равенства (11): —1; —2. Тогда числитель замещается произведением (s + l)(s + 2), а знаменатель был получен в предыдущем варианте 5(5+ 3)(5 + 4), и уравнение (11) примет вид:
C } 2 2 una (Л!). (21)
1 S (S + 3)(T + 4) S (S + 3) (T + 4)
Аналогичный вид (21) передаточной функции (11) может быть получен с помощью функции преобразования zpk. (BX(S)).
Система дифференциальных уравнений имеет теперь вид:
Рис. 2. Модель параллельного программирования
г = О; х3 = г, х2 = Зх2 + х3; ' = —4х, + х2 + х2. Уравнение выхода тогда
у(1) = 2х{ + х
Заметим, что в варианте структуры, приведённом на рис. 3, в последнее уравнение для переменной состояния входит производная х2, а уравнение выхода содержит производную хх. Значения этих переменных берутся с выходов сумматоров (входов интеграторов). Аппаратная реализация такой структуры будет требовать выделения дополнительной памяти для хранения значений производных. Чтобы решить эту проблему, преобразуем структуру (рис. 3) к виду, представленному на рис. 4, подставив в соответствующие уравнения значения производных х2 и х]. Получим:
X] = —4х, + х2 + х2 = —4Х[ + х2 — Зх2 + х3 = = —4Х[ —2х2 + х3,
и уравнение выхода примет вид:
у(г) = — 2Х[ — 2х2 + х3.
Способ совместного интегрирования. Запишем выражение (11) в следующем виде:
(53 + 752 + 125) Д5) = (52 + 35+ 2)Л(5). (22)
Раскроем скобки в левой и правой частях уравнения (22) и оставим член, не содержащий 5, в правой части:
53У(5) + 752У(5) + 125У(5) - 52Л(5) -
- 35ВД = 2ВД. (23)
Вынесем 5 в левой части (23) за скобки:
02"г /"г — ол^) —
(24)
5[5 У(5) + 75У(5) + 125У(5) - 5Л(5) • - ЗЛ(5)] = 2Л(5).
Обозначим выражение в квадратных скобках через переменную состояния ХЗ. Тогда выражение (24) можно представить так:
5*3 = 2ад. (25)
Запишем выражение для переменной АЗ:
52У(5) + 75У(5) + 125У(5) - 5Л(5) -
-зад]=Аз. (26)
Рис. 3. Модель последовательного программирования
Рис. 4. Модель последовательного программирования (2-й вариант)
Перенесём слагаемые 12У(5) и—ЗД-5) в правую часть (26) и опять вынесем 5за скобки в левой части:
[5У(5) + 7У(5)-Л(5)] = = 3R(S) + X3-12Y(S).
г = 0; хх = —1хх + х2 + г; х2 = _ !2х, + х3 + 3г, х3 = 2 г.
(27) Уравнение выхода
Обозначим выражение в квадратных скобках (27) через переменную XI. При этом получим уравнение
Ж = ЗЛ(5) + ХЗ-12У(5). (28)
В результате подобных действий с переменной XI получим последнее уравнение эквивалентной системы:
<ад+Л2-7ЛП. (29)
В выражении (29) за переменную XI принята выходная переменная Y(S):
XI = Y(S). (30)
С учётом (30) в выражении (28) система уравнений, полученных по способу совместного интегрирования, примет вид:
SXЗ = 2R(S): Ж = ЗЛ(5)+ХЗ-12X1; (31)
5Х1 = Л(5)+Х2-7Х1. Схема в переменных состояния использует выражения (31) и представлена на рис. 5. Выражение для выхода Y(S) следует из (30).
Дифференциальные уравнения в переменных состояния могут быть легко найдены из рассмотрения модели системы. Считая, что входное воздействие является ступенчатой функцией, получаем:
У(г) =х,.
Программно-аппаратное тестирование фильтра в среде Lab VIEW
Существует ряд инструментальных сред для графического моделирования динамических систем, описываемых дифференциальными уравнениями. В их состав обязательно входят решатели дифференциальных уравнений (дифференциальные анализаторы), базирующиеся на известных методах численного интегрирования. В работе [5] выполнен анализ точностных и временных характеристик существующих методов решения ОДУ, а также произведено сравнение этих методов с методом последовательного интегрирования (ПИ), описанным в работе [6]. Результатом работы [7] является аппаратная реализация высокоскоростного алгоритма численного интегрирования (ПИ) на базе N1 CompactRlO FPGA Module.
Процесс программно-аппаратного тестирования дифференциального анализатора предусматривает выполнение нескольких основных этапов, каждый из которых служит для определенных целей и необходим в рамках разработанной методики [8].
Процесс тестирования представлен следующей последовательностью выполнения необхо-
Рис. 5. Модель по способу совместного интегрирования
димых этапов, на каждом из которых оценивается относительная погрешность и время получения решения:
1. Приведение уравнения к нормальной форме Коши.
2. Получение при возможности аналитического решения или приближенного при помощи точного метода численного интегрирования (например, Рунге — Кутта4).
3. Реализация модели и получение решения в системе Matlab/Simulink.
4. Трансляция Simulink— модели в модуль расширения среды N1 Lab VIEW Simulation Module.
5. Выполнение моделирования и оценка точностных и временных характеристик полученного решения.
6. Позначеншо погрешности, полученному в п. 5, выбирается соответствующий шаг интегрирования.
7. Создание функциями ядра Lab VIEW дифференциального анализатора, выполняющего вычисления с данными, представленными в формате Double.
8. Выполнение моделирования и сравнение полученных решений с результатами, полученными в п. 4 и 7.
9. Выполнение масштабирования и переход к реализации с "фиксированной точкой" при сохранении типа данных Double.
10. Выполнение моделирования. Фиксация факта "переполнения" назначенной разрядной сетки. При наличии переполнения изменение масштабов. Сравнение полученных данных с п. 8 и 5.
11. Переход к реализации интегрирования с целочисленным типом данных (116,132). В случае невыполнения требуемой точности с 116 переходим ктипу 132.
12. Перенос модели в модуль N1 FPGA Module с добавлением специальных функций и обеспечением возможности записи результатов моделирования в буфер FIFO.
13. Выполнение моделирования на аппаратном CompactRIO дифференциальном анализаторе. Оценка характеристик полученного решения.
Пте
Рис. 6. Реализация непрерывной модели фильтра и его выходной сигнал
|Спосо6 совместного интегрирования!
Непрерывная мддель|
Рис. 7. Модель фильтра на базе дифанализатора и сигнал на её выходе
Рис. 8. Модель фильтра с фиксированной точкой и её выходной сигнал
Проведем тестирование фильтра (12) по указанной выше методике. Модель фильтра (рис. 6) получена по способу совместного интегрирования.
Итак, в статье предложен новый способ реализации цифровых фильтров.
Выполнено обоснование выбора структуры фильтра с точки зрения его представления в виде линейной стационарной системы.
Рассмотрены различные способы представления моделей фильтров в переменных состояния.
Выбрана оптимальная структура фильтра, ориентированная на аппаратную реализацию.
Проведено тестирование различных фильтров на основе методики тестирования дифференциальных анализаторов.
СПИСОК ЛИТЕРАТУРЫ
1. Моделирование процессов и систем в MATLAB. Учебный курс. СПб.: Питер; Киев: Изд. группа BHV. 2005.
2. Оппенгейм А., Шафер Р. Цифровая обработка сигналов. Изд. 2-е, испр. М.: Техносфера. 2009.
3. Кехтарнаваз Н., Ким М.Н. Цифровая обработка сигналов на системном уровне с использованием LabVIEW / Пер. с англ. под ред. В.К. Макухи. М.: Додэка-ХХ1. 2007.
4. Ту Ю. Современная теория управления / Пер. с англ. Я.Н. Гибадуллина под ред. В.В. Соло-довникова. М.: Машиностроение. 1971.
5. Жуков К.Г. Исследование эффективности решателей обыкновенных дифференциальных уравнений инструментальных систем моделирования // Образовательные, научные и инженерные приложе-
ния в среде LabVIEW и технологии National Instruments: Матер, междунар. конф. М.: РУДН. 2007.
6. Жуков К.Г. Моделирование последовательно-параллельных интегрирующих структур // Компьютерное моделирование 2002: Тр. междунар. науч.-техн. конф. СПб.: Изд-во СПбГПУ. 2002.
7. Жуков К.Г. Модельное проектирование дифференциальных анализаторов в среде LabVIEW // Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments: Матер, междунар. конф. М.: РУДН. 2008.
9. Бутусов Д.Н., Жуков К.Г. Программно-аппаратное тестирование дифференциальных анализаторов в среде EabVIEW // Образовательные, научные и инженерные приложения в среде LabVIEW и технологии National Instruments: Матер, междунар. конф. М.: РУДН. 2008.
УДК 621.396.965.8
H.A. Кононов, С.Э. Сараджишвили
МЕТОДИКА ВЫДЕЛЕНИЯ ЦВЕТОВЫХ СЛОЕВ НА ОТСКАНИРОВАННЫХ ИЗОБРАЖЕНИЯХ ТОПОГРАФИЧЕСКИХ КАРТ
Большую популярность приобрели в последние годы системы глобального позиционирования. Активно используется GPS, вводится в эксплуатацию ГЛОНАСС. На рынке представлено множество различных приёмников, имеющих цветные экраны и поддерживающих загрузку топографических карт.
Карты в спутниковых навигаторах используются в векторных форматах, поскольку это значительно уменьшает количество занимаемой ими памяти, упрощает масштабирование и улучшает качество получаемого изображения. Помимо использования в навигаторах векторные кар-
ты активно используются в различных программах для персональных компьютеров и ноутбуков, в том числе в таких интернет-сервисах, как Google Maps и Яндекс Карты.
На сегодняшний день для России существует крайне мало качественных и подробных топографических карт местности в векторных форматах. В основном существующие карты характеризуются малой детальностью и довольно плохим качеством. В данном случае речь идет не о картах городов, не о дорожных, а о топографических картах загородной местности. Поэтому задача получения качественных подробных