Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Кодирование канала

Читайте также:
  1. ГЛАВА 13. КОДИРОВАНИЕ ИСТОЧНИКА 821
  2. Декодирование сигнала
  3. Кодирование векторных изображений
  4. Кодирование источника
  5. Кодирование растровых изображений
  6. Кодирование сигнала

После кодирования источника применяют кодирование канала, в задачу которого входит защита передаваемого сообщения от помех. Кодирование канала требует внести в передаваемое сообщение некоторую избыточность, но не случайную, которая присутствовала в первоначальном сообщении, а строго обоснованную теоретически и которая гарантирует оговоренное качество передачи. Современная техника кодирования основана на глубоких идеях алгебры и теории вероятности. На основе этих идей разработаны разнообразные и весьма эффективные методы кодирования, решающие в каждом конкретном случае определенные задачи. При распространении в канале к сигналу добавляются шумы, в канале возможны замирания (многолучевость), помехи – в результате есть вероятность появления ошибок. Снижение вероятности ошибок достигается повышением требований к энергетическим характеристикам радиосигнала (мощность передатчика, коэффициент усиления антенны и т.п.). Эти меры не всегда экономически оправданы, поэтому обычно вводят искусственную избыточность – канальное кодирование с обнаружением и исправлением ошибок[1].

Кодовая защита может служить либо только для обнаружения факта появления ошибки, либо для исправления случившихся ошибок. Первую возможность осуществить гораздо проще, но и пользы от нее меньше, поскольку в таком случае нужно запрашивать повторную передачу блока сообщения, в котором обнаружена ошибка, либо как-нибудь иначе учитывать наличие ошибки. Поскольку отдельные разряды в цифровом речевом сигнале, полученном в ходе процедур кодирования источника, имеют неодинаковую важность, их делят на три подкласса и при кодировании канала подвергают разным методам защиты. Из 260 разрядов получаемого блока наиболее важными являются разряды, которые несут информацию о параметрах фильтрации, об амплитуде сигнала блока и о параметрах долгосрочного предсказания. Эти разряды относятся к так называемому подклассу Ia (50 разрядов). Затем идет подкласс Ib (132 разряда, содержащие указатели и информацию об импульсах регулярного возбуждения, а также некоторые параметры долгосрочного предсказания). Остальные 78 разрядов относятся к классу II[5].

Для защиты описанного блока применяются два способа кодирования. Во-первых, используется блоковый код, служащий для обнаружения ошибок, которые остаются неисправленными. Этот код относится к классу циклических, в которых каждая кодовая комбинация получается циклической перестановкой элементов. При кодировании этим кодом к разрядам подкласса Ia добавляется еще три проверочных разряда, по которым декодер может обнаружить, содержит ли этот подкласс неисправленные ошибки. Если декодер обнаруживает в разрядах подкласса Ia ошибки в передаче, весь разговорный кадр из 260 разрядов сбрасывается. В этом случае потерянный кадр воспроизводится с помощью интерполяции на основе информации о предыдущем кадре[1].

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

Сверточный код применяется как к разрядам подкласса Ia вместе с проверочными разрядами, так и к разрядам подкласса Ib. Эти две последовательности объединяются и увеличиваются на четыре разряда, принимающих нулевые значения. Последние служат для возвращения кодера в исходное состояние после выполнения кодирования[3].

При использовании блочных кодов энергетический выигрыш кодирования не превышает 2.5-3.5 дБ. У сверточных кодов этот выигрыш достигает 4-6 дБ.

Кодирование канала сопровождается обычно такими процедурами, как:

1) Скремблирование индивидуальных цифровых потоков.

2) Перемежение символов.

