СПОСОБ И УСТРОЙСТВО ДЛЯ ОБНАРУЖЕНИЯ ОШИБОК В БЛОКЕ ДАННЫХ
METHOD AND DEVICE FOR DETECTING ERRORS IN DATA UNIT

Область применения изобретения
Настоящее изобретение относится, в общем, к передаче данных и, в частности, к осуществлению обнаружения ошибок в одном поле блока данных с использованием механизма обнаружения ошибок в другом поле того же блока данных.
Предшествующий уровень техники
При передаче блоков данных между передающим и принимающим устройствами в системе связи по беспроводному интерфейсу обычно используется тот или иной тип механизма обнаружения ошибок и коррекции ошибок для помощи в декодировании каждого блока данных на приемном устройстве для обеспечения дополнительной обработки блока данных. Здесь, блок данных, в общем случае, определен как блок непрерывных битов, содержащий информацию и/или сигнализацию, и декодирование определено как первоначальная обработка принятого блока данных для идентификации принятых битов (например, единиц или нулей) и может включать в себя обнаружение и/или коррекцию ошибок в принятых битах. Сигнализация связана с установлением и управлением соединениями в сети.
В общем, блок данных имеет заранее определенную логическую структуру, имеющую совокупность различных типов полей для организации битов в блоке данных, и одно или несколько из этих полей может содержать биты, которые позволяют обнаруживать ошибки и/или коррекцию ошибок для этого поля. Однако, в зависимости от использования протокола, некоторые поля могут включать в себя биты коррекции ошибок, но не биты обнаружения ошибок, или ограничение битов обнаружения ошибок, ввиду ограниченного количества битов вследствие, например, ограничений по полосе, связанных с физическими каналами, по которым передается блок данных. Ограничение приводит к тому, что неспособность обнаруживать ошибки декодирования в некоторых полях может обусловить весьма существенные проблемы, связанные с дополнительной обработкой блока данных, если они существуют, фактически, к ошибкам, оставшимся необнаруженными.
Пример протокола радиоинтерфейса, который имеет структуру блока данных, который включает в себя поля, имеющие коррекцию ошибок, но не обнаружение ошибок в протоколе радиоинтерфейса, заданном согласно TS (техническому описанию) 102 361-1 ETSI (Европейского института стандартов связи). Структура блока данных, заданная в этом техническом описании, представляет собой пакет, который определен как наименьший заранее заданный блок непрерывных битов, содержащий информацию или сигнализацию. В частности, в нем описан пакет DMR (цифровой мобильной радиосвязи) TDMA (множественного доступа с временным разделением). Пакет DMR TDMA включает в себя, например, поле Data Type, которое указывает тип данных, передаваемых в поле Information (информация), которое также включено в пакет. Существует некоторое количество типов данных, упомянутых в техническом описании, включающих в себя, например, Voice LC Header, Terminator with LC, CSBK, Data Header и т.д. Поскольку это поле подвергается коррекции ошибок (в этом случае прямой коррекции ошибок (FEC), что общеизвестно в технике), но не обнаружению ошибок, приемник не может знать, успешно ли произведена коррекция ошибок в поле Data Type. По этой причине в определенных условиях ошибки пакеты некоторых типов могут обрабатываться неправильно.
В целях иллюстрации ниже приведено два примера проблем, которые могут возникать вследствие неудачи в обнаружении неправильно идентифицированного типа данных. В одном примере поле CSBK может быть неверно интерпретировано как поле Data Header (которое является первым пакетом многопакетного информационного сообщения) вследствие неисправимых ошибок на канале. Поскольку Data Header содержит поле Blocks to Follow, указывающее, сколько дополнительных пакетов принадлежит этой передаче, а CSBK - нет, приемник обрабатывает последующие пакеты как часть этой передачи данных. Соответственно, другие передачи, например, новые речевые передачи, CSBK, и новые передачи данных, пропускаются в течение этого периода.
В другом примере поле Terminator with LC может быть неверно интерпретировано как поле Voice LC Header. Поскольку многие пакеты Terminator with LC обычно передаются в течение Call Hangtime, потенциальные побочные эффекты включают в себя тот факт, что приемник вынужден начать обработку новой речевой передачи, когда ни одной из них не существует.
Поэтому желательно иметь способ и устройство для обеспечения надежного обнаружения ошибок для поля с ограничением или без ограничения битов, зарезервированных для обнаружения ошибок.
Краткое описание чертежей
Прилагаемые чертежи, где аналогичные условные обозначения относятся к идентичным или функционально сходным элементам на нескольких отдельных видах и которые, совместно с нижеприведенным подробным описанием, включены в описание и составляют его часть, служат для дополнительной иллюстрации различных вариантов осуществления и для объяснения различных принципов и преимуществ настоящего изобретения.
Фиг.1 иллюстрирует примерную систему, реализующую варианты осуществления настоящего изобретения.
Фиг.2 иллюстрирует примерный блок данных согласно вариантам осуществления настоящего изобретения.
Фиг.3 иллюстрирует способ обнаружения ошибок согласно варианту осуществления настоящего изобретения.
Фиг.4 иллюстрирует способ обнаружения ошибок согласно варианту осуществления настоящего изобретения.
Фиг.5 иллюстрирует примерное обнаружение ошибок в блоке данных, показанном на фиг.2, с использованием способов, показанных на фиг.3 и 4.
Фиг.6 иллюстрирует примерное обнаружение ошибок в блоке данных, показанном на фиг.2, с использованием способов, показанных на фиг.3 и 4.
Фиг.7 иллюстрирует примерное обнаружение ошибок в блоке данных, показанном на фиг.2, с использованием способов, показанных на фиг.3 и 4.
Фиг.8 иллюстрирует примерное обнаружение ошибок в блоке данных, показанном на фиг.2, с использованием способов, показанных на фиг.3 и 4.
Фиг.9 иллюстрирует примерное обнаружение ошибок в блоке данных, показанном на фиг.2, с использованием способов, показанных на фиг.3 и 4.
Фиг.10 иллюстрирует примерный пакет DMR TDMA согласно вариантам осуществления настоящего изобретения.
Фиг.11 иллюстрирует способ обнаружения ошибок в пакете DMR TDMA, показанном на фиг.10, согласно варианту осуществления настоящего изобретения.
Фиг.12 иллюстрирует способ обнаружения ошибок в пакете DMR TDMA, показанном на фиг.10, согласно варианту осуществления настоящего изобретения.
Подробное описание изобретения
Прежде, чем перейти к описанию вариантов осуществления настоящего изобретения, следует обратить внимание на тот факт, что варианты осуществления опираются, в основном, на комбинации этапов способа и компонентов устройства, связанных со способом и устройством для обнаружения ошибок в блоке данных. Соответственно, компоненты устройства и этапы способа представлены, когда это необходимо, традиционными символами на чертежах, показывающими только те конкретные детали, которые относятся к пониманию вариантов осуществления настоящего изобретения, чтобы не затемнять раскрытие деталями, которые хорошо известны специалистам в данной области техники, ознакомляющимся с приведенным здесь описанием. Таким образом, следует понимать, что, для простоты и ясности иллюстрации, обычные и хорошо понятные элементы, которые полезны или необходимы в коммерчески осуществимом варианте осуществления, например прямая коррекция ошибок (FEC) и перемежение, могут не указываться, чтобы не перегружать схемы этих различных вариантов осуществления.
Очевидно, что варианты осуществления описанного здесь изобретения могут содержать один или несколько общих или специализированных процессоров (или "устройств обработки"), например, микропроцессоров, цифровых сигнальных процессоров, пользовательских процессоров и вентильных матриц, программируемых пользователем (FPGA), и уникальных сохраненных программных инструкций (включающих в себя программное обеспечение и программно-аппаратное обеспечение), которые управляют одним или несколькими процессорами для реализации, совместно с определенными непроцессорными схемами, некоторых, большинства или всех функций способа и устройства для обнаружения ошибок в описанном здесь блоке данных. Непроцессорные схемы могут включать в себя, но без ограничения, радиоприемник, радиопередатчик и устройства пользовательского ввода. Поэтому эти функции можно интерпретировать как этапы способа для осуществления обнаружения ошибок в описанном здесь блоке данных. Альтернативно, некоторые или все функции могут интерпретироваться конечным автоматом, в котором не хранятся программные инструкции, или в одной или нескольких специализированных интегральных схемах (ASIC), где каждая функция или некоторые комбинации определенных функций реализованы посредством специализированной логики. Конечно, можно использовать комбинацию подходов. Конечный автомат и ASIC также рассматриваются здесь как "устройство обработки" в рамках нижеследующего описания и формулы изобретения.
В общем случае, согласно различным вариантам осуществления, надежное обнаружение ошибок осуществляется для поля в блоке данных с ограничением битов обнаружения ошибок или без него. Варианты осуществления можно применять к любой структуре блока данных, включающей в себя пакет DMR TDMA, заданный в TS 102 361-1 ETSI. Например, после генерации пакета, имеющего (среди других полей) поле Information с битами данных и битами обнаружения ошибок (также именуемыми здесь "четностью" обнаружения ошибок) и дополнительно имеющего поле Data Type, указывающее тип битов данных в поле Information, маска вставки ошибок выбирается на основании указанного типа данных. Маска применяется к битам данных и четности обнаружения ошибок (обычно для изменения битов данных, четности обнаружения ошибок или обоих). Затем результирующий пакет передается на приемное устройство. Приемное устройство принимает пакет; идентифицирует тип данных; выбирает маску вставки ошибок, которая соответствует идентифицированному типу данных и применяет маску вставки ошибок к принятым битам данных и четности обнаружения ошибок в поле Information. После применения результирующие биты данных и биты обнаружения ошибок можно использовать для подтверждения (в некоторых условиях), что тип данных идентифицирован правильно.
Это дает преимущество надежного обнаружения ошибок для поля Data Type во избежание вышеуказанных проблем при осуществлении связи между передающим и принимающим устройствами. Специалистам в данной области техники очевидно, что вышеуказанные преимущества и другие описанные здесь преимущества являются всего лишь иллюстративными и не предусматривают полное обеспечение всех преимуществ различных вариантов осуществления настоящего изобретения.
На чертежах и, в частности, на фиг.1 показана иллюстративная система беспроводной связи, реализующая варианты осуществления настоящего изобретения, обозначенная, в целом, позицией 100. Однако специалистам в данной области техники очевидно, что особенности этого иллюстративного примера не являются признаками самого изобретения и что изложенные здесь принципы применимы к различным альтернативным установкам. Например, поскольку описанные принципы не зависят от типа протокола радиоинтерфейса или используемой схемы доступа к каналу (например, TDMA (множественного доступа с временным разделением), CDMA (множественного доступа с кодовым разделением), FDMA (множественного доступа с частотным разделением), и т.п.), принципы применимы к любому типу протокола радиоинтерфейса и схемы доступа к каналу, хотя в приведенных здесь вариантах осуществления описан протокол радиоинтерфейса (для цифровой мобильной радиосвязи с использованием схемы доступа к каналу TDMA), заданного в ETSI TS 102 361-1. Кроме того, настоящее изобретение можно применять в любой системе и с любым протоколом, который использует механизм обнаружения ошибок для надежной передачи и приема блоков данных, включающий в себя системы, использующие проводные линии связи. Поэтому другие альтернативные реализации использования других типов проводных или беспроводных протоколов и схем доступа к каналу следует рассматривать в пределах объема описанного изобретения.
Система 100 беспроводной связи содержит устройство 102 связи и устройство 104 связи, которое может представлять собой, например, портативную или мобильную радиостанцию, карманный персональный компьютер, сотовый телефон и т.п. В нижеследующем описании устройства связи будут называться "радиостанциями", но в технике они также называются мобильными станциями, мобильным оборудованием, телефонными трубками и т.д. Кроме того, в этом иллюстративном варианте осуществления радиостанции 102 и 104 осуществляют связь через сеть 106 радиодоступа. Однако специалистам в данной области техники очевидно, что сеть любого типа отвечает объему настоящего изобретения. Сеть 106 может содержать инфраструктуру, например, но без ограничения, базовые станции (BS) (для простоты показана одна BS 108), контроллеры базовых станций (не показаны), сетевые элементы (например, центр коммутации мобильной связи, реестр домашних местоположений, реестр гостевых местоположений и т.д.) и т.п. для облегчения связи между радиостанциями, имеющими доступ к сети.
Например, радиостанция 102 и радиостанция 104 могут осуществлять связь друг с другом благодаря тому, что радиостанция 102 устанавливает беспроводную линию связи или радиосоединение 110 с BS 108 по доступному радиочастотному (RF) каналу, и радиостанция 104 устанавливает беспроводную линию связи 112 с BS 108 по доступному радиочастотному (RF) каналу. Из уровня техники известно, что BS 108, в общем случае, содержит ретрансляционное устройство, которое может принимать сигнал от радиостанции 102 по линии 110 связи и ретранслировать сигнал на радиостанцию 104 по линии 112 связи или может принимать сигнал от радиостанции 104 по линии 112 связи и ретранслировать сигнал на радиостанцию 102 по линии 110 связи. Для упрощения иллюстрации показаны только две радиостанции и одна BS. Однако специалистам в данной области техники очевидно, что в типичной системе радиосеть поддерживает гораздо большее количество радиостанций и имеет в своем составе гораздо больше BS, чем показано на фиг.1. Кроме того, хотя в этом варианте осуществления показано, что связь между радиостанциями 102 и 104 осуществляется посредством BS 108, радиостанции 102 и 104 могут осуществлять связь с использованием прямого режима работы без участия BS. Настоящее изобретение также применимо к прямому режиму работы между двумя радиостанциями.
Поскольку сеть 106 является беспроводной сетью в том смысле, что она поддерживает беспроводной протокол или протокол радиоинтерфейса для передачи сигнала, обе радиостанции 102 и 104 и BS 108 содержат приемопередающие устройства, которые включают в себя передающее и принимающее устройство для соответственно передачи и приема RF сигналов. Радиостанции 102 и 104 и BS 108 дополнительно содержат одно или несколько вышеупомянутых устройств обработки (например, DSP, микропроцессор и т.д.) и, обычно, традиционный элемент памяти того или иного типа для осуществления (помимо других функций) протокола радиоинтерфейса и схемы доступа к каналу, поддерживаемых сетью 106.
С использованием этих протоколов радиостанции 102 и 104 могут генерировать RF сигналы, содержащие один или несколько блоков данных, содержащих совокупность полей для организации непрерывных битов информации и/или сигнализации для передачи на другую радиостанцию. Как отмечено выше, некоторые из этих полей могут не включать в себя обнаружение ошибок или могут включать в себя ограниченное обнаружение ошибок для проверки, правильно ли приняты и декодированы биты в поле. Согласно описанным здесь вариантам осуществления обнаружение ошибок для поля с ограничением битов обнаружения ошибок или без него можно осуществлять с использованием поля, которое содержит биты обнаружения ошибок.
На фиг.2 показан примерный блок данных согласно вариантам осуществления, обозначенный здесь, в целом, позицией 200. Блок 200 данных может генерироваться на радиостанции 102 или 104 и имеет общую логическую структуру, содержащую поле 1 (210) и поле 2 (220) для организации битов информации и/или сигнализации, передаваемых с радиостанции 102 или 104 на другую радиостанцию, подключенную к сети 106. Согласно вариантам осуществления, проиллюстрированным со ссылкой на фиг.3-8, поле 220 не имеет обнаружения ошибок. Поэтому поле 210 (которое включает в себя обнаружение ошибок) используется для осуществления надежного обнаружения ошибок для поля 220 согласно настоящему изобретению. Настоящее изобретение не ограничивается конкретной информацией и/или сигнализацией, содержащейся в полях 210 и 220, или конкретной логической структурой блока 200 данных при условии, что, по меньшей мере, одно поле содержит обнаружение ошибок.
На фиг.2 показан расширенный вид поля 210, демонстрирующий содержащуюся в нем совокупность битов, которые включают в себя биты 212 данных и биты 214 обнаружения ошибок, причем биты обнаружения ошибок вычисляются на основании битов данных. Заметим, что стрелки от битов данных к битам обнаружения ошибок не являются частью поля 210, но служат лишь для наглядного указания того, что биты обнаружения ошибок вычисляются из битов данных. Обнаружение ошибок можно осуществлять с использованием таких механизмов, как, например, в частности, Cyclic Redundancy Check (проверка циклической избыточностью) (CRC), Checksum (контрольная сумма) и Simple Parity Check (простой контроль четности). Эти методы обнаружения ошибок общеизвестны в уровне технике и, для простоты, не будут дополнительно объяснены.
При иллюстрации различных описанных здесь вариантов осуществления для простоты показано лишь ограниченное количество полей. Однако специалистам в данной области техники очевидно, что блок 200 данных может содержать любое количество полей и любую структуру этих полей в соответствии с различными протоколами, поддерживаемыми сетью и реализованными в устройствах связи. Например, блок 200 данных может дополнительно содержать дополнительное поле 3 (230), показанное пунктирными линиями. Поле 230 также может не иметь битов обнаружения ошибок или может иметь ограниченное количество битов обнаружения ошибок, причем механизм обнаружения ошибок в поле 210 можно дополнительно использовать в другом варианте осуществления для обнаружения ошибок поля 230 (и поля 220), что проиллюстрировано со ссылкой на фиг.9. Кроме того, хотя для простоты это не показано, поля 210 и 220 (и 230) обычно также включают в себя тот или иной тип механизма коррекции ошибок, например, FEC (прямую коррекцию ошибок). Эти методы коррекции ошибок хорошо известны в уровне технике и, для простоты, не будут дополнительно описаны здесь.
На фиг.3 и 4 показаны способы для обнаружения ошибок в блоке данных согласно вариантам осуществления настоящего изобретения. На фиг.3 показан способ, осуществляемый в передающем устройстве, и на фиг.4 показан способ, осуществляемый в принимающем устройстве. Способы, описанные со ссылкой на фиг.3 и 4, можно осуществлять в устройствах связи, BS и контроллере базовых станций, например, с использованием устройства обработки, которое может содержать одно или несколько вышеописанных устройств обработки, например, DSP.
Согласно фиг.3, способ 300, осуществляемый в передающем устройстве (например, на радиостанции 102), включает в себя этап 302, на котором генерируют блок данных, содержащий первое поле (например, 210), имеющее первую совокупность битов, которая включает в себя участок (например, 214) обнаружения ошибок, указывающий значение обнаружения ошибок на основании другого участка (например, 212) первой совокупности битов, и используемый для обнаружения ошибок при декодировании другого участка (212) первой совокупности битов, и блок данных, дополнительно содержащий второе поле (например, 220), имеющее вторую совокупность битов (не показанную на фиг.3). Значение обнаружения ошибок идентифицируется или указывается битами ("e") в участке 214 обнаружения ошибок поля 210, и это значение вычисляется на основании типа метода обнаружения ошибок, используемого в передающем устройстве.
На этапе 304 маска вставки ошибок выбирается на основании второй совокупности битов в поле 220. Маску вставки ошибок можно реализовать в самых разнообразных формах, но, в целом, она содержит заранее определенное количество битов, представляющих конкретное значение маски. Значение маски в свою очередь соответствует значению, представленному битами, включенными в поле 220. Обычно, для данного количества N разных значений, которые могут быть представлены как значения битов во втором поле, существует, по меньшей мере, N разных значений маски, которые соответствуют значениям битов во втором поле. Примерные значения маски заданы ниже для варианта осуществления, объясненного со ссылкой на фиг.10-12.
На этапе 306 первая совокупность битов "изменяется" с помощью маски вставки ошибок для генерации "измененной" первой совокупности битов, которая используется для обнаружения ошибок при декодировании второй совокупности битов. Выражение "изменение первой совокупности битов с помощью маски вставки ошибок" используется в том же смысле, что и выражение "применение маски вставки ошибок к первой совокупности битов", и оба они, в целом, относятся к обработке, при которой, по меньшей мере, часть первой совокупности битов в поле 210 объединяется с маской вставки ошибок (значением) с использованием той или иной арифметической операции. В одном варианте осуществления, например, арифметической операцией является побитовое сложение по модулю 2, в которой если сумма двух битов равна "2", то значение этой суммы выражается как нуль, т.е. 1+1=0. Однако специалистам в данной области техники очевидно, что можно использовать арифметику другого типа, например, арифметику поля Галуа.
Кроме того, выражение "измененная первая совокупность битов" не означает с необходимостью, что одно или несколько значений битов в первой совокупности битов изменяется после применения маски вставки ошибок, хотя обычно это имеет место. Дело в том, что можно выбрать маску вставки ошибок, имеющую нулевое значение, которая не изменит первую совокупность битов. Соответственно, "измененная первая совокупность битов" означает, что маска вставки ошибок применена к первой совокупности битов, независимо от того, привело ли это к изменению значений битов.
На этапе 308 блок данных, в котором маска вставки ошибок применена к первой совокупности битов в поле 210, передается на принимающее устройство (например, радиостанцию 104). На фиг.4 показан способ 400, осуществляемый на радиостанции 104 после приема (на этапе 402) блока 200 данных, в котором маска вставки ошибок применена к первой совокупности битов, включенных в поле 210, причем блок 200 данных дополнительно имеет поле 220 со второй совокупностью битов.
Затем, на этапе 404 принимающее устройство декодирует вторую совокупность битов для генерации результатов декодирования для поля 220. В целом, согласно вышесказанному, декодирование означает идентификацию битов и, обычно, также, по меньшей мере, включает в себя осуществление того или иного типа коррекции ошибок на принятых битах. Настоящее изобретение предусматривает возможность использования любых типов процесса декодирования, в том числе, но без ограничения, указанных выше. На этапе 406 выбирается маска вставки ошибок, которая соответствует результатам декодирования из поля 220. На этапе 408 первая совокупность битов в поле 210 изменяется с использованием выбранной маски вставки ошибок для генерации измененной первой совокупности битов. На основании этой измененной первой совокупности битов можно определить (на этапе 410) (помимо прочего), верны ли результаты декодирования, с использованием, например, методов дополнительной обработки, рассмотренных ниже.
Например, в одной реализации вычисление для обнаружения ошибок можно осуществлять только на некоторых из битов (например, 212) в измененной первой совокупности битов и сравнивать вычисленное значение обнаружения ошибок со значением обнаружения ошибок, которое было в поле 210 принятого блока данных до вычисления для обнаружения ошибок. Эта реализация проиллюстрирована в отношении вариантов осуществления, показанных на фиг.5-9. Для простоты иллюстрации показано только поле 210 блока данных 200, поскольку это поле, к которому применяется маска и на котором производятся вычисления для обнаружения ошибок. В другой реализации вычисление для обнаружения ошибок можно осуществлять на всей измененной первой совокупности битов, включая биты обнаружения ошибок, и сравнивать вычисленное значение обнаружения ошибок с заранее определенным значением (например, нулевым значением).
Во всех фиг.5-9 поле 210 в блоке 200 данных обрабатывается согласно настоящему изобретению. Однако показано, что поле 210 имеет другую ссылочную позицию в результате применения к нему маски вставки ошибок. На фиг.5 показан вариант осуществления, где в передающем устройстве выбранная маска 520 вставки ошибок (которая выбирается на основании значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 212 данных и битами 214 обнаружения ошибок в поле 210 для изменения только битов 214 обнаружения ошибок, в результате чего получается измененное поле 530. Блок 200 данных, включающий в себя поле 530 и поле 220, передается и принимается на принимающем устройстве.
На принимающем устройстве выбранная маска 550 вставки ошибок (которая выбирается на основании декодированных значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 532 данных и битами 534 обнаружения ошибок в поле 530 для изменения только битов 534 обнаружения ошибок, в результате чего получается измененное поле 560. Вычисление для обнаружения ошибок (в этом примере вычисление контрольной суммы) применяется к битам 562 данных, и вычисленная контрольная сумма 570 сравнивается с битами 564 обнаружения ошибок. Если два значения равны, можно сделать вывод, что поле 220 правильно декодировано, и нормальная обработка может продолжаться в принимающем устройстве, что зависит от типа принятого блока данных. Если два значения не равны, можно сделать вывод, что произошла ошибка (например, при декодировании битов в поле 220, при декодировании битов 532 данных или при декодировании тех и других битов), и принимающее устройство осуществляет обработку ошибок, включающую в себя, но без ограничения, игнорирование принятого блока данных и отправку NACK (сообщения отрицательного подтверждения) на передающее устройство или просто игнорирование принятого блока данных. В этом примере результаты указывают, что поле 220 правильно декодировано.
На фиг.6 показан вариант осуществления, где в передающем устройстве выбранная маска 620 вставки ошибок (которая выбирается на основании значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 212 данных и битами 214 обнаружения ошибок в поле 210 для изменения только битов 212 данных, в результате чего получается измененное поле 630. Блок 200 данных, включающий в себя поле 630 и поле 220, передается и принимается на принимающем устройстве.
На принимающем устройстве выбранная маска 650 вставки ошибок (которая выбирается на основании декодированных значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 632 данных и битами 634 обнаружения ошибок в поле 630 для изменения только битов 632 данных, в результате чего получается измененное поле 660. Вычисление для обнаружения ошибок (в этом примере вычисление контрольной суммы) применяется к битам 662 данных, и вычисленная контрольная сумма 670 сравнивается с битами 664 обнаружения ошибок. Если два значения равны, можно сделать вывод, что поле 220 правильно декодировано, и нормальная обработка может продолжаться в принимающем устройстве, что зависит от типа принятого блока данных. Если два значения не равны, можно сделать вывод, что произошла ошибка (например, при декодировании битов в поле 220, при декодировании битов 632 данных или при декодировании тех и других битов), и принимающее устройство должно осуществить обработку ошибок. В этом примере результаты указывают, что поле 220 правильно декодировано.
На фиг.7 показан вариант осуществления, где в передающем устройстве выбранная маска 720 вставки ошибок (которая выбирается на основании значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 212 данных и битами 214 обнаружения ошибок в поле 210 для изменения как битов 212 данных, так и битов 214 обнаружения ошибок, в результате чего получается измененное поле 730. Блок 200 данных, включающий в себя поле 730 и поле 220, передается и принимается на принимающем устройстве.
На принимающем устройстве выбранная маска 750 вставки ошибок (которая выбирается на основании декодированных значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 732 данных и битами 734 обнаружения ошибок в поле 730 для изменения как битов 732 данных, так и битов 734 обнаружения ошибок, в результате чего получается измененное поле 760. Вычисление для обнаружения ошибок (в этом примере, вычисление контрольной суммы) применяется к битам 762 данных, и вычисленная контрольная сумма 770 сравнивается с битами 764 обнаружения ошибок. Если два значения равны, можно сделать вывод, что поле 220 правильно декодировано, и нормальная обработка может продолжаться в принимающем устройстве, что зависит от типа принятого блока данных. Если два значения не равны, можно сделать вывод, что произошла ошибка (например, при декодировании битов в поле 220, при декодировании битов 732 данных или при декодировании тех и других битов), и принимающее устройство должно осуществить обработку ошибок. В этом примере результаты указывают, что поле 220 правильно декодировано.
На фиг.8 показан вариант осуществления, где в передающем устройстве выбранная маска 820 вставки ошибок (которая выбирается на основании значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 212 данных и битами 214 обнаружения ошибок в поле 210 для изменения как битов 212 данных, так и битов 214 обнаружения ошибок, в результате чего получается измененное поле 830. Блок 200 данных, включающий в себя поле 830 и поле 220, передается и принимается на принимающем устройстве.
На принимающем устройстве выбранная маска 850 вставки ошибок (которая выбирается на основании декодированных значений битов в поле 220) объединяется (с использованием побитового сложения по модулю 2) с битами 832 данных и битами 834 обнаружения ошибок в поле 830 для изменения как битов 832 данных, так и битов 834 обнаружения ошибок, в результате чего получается измененное поле 860. Вычисление для обнаружения ошибок (в этом примере вычисление контрольной суммы) применяется к битам 862 данных, и вычисленная контрольная сумма 870 сравнивается с битами 864 обнаружения ошибок. Если два значения равны, можно сделать вывод, что поле 220 правильно декодировано, и нормальная обработка может продолжаться в принимающем устройстве, что зависит от типа принятого блока данных. Если два значения не равны, можно сделать вывод, что произошла ошибка (например, при декодировании битов в поле 220, при декодировании битов 832 данных, или при декодировании тех и других битов), и принимающее устройство должно осуществить обработку ошибок. В этом примере результаты указывают, что поле 220 неправильно декодировано.
На фиг.9 показан вариант осуществления, где несколько масок применяется к битам 212 данных и битам 214 обнаружения ошибок поля 220 для обнаружения ошибок при декодировании битов нескольких полей в блоке 200 данных, каждое из которых не имеет битов обнаружения ошибок или ограничения битов обнаружения ошибок. В конкретной иллюстрации, показанной на фиг.2, применяются две маски (одна соответствует полю 220 и другая соответствует полю 230). Однако настоящее изобретение позволяет применять любое количество масок. Однако при выборе заранее определенных значений масок следует заботиться о том, чтобы ошибки в более чем одном поле не могли нейтрализовать друг друга, что привело бы к ненадежным результатам.
В передающем устройстве выбранные маски 920 (которая выбирается на основании значений битов в поле 220) и 925 (которая выбирается на основании значений битов в поле 230) вставки ошибок объединяются (с использованием побитового сложения по модулю 2) с битами 212 данных и битами 214 обнаружения ошибок в поле 210 для изменения как битов 212 данных, так и битов 214 обнаружения ошибок, в результате чего получается измененное поле 930. Блок 200 данных, включающий в себя поле 930 и поля 220 и 230, передается и принимается на принимающем устройстве.
На принимающем устройстве выбранные маски 940 (которая выбирается на основании декодированных значений битов в поле 220) и 950 (которая выбирается на основании декодированных значений битов в поле 230) вставки ошибок объединяются (с использованием побитового сложения по модулю 2) с битами 932 данных и битами 934 обнаружения ошибок в поле 930 для изменения как битов 932 данных, так и битов 934 обнаружения ошибок, в результате чего получается измененное поле 960. Вычисление для обнаружения ошибок (в этом примере, вычисление контрольной суммы) применяется к битам 962 данных, и вычисленная контрольная сумма 970 сравнивается с битами 964 обнаружения ошибок. Если два значения равны, можно сделать вывод, что поле 220 правильно декодировано, и нормальная обработка может продолжаться в принимающем устройстве, что зависит от типа принятого блока данных. Если два значения не равны, можно сделать вывод, что произошла ошибка (например, при декодировании битов в полях 220 или 230, при декодировании битов 832 данных, или любой комбинации этих трех), и принимающее устройство должно осуществить обработку ошибок. В этом примере результаты указывают, что поля 220 и 230 правильно декодированы.
На фиг.10 показан примерный пакет данных и управления DMR, заданный в TS 102 361-1 ETSI. Пакет данных и управления содержит поле Info 1010, содержащее 196 битов информации. В этом примере информация состоит из Link Control (LC) 1016, обнаружения ошибок (CRC) 1018 и четности FEC для Block Product Turbo Code (BPTC) (не показана), добавляемой кодером BPTC (196, 96) 1014. Пакет данных и управления также содержит 20-битовое поле Slot Type 1020, которое определяет смысл информационных битов. Поле Slot Type включает в себя поле Color Code (CC) 1022, поле Data Type 1024 и FEC Parity 1026 согласно TS 102 361-1 ETSI. В этом примере поле Data Type 1024 должно быть задано равным Voice LC Header. Центр пакета содержит либо шаблон синхронизации, либо внедренное поле 1030 информации сигнализации согласно TS 102 361-1 ETSI. Также показан Interleaver 1012 согласно TS 102 361-1 ETSI.
На фиг.11 показан способ 1100 обнаружения ошибок в пакете DMR TDMA, например, пакете 1000, согласно варианту осуществления настоящего изобретения. В этом варианте осуществления передающее устройство генерирует пакет 1000 DMR TDMA согласно настоящему изобретению, что позволяет обнаруживать ошибочные биты 1024 типа данных в поле 1020 Slot Type с использованием механизма обнаружения ошибок в поле 1010 Information. Заметим, что в отношении этого примерного пакета 1000, только данные и/или четность обнаружения ошибок в поле 1010 Information "изменяются" согласно настоящему изобретению, и генерация битов для остальных полей, показанных на фиг.10, раскрыта в TS 102 361-1 ETSI, причем их генерация не будет дополнительно описана здесь в целях краткости.
На этапе 1102 способа 1100 биты 1024 типа данных и биты 1016 данных (в этом случае биты LC) генерируются и поступают соответственно в поле 1020 Slot Type и поле 1010 Information пакета 1000. На этапе 1104 четность 1018 обнаружения ошибок (например, CRC) вычисляется для битов 1016 данных LC и присоединяется к битам 1016 данных LC в поле 1010 Information пакета 1000 на этапе 1106. На этапе 1108 передающее устройство выбирает маску вставки ошибок для указанных битов 1024 типа данных, поступивших на этапе 1102. На этапе 1110 выбранная маска вставки ошибок применяется (например, с использованием побитового сложения по модулю 2) к битам 1016 данных LC и четности 1018 CRC для генерации измененных битов 1016 данных LC и/или четности 1018 CRC. На этапе 1112 передающее устройство передает на принимающее устройство пакет 1000, который включает в себя (помимо других полей с их соответствующими битами, конечно) поле 1020 Slot Type, включающее в себя биты 1024 типа данных, и поле 1010 Information, включающее в себя измененные биты 1016 данных LC и/или четность 1018 CRC.
16
Вернемся временно к этапам 1108 и 1110 выбора и применения маски вставки ошибок. Каждому типу данных, уже заданному в TS 102 361-1 ETSI, назначается заранее определенная маска вставки ошибок. Дополнительные маски вставки ошибок также могут быть заранее определены и зарезервированы для будущих типов данных. Нижеприведенные таблицы 1 и 2 демонстрируют примерные маски вставки ошибок, которые могут быть назначены настоящим и будущим типам данных. Эти примерные маски данных выбираются на основании указанного типа данных из таблицы и применяются к полю 1010 Information для изменения только четности 1018 CRC. В этом случае, поскольку тип данных является Voice LC Header, маска вставки ошибок 969696, соответствующая Voice LC Header, выбирается и применяется к полю 1010 Information для изменения четности 1018 CRC. Однако, как было объяснено выше, в других вариантах осуществления можно заранее определить маски вставки ошибок, которые будут изменять только биты 1016 данных LC или и биты 1016 данных LC, и четность 1018 CRC.
Таблица 1
<b>Тип данных</b>
<b>8-битовая маска (основание 16)</b>
<b>9-битовая маска (основание 8)</b>
<b>16-битовая маска (основание 16)</b>
PI Header
0
69
551
6969
Voice LC Header
1
96
226
9696
Terminator with LC
2
99
631
9999
CSBK
3
a5
645
a5a5
MBC Header
4
aa
252
aaaa
MBC Continuation
5
c3
703
c3c3
Data Header
6
cc
314
cccc
Rate Ѕ Data Continuation
7
f0
360
f0f0
Rate ѕ Data Continuation
8
ff
777
ffff
Idle
9
00
000
0000
Зарезервирован для использования в будущем
a
0f
417
0f0f
Зарезервирован для использования в будущем
b
33
463
3333
Зарезервирован для использования в будущем
c
3c
074
3c3c
Зарезервирован для использования в будущем
d
55
525
5555
Зарезервирован для использования в будущем
e
5a
132
5a5a
Зарезервирован для использования в будущем
f
66
146
6666
Таблица 2
<b>Тип данных</b>
<b>24-битовая маска (основание 16)</b>
<b>32-битовая маска (основание 16)</b>
PI Header
0
696969
69696969
Voice LC Header
1
969696
96969696
Terminator with LC
2
999999
99999999
CSBK
3
a5a5a5
a5a5a5a5
MBC Header
4
aaaaaa
aaaaaaaa
MBC Continuation
5
c3c3c3
c3c3c3c3
Data Header
6
cccccc
cccccccc
Rate Ѕ Data Continuation
7
f0f0f0
f0f0f0f0
Rate ѕ Data Continuation
8
ffffff
ffffffff
Idle
9
000000
00000000
Зарезервирован для использования в будущем
a
0f0f0f
0f0f0f0f
Зарезервирован для использования в будущем
b
333333
33333333
Зарезервирован для использования в будущем
c
3c3c3c
3c3c3c3c
Зарезервирован для использования в будущем
d
555555
55555555
Зарезервирован для использования в будущем
e
5a5a5a
5a5a5a5a
Зарезервирован для использования в будущем
f
666666
66666666
В другом варианте осуществления обнаружение ошибок для, по меньшей мере, одного другого поля в пакете можно осуществлять с использованием механизма обнаружения ошибок поля 1010 Information. Например, другое поле, в котором нет обнаружения ошибок и которое может быть вторым полем, для которого обнаружение ошибок можно осуществлять с использованием обнаружения ошибок поля 1010 Information, представляет собой поле 922 Color Code (CC). В этом варианте осуществления второй набор заранее определенных масок, например, показанных ниже в таблицах 3 и 4, можно использовать для облегчения обнаружения ошибок в поле CC согласно вышеизложенным принципам. Соответственно, на передающем устройстве обе маски будут применяться для изменения четности CRC, и две выбранные маски будут применяться на приемном устройстве для повторного изменения четности CRC. Затем обнаружение ошибок можно осуществлять по аналогии с тем, что описано ниже со ссылкой на фиг.12.
Таблица 3
<b>Вторичное поле</b>
<b>8-битовая маска (основание 16)</b>
<b>9-битовая маска (основание 8)</b>
<b>16-битовая маска (основание 16)</b>
Значение 0
0
6a
626
6996
Значение 1
1
95
151
9669
Значение 2
2
9a
546
9966
Значение 3
3
c0
474
a55a
Значение 4
4
cf
063
aa55
Значение 5
5
a6
532
c33c
Значение 6
6
a9
125
cc33
Значение 7
7
f3
017
f00f
Значение 8
8
fc
400
ff00
Значение 9
9
03
377
00ff
Значение 10
a
0c
760
0ff0
Значение 11
b
30
714
33cc
Значение 12
c
3f
303
3cc3
Значение 13
d
56
652
55aa
Значение 14
e
59
245
5aa5
Значение 15
f
65
231
6699
Таблица 4
<b>Вторичное поле</b>
<b>24-битовая маска (основание 16)</b>
<b>32-битовая маска (основание 16)</b>
Значение 0
0
699669
69966996
Значение 1
1
966996
96699669
Значение 2
2
996699
99669966
Значение 3
3
a55aa5
a55aa55a
Значение 4
4
aa55aa
aa55aa55
Значение 5
5
c33cc3
c33cc33c
Значение 6
6
cc33cc
cc33cc33
Значение 7
7
f00ff0
f00ff00f
Значение 8
8
ff00ff
ff00ff00
Значение 9
9
00ff00
00ff00ff
Значение 10
a
0ff00f
0ff00ff0
Значение 11
b
33cc33
33cc33cc
Значение 12
c
3cc33c
3cc333c3
Значение 13
d
55aa55
55aa55aa
Значение 14
e
5aa55a
5aa55aa5
Значение 15
f
669966
66996699
16
Согласно фиг.12, принимающее устройство, на этапе 1202, принимает от передающего устройства пакет 1000, который включает в себя (помимо других полей с их соответствующими битами, конечно) поле 1020 Slot Type, включающее в себя биты 1024 типа данных, и поле 1010 Information, включающее в себя измененные биты 1016 данных LC и/или четность 1018 CRC. На этапе 1204 приемное устройство декодирует биты 1024 типа данных в поле 1020 Slot Type для идентификации типа данных для битов 1016 данных в поле 1010 Information принятого пакета 1000. Принимающее устройство использует декодер (196, 96) BPTC для декодирования битов, закодированных кодером (196, 96) BPTC в передающем устройстве. Затем принимающее устройство выбирает маску вставки ошибок, соответствующую декодированным битам 1024 типа данных. Если приемник правильно декодирует тип данных, он выберет маску вставки ошибок, соответствующую типу данных Voice LC Header (в этом случае 969696).
Принимающее устройство применяет выбранную маску вставки ошибок (с использованием побитовой арифметики по модулю 2) к битам 1016 данных и четности 1018 CRC на этапе 1208 (в этом случае) для изменения четности 1018 CRC. Принимающее устройство осуществляет вычисление для обнаружения ошибок на этапе 1210 (в этом случае, вычисление CRC) на измененном поле Information. На основании вычисления CRC на этапе 1212 принимающее устройство определяет, продолжать ли нормальную обработку на этапе 1216, когда вычисление CRC указывает отсутствие ошибок декодирования при декодировании битов 1024 типа данных и при декодировании битов 1016 LC. Если вычисление CRC указывает наличие ошибки декодирования (которая может иметь место в типе данных или битах данных), принимающее устройство осуществляет обработку ошибок на этапе 1214, например, вышеописанным образом.
Таким образом, когда принимающее устройство правильно декодирует тип данных и биты данных, CRC будет указывать это с помощью конкретного указателя в зависимости от того, как осуществлялось вычисление CRC. В одном варианте осуществления, например, как описано в целом выше, вычисление CRC можно осуществлять только на битах 1016 данных LC и можно проводить сравнение между вычисленным CRC и битами 1018 CRC, прежде чем поле Information будет изменено с использованием маски вставки ошибок. Когда два значения равны, это указывает, что приемное устройство правильно декодировало биты 1024 типа данных и правильно декодировало биты 1016 LC. Различие в значениях, аналогично, указывает, что биты 1018 CRC и/или биты 1018 LC декодированы неправильно. В другом варианте осуществления, также рассмотренном выше, вычисление CRC можно осуществлять как на битах 1016 данных LC, так и на текущих битах 1018 CRC и можно проводить сравнение между вычисленным CRC и заранее определенным значением бита, например, нулевым. Когда вычисленный CRC равен нулю, это указывает, что принимающее устройство правильно декодировало биты 1024 типа данных и правильно декодировало биты 1016 LC. CRC, отличный от нуля, указывает, что биты 1018 CRC и/или биты 1018 LC декодированы неправильно.
В вышеприведенном описании описаны конкретные варианты осуществления настоящего изобретения. Однако специалист в данной области техники может предложить различные модификации и изменения, не выходящие за рамки объема настоящего изобретения, заданного в прилагаемой формуле изобретения. Соответственно, описание и фигуры следует рассматривать в иллюстративном, но не ограничительном смысле, и все подобные модификации подлежат включению в объем настоящего изобретения. Выгоды, преимущества, решения задач и любые элементы, которые могут обуславливать любые выгоды, преимущества, решения или становятся более выраженными, не следует рассматривать как критические, необходимые или существенные признаки или элементы какого-либо или всех пунктов формулы изобретения. Изобретение задано исключительно прилагаемой формулой изобретения, включающей в себя любые изменения, сделанные в период рассмотрения данной заявки, и все эквиваленты опубликованной формулы изобретения.
Кроме того, в этом документе относительные термины, например первый и второй, верхний и нижний и т.п., могут использоваться исключительно для различения одной сущности или действия от другой сущности или действия, не требуя и не подразумевая никакого подобного соотношения или порядка между такими сущностями или действиями. Термины "содержит", "содержащий", "имеет", "имеющий", "включает в себя", "включающий в себя", "содержит", "содержащий" или любые другие их вариации призваны охватывать неисключающее включение, таким образом, процесс, способ, изделие или устройство, которое содержит, имеет, включает в себя, содержит список элементов, включает в себя не только эти элементы, но может включать в себя другие элементы, которые, в явном виде, не причислены к и не свойственны такому процессу, способу, изделию или устройству. Элемент, после которого приведено выражение "содержит...", "имеет...", "включает в себя... ", "содержит... ", без особых ограничений, не исключает наличия дополнительных идентичных элементов в процессе, способе, изделии или устройстве, которое содержит, имеет, включает в себя, содержит элемент. Употребление терминов в единственном числе предусматривает один или несколько, если явно не указано обратное. Термины "существенно", "по существу", "приблизительно", "около" или любой другой их вариант означают приближение, что понятно специалисту в данной области техники, и в одном неограничительном варианте осуществления термин задается в пределах 10%, в другом варианте осуществления - в пределах 5%, в еще одном варианте осуществления - в пределах 1% и в еще одном варианте осуществления - в пределах 0,5%. Используемый здесь термин "связанный" означает "соединенный", хотя и не обязательно непосредственно и не обязательно механически. Устройство или структура, "сконфигурированное/ая" определенным образом, сконфигурировано/а, по меньшей мере, таким образом, но также может быть сконфигурировано/а иначе.