Модель приёмо-передающего тракта системы цифрового радиовещания DRM+
Система DRM (Digital Radio Mondiale, цифровое всемирное радио) – многофункциональная система цифрового радиовещания, которая позволяет передавать в одном канале, сопоставимом с шириной канала аналогового FM-вещания несколько аудиопрограмм с высоким качеством, совместно с дополнительной мультимедийной информацией: новостями, прогнозом погоды и т.д. Эта система в будущем может стать заменой устаревшим аналоговым стандартам вещания.
В 2019 году в России завершилась государственная Федеральная целевая программа по развитию телевещания, в рамках котороый был произведён переход от аналогового вещания к цифровому. Вероятно, следующий этап цифровизации будет затрагивать смежную отрасль - радиовещание. Система DRM может быт использована как основная для обеспечения цифрового радиовещания в России.
В 2018 году Государственная комиссия по радиочастотам приняла решение «О выделении полос радиочастот 65,9–74 МГц и 87,5–108 МГц для использования радиоэлектронными средствами цифрового эфирного звукового вещания стандарта DRM». Это значит, что можно в любой момент внедрить DRM-вещание, однако отсуствие DRM-приёмников является основным сдерживающим фактором.
Исходя из актуальности темы в программной среде MATLAB/Simulink была разработана программная модель приёмо-передающего устройства DRM+, которая может быть основой для разработки приёмо-передующих устройств.
Содержание:
Глава 1. Разработка модели приёмо-передющего тракта системы DRM+
1.1 Структура приёмо-передающего тракта, каналы данных
1.2. Разработка блоков скремблера/дескремблера
1.3. Разработка блоков канального кодера/декодера
1.4. Разработка блоков перемежения/деперемежения
1.6. Мультиплексирование/демультиплексирование OFDM кадра
1.7. Формирование OFDM модулированного сигнала
1.8 Объединение готовых блоков в полную модель приёмо-передающего тракта
Глава 2. Реализация приёмника и передатчика на основе разработанной модели приёмо-передающего тракта
Ссылка для скачивания файлов модели
Глава 1. Разработка модели приёмо-передющего тракта системы DRM+
1.1. Структура приёмо-передающего тракта, каналы данных
[Вернуться к началу]
Стандарт ETSI ES 201 980 V4.2.1 (2021-01) (Digital Radio Mondiale (DRM); System Specification) [1], разработанный Международным Союзом Электросвязи является открытым и полностью описывает структуру передачи мультимедийной информации стандарта DRM (рис. 1.1).
Рис. 1.1 - Структурная схема приёмо-передающего тракта системы DRM+
При передаче данных в качестве источника используются три канала: канал быстрого доступа (FAC), канал сервисной информации (SDC) и основнй сервисный канал (MSC).
- канал FAC (Fast Access Channel) – содержит служебную информацию, необходимую приемнику для демодуляции сигнала;
- канал SDC (Service Description Channel) – содержит служебную информацию, описывающую сервисы системы DRM+;
- канал MSC (Main Service Channel) – содержит основную мультимедийную информацию: аудио, изображение, текст.
По этим каналам на передающий тракт подаётся непрерывный поток бит, который кодируется, преобразуется в символы модуляции M-QAM, мультиплексируется, и на выходе тракта преобразуется в сигнал с ортогонально-частотным мульиплексированием (OFDM) (рис. 1.2).
Рис. 1.2 - Этапы преобразования входного потока бит в OFDM модулированный сигнал
Далее будут описываться основные элементы приёмо-передающего тракта и этапы их разработки в программной среде MATLAB/Simulink.
1.2. Разработка блоков скремблера/дескремблера
[Вернуться к началу]
Процедура скремблирования применяется в системах с ортогонально частотным мультиплексированием (OFDM) с целью уменьшения пик-фактора (отношения пиковой мощности сигнала к средней мощности), который возникает при передаче длинных серий нулей или единиц. Снижение пик-фактора достигается внедрением в исходный поток бит псевдослучайной последовательности (ПСП), которая на выходе формирует более равномерное распределение нулей и единиц в цифровом потоке.
Принцип работы скремблера отображён на рис. 1.3 и описывается в разделе 7.2.2 [1].
Рис. 1.3 - Принцип работы скремблера
Входной вектор бит складывается по модулю 2 с вектором псевдослучайной последовательности. На приёмной стороне скремблированные данные складываются с таким же вектором ПСП, что и при скремблировании. Поэтому разрабатываемый блок скремблера в Simulink будет являться и дескремблером.
Ниже приведены этапы разработки блока скремблирования в Simulink.
Вектор псевдослучайной пследовательности формируется функцией PRBS_Generator.
Открыть код MATLAB
%% ---------------------------- P R B S ----------------------------------
function PRBS = PRBS_generator(blockLength)
registr = [1 1 1 1 1 1 1 1 1]; %начальное состояние регистра
PRBS=zeros(1, blockLength); %задаём массив пвсевдослучайной последовательности
%% формирование псевдослучайной последовательности PRBS
for m = 1:blockLength
PRBS(m) = xor(registr(5), registr(9));
registr = [PRBS(m) registr(1) registr(2) registr(3) registr(4) ...
registr(5) registr(6) registr(7) registr(8)];
end
end
Затем этот вектор прописывется в блоке Constant и складывается с входным вектором (рис. 1.4)
Рис. 1.4 - Модель блока скремблирования
Проанализируем работу скремблера на примере данных в виде изображения 340x240 пикселей с монотонным фоном и содержащая небольшое количество деталей – характерная для транслируемых изображений логотипов радиостанций [2].
На рисунке 1.5 представлены графики распределения серий бит. По оси X расположены длины серии повторяющихся бит, а по оси Y – сколько раз та или иная серия повтояющихся бит встречалась в потоке. Применение скремблера позволяет улучшить рандомизацию для текущего изображения.
Рис. 1.5 - Гистограмма распределения длин серий бит для изображения: a) без применения скремблера, б) со скремблером
Главной целью работы скремблера является получение на выходе модулятора сигнала с равномерным распределением энергии по всему спектру OFDM модулированного сигнала. На это влияет равномерность распределения ячеек модуляции.
На рис. 1.6 показана диаграмма распределения OFDM ячеек для изображения при модуляции 4QAM. Без скремблирования часто встречаются OFDM ячейчки "00", что может привести к увеличению пик-фактора. Скремблирование в данном случае помогает равномерно распределить символы модуляции вдоль OFDM кадра, что как следствие приведёт к снижению пик-фактора и более стабильной работе передатчика.
Рис. 1.6 - Диаграмма распределения OFDM ячеек для изображения: а) без применения скремблера, б) со скремблером
1.3. Разработка блоков канального кодера/декодера
[Вернуться к началу]
Процедура канального кодирования применяется для защиты от ошибок в каналах связи. Для этого в полезный информационный сигнал вводится избыточность (дополнительная информация), используя которую на приёмной стороне можно определить ошибочно принятые данные и исправить их.
В системе DRM+ (раздел 7.3.2 [1]) описывается процедура декодирования, которая делится на три этапа:
-
формирование материнского кода (mother code);
-
битовое выкалывание основной части материнского кода (puncturing);
-
битовое выкалывание хвостовой части материнского кода (TailBits).
Материнский код определяется заданным в стандарте полиномом и на каждый входной бит формирует шесть бит выходной последовательности. Отсюда скорость такого кода 1/6.
Однако такой код чрезвычайно избыточен и необходимо сократить количество бит на выходе кодера. Для этого производится процедура выкалывания. Для начала кодер кодирует входные данные со скоростью кода 1/6, затем используя таблицу выкалывания, удаляет из закодированной последовательности избыточные биты. Например, кодер формирует данные со коростью 1/6, затем выкалыватель с периодичностью каждые шесть бит первые два бита оставляет, остальные четыре удаляет, таким образом кодер с выкалывателем работает со скоростью 1/2. в Системе DRM+ в каждом кадре последние 36 бит закодированных данных выкалываются по отдельной таблицей хвостовых бит.
Каналы FAC кодируется со скоростью 1/4, SDC кодируется со скоростью или 1/4 или 1/2. Канал MSC кодируется в зависимости от вида модуляции для данного канала и уровня защиты (protect level – PL). В случае, если модуляция 4QAM:
- PL0, cкорость кода 1/4;
- PL1, скорость кода 1/3;
- PL2, скорость кода 2/5;
- PL3, скорость кода 1/2.
В случае, когда модуляция 16QAM, входной поток бит с выхода скремблера делится на два потока: поток с низкой защитой (low protection part - LPP), и с высокой защитой (hight protection part - HPP). Таким образом для 16QAM определяются следующие уровни защиты:
- PL0, cкорость кода 1/6 для HPP, 1/2 для LPP;
- PL1, скорость кода 1/4 для HPP, 4/7 для LPP;
- PL2, скорость кода 1/3 для HPP, 2/3 для LPP;
- PL3, скорость кода 1/2 для HPP, 3/4 для LPP.
Модель кодера и перемежителя в Simulink отображена на рис. 1.7.
а)
б)
Рис. 1.7 - Блоки кодирования и перемежения (а), блоки декодирования и деперемежения (б) для канала MSC
а)
б)
Рис. 1.8 - Блоки кодирования и перемежения (а), блоки декодирования и деперемежения (б) для канала FAC и SDC
В случае применения модуляции 4QAM для канала MSC процедура кодирования осуществляется одним потоком через линию, предусмотренную для низкозащищённой части при 16QAM. Блок Pad добавляет шесть нулей для сброса регистра кодера, эти закодированные биты затем выкалываются в соответсвии с таблицей хваостовых бит.
В качестве кодера используется блок Convolutional Encoder (рис. 1.9), в качестве декодера Decoder Viterbi (рис. 1.10)
Через функцию puncturing_param формируются векторы выкалывания для заданной скорости кодера с учётом выкалывания хвостовых бит.
Рис. 1.9 - Параметры блока Convolutional Encoder
Рис. 1.10 - Параметры блока Decoder Viterbi
Для оценки помехоустойчивости приёмо-передающей модели применялась утилита BER Analysis Tool. Результат её работы приведён на рис. 1.11 [3]. По этому графику можно проследить чёткую зависитмость помехоустойчивости от применяемой скорости кода.
Рис. 1.11 График зависимости BER от Eb/No для 4QAM модулированного сигнала канала MSC
1.4. Разработка блоков перемежения/деперемежения
[Вернуться к началу]
Перемежение применяется с целью повышения помехоустойчивости сигнала. Перемешивание порядка следования бит внутри кадра и ячеек OFDM как внутри одного кадра, так и между несколькими кадрами позволяет декодеру на приёмной стороне боллее эффективно справляться с группой ошибочно принятых данных (которые возникают при кратковременной помехе), т.к. декодер способен исправлять органиченное число сгрупированных ошибочных бит.
Рис. 1.12 - Преобразование пакетных ошибок в одиночные
На рис.1.12 представлен принцип работы перемежителя. На рис. 1.12 (а) биты располагаются в исходном порядке, после перемежения они стоят в порядке, представленом на рис. 1.12 (б), а затем на приёмной стороне происходит процедура обратного перемежения (рис. 1.12 (в)). Звёздочками отмечены биты, которые подверглись помехе в канале связи. При прохождении сигнала через канал связи группа четырёх ошибочно принятых бит разгруппировывается на четыре одиночные, с которыми кодеру будет легче справиться.
Вектор перемешивания задаётся функцией interleaving в соответсвии с разделом 7.3.3 [1]. Полученный вектор указывается в блоке перемежителя/деперемежителя (рис. 1.13).
а)
б)
Рис. 1.13 - Параметры блока Interleaver (а) и Deinterleaver (б)
Перемежение ячеек OFDM осуществляется в два этапа. На первом этапе перемешиваются ячейки внутри кадра, а затем между шестью следующими друг за другом кадрами (рис. 1.14), где N - текущий кадр, N-1...N-5 предшествующие кадры.
Рис. 1.14 - Принцип действия межкадрового перемежителя ячеек
Реализация межкадрового перемежителя ячеек OFDM кадра представлен на рис. 1.16. Вводятся блоки задержки, которые на выходе образуют общую линию задержки на шесть кадров, следующий за ним блок межкадрового перемежителя (блок Selector) выбирает из линии задержки ячейки, согласно рис. 1.14. Формирование вектора выходного массива формируется внутри функции msc_param.
а)
б)
Рис. 1.15 - Блоки преобразователя битового потока в поток символов OFDM кадра и перемежители для этих ячеек на передающей стороне (а) и деперемежители на приёмной стороне (б)
Рис. 1.16 - Подсистема межкадрового перемежителя ячеек в Simulink
1.5. Разработка блоков преобразователей битового потока в символы модуляции на передающей стороне (маппинг) и его обратное преобразование на приёмной стороне (демаппинг)
[Вернуться к началу]
Процедура маппинга используется для того, чтобы преобразовать цифровой поток данных в амплитуды и фазы для поднесущих OFDM модулированного сигнала.
Маппинг/демаппинг в программной модели реализуется блоками QAM Modulator Baseband и QAM Demodulator Baseband (рис. 1.17). Параметры блоков, позиционность модуляции, расстояние между точками созвездия определяются разделом 7.4 [1].
а)
б)
Рис. 1.17 - Параметры блока QAM Modulator Baseband (а) и QAM Demodulator Baseband (б)
1.6. Мультиплексирование/демультиплексирование OFDM кадра
[Вернуться к началу]
Символы модуляции, сформированные отдельно для каналов MSC, FAC и SDC, необходимо объединить в общий мультиплексированный поток, который затем будет подаваться на OFDM модулятор. Расположение этих символов можно представить в виде ячеек частотно-временной сетки (рис. 1.18). Она состоит из кадров с 213 частотными поднесущими и 40 символами, каждый из который длится 2,5 мс. Каждые четыре кадра объединяются в один суперкадр.
Рис. 1.18 - Фрагмент первого OFDM кадра
В каждом кадре помимо информационных ячеек располагаются ячеки кадровой синхронизации (фиолетовые ячейки), по которым определяется начало кадра, а также пилотные поднесущие (зелёные ячейки) с фиксированной амплитудой и фазой, по которым происходит восстановление соседних поднесущих по амплитуде и фазе.
В первом и последнем кадре суперкадра располагаются ячейки кадровой синхронизации, по которым определяются начало и конец суперкадра.
Информация о текущем кадре располагается в канале FAC, данные из которого подаются на блок Switch Case (рис. 1.19).
Рис. 1.19 - Условие Switch Case для выбора номера текущего кадра
Далее, в зависимости от номера текущего кадра в подсистеме мультиплексора (рис. 1.20) выбирается подсистема для мультиплексирования текущего OFDM кадра.
Рис. 1.20 - Общий вид подсистемы мультиплексора OFDM
Рассмотрим пример подсистемы мультиплексора для первого кадра суперкадра (рис. 1.21). Все используемые типы данных (каналы MSC, FAC, SDC; пилотные поднесущие и т.д.) объединяются блоком MUX и в порядке, определённым в скрипте файла DRMParam_out.m происходит формирование OFDM кадра через блок Selector.
Рис. 1.21 - Подсистема мульиплексирования первого кадра суперкадра
На приёмной стороне полученный массив OFDM кадра подаётся как отдельные канальные подсистемы демультиплексирования. В первую очередь демультиплексируется канал FAC с использование одного блока Selector, при декодировании которого определяется номер текущего кадра.
Рис. 1.22 - Подсистема демультиплексирования OFDM кадра
Если текущий кадр первый, то в подсистеме демультиплексирования SDC кадра (рис. 1.23) через Triggered Subsistem передаются данные, скорость передачи которых затем снижается в четыре раза (т.к. данные канала SDC передаются один раз в четыре кадра).
Рис. 1.23 - Подсистема демульиплексирования канала SDC
Канал MSC демультиплексируется в зависимости от номера текущего кадра.
Рис. 1.24- Подсистема демульиплексирования канала MSC
В подистемах первого, второго и третьего кадра на вход подаются текущие и задержанные данные OFDM кадра (рис. 1.22), в подсистеме четвёртого кадра подаются только данные текущие OFDM кадра.
Рис. 1.25 - Подсистема демультиплексирования первого кадра MSC канала
После демультиплексирования каждого из каналов, полученные данные демодулируются и декодируются.
1.7 Формирование OFDM модулированного сигнала
[Вернуться к началу]
Переход от частотного представления сигнала к сигналу во временной области осуществляется через быстрое преобразование Фурье (рис. 1.26)
Рис. 1.26 - Быстрое преобразование Фурье
После БПФ для защиты сигнала от многолучевого приёма для каждого символа добавляется защитный интервал. В стандарте DRM+ он составляет 1/9 от продолжительности активного интервала символа и копирует по содержанию конец этого интервала.
Рис. 1.27 - Структура сигнала, длительностью в один символ
На передающей стороне перед самой модуляцией необходимо, чтобы на вход OFDM модулятора подавался вектор, длина которого кратна девяти, это нужно для дальнейшего добавления защитного интервала, который составляет 1/9 от активного интервала. Этого можно добиться, добавив 426 нулевых символов модуляции. Для этого используется блоки Constant и MUX.
Рис. 1.28 - Подсистема OFDM модулятора
Далее используется блок OFDM Modulator, параметры которого указаны на рис. 1.29. Этот блок производит быстрое преобразование Фурье и добавляет защитный интервал.
Рис. 1.29 - Параметры блока OFDM модулятора
На приёмной стороне происходит обратная процедура, сначала происходит демодуляция сигнала (рис. 1.30), а затем удаляются неиспольуемые ячейки в демодулируемом символе OFDM кадра (блок Selector, рис. 1.29).
Рис. 1.29 - Подсистема OFDM демодулятора
Рис. 1.30 - Параметры блока OFDM демодулятора
1.8 Объединение готовых блоков в полную модель приёмо-передающего тракта
[Вернуться к началу]
Для удобного и быстрого переключения между используемыми видами модуляции и уровнями защиты была создана маска подсистемы Model Parameters (рис. 1.31, рис. 1.32).
Рис. 1.31 - Внешний вид и параметры подсистемы Model Parameters
Рис. 1.32 - Выбор модуляции и уровня защиты для модели приёмо-передающего тракта
В соответсвии с выбранными параметрами подсистемы Model Parameters, при запуске модели запускается скрипт DRMParam_out.m и производится расчёт основных праметров для передаваемых каналов MSC, FAC, SDC (размер кадра, вектор псевдослучайной последовательности, вектор выкалывания, вектор перемежения и т.д.), которые записываются в переменную DRMParam.
Совокупность блоков, разработанных в главе 1, объединяются в общую модель, отображённую на рис. 1.33
Рис. 1.34 - Модель приёмо-передающего тракта системы DRM+
Примеры использования приёмо-передающей модели представлены в главе 2.
Глава 2. Реализация приёмника и передатчика на основе разработанной модели приёмо-передающего тракта
На основе разработанной модели приёмо-передающего тракта системы DRM+ было разработано передающее утройство, работающее с устройством программно-конфигурируемого радио USRP N210 (рис. 2.2), и приёмное устройство, работающее совместно с RTL-SDR (рис. 2.3) приёмником.
Эти проекты находятся в стадии разработки, поэтому далее будет описана общая структура и результат их работы.
2.1 Реализация передатчика
[Вернуться к началу]
Источником цифровых данных является MDI поток, создаваемый контент-сервером. Он разделяется на канала: MSC, FAC и SDC. Далее, эти данные проходят через тракт передачи (рис.2.1), формируя OFDM сигнал, который пройдя фильтрацию подаётся на вход устройства USRP N210 (блок SDRu Transmitter).
Рис. 2.1 - Модель передатчика DRM+ в Simulink
Рис. 2.2 - Устройство программно-конфигурируемого радио USRP N210
Для целей тестирования корректности работы передатчика DRM+ задействован профессиональный измерительный приёмник RF-SE19 от компании RFmondial (рис. 2.3)
Рис. 2.3 – Лицевая панель приёмного устройства RF-SE19
Результат работы передатчика продемонстрирован на видео ниже. Видно, что сигнал, передаваемый через USRP, принимается профессиональным приёмником и декодируется полностью, включая аудиоданные. В данных примерах была протестирована передача сигнала с модуляцией основного сервисного канала 4QAM и 16QAM.
2.2 Реализация приёмника
[Вернуться к началу]
Реализация приёмника более сложная задача, чем реализация передатчика. Источником сигнала является устройство RTL-SDR (рис. 2.4). Прежде чем перейти к основным этапам декодирования, необходимо принимаемый сигнал отфильтровать, произвести временную синхронизацию, произвести демодуляцию OFDM сигнала, получив частотное представление сигнала. Далее необходимо произвести кадровую сихронизацию, компенсацию искажений канала связи, а затем произвести демультиплексирование OFDM кадра и демодуляцию каждого из каналов данных.
Стоит отдельно выделить процедуру компенсации искажений канала связи.
Зачастую при приёме сигнала встречаются искажения амплитуды и фазы. Для их устранения в OFDM мультипексированном кадре вставляются заранее известные по амплитуде и фазе пислотные ячейки (п. 1.6).
В разработанной модели компенсатора сам процесс компенсации осуществляется за счёт линейной интерполяции между соседними пилотными несущими.
Рис. 2.4 – Подсистема расчёта коэффициентов линейной интерполяции
На рис. 2.4 продемонстрирована подсистема, определяющая коэффициенты линейной интерполяции для амплитуды и для фазы. Полученные коэффициенты затем применяются для восстановления искомой амплитуды и фазы информационного сигнала (рис. 2.5).
а)
б)
Рис. 2.5 - Подсистема, реализующая интерполяцию для получения неизвестных значений, корректирующих аргумента и фазы, верхний уровень подсистемы (а), нижний кровень подсистемы.
Ниже приведено визуальное представление корректировки амплитудных и фазовых искажений.
Рис. 2.7 - Компенсация амплитудных искажений
Рис. 2.6. - Компенсация фазовых искажений
На рис. 2.7 представлены созведия реального сигнала до коменсации (левый ряд) и после процедуры компенсации (правый ряд).
Рис. 2.7 – Сигнальное созвездие данных канала MSC, FAC, SDC до коррекции (а, в, д) и после коррекции (б, г, е) соответственно
Рис. 2.8 - Приёмное устройство RTL-SDR
На текущем этапе разработки реализован прием данных каналов FAC и SDC. На рис. 2.10 показан пример данных канала SDC, записанных в бинарный файл. Открыв его при помощи программы Hex Editor Neo, отображаются ASCII кодировка названия сервисов, передаваемых в мультиплексе. В данный момент в ходе разработки решается задача интеграции данных канала MSC с аудиокодеком.
Рис. 2.9 - Пример работы модели приёмного устройства
Рис. 2.10 - Данные с приёмника, записанные в бинарный файл и открытые при помощи программы Hex Editor Neo для канала сервисных служб (SDC)
Вывод
[Вернуться к началу]
Иструментарий программной среды MATLAB/Simulink позволил разработать рабочую программную модель приёмо-передающего тракта системы DRM+.
Результаты разработки программной модели приёмо-передающего тракта могут быть использованы при реализации аппаратно-программных комплексов, при промышленном изготовлении приёмо-передающих устройств DRM+, а также в учебных и исследовательских целях.
Список литературы
[Вернуться к началу]
1. ETSI ES 201 980 V4.2.1 (2021-01) Digital Radio Mondiale (DRM); System Specification.; 2021. – 184 p.
2. Oleg A. Guminskiy, Roman V. Glazkov, Sergei V. Myshyanov Nikita V. Babaev, Sergei A. Sokolov Research and Implementation of Energy Dispersal Algorithm for DRM System // IEEE. – 2020. ISBN 978-1-7281-5760-3 – p. 17-20.
3. Гуминский О.А, Мышьянов С.В. Исследование и реализация алгоритма канального кодера для системы DRM: IX Международная научно-техническая и научно-методическая конференция: СПб. : СПбГУТ, 2020. С. 165–170.
Ссылка для скачивания файлов модели
[Вернуться к началу]
https://cloud.mail.ru/public/AxE9/9nJmYeYHv
Simulink модель выполнена в версии MATLAB R2020b
Комментарии
При всём уважении, ни за что не поверю, что это студенческая работа. Если я всё-таки ошибаюсь, то пусть это послужит комплиментом.
Эта статья — переложение моего бакалаврского диплома, могу приложить его текст, где то же самое описывается в более академической форме на 70 страницах :) Реализация в MATLAB/Simulink представленная на этот конкурс выполнена лично мной, с консультациями по теоретическим вопросам с дипломным руководителем.
Сейчас я магистрант 1 года по профилю цифровое телерадиовещание в СПбГУТ и первый год работаю на СПб телебашне в РТРС. Над моделью, которая легла в основу этой работы, я занимался два года— в течение 3 и 4 курса, когда работал в университетском научном коллективе, занимающемся исследованиями цифрового радиовещания.
Олег, вы можете оказать консультацию по аналогичной схеме MATLAB/Simulink?
Я ответил вам в личной переписке