Скремблирование превращает цифровой сигнал в квазислучайный. Основная идея: обеспечивается самосинхронизация кода, получается более равномерный спектр радиосигнала[6]. Многие системы цифровой передачи используют скремблеры данных для рандомизации наборов данных в линиях передачи. Хотя эти скремблеры подобны тем, что используются для шифрования, их основным назначением является предотвращение передачи повторяющихся кодовых комбинаций, а не шифрование трафика. Повторяющиеся наборы данных порождают линейчатый спектр, который с точки зрения межсимвольной интерференции может быть много хуже чем равномерные спектры, получаемые из случайных наборов данных. Даже когда этого не требуется, скремблеры данных полезны для преобразования последовательностей данных с низкой плотностью переходов в последовательности с большим числом компонентов синхронизации[6]. Скремблеры данных (с одинаковыми входной и выходной скоростями передачи би­тов), строго говоря, не предотвращают появления длинных строк из нулей. Они только гарантируют, что относительно короткие повторяющиеся наборы данных преобразуются в рандомизированный трафик с минимальной плотностью переходов. Если скремблируются чисто случайные входные данные, то выходные данные будут также чисто случай­ными, поэтому есть некоторая статистическая вероятность появления произвольно длин­ных строк из нулей. Вероятность их случайного появления, однако, приемлема, если сравнивать ее с вероятностью неслучайных последовательностей, представляющих рече­вые паузы или свободные терминалы данных. Для того чтобы визуально определить ка­кая случайная последовательность данных выдает все нули на выходе скремблера, необ­ходимо подать нулевую последовательность на вход соответствующего дескремблера[6].

Перемежение – перестановка по времени, позволяет декодировать ошибки в канале. Перемежениерандомизирует статистику группирующихся в пакеты ошибок из-за воздействия глубоких замираний и разрушает «память» канала. В этом случае для канала радиосвязи применимо боль­шинство результатов теории кодирования, сформулированных для ка­налов без памяти. Перед передачей кодовые символы подвергаются процедуре перемежения, поэтому последовательно принимаемые двоичные символы незави­симы. Перемежение представляет собой эффективный метод борьбы с группирующимися ошибками в канале с замираниями. Идея метода заключается в «рассеянии» символов кодового слова: символы долж­ны находиться друг от друга на таком расстоянии, чтобы быть подвер­женными независимым замираниям. При независимых замираниях сим­волы, пораженные пакетом ошибок, принадлежат различным кодовым словам. Поэтому влияние пакета ошибок распределяется по всему со­общению, и появляется возможность восстановить данные с помощью исходного кода, исправляющего ошибки[7].

Известно несколько типов перемежителей, реализующих диагональ­ное, сверточное, межблоковое и блоковое перемежение. Вероятно наиболее простым из четырех типов перемежи­телей является блоковый, в котором длина кодовых слов исходного кода размещаются в виде длин строк прямоугольной матрицы, а их считывание для передачи осуществляется по столбцам. Независимо от начала возникновения пакета ошибок длиной λ он будет поражать только один символ каждой строки. Таким обра­зом, если исходный код обладает способностью исправлять одиночные ошибки в пределах кодового слова, то код с перемежением будет ис­правлять одиночные пакеты ошибок длиной λ или менее. Если же исходный код может исправлять одиночные пакеты ошибок длиной l или менее, то код с перемежением будет исправлять одиночные па­кеты длиной λ l или менее[7].

Существуют различные блоковые коды[7]:

1) Коды повторений – наиболее простой блоковый код вида (n, 1), который позволяет по­нять концепцию исправления ошибок и оценить характеристики кода, известен как код повторений. В нем значение информационного симво­ла повторяется (n — 1) раз, т.е. (n — 1) проверочных символов являются повторением информационного.

2) Линейные блоковые коды. В линейно-блоковом коде i-й символ кодового слова представляет собой линейную комбинацию к информационных символов. В матрич­ной форме записи это выглядит так:

3) Коды Хемминга, исправляющие одиночные ошибки.

4) Циклические коды. Эти коды также относятся к классу линейных блоковых кодов и являются наиболее распространенными. Особенность этих кодов состо­ит в том, что если некоторое кодовое слово принадлежит коду, то и его циклические перестановки также принадлежат коду. Иными словами, (n-k) кодовых слов могут быть сформированы путем циклического сдвига одного кодового слова. Все множество кодовых слов может быть получено путем циклических сдвигов других кодовых слов. Достоин­ством этого класса кодов является относительно простая аппаратурная реализация кодеков, основными элементами которой являются регистры сдвига и сумматоры по модулю 2.

5) Коды Голея. Код Голея относится к числу наиболее интересных. Он позволяет исправить ошибки высокой кратности и является также совер­шеннымкодом. Код Голея (23,12) являетсяциклическим и исправля­ет все конфигурации ошибок, кратность которых не больше трех. С кодом Голея (23,12) связан код (24,12), который образуется добавле­нием символа проверки на четность к кодовым словам кода (23,12).

Помехоустойчивость

Источников помех, способных вызвать сбой или отказ устройства, существует бесчисленное множество. Однако наиболее часто встречаются следующие помехи:

Наносекундные помехи, вызванные срабатыванием механических контактов выключателей и реле. В зарубежной литературе этот вид помех называется EFT — Electric Fast Transients

Микросекундные помехи, связанные с работой реактивных элементов в цепях мощных нагрузок (зарядка конденсаторов, а также отдача энергии, накопленной в обмотках моторов, соленоидов, и пр.). В зарубежной литературе этот вид помех называется surge.

Помехи от электростатических разрядов, в основном - помехи возникающие при касании "наэлектризованным" человеком различных электрических цепей. В зарубежной литературе этот вид помех называется ESD — Electrostatic Discharge.

Помехи, вызванные работой близкорасположенных радиопередатчиков

Помехи от мощных природных или искуственных источников энергии, прежде всего - от грозовых разрядов.

Помехоустойчивость — способность технических средств сохранять заданное качество функционирования при воздействии помех.

Главной задачей теории помехоустойчивости является отыскание таких способов передачи и приема, при которых обеспечивалась бы наивысшая достоверность принятого сообщения.

Простым и наиболее часто применяемым способом повышения помехоустойчивости является повышение отношения средней мощности сигнала к средней мощности помехи. Для этого нужно просто в необходимое число раз повысить мощность передатчика либо снизить мощность помехи. Однако с ростом мощности передатчика непропорционально растут его сложность и стоимость. Кроме того, становится невозможным прием соседних слабых станций, так как увеличивается мешающее действие данной передачи на другие. Таким образом, этот способ хотя и является прос­тым, но экономически может оказаться невыгодным.

Расширение полосы частот является еще одним способом повышения помехоустойчивости. Полоса частот, занимаемая сигналом, зависит от вида модуляции. Применяя соответствующий вид модуляции, можно значительно увеличить полосу частот, сигнала по сравнению с полосой частот сообщения. На, практике применяют так называемые широкополосные системы модуляции: частотной и почти все виды импульсной модуляции. Выигрыш в помехоустойчивости растет пропорционально расширению полосы частот сигнала. К недостатку этих систем модуляции следует отнести явление порога, выражающееся в том, что вероятность ошибки резко возрастает, когда отношение средней мощности сигнала к средней мощности помехи уменьшается до некоторого порогового значения.

Если отношение средней мощности сигнала к средней мощности помехи имеет величину, меньшую, чем пороговое значение, то прием практически оказывается невозможным вследствие очень частых ошибок. Важно отметить, что с ростом полосы частот сигнала порог наступает при меньших значениях мощности помехи и, следовательно, пороговое значение растет с ростом полосы.

А так же обеспечения помехоустойчивости при кодировании для канала достигается путём введения искусственной избыточности. Вполне логично, что коды, используемые для этих целей, получили название избыточных или помехоустойчивых. Помехоустойчивый код позволяет обнаружить ошибки и называется кодом с обнаружением ошибок[7].

Примером системы с наиболее лучшей помехоустойчивостью может служить широкополосная система CDMA (Code Division Multiple Access — множественный доступ с кодовым разделением).

CDMA — это технология радиосвязи, при которой каналы передачи имеют общую полосу частот, но разную кодовую модуляцию.

Система CDMA дает возможность каждому пользователю внутри соты использовать тот же самый радиоканал и всю выделенную полосу частот. Пользователь в смежной соте использует эту же полосу частот. Вместо разделения спектра или временных слотов (как в других технологиях), каждому пользователю назначается фрагмент шумоподобной несущей. Поскольку её фрагменты являются квазиортогональными, возникает возможность отвести всю ширину выделенного канала для каждого пользователя. Благодаря решению проблемы ближней-дальней зоны и динамическому управлению мощностью вся полоса частот 1,25 МГц используется каждым пользователем и она же вновь используется в смежной соте. Емкость на одну соту определяется балансом между требуемым отношением сигнал/шум для каждого пользователя и фактором сжатия кодовой последовательности. Таким образом, система абсолютно не нуждается в частотном планировании. В отличие от других сотовых систем, трафик одного канала не является постоянной величиной и зависит от голосовой активности и требований, предъявляемых к сети.

Безопасность или конфиденциальность является свойством технологии CDMA, поэтому во многих случаях операторам сотовых сетей не потребуется специального оборудования шифрования сообщений.

Система CDMA построена по методу прямого расширения спектра частот на основе использования последовательностей 64 видов, сформированных по закону функций Уолша. Для передачи речевых сообщений выбрано речепреобразующее устройство с алгоритмом CELP со скоростью преобразования 8000 бит/с (9600 бит/с в канале). Возможны режимы работы на скоростях 4800, 2400 и 1200 бит/с.

В каналах системы CDMA применяется сверточное кодирование со скоростью 1/2 (в каналах от базовой станции) и 1/3 (в каналах от подвижной станции), декодер Витерби с мягким решением, перемежение передаваемых сообщений. Общая полоса канала связи составляет 1,25 МГц.

Защита информации

Под защитой информации понимается совокупность мероприятий и действий, направленных на обеспечение ее безопасности — конфиденциальности и целостности — в процессе сбора, передачи, обработки и хранения.

Безопасность информации — это свойство (состояние) передаваемой, накапливаемой, обрабатываемой и хранимой информации, характеризующее ее степень защищенности от дестабилизирующего воздействия внешней среды (человека и природы) и внутренних угроз, то есть ее конфиденциальность (секретность, смысловая или информационная скрытность), сигнальная скрытность (энергетическая и структурная) и целостность — устойчивость к разрушающим, имитирующим и искажающим воздействиям и помехам.

Под защитой информации, в более широком смысле, понимают комплекс организационных, правовых и технических мер по предотвращению угроз информационной безопасности и устранению их последствий. Сущность защиты информации состоит в выявлении, устранении или нейтрализации негативных источников, причин и условий воздействия на информацию.

Криптография — это набор методов защиты информационных взаимодействий от отклонений от их нормального, штатного протекания, вызванных злоумышленными действиями различных субъектов, методов, базирующихся на секретных алгоритмах преобразования информации, включая алгоритмы, не являющиеся собственно секретными, но использующие секретные параметры.

Защита информации в наше время стала очень актуальной. Все многообразие существующих кpиптогpафических методов можно свести к следующим классам пpеобpазований:

1. Моно- и многоалфавитные подстановки. Наиболее простой вид пpеобpазований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой кpиптостойкости требуется использование больших ключей.

2. Перестановки. Также несложный метод кpиптогpафического пpеобpазования. Используется как пpавило в сочетании с дpугими методами.

3. Гаммиpование. Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генеpиpуемой на основе ключа[8].

4. Блочные шифры. Представляют собой последовательность (с возможным повторением и чередованием) основных методов пpеобpазования, пpименяемую к блоку (части) шифpуемого текста. Блочные шифpы на пpактике встpечаются чаще, чем "чистые" пpеобpазования того или иного класса в силу их более высокой кpиптостойкости. Российский и амеpиканский стандаpты шифpования основаны именно на этом классе шифров

15. ИМПУЛЬСНО-КОДОВАЯ МОДУЛЯЦИЯ.

При построении систем цифро­вой передачи непрерывных сообщений принципиальным моментом является определение полосы частот, требуемой для обеспечения заданного качества воспроизведения переданного сообще­ния. Вообще говоря, для высокока­чественной передачи речевого сообще­ния требуется полоса не менее 10 кГц. Однако для достижения удовлетворительного уровня разборчивости при пе­редаче речи по телефонным каналам достаточно передать спектр в полосе 300...3400 Гц. Именно такой спектр звуковых частот обычно передается в современных системах передачи рече­вой информации.

Как правило, максимальная ча­стота передаваемого спектра аудиосигнала выбирается равной fМАХ = 3,4 кГц, а частота дискретизации fД = 8 кГц, хотя в ряде случаев с целью повышения качества передачи используются и более высокие значе­ния этих величин.

При использовании ИКМ дискретизированное сообщение подвергается квантованию по Lуровням (рис. 7), в результате чего каждому значе­нию λ(h)ставится в соответствие чи­сло λi(h), i — 1,L, представленное n-разрядной комбинацией двоичного кода.

Рисунок 7 - Квантование и кодирование

Для достижения приемлемого ка­чества восприятия восстановленного речевого сообщения при равномерном (простом) квантовании необходимо n ≥ 12. Столь большое число L =2n уровней квантования при fД = 8 кГц требует скорости передачи символов в канале не менее fкан = 96 кбит/с.

Однако в связи с тем, что при восприятии речи человеческим ухом в области больших мгновенных зна­чений λ(hΔt)оказываются допусти­мыми значительно большие искаже­ния сообщения, чем в области малых мгновенных значений, требуемое число уровней квантования может быть су­щественно снижено путем использова­ния неравномерного квантования, ис­пользуя компрессию исходного сооб­щения по логарифмическому закону с последующим равномерным кванто­ванием при сравнительно малом чи­сле уровней (например, при n = 8), или путем соответствующего цифрово­го преобразования (цифровой компрес­сии) сообщения, предварительно пре­образованного в цифровую форму при сравнительно большом исходном числе уровней квантования (например, при n - 12).

Оптимальный квантователь име­ет преимущества, если динамический диапазон входного сигнала фиксиро­ван и достаточно мал. Характеристи­ки квантователя быстро ухудшаются, если мощность сигнала изменяется от­носительно значения, на которое он был рассчитан. Хотя этим процессом можно управлять, нормализуя входной сигнал и приводя его к единому диа­пазону, для правильного определения масштаба амплитуды восстановленно­го после квантователя сигнала потре­буется дополнительно несколько бит, необходимых для передачи динамиче­ского диапазона сигнала в определен­ные моменты времени.

Для обработки входных речевых сигналов с большим динамическим диапазоном используются два зако­на сжатия, называемые импульсно-кодовой модуляцией по закону А (А-ИКМ)и по закону µ(µ-ИКМ). В обеих схемах характеристика от­ношения сигнал/шум квантования (ОСШКВ) должна быть близка к харак­теристике для простого квантователя. Вместе с тем характеристики А-ИКМ и µ-ИКМ существенно не изменяют­ся и остаются сравнительно постоян­ными в большом диапазоне уровней входного сигнала. По сравнению с про­стыми квантователями (рис. 7) кван­тователи сжатия требуют меньше бит на входную выборку для определен­ного динамического диапазона сжатия и меньшего ОСШКВ. В квантователях сжатия уровни квантования находятся в области малых амплитуд, которые увеличиваются при увеличении диа­пазона входного сигнала. Благодаря этому при квантовании речевых сиг­налов, у которых максимум функции распределения вероятностей находит­ся в начале координат, наиболее ча­сто встречающиеся малые амплитуды квантуются с большей точностью, чем менее вероятные большие амплитуды, что приводит к значительно лучшим, чем у простого квантователя, характе­ристикам.

Сжатие по Л-закону определяется зависимостью:

при 0 ≤ λ ≤ 1/А;

при 1/А ≤ λ ≤ 1, (12)

где А — параметр сжатия с типовыми значениями 86 (Северо-Американская ИКМ) и 87,56 (Европейская ИКМ) для семибитных речевых квантователей.

Сжатие по µ-закону определяется выражением

, (13)

где V0 задается формулой V0 = Lσλ, в которой L — нагрузочный фактор, а σλ — среднеквадратическое значение входного речевого сигнала.

Типовое значение фактора сжатия µ равно 255. Выражение (12) пока­зывает, что А-закон — это комбина­ция логарифмической кривой, исполь­зуемой для больших амплитуд, и ли­нейного участка, используемого на ма­лых амплитудах. µ-закон не являет­ся в точности линейным или логариф­мическим ни в одном диапазоне, од­нако является приблизительно линей­ным для малых амплитуд и прибли­зительно логарифмическим для боль­ших амплитуд. Сравнение между квантователем по µ-закону и опти­мальным квантователем показало, что оптимальный квантователь дает вы­игрыш 4 дБ, однако может иметь бо­лее высокий уровень фонового шума, когда канал свободен, и его динамиче­ский диапазон сведен к минимальному диапазону входного сигнала. Поэтому наиболее предпочтителен логарифми­ческий квантователь.

Цифровое преобразование непре­рывного речевого сообщения в соответ­ствии с рекомендацией G.711 (рис. 8) используется наиболее часто. При этом fMAX = 3,4 кГц; частота дискрети­зации fД = 8 кГц. После равномерно­го квантования при числе уровней L = 212 и предварительного кодирования производится цифровая компрессия, в результате чего длина кодовой комби­нации уменьшается до n =8 разрядов. Результатом преобразования является двоичная последовательность, переда­ваемая со скоростью 64 кбит/с.

Рисунок 8 - Блок-схема цифрового преобразования речевого сообщения

 

ДИФФЕРЕНЦИАЛЬНАЯ ИМПУЛЬСНО-КОДОВАЯ МОДУЛЯЦИЯ.

Наряду с ИКМ применяются и более эффективные цифровые методы передачи речи. В частности, с це­лью снижения требований к пропуск­ной способности канала можно исполь­зовать наличие корреляции между отсчетными значениями передаваемого сообщения. Такой метод называет­ся передачей с предсказанием. При этом последовательность значений λ(h) поступает на один вход вычитающего устройства (рис. 9,а), в то время, как на другой вход поступает предсказан­ное значение , полученное тем или методом в устройстве предска­зания на основе анализа как преды­дущих отсчетных значений сообщения, так и текущих передаваемых значений на входе вычитающего устройства.

Рисунок 9 - Передача с предсказанием

На приемном конце значения сооб­щения λ(h) восстанавливаются путем добавления принятого сигнала ошибки предсказания ε(h)кпредсказываемому значению (рис. 9, б).

В системе с дифференциаль­ной импульсно-кодовой модуляци­ей (ДИКМ) отсчетные значения ε(h)ошибки предсказания подвергаются квантованию с переходом к значениям εq(h)аналогично тому, как это делает­ся при использовании обычной ИКМ, однако при существенно меньшем чи­сле уровней квантования. Таким образом, при одинаковом качестве переда­чи речи метод ДИКМ позволяет ис­пользовать меньшее число разрядов n в кодовых комбинациях по сравне­нию с ИКМ. При этом существует большое число различных вариантов реализации метода ДИКМ, наиболее типичный из которых представлен на рис. 10.

Рисунок 10 - Типичный вариант реализации ДИКМ

При этом имеют место соотноше­ния:

(14)

(15)

В качестве предсказываемого зна­чения сообщения в простейшем случае может быть использовано пре­дыдущее отсчетное значение, хотя в об­щем случае используется выражение

, (16)

так что предсказатель может быть реализован в виде трансверсального фильтра на основе М-отводной линии задержки (регистра сдвига) с време­нем задержки между отводами, равны­ми интервалу временной дискретиза­ции Δt(рис. 11).

Рисунок 11 - Предсказатель в виде трансверсального фильтра

Классификационными признака­ми кодеров ДИКМ считаются нали­чие блока линейного предсказания ав­торегрессионных последовательностей (предсказателя) и использование мно­гоуровневого квантователя. Блок линейного пред­сказания может состоять из двух ча­стей — долговременного и кратковре­менного предсказателей. В канал пе­редается разность истинного и пред­сказанного значений сигнала (сигнал-остаток, он же — погрешность пред­сказания). Системы с ДИКМ обеспе­чивают качество восстановления сигнала, которое сопоставимо с предоставляемым ИКМ, и на порядок более высокую помехоустойчивость.

 

 


Дата добавления: 2015-10-28; просмотров: 71 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Кодирование источника| Представники;

mybiblioteka.su - 2015-2024 год. (0.02 сек.)