ES2651194T3 - Método y aparato para la detección de errores en un bloque de datos - Google Patents

Método y aparato para la detección de errores en un bloque de datos Download PDF

Info

Publication number
ES2651194T3
ES2651194T3 ES07799864.9T ES07799864T ES2651194T3 ES 2651194 T3 ES2651194 T3 ES 2651194T3 ES 07799864 T ES07799864 T ES 07799864T ES 2651194 T3 ES2651194 T3 ES 2651194T3
Authority
ES
Spain
Prior art keywords
bits
field
data
error detection
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES07799864.9T
Other languages
English (en)
Inventor
David G. Wiatrowski
Thomas B. Bohn
Kevin G. Doberstein
Donald G. Newberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Solutions Inc filed Critical Motorola Solutions Inc
Application granted granted Critical
Publication of ES2651194T3 publication Critical patent/ES2651194T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un método para la detección de errores en un bloque de datos definido de acuerdo con ETSI TS 102 361-1, que comprende los pasos de: generar un bloque de datos que comprende un primer campo que tiene una primera pluralidad de bits que incluye una porción de detección de error que indica un valor de detección de error basado en una primera porción de la primera pluralidad de bits y utilizada para la detección de errores en la decodificación de la primera porción de la primera pluralidad de bits, y el bloque de datos que comprende además al menos un segundo campo que tiene una segunda pluralidad de bits, comprendiendo el segundo campo un campo de tipo de datos; seleccionar una máscara de inyección de error basada en el campo de tipo de datos, teniendo asignada cada tipo de datos designado en ETSI TS 102 361-1 una máscara de inyección de error predeterminada; aplicar la máscara de inyección de error seleccionada a la primera pluralidad de bits mediante la adición bit a bit del módulo 2 para generar una primera pluralidad de bits modificada que se usa para la detección de errores en la decodificación de la segunda pluralidad de bits; y transmitir el bloque de datos con la primera pluralidad de bits modificada.

Description

5
10
15
20
25
30
35
40
45
50
Método y aparato para la detección de errores en un bloque de datos Campo de la invención
La presente invención se refiere en general a comunicaciones de datos y más específicamente a realizar la detección de errores en un campo de un bloque de datos usando el mecanismo de detección de errores en un campo diferente del mismo bloque de datos.
Antecedentes de la invención
Cuando se comunican bloques de datos entre dispositivos transmisores y receptores en un sistema de comunicación a través de una interfaz inalámbrica, típicamente se utiliza algún tipo de mecanismo de detección de error y corrección de errores para ayudar en la decodificación de cada bloque de datos en el dispositivo receptor para permitir el procesamiento adicional del bloque de datos. Aquí, un bloque de datos generalmente se define como un bloque de bits continuos que contiene información y/o señalización, y la decodificación se define como el procesamiento inicial de un bloque de datos recibido para identificar los bits recibidos (por ejemplo, como 1s o 0s) y puede incluir, detectar y/o corregir errores en los bits recibidos. La señalización se refiere al establecimiento y control de conexiones en una red.
Generalmente, un bloque de datos tiene una estructura lógica predeterminada que tiene una pluralidad de diferentes tipos de campos para organizar los bits en el bloque de datos, y uno o más de estos campos pueden contener bits que permiten la detección de errores y/o la corrección de errores para ese campo. Sin embargo, dependiendo del protocolo utilizado, algunos campos pueden incluir bits de corrección de errores, pero no bits de detección de error o bits de detección de errores limitados debido a una restricción de número de bits debido, por ejemplo, a restricciones de ancho de banda asociadas con los canales físicos sobre los que se envía el bloque de datos. Una limitación resultante es que la incapacidad de detectar errores de decodificación en algunos campos puede causar problemas bastante sustanciales relacionados con el procesamiento posterior del bloque de datos si lo hay, de hecho, hay errores que no se detectan.
Un ejemplo de un protocolo de interfaz aérea que tiene una estructura de bloque de datos que incluye campos que tienen corrección de errores, pero no detección de errores es el protocolo de interfaz aérea definido de acuerdo con ETSI (European Telecommunications Standards Institute) TS (Especificación técnica) 102 361-1. Una estructura de bloque de datos identificada en esta especificación técnica es una ráfaga, que se define como el bloque predefinido más pequeño de bits continuos que contienen información o señalización. Más particularmente se describe allí una ráfaga TDMA (Radio Móvil Digital) TDMA (Acceso Múltiple por División de Tiempo). La ráfaga TDMA incluye, por ejemplo, un campo Tipo de datos que identifica el tipo de datos que se transmiten en un campo Información, que también se incluyen en la ráfaga. Hay una serie de tipos de datos mencionados en la especificación técnica que incluyen, por ejemplo, Cabecera LC de Voz, Terminador con LC, CSBK, Cabecera de Datos, etc. Dado que este campo está sujeto a la corrección de errores (en este caso, corrección anticipada de Errores (FEC), que es bien conocido en la técnica) pero no en la detección de errores no es posible que un receptor sepa si la corrección de errores en el campo Tipo de Datos fue exitosa. Debido a esto, puede ser posible en ciertas condiciones de error que algunos tipos de ráfagas se procesen incorrectamente.
Para fines ilustrativos, a continuación, se incluyen dos ejemplos de problemas que pueden surgir debido a la falla en la detección de un tipo de datos identificado incorrectamente. En un ejemplo, un CSBK podría interpretarse erróneamente como una Cabecera de Datos (que es una primera ráfaga de un mensaje de datos de múltiples ráfagas), debido a errores incorregibles en el canal. Dado que una Cabecera de Datos contiene un Campo de Seguimiento de Bloques para especificar cuántas ráfagas adicionales pertenecen a esta transmisión y un CSBK no lo hace, el receptor trata las ráfagas siguientes como parte de esa transmisión de datos. En consecuencia, otras transmisiones, como nuevas transmisiones de voz, CSBKs y nuevas transmisiones de datos, se pierden durante este período.
Como otro ejemplo, un Terminador con LC podría interpretarse erróneamente como una Cabecera de Voz LC. Como muchos Terminadores con ráfagas de LC se transmiten normalmente durante el Tiempo de Suspensión de Llamadas, los efectos secundarios potenciales incluyen hacer que un receptor comience a procesar una nueva transmisión de voz cuando no exista ninguna.
Por lo tanto, es deseable tener un método y un aparato para proporcionar detección de errores confiable para un campo con o sin bits limitados reservados para la detección de errores.
5
10
15
20
25
30
35
40
45
Breve descripción de los dibujos
Las figuras adjuntas, donde los números de referencia similares se refieren a elementos idénticos o funcionalmente similares en todas las vistas separadas y que junto con la descripción detallada a continuación se incorporan y forman parte de la especificación, sirven para ilustrar adicionalmente diversas realizaciones y explicar diversos principios y ventajas todo de acuerdo con la presente invención.
La figura 1 ilustra un ejemplo de implementación del sistema de realizaciones de la presente invención.
La figura 2 ilustra un ejemplo de bloque de datos de acuerdo con las realizaciones de la presente invención.
La figura 3 ilustra un método para la detección de errores de acuerdo con una realización de la presente invención.
La figura 4 ilustra un método para la detección de errores de acuerdo con una realización de la presente invención.
La figura 5 ilustra un ejemplo de detección de errores en el bloque de datos mostrado en la FIG. 2 usando los métodos mostrados en las figuras 3 y 4.
La figura 6 ilustra un ejemplo de detección de errores en el bloque de datos mostrado en la FIG. 2 usando los métodos mostrados en las figuras 3 y 4.
La figura 7 ilustra la detección de errores a modo de ejemplo en el bloque de datos mostrado en la FIG. 2 usando los métodos mostrados en las figuras 3 y 4.
La figura 8 ilustra la detección de errores de ejemplo en el bloque de datos mostrado en la FIG. 2 usando los métodos mostrados en las figuras 3 y 4.
La figura 9 ilustra un ejemplo de detección de errores en el bloque de datos mostrado en la FIG. 2 usando los métodos mostrados en las figuras 3 y 4.
La figura 10 ilustra una ráfaga DMR TDMA a modo de ejemplo de acuerdo con realizaciones de la presente invención.
La figura 11 ilustra un método para la detección de errores en la ráfaga DMR TDMA mostrada en la FIG. 10 de acuerdo con una realización de la presente invención.
La figura 12 ilustra un método para la detección de errores en la ráfaga DMR TDMA mostrada en la FIG. 10, de acuerdo con una realización de la presente invención.
Descripción detallada de la invención
Antes de describir en detalle las realizaciones que están de acuerdo con la presente invención, debe observarse que las realizaciones residen principalmente en combinaciones de etapas del método y componentes del aparato relacionados con un método y aparato para detección de errores en un bloque de datos. Por consiguiente, los componentes del aparato y las etapas del método han sido representados cuando sea apropiado por símbolos convencionales en los dibujos, mostrando solo los detalles específicos que son pertinentes para comprender las realizaciones de la presente invención para no ocultar la divulgación con detalles que serán evidentes a los expertos en la técnica que tienen el beneficio de la descripción en este documento. Por lo tanto, se apreciará que, por simplicidad y claridad de la ilustración, los elementos comunes y bien entendidos que son útiles o necesarios en una realización comercialmente factible, tales como, por ejemplo, la Corrección Anticipada de Errores (FEC) y el entrelazado, puede no representarse para facilitar una visión menos obstruida de estas diversas realizaciones.
Se apreciará que las realizaciones de la invención descrita en este documento pueden comprender uno o más procesadores genéricos o especializados (o "dispositivos de procesamiento") tales como microprocesadores, procesadores de señal digital, procesadores personalizados y arreglos de compuertas programables en campo (FPGAs) e instrucciones únicas de programas almacenados (que incluyen tanto software como firmware) que controlan uno o más procesadores para implementar, junto con ciertos circuitos que no son procesadores, algunas, la mayoría o todas las funciones del método y el aparato para la detección de errores en una bloque de datos descrito aquí. Los circuitos sin procesador pueden incluir, pero no se limitan a, un receptor de radio, un transmisor de radio y dispositivos de entrada de usuario. Como tales, estas funciones se pueden interpretar como pasos de un método para realizar la detección de errores en un bloque de datos descrito en este documento. Alternativamente, algunas o todas las funciones podrían implementarse mediante una máquina de estados que no tenga instrucciones de programa almacenadas, o en uno o más circuitos integrados específicos de la solicitud (ASICs), en los que cada
5
10
15
20
25
30
35
40
45
50
55
función o algunas combinaciones de ciertas funciones se implementan como lógica personalizada. Por supuesto, podría usarse una combinación de las metodologías. Tanto la máquina de estado como ASIC también se consideran en este documento como un "dispositivo de procesamiento" para los efectos de la discusión anterior y el lenguaje de reivindicación.
En términos generales, conforme a las diversas realizaciones, una detección fiable de errores se realiza para un campo en un bloque de datos sin bits de detección de errores o limitados. Las realizaciones se pueden aplicar a cualquier estructura de bloque de datos que incluye una ráfaga DMR TDMA como se define en ETSI TS 102 361-1. Por ejemplo, tras la generación de una ráfaga que tiene (entre otros campos) un campo de información con bits de datos y bits de detección de error (también denominado aquí "paridad" de detección de errores) y además tiene un campo Tipo de Datos que identifica el tipo de bits de datos en el campo de información, se selecciona una máscara de inyección de error basada en el tipo de datos identificado. La máscara se aplica a los bits de datos y la paridad de detección de errores para (normalmente) modificar los bits de datos, la paridad de detección de errores o ambos). La ráfaga resultante se transmite luego a un dispositivo receptor. El dispositivo receptor recibe la ráfaga; identifica el tipo de datos; selecciona una máscara de inyección de error que corresponde al tipo de datos identificado y aplica la máscara de inyección de error a los bits de datos recibidos y la paridad de detección de errores en el campo de información. Una vez aplicados, los bits de datos resultantes y los bits de detección de errores se pueden usar para confirmar (bajo ciertas condiciones) que el tipo de datos se identificó correctamente.
Esto proporciona una ventaja de la detección confiable de errores para el campo Tipo de Datos para protegerse de los problemas identificados anteriormente en las comunicaciones entre los dispositivos transmisores y receptores. Los expertos en la técnica se darán cuenta de que las ventajas reconocidas y otras ventajas descritas anteriormente en este documento son meramente de ejemplo y no pretenden ser una representación completa de todas las ventajas de las diversas realizaciones de la presente invención.
Con referencia ahora a los dibujos, y en particular a la FIG. 1, un ejemplo de sistema de comunicación inalámbrico que implementa realizaciones de acuerdo con la presente invención se muestra e indica generalmente en 100. Los expertos en la materia, sin embargo, reconocerán y apreciarán que los detalles de este ejemplo ilustrativo no son específicos de la invención en sí misma y que las enseñanzas establecidas en este documento son aplicables en una variedad de configuraciones alternativas. Por ejemplo, dado que las enseñanzas descritas no dependen del tipo de protocolo de interfaz aérea o esquema de acceso a canales utilizados (por ejemplo, TDMA (Acceso Múltiple por División de Tiempo), CDMA (Acceso Múltiple por División de Código), FdmA (Acceso Múltiple por División de Frecuencia) y similares), las enseñanzas se pueden aplicar a cualquier tipo de protocolo de interfaz aérea y esquema de acceso a canales, aunque se describe el protocolo de interfaz aérea (para una Radio Móvil Digital que usa un esquema de acceso de canales TDMA) como se define en ETSI TS 102 361-1 se describe en realizaciones este documento. Además, las enseñanzas de este documento se pueden aplicar dentro de cualquier sistema y con cualquier protocolo que utilice un mecanismo de detección de errores para la transmisión y recepción confiable de bloques de datos, incluyendo sistemas que utilizan enlaces alámbricos. Como tal, se contemplan otras implementaciones alternativas de usar diferentes tipos de protocolos alámbricos o inalámbricos y esquemas de acceso a canales y están dentro del alcance de las diversas enseñanzas descritas.
El sistema 100 de comunicación inalámbrica comprende un dispositivo 102 de comunicación y un dispositivo 104 de comunicación que puede ser, por ejemplo, una radio portátil o móvil, un Asistente Digital Personal, un teléfono celular y similares. A los efectos de las siguientes discusiones, los dispositivos de comunicación se denominarán "radios", pero también se denominan en la técnica estaciones móviles, equipos móviles, teléfonos, etc. Además, en esta realización de ejemplo, las radios 102 y 104 se comunican a través de una red 106 de acceso de radio. Sin embargo, los expertos en la técnica se darán cuenta de que cualquier tipo de red está dentro del alcance de las enseñanzas de este documento. La red 106 puede comprender infraestructura tal como, pero no limitada a, estaciones (BS) base (con una única BS 108 mostrada para mayor claridad), controladores de estaciones base (no mostrados), elementos de red (tales como un centro de conmutación móvil, registro de ubicación de origen, registro de ubicación de visitante, etc.), y similares, para facilitar las comunicaciones entre radios que tienen acceso a la red.
Por ejemplo, la radio 102 y la radio 104 pueden comunicarse entre sí mediante la radio 102 estableciendo un enlace inalámbrico o conexión 110 de radio con BS 108 sobre un canal (RF) de radiofrecuencia disponible y el radio 104 estableciendo un enlace 112 inalámbrico con BS 108 sobre un canal (RF) de radiofrecuencia disponible. Como se entiende bien en la técnica, la BS 108 generalmente comprende un dispositivo repetidor que puede recibir una señal de la radio 102 por el enlace 110 y retransmitir la señal al radio 104 por el enlace 112 o puede recibir una señal del radio 104 sobre el enlace 112 y retransmitir la señal a la radio 102 sobre el enlace 110. Para facilitar la ilustración, solo se muestran dos radios y una BS. Sin embargo, los expertos en la materia se darán cuenta de que, en un sistema típico, una red de radio soporta un número mucho mayor de radios, que tiene muchas más BSs que las que se muestran en la FIG. 1. Además, aunque en esta realización la comunicación entre las radios 102 y 104 se ilustra como facilitada por la BS 108, las radios 102 y 104 pueden comunicarse utilizando un modo directo de funcionamiento sin una BS. Las enseñanzas en este documento son igualmente aplicables a la operación en modo directo entre dos radios.
5
10
15
20
25
30
35
40
45
50
55
Como la red 106 es una red inalámbrica, lo que significa que soporta un protocolo inalámbrico o de interfaz aérea para la transmisión de señales, ambas radios 102 y 104 y la BS 108 comprenden dispositivos transceptores que incluyen aparatos transmisores y receptores para, respectivamente, transmitir y recibir señales de RF. Los radios 102 y 104 y la BS 108 comprenden además uno o más de los dispositivos de procesamiento mencionados anteriormente (por ejemplo, un DSP, un microprocesador, etc.) y típicamente algún tipo de elemento de memoria convencional para realizar (entre otras funcionalidades) el protocolo de interfaz aérea y esquema de acceso a canales soportado por la red 106.
Usando estos protocolos, las radios 102 y 104 pueden generar señales de RF que contienen uno o más bloques de datos que comprenden una pluralidad de campos para organizar los bits continuos de información y/o señalización para la transmisión a otra radio. Como se mencionó anteriormente, algunos de estos campos pueden no incluir detección de errores o pueden incluir detección de errores limitada para verificar si los bits en el campo fueron recibidos y decodificados correctamente. De acuerdo con las realizaciones descritas en este documento, la detección de errores para un campo con o sin bits de detección de errores limitados se puede realizar usando un campo que contiene bits de detección de errores.
Pasando ahora a la FIG. 2, se muestra un bloque de datos de ejemplo de acuerdo con las realizaciones en este documento y se indica en general en 200. El bloque 200 de datos se puede generar en la radio 102 o 104 y tiene una estructura lógica general que comprende un campo 1 (210) y un campo 2 (220) para organizar los bits de información y/o señalización que se transmiten desde la radio 102 o 104 a otra radio conectada a la red 106. En las realizaciones ilustradas con referencia a las figuras 3-8, el campo 220 no tiene detección de error. Por lo tanto, el campo 210 (que incluye la detección de errores) se usa para realizar una detección de errores fiable para el campo 220 de acuerdo con las enseñanzas de este documento. Las enseñanzas en el presente documento no están limitadas por la información y/o señalización particular contenidas en los campos 210 y 220 o la estructura lógica particular del bloque 200 de datos, siempre que al menos un campo contenga detección de errores.
Se ilustra adicionalmente en la FIG. 2 una vista expandida del campo 210 que muestra una pluralidad de bits comprendidos en ella, que incluye los bits 212 de datos y los bits 214 de detección de errores, calculando los bits de detección de errores basándose en los bits de datos. Debe observarse que las flechas de los bits de datos a los bits de detección de errores no son parte del campo 210 sino que simplemente sirven para indicar de forma gráfica que los bits de detección de errores se calculan a partir de los bits de datos. La detección de errores se puede realizar utilizando mecanismos tal como, por ejemplo, Verificación de Redundancia Cíclica (CRC), Suma de Verificación y Verificación de Paridad Simple, por nombrar algunos. Estas técnicas de detección de errores son bien conocidas en la técnica y no se explicarán adicionalmente en aras de la brevedad.
Solo se muestra un número limitado de campos por simplicidad al ilustrar diversas realizaciones descritas en este documento. Sin embargo, los expertos en la materia se darán cuenta de que El bloque 200 de datos puede comprender cualquier cantidad de campos y cualquier estructura de esos campos, tal como lo determinan los diversos protocolos soportados por la red e implementados en los dispositivos de comunicaciones. Por ejemplo, el bloque 200 de datos puede comprender adicionalmente un campo 3 (230) adicional, que se muestra en líneas discontinuas. El campo 230 también puede carecer de bits de detección de errores o puede tener bits de detección de errores limitados, en donde el mecanismo de detección de errores en el campo 210 puede usarse en otra realización para la detección de errores del campo 230 (y del campo 220), como se ilustra por referencia a la FIG. 9. Además, aunque no se muestra en aras de la simplicidad, los campos 210 y 220 (y 230) típicamente también incluyen algún tipo de mecanismo de corrección de errores tal como, por ejemplo, FEC (corrección anticipada de errores). Estas técnicas de corrección de errores son bien conocidas en la técnica y no se describirán adicionalmente aquí a efectos de brevedad.
Las Figuras 3 y 4 ilustran métodos para la detección de errores en un bloque de datos de acuerdo con las realizaciones de la presente invención. La FIG. 3 es un método realizado en un dispositivo transmisor, y la FIG. 4 es un método realizado en un dispositivo receptor. Los métodos descritos con referencia a las figuras 3 y 4 pueden realizarse en los dispositivos de comunicación, la BS y un controlador de estación base, por ejemplo, usando un dispositivo de procesamiento que puede comprender uno o más de los dispositivos de procesamiento descritos anteriormente tales como, por ejemplo, un DSP.
Pasando ahora a la FIG. 3, un método 300 realizado en un dispositivo transmisor (por ejemplo, radio 102) incluye un paso 302 de generar un bloque de datos que comprende un primer campo (por ejemplo, 210) que tiene una primera pluralidad de bits que incluye una porción de detección de error (por ejemplo, 214) que indica un valor de detección de error basado en otra porción (por ejemplo, 212) de la primera pluralidad de bits y utilizada para la detección de errores en la decodificación de la otra porción (212) de la primera pluralidad de bits, y el bloque de datos que comprende además un segundo campo (por ejemplo, 220) que tiene una segunda pluralidad de bits (no mostrados en La FIG. 3). El valor de detección de errores se identifica o indica mediante los bits ("e") en la porción 214 de detección de errores del campo 210, y este valor se calcula con base en del tipo de técnica de detección de errores utilizada en el dispositivo transmisor.
5
10
15
20
25
30
35
40
45
50
55
En un paso 304, se selecciona una máscara de inyección de error basada en la segunda pluralidad de bits en el campo 220. La máscara de inyección de error puede implementarse en cualquier número de formas, pero en general comprende un número predeterminado de bits que representa un valor de máscara particular. El valor de máscara, a su vez, corresponde al valor representado por los bits incluidos en el campo 220. Típicamente, para un número dado, N, de diferentes valores que pueden representarse como valores de bit en el segundo campo, hay al menos, N, diferentes valores de máscara que corresponden a los valores de bit en el segundo campo. Los valores de máscara de ejemplo se proporcionan a continuación para la realización explicada conreferencia a las figuras 10 a 12.
En un paso 306, la primera pluralidad de bits se "modifica" con la máscara de inyección de error para generar una primera pluralidad "modificada" de bits que se usa para la detección de errores en la decodificación de la segunda pluralidad de bits. La frase "modificar la primera pluralidad de bits con una máscara de inyección de error" se usa como sinónimo de la frase "aplicar una máscara de inyección de error a la primera pluralidad de bits", y ambos se refieren en general al procesamiento por lo que al menos una porción de la primera pluralidad de los bits en el campo 210 se combinan con una máscara de inyección de error (valor) usando algún tipo de operación aritmética. En una realización, por ejemplo, la operación aritmética es una adición bit a bit del módulo 2, en la que, si la suma de dos bits es "2", entonces el valor de esta suma se representa como cero, es decir, 1 + 1 = 0. Sin embargo, los expertos en la técnica deben entender que podría usarse otro tipo de aritmética tal como, por ejemplo, la aritmética de campo Galois.
Además, la frase "primera pluralidad de bits modificada" no significa necesariamente que uno o más valores de bit en la primera pluralidad de bits se cambian después de aplicar la máscara de inyección de error, incluso aunque este sea habitualmente el caso. Esto se debe a que se puede seleccionar una máscara de inyección de error que tenga un valor de cero, lo que no daría lugar a ningún cambio en la primera pluralidad de bits. Por consiguiente, "primera pluralidad de bits modificada" significa que la máscara de inyección de error se ha aplicado a la primera pluralidad de bits, independientemente de si dio como resultado el cambio de un valor de bit.
En un paso 308, el bloque de datos con la máscara de inyección de error aplicada a la primera pluralidad de bits en el campo 210 se transmite a un dispositivo receptor (por ejemplo, la radio 104). La FIG. 4 ilustra un método 400 realizado en la radio 104 después (en la etapa 402) que recibe el bloque 200 de datos que tiene la máscara de inyección de error aplicada a la primera pluralidad de bits incluidos en el campo 210, y el bloque 200 de datos que además tiene el campo 220 con la segunda pluralidad de bits.
Después, en un paso 404, el dispositivo receptor decodifica la segunda pluralidad de bits para generar resultados de decodificación para el campo 220. En general y como se indicó anteriormente, decodificar significa identificar los bits y, generalmente, también al menos incluye realizar algún tipo de corrección de errores en los bits recibidos Se puede usar cualquier tipo de proceso de decodificación junto con las enseñanzas de este documento, que incluyen, pero no se limitan a, las enumeradas anteriormente. En un paso 406, se selecciona una máscara de inyección de error que corresponde a los resultados de decodificación del campo 220. En un paso 408, la primera pluralidad de bits en el campo 210 se modifica utilizando la máscara de inyección de error seleccionada para generar una primera pluralidad de bits modificada. En base a esta primera pluralidad modificada de bits, puede determinarse (en un paso 410) (entre otras cosas) si los resultados de decodificación son correctos utilizando, por ejemplo, técnicas de procesamiento adicionales como se describe a continuación.
Por ejemplo, en una implementación, se puede realizar un cálculo de detección de error en solo algunos de los bits (por ejemplo, 212) en la primera pluralidad de bits modificada y el valor de detección de error calculado en comparación con el valor de detección de error que estaba en el campo 210 del bloque de datos recibidos antes del cálculo de detección de error. Esta implementación se ilustra con respecto a las realizaciones mostradas en las figuras 5 a 9. Por simplicidad de ilustración, solo se muestra el campo 210 del bloque 200 de datos ya que este es el campo al que se aplica la máscara y sobre el cual se realizan los cálculos de detección de errores. En otra implementación, se puede realizar un cálculo de detección de error en toda la primera pluralidad de bits modificados incluidos los bits de detección de error, y el valor de detección de error calculado en comparación con un valor predeterminado (por ejemplo, un valor cero).
En todas las figuras 5 a 9, el campo 210 en el bloque 200 de datos se está procesando de acuerdo con las enseñanzas del presente documento. Sin embargo, se muestra que el campo 210 tiene un número de referencia diferente como resultado de la aplicación de la máscara de inyección de error. Pasando ahora a la FIG. 5, se muestra una realización en donde en el dispositivo transmisor, una máscara 520 de inyección de error seleccionada (que se selecciona en base a los valores de bit en el campo 220) se combina (usando la adición bit a bit del módulo 2) con los bits 212 de datos y los bits 214 de detección de error en el campo 210 para modificar solo los bits 214 de detección de errores, dando como resultado el campo 530 modificado. El bloque 200 de datos que incluye el campo 530 y el campo 220 se transmite y se recibe en el dispositivo receptor.
En el dispositivo receptor, una máscara 550 de inyección de error seleccionada (que se selecciona en base a los valores de bit decodificados en el campo 220) se combina (usando la adición bit a bit del módulo 2) con los bits 532
5
10
15
20
25
30
35
40
45
50
55
de datos y los bits 534 de detección de error en el campo 530 para modificar solo los bits 534 de detección de error, que dan como resultado un campo 560 modificado. Se aplica un cálculo de detección de error (en este ejemplo un cálculo de Suma de Verificación) a los bits 562 de datos y se compara una suma 570 de verificación calculada con bits 564 de detección de error. Si los dos valores son iguales, entonces se puede concluir que el campo 220 se decodificó apropiadamente, y se puede continuar el procesamiento normal en el dispositivo receptor, que depende del tipo de bloque de datos recibido. Si los dos valores no son iguales, se puede concluir que se ha producido un error (por ejemplo, decodificando los bits en el campo 220, decodificando los bits 532 de datos o ambos) y el dispositivo receptor realiza el manejo de errores incluyendo, pero no limitado a, descartar el bloque de datos recibido y enviando un NACK (mensaje de acuse de recibo negativo) al dispositivo transmisor o simplemente descartando el bloque de datos recibido. En este ejemplo, los resultados indican que el campo 220 se ha decodificado apropiadamente.
Pasando ahora a la FIG. 6, se muestra una realización en la que, en el dispositivo transmisor, una máscara 620 de inyección de error seleccionada (que se selecciona en base a los valores de bit en el campo 220) combinada (utilizando la adición bit a bit del módulo 2) con los bits 212 de datos y los bits 214 de detección de error en el campo 210 modifica solamente los bits 212 de datos, lo que da como resultado un campo 630 modificado. El bloque 200 de datos que incluye el campo 630 y el campo 220 se transmite y se recibe en el dispositivo receptor.
En el dispositivo receptor, una máscara 650 de inyección de error seleccionada (que se selecciona en base a los valores de bit decodificados en el campo 220) se combina (usando la adición bit a bit del módulo 2) con los bits 632 de datos y los bits 634 de detección de error en el campo 630 para modificar solo los bits 632 de datos, lo que da como resultado un campo 660 modificado. Un cálculo de detección de error (en este ejemplo una Suma de Verificación) se aplica a los bits 662 de datos y un cálculo de Suma 670 de Verificación se compara con los bits 664 de detección de error. Si los dos valores son iguales, entonces se puede concluir que el campo 220 se decodificó apropiadamente, y se puede continuar el procesamiento normal en el dispositivo receptor, que depende del tipo de bloque de datos recibido. Si los dos valores no son iguales, entonces se puede concluir que se ha producido un error (por ejemplo, en la decodificación de los bits en el campo 220, en la decodificación de los bits 632 de datos, o ambos) y el dispositivo receptor debería realizar el manejo de errores. En este ejemplo, los resultados indican que el campo 220 se ha decodificado correctamente.
Pasando ahora a la FIG. 7, se muestra una realización en la que, en el dispositivo transmisor, se combina una máscara 720 de inyección de error seleccionada (que se selecciona en base a los valores de bit en el campo 220) (utilizando la adición bit a bit del módulo 2) con los bits 212 de datos y bits 214 de detección de error en el campo 210 para modificar tanto los bits 212 de datos como los bits 214 de detección de errores, dando como resultado un campo 730 modificado. El bloque 200 de datos que incluye el campo 730 y el campo 220 se transmite y recibe en el dispositivo receptor.
En el dispositivo receptor, una máscara 750 de inyección de error seleccionada (que se selecciona basándose en los valores de bit decodificados en el campo 220) se combina (utilizando la adición bit a bit del módulo 2) con los bits 732 de datos y bits 734 de detección de error en el campo 730 para modificar ambos bits 732 de datos y los bits 734 de detección de errores, dando como resultado un campo 760 modificado. Se aplica un cálculo de detección de errores (en este ejemplo un cálculo Suma de Verificación) a los bits 762 de datos y se calcula una Suma 770 de Verificación a los bits 764 de detección de error. Si los dos valores son iguales, entonces se puede concluir que el campo 220 se decodificó adecuadamente, y el procesamiento normal se puede continuar en el dispositivo receptor, que depende del tipo de bloque de datos recibido. Si los dos valores no son iguales, puede concluirse que se ha producido un error (por ejemplo, en la decodificación del campo 220 de bits, en la decodificación de los bits 732 de datos, o en ambos) y el dispositivo receptor debería realizar un tratamiento de errores. En este ejemplo, los resultados indican que el campo 220 se ha decodificado apropiadamente.
Pasando ahora a la FIG. 8, se muestra una realización en la que, en el dispositivo transmisor, se combina una máscara 820 de inyección de error seleccionada (que se selecciona en base a los valores de bit en el campo 220) (utilizando la adición bit a bit del módulo 2) con los bits 212 de datos y los bits 214 de detección de error en el campo 210 para modificar tanto los bits 212 de datos como los bits 214 de detección de errores, dando como resultado un campo 830 modificado. El bloque 200 de datos que incluye el campo 830 y el campo 220 se transmite y recibe en el dispositivo receptor.
En el dispositivo receptor, se combina una máscara 850 de inyección de error seleccionada (basada en los valores de bit decodificados en el campo 220) (usando la adición bit a bit del módulo 2) con los bits 832 de datos y los bits 834 de detección de error en el campo 830 para modificar ambos bits 832 de datos y los bits 834 de detección de errores, dando como resultado un campo 860 modificado. Se aplica un cálculo de detección de errores (en este ejemplo un cálculo Suma de Verificación) a los bits 862 de datos y se compara una Suma 870 de Verificación calculada a los bits 864 de detección de errores. Si los dos valores son iguales, entonces se puede concluir que el campo 220 se decodificó adecuadamente, y el procesamiento normal se puede continuar en el dispositivo receptor, que depende del tipo de bloque de datos recibido. Si los dos valores no son iguales, puede concluirse que se ha producido un error (por ejemplo, en la decodificación del campo de bits en el campo 220, en la decodificación de los
5
10
15
20
25
30
35
40
45
50
55
bits 832 de datos, o en ambos) y el dispositivo receptor debería realizar el tratamiento de errores. En este ejemplo, los resultados indican que el campo 220 no se ha decodificado apropiadamente.
Pasando ahora a la FIG. 9, se muestra una realización en la que se aplican máscaras múltiples a los bits 212 de datos y bits 214 de detección de error del campo 220 para detectar errores en decodificar los bits de múltiples campos en el bloque 200 de datos, cada uno de los cuales no tiene bits de detección de error o bits de detección de error limitado. En la ilustración particular mostrada en la FIG. 2, dos máscaras son aplicadas (una correspondiente al campo 220 y la otra correspondiente al campo 230). Sin embargo, se puede aplicar cualquier cantidad de máscaras según las enseñanzas del presente documento. Sin embargo, se debe tener cuidado al seleccionar los valores de máscara predeterminados para que los errores en más de un campo no se cancelen potencialmente entre sí y se obtengan resultados poco fiables.
En el dispositivo transmisor, las máscaras 920 de inyección de error seleccionadas (que se seleccionan en base de los valores de bit en el campo 220) y 925 (que se seleccionan en base de los valores de bit en el campo 230) se combinan (utilizando la adición bit a bit del módulo 2) con los bits 212 de datos y bits 214 de detección de error en el campo 210 para modificar tanto los bits 212 de datos como los bits 214 de detección de error, dando como resultado un campo 930 modificado. El bloque 200 de datos que incluye el campo 930 y los campos 220 y 230 se transmite y recibe en el dispositivo receptor.
En el dispositivo receptor, las máscaras 940 de inyección de error seleccionadas (que se seleccionan en base a los valores de bit decodificados en el campo 220) y 950 (que se seleccionan basándose en los valores de bit decodificados en el campo 230) se combinan (usando la adición bit a bit del módulo 2) con los bits 932 de datos y bits 934 de detección de errores en el campo 930 para modificar tanto los bits 932 de datos como los bits 934 de detección de errores, dando como resultado un campo 960 modificado. Se aplica un cálculo de detección de errores (en este ejemplo un cálculo de Suma de Verificación) a los bits 962 de datos. La suma 970 de verificación calculada se compara con los bits 964 de detección de error. Si los dos valores son iguales, puede concluirse que el campo 220 se decodificó adecuadamente y el procesamiento normal puede continuar en el dispositivo receptor, que depende del tipo de bloque de datos recibido. Si los dos valores no son iguales, puede concluirse que se ha producido un error (por ejemplo, en la decodificación de los bits en los campos 220 o 230, en la decodificación de los bits 832 de datos, o una combinación de los tres) y el dispositivo receptor debe realizar el manejo de errores. En este ejemplo, los resultados indican que los campos 220 y 230 se han decodificado correctamente.
La figura 10 ilustra un ejemplo de ráfaga de Datos y Control de DMR como se define en ETSI TS 102 361-1. La ráfaga de datos y control contiene un campo 1010 de información que contiene 196 bits de información. En este ejemplo, la información consiste en Control de Enlace (LC) 1016, detección de error (CRC) 1018 y paridad FEC de Código Turbo de Producto de Bloque (BPTC) (no se muestra) añadida por Codificador 1014 BpTC (196, 96). Los datos y el control de ráfaga también contienen un campo 1020 de Tipo de Ranura de 20 bits que define el significado de los bits de información. El Tipo de Campo de ranura incluye un campo 1022 de código de color (CC), un campo 1024 de tipo de datos y una paridad 1026 de FEC de acuerdo con ETSI TS 102 361-1. En este ejemplo, el campo 1024 de tipo de datos podría establecerse en la Cabecera LC de Voz. El centro de la ráfaga contiene un patrón de sincronización o un campo 1030 de información de señalización integrado de acuerdo con ETSI TS 102 361-1. También se muestra un Intercalador 1012 de acuerdo con ETTS TS 102 361-1.
Pasando ahora a la FIG. 11, se muestra un método 1100 para detección de errores en una ráfaga DMR TDMA, tal como una ráfaga 1000, de acuerdo con una realización de la presente invención. En esta realización, un dispositivo transmisor genera una ráfaga 1000 de DMR TDMA de acuerdo con las enseñanzas de el presente documento que permiten la detección de errores de los bits 1024 del campo 1020 de Tipo de Ranura usando el mecanismo de detección de errores en el campo 1010 de información. Se debe observar que con respecto a este ejemplo de ráfaga 1000, solo la paridad de detección de datos y/o errores en el campo 1010 de información se "modifica" de acuerdo con las enseñanzas de este documento, y la generación de bits para los campos restantes mostrados en la FIG. 10 son como se describe en ETSI TS 102 361-1, cuya generación no se describirá adicionalmente en el presente documento por razones de brevedad.
En un paso 1102 del método 1100, los bits 1024 del tipo de datos y los bits 1016 de datos (en este caso, los bits LC) se generan y se aceptan, respectivamente, en el campo 1020 de Tipo de Ranura y el campo 1010 de información de ráfaga 1000. En un paso 1104 de detección de error 1018 PRR 42 se calcula la paridad (por ejemplo, CRC) para los bits 1016 de datos LC y se anexa a los bits 1016 de datos LC dentro del campo 1010 de información de ráfaga 1000, en un paso 1106. En un paso 1108, el dispositivo transmisor selecciona una máscara de inyección de errores para los bits 1024 de tipo de datos especificados aceptados en la etapa 1102. En la etapa 1110, la máscara de inyección de error seleccionada se aplica (usando la adición bit a bit del módulo 2 por ejemplo) a los bits 1016 de datos LC y la paridad 1018 CRC para generar bits 1016 de datos LC modificados y/o paridad 1018 CRC. En un paso 1112, el dispositivo transmisor transmite a un dispositivo receptor la ráfaga 1000 que incluye (entre otros campos con sus bits correspondientes, por supuesto) el campo 1020 de Tipo de Ranura que incluye los bits 1024 de tipo de datos y el campo 1010 de información que incluye los bits 1016 de datos LC modificados y/o paridad 1018 CRC.
Ahora retrocedemos momentáneamente al paso 1108 y al 1110 de seleccionar y aplicar una máscara de inyección de error. A cada tipo de datos ya designado en ETSI TS 102 361-1 se le asigna una máscara de inyección de error predeterminada. Las máscaras de inyección de errores adicionales también pueden predeterminarse y reservarse para tipos de datos futuros. Las tablas 1 y 2 siguientes muestran ejemplos de máscaras de inyección de error de 5 ejemplo que pueden asignarse a tipos de datos presentes y futuros. Estas máscaras de datos de ejemplo se seleccionan basándose en el tipo de datos especificado de la tabla y se aplican al campo 1010 de información para modificar solo la paridad 1018 CRC. En este caso, dado que el tipo de datos es la Cabecera de Voz LC, se selecciona la máscara 96969616 de inyección de error correspondiente a la Cabecera de Voz LC y se aplica al campo 1010 de información para modificar la paridad 1018 CRC. Sin embargo, como se explicó anteriormente, en 10 otras realizaciones las máscaras de inyección de error pueden predeterminarse que modificarían solo los bits 1016 de datos LC o ambos bits 1016 de datos LC y la paridad 1018 cRc.
Tabla 1
Tipo de dato Máscara de 8-bit (base 16) Máscara de 9-bit (base 8) Máscara de 16-bit (base 16)
Cabecera de PI
0 69 551 6969
Cabecera LC de Voz
1 96 226 9696
Terminador con LC
2 99 631 9999
CSBK
3 a5 645 a5a5
Cabecera MBC
4 aa 252 aaaa
Continuación MBC
5 c3 703 c3c3
Cabecera de Datos 6 cc 314 cccc
Velocidad A de Datos
7 f0 360 fOfO
% de velocidad Continuación de datos
8 ff 777 ffff
Libre
9 00 000 0000
Reservado para uso futuro
a 0f 417 0f0f
Reservado para uso futuro
b 33 463 3333
Reservado para uso futuro
c 3c 074 3c3c
Reservado para uso futuro
d 55 525 5555
Reservado para uso futuro
e 5a 132 5a5a
Reservado para uso futuro
f 66 146 6666
Tipo de dato
Máscara de 24-bit (base 16) Máscara de 32-bit (base 16)
Cabecera PI
0 696969 69696969
Cabecera LC de Voz
1 969696 96969696
Terminador con LC
2 999999 99999999
CSBK
3 a5a5a5 a5a5a5a5
Cabecera MBC
4 aaaaaa aaaaaaaa
Continuación MBC
5 c3c3c3 c3c3c3c3
Cabecera de Datos
6 cccccc cccccccc
Velocidad A de Datos
7 fOfOfO fOfOfOfO
% de velocidad Continuación de datos
8 ffffff ffffffff
Libre
9 000000 00000000
Reservado para uso futuro
a 0f0f0f 0f0f0f0f
Reservado para uso futuro
b 333333 33333333
Reservado para uso futuro
c 3c3c3c 3c3c3c3c
Reservado para uso futuro
d 555555 55555555
Reservado para uso futuro
e 5a5a5a 5a5a5a5a
Reservado para uso futuro
f 666666 66666666
En otra realización, la detección de errores para al menos otro campo en la ráfaga puede realizarse utilizando el mecanismo de detección de errores del campo 1010 de información. Por ejemplo, otro campo que no tiene detección 5 de errores y que puede ser un segundo campo para el que se puede realizar la detección de errores usando la detección de errores del campo 1010 de información es el campo 922 de Código de Color (CC). En esta realización, se puede usar un segundo conjunto de máscaras predeterminadas, por ejemplo, mostradas en las Tablas 3 y 4 a continuación, para facilitar la detección de errores en el campo CC de acuerdo con las enseñanzas anteriores. En consecuencia, en el dispositivo transmisor se aplicarán ambas máscaras para modificar la paridad CRC y se 10 aplicarán dos máscaras seleccionadas en el dispositivo receptor para modificar de nuevo la paridad CRC. La detección de errores podría realizarse entonces de manera similar a la descrita a continuación con referencia a la FIG. 12.
Campo secundario
Máscara de 8-bit (base 16) Máscara de 9-bit (base 8) Máscara de 16-bit (base 16)
Valor 0
0 6a 626 6996
Valor 1
1 95 151 9669
Valor 2
2 9a 546 9966
Valor 3
3 c0 474 a55a
Valor 4
4 cf 063 aa55
Valor 5
5 a6 532 c33c
Valor 6
6 a9 125 cc33
Valor 7
7 f3 017 f00f
Valor 8
8 fc 400 ff00
Valor 9
9 03 377 00ff
Valor 10
a 0c 760 0ff0
Valor 11
b 30 714 33cc
Valor 12
c 3f 303 3cc3
Valor 13
d 56 652 55aa
Valor 14
e 59 245 5aa5
Valor 15
f 65 231 6699
Tabla 4
Campo secundario
Máscara de 24-bit Máscara de 32-bit
(base 16) (base 16)
Valor 0
0 699669 69966996
Valor 1
1 966996 96699669
Valor 2
2 996699 99669966
Valor 3
3 a55aa5 a55aa55a
Valor 4
4 aa55aa aa55aa55
Valor 5
5 c33cc3 c33cc33c
Valor 6
6 cc33cc cc33cc33
5
10
15
20
25
30
35
40
Valor 7
7 f00ff0 f00ff00f
Valor 8
8 ff00ff ff00ff00
Valor 9
9 00ff00 00ff00ff
Valor 10
a 0ff00f 0ff00ff0
Valor 11
b 33cc33 33cc33cc
Valor 12
c 3cc33c 3cc333c3
Valor 13
d 55aa55 55aa55aa
Valor 14
e 5aa55a 5aa55aa5
Valor 15
f 669966 66996699
Pasando ahora a la FIG. 12, el dispositivo receptor, en un paso 1202, recibe la ráfaga 1000 del dispositivo transmisor que incluye (entre otros campos con sus bits correspondientes, por supuesto) el campo 1020 de tipo de ranura que incluye los bits 1024 de tipo de datos y el Campo 1010 de Información que incluye los bits 1016 de datos LC y/o paridad 1018 CRC. En un paso 1204 el dispositivo receptor decodifica los bits 1024 de tipo de datos en el de Campo 1020 de Ranura para identificar el tipo de datos para los bits 1016 de datos en el campo 1010 de información de la ráfaga 1000 recibida. El dispositivo receptor usa un Decodificador BPTCD (196, 96) para decodificar los bits que fueron codificados por el codificador (196, 96) BPTC en el dispositivo transmisor. El dispositivo receptor selecciona entonces la máscara de inyección de error correspondiente a los bits 1024 de tipo de datos decodificados. Si el receptor decodifica correctamente el tipo de datos, seleccionará la máscara de inyección de error correspondiente al tipo de datos de Cabecera LC de Voz (en este caso 96969616).
El dispositivo receptor aplica la máscara de inyección de error seleccionada (utilizando la aritmética bit a bit del módulo 2) a los bits 1016 de datos y la paridad 1018 CRC, en un paso 1208, (en este caso) modificar la paridad 1018 CRC. El dispositivo receptor realiza un cálculo de detección de error, en un paso 1210, (en este caso, un cálculo de CRC) en el Campo de Información modificado. A partir del cálculo CRC, en un paso 1212, el dispositivo receptor determina si continua el procesamiento normal en un paso 1216 cuando el cálculo CRC no indica errores de decodificación en la decodificación de los bits 1024 del tipo de datos y en la decodificación de los bits 1016 LC. Si el cálculo CRC indica un error de decodificación (que podría estar en el tipo de datos o en los bits de datos), el dispositivo receptor realiza el manejo de errores en un paso 1214, por ejemplo, de una manera como se ha descrito anteriormente.
Por lo tanto, cuando el dispositivo receptor decodifica correctamente el tipo de datos y los bits de datos, el CRC lo indicará, con la indicación particular que depende de cómo se realizó el cálculo del CRC. En una realización, por ejemplo, como se trata en general anteriormente, el cálculo de CRC puede realizarse solo con los bits 1016 de datos LC y una comparación hecha entre los CRC calculados y los bits 1018 de CRC antes de que el campo de información se modifique utilizando la máscara de inyección de error. Cuando los dos valores son iguales, esto indica que el dispositivo receptor decodificó correctamente los bits 1024 de tipo de datos y decodificó correctamente los bits 1016 de datos LC. Una diferencia en los valores indica de forma similar que los bits 1018 de CRC y/o los bits 1018 de LC se decodificaron incorrectamente. En otra realización, también como se discutió anteriormente, el cálculo de CRC puede realizarse tanto en los bits 1016 de datos LC como en los bits 1018 de CRC actuales y una comparación hecha entre el CRC calculado y un valor de bit predeterminado tal como cero. Cuando el CRC calculado es cero, esto indica que el dispositivo receptor decodificó correctamente los bits 1024 de tipo de datos y decodificó correctamente los bits 1016 de datos LC. Un CRC distinto de cero indica que los bits 1018 de CRC y/o los bits 1018 de LC se decodificaron incorrectamente.
En la especificación anterior, se han descrito realizaciones específicas de la presente invención. Sin embargo, un experto en la técnica aprecia que se pueden realizar diversas modificaciones y cambios sin apartarse del alcance de la presente invención como se establece en las reivindicaciones a continuación. En consecuencia, la especificación y las figuras deben tenerse en cuenta en un sentido ilustrativo en lugar de restrictivo, y todas estas modificaciones están destinadas a incluirse dentro del alcance de la presente invención. Los beneficios, ventajas, soluciones a los problemas y cualquier elemento que pueda hacer que un beneficio, una ventaja o una solución se produzca o se vuelva más pronunciado, no deben interpretarse como características o elementos críticos, obligatorios o esenciales de cualquiera o de todas las reivindicaciones. La invención se define únicamente por las reivindicaciones adjuntas,
incluidas las enmiendas realizadas durante la tramitación de esta solicitud y todos los equivalentes de dichas reivindicaciones emitidas.
Además, en este documento, los términos relacionales tales como primero y segundo, superior e inferior, y similares, pueden usarse para distinguir una entidad o acción de otra entidad o acción sin requerir necesariamente o implicar 5 ninguna relación u orden real entre tales entidades o acciones. Los términos "comprende", "comprender", "tiene", "tener", "incluye", "incluir", "contiene", "contener" o cualquier otra variación de los mismos, están destinados a cubrir una inclusión no exclusiva, tal como que un proceso, método, artículo o aparato que comprende, incluye, contiene una lista de elementos que no incluye solo esos elementos, pero puede incluir otros elementos no enumerados expresamente o inherentes a dicho proceso, método, artículo o aparato. Un elemento seguido por "comprende ....
10 un", "tiene ... un", "incluye" ... un", "contiene ... un" no impide, sin más restricciones, la existencia de elementos idénticos adicionales en el proceso, método, artículo o aparato que comprende, tiene, incluye, contiene el elemento. Los términos "un" y "una" se definen como uno o más a menos que se indique explícitamente lo contrario en este documento. Los términos "sustancialmente", "esencialmente", "aproximadamente", "sobre" o cualquier otra versión de los mismos, se definen como cercanos a los entendidos por un experto habitual en la técnica, y en una
15 realización no limitativa el término es definido para estar dentro del 10%, en otra realización dentro del 5%, en otra realización dentro del 1% y en otra realización dentro del 0.5%. El término "acoplado", tal como se usa en el presente documento, se define como conectado, aunque no necesariamente de manera directa y no necesariamente mecánica. Un dispositivo o estructura que está "configurado" de cierta manera se configura al menos de esa manera, pero también puede configurarse de formas que no están enumeradas.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    1. Un método para la detección de errores en un bloque de datos definido de acuerdo con ETSI TS 102 361-1, que comprende los pasos de:
    generar un bloque de datos que comprende un primer campo que tiene una primera pluralidad de bits que incluye una porción de detección de error que indica un valor de detección de error basado en una primera porción de la primera pluralidad de bits y utilizada para la detección de errores en la decodificación de la primera porción de la primera pluralidad de bits, y el bloque de datos que comprende además al menos un segundo campo que tiene una segunda pluralidad de bits, comprendiendo el segundo campo un campo de tipo de datos;
    seleccionar una máscara de inyección de error basada en el campo de tipo de datos, teniendo asignada cada tipo de datos designado en ETSI TS 102 361-1 una máscara de inyección de error predeterminada;
    aplicar la máscara de inyección de error seleccionada a la primera pluralidad de bits mediante la adición bit a bit del módulo 2 para generar una primera pluralidad de bits modificada que se usa para la detección de errores en la decodificación de la segunda pluralidad de bits; y
    transmitir el bloque de datos con la primera pluralidad de bits modificada.
  2. 2. El método de la reivindicación 1, en el que el bloque de datos comprende una ráfaga de Acceso Múltiple por División de Tiempo (TDMA) de radio móvil digital (DMR) como se define en ETSI (Instituto Europeo de Normas de Telecomunicaciones) TS (Especificación Técnica) 102 361-1.
  3. 3. El método de la reivindicación 1, en el que:
    el primer campo comprende información y la primera pluralidad de bits comprende bits de detección de error y bits de datos de un primer tipo de datos;
    el segundo campo comprende un campo de tipo de datos, y la segunda pluralidad de bits indica el primer tipo de datos; y
    la máscara de inyección de error corresponde al primer tipo de datos.
  4. 4. El método de la reivindicación 3, en el que la modificación de la primera pluralidad de bits comprende al menos uno de:
    modificar los bits de detección de error; y modificar los bits de datos.
  5. 5. Un método para la detección de errores en un bloque de datos definido de acuerdo con ETSI TS 102 361-1, que comprende los pasos de:
    recibir un bloque de datos que comprende un primer campo que tiene una primera pluralidad de bits que incluye una porción de detección de error que indica un valor de detección de error, comprendiendo además el bloque de datos al menos un segundo campo que tiene una segunda pluralidad de bits y que comprende un campo de Tipo de datos;
    decodificar la segunda pluralidad de bits para identificar el tipo de datos;
    seleccionar una máscara de inyección de error basada en el campo de tipo de datos, a cada tipo de datos designado en ETSI TS 102 361-1 que tiene asignada una máscara de inyección predeterminada;
    aplicar la máscara de inyección de error seleccionada a la primera pluralidad de bits por adición bit a bit del módulo 2 para generar una primera pluralidad de bits modificada que incluye un valor de detección de error resultante; y
    detectar si los resultados de decodificación para el segundo campo son correctos en base del valor de detección de error resultante indicado en el primer campo.
  6. 6. El método de la reivindicación 5, en el que el bloque de datos comprende una ráfaga de Acceso Múltiple por División de Tiempo (TDMA) de radio móvil digital (DMR) como se define en ETSI (Instituto Europeo de Normas de Telecomunicaciones) TS (Especificación Técnica) 102 361-1.
    5
    10
    15
    20
    25
    30
  7. 7. El método de la reivindicación 5, en el que:
    el primer campo comprende información y la primera pluralidad de bits comprende bits de detección de error y bits de datos de un primer tipo de datos;
    el segundo campo comprende un campo de tipo de datos, y la segunda pluralidad de bits indica el primer Tipo de datos;
    la máscara de inyección de error corresponde al primer tipo de datos; y
    modificar la primera pluralidad de bits comprende al menos una modificación de los bits de detección de error o modificar los bits de datos.
  8. 8. El método de la reivindicación 5, en el que el bloque de datos comprende además al menos un tercer campo que tiene una tercera pluralidad de bits, y el método que comprende adicionalmente los pasos de:
    decodificar la tercera pluralidad de bits para generar segundos resultados de decodificación;
    seleccionar una segunda máscara de inyección de error basada en los segundos resultados de decodificación;
    modificar adicionalmente la primera pluralidad de bits con la segunda máscara de inyección de error para generar la primera pluralidad modificada de bits que incluye el valor de detección de error resultante; y
    detectar además si los segundos resultados de descodificación para el tercer campo son correctos en base al valor de detección de error resultante indicado en el primer campo.
  9. 9. Un dispositivo para detección de errores en un bloque de datos definido de acuerdo con ETSI TS 102 361-1, que comprende:
    un dispositivo de procesamiento:
    generar un bloque de datos que comprende un primer campo que tiene una primera pluralidad de bits que incluye una porción de detección de error que indica un valor de detección de error basado en una primera porción de la primera pluralidad de bits y utilizada para la detección de errores en la descodificación de la primera porción de la primera pluralidad de bits, y el bloque de datos que comprende además al menos un segundo campo que tiene una segunda pluralidad de bits, comprendiendo el segundo campo un campo de tipo de datos;
    seleccionar una máscara de inyección de error basada en el campo de tipo de datos, a cada tipo de datos designado en ETSI TS 102 361-1 que tiene asignada una máscara de inyección de error predeterminada; y
    aplicar la máscara de inyección de error seleccionada a la primera pluralidad de bits mediante la adición bit a bit del módulo 2 para generar una primera pluralidad de bits modificada que se usa para la detección de error en la decodificación de la segunda pluralidad de bits; y
    un transmisor que transmite el bloque de datos con la primera pluralidad de bits modificada.
ES07799864.9T 2006-08-14 2007-07-27 Método y aparato para la detección de errores en un bloque de datos Active ES2651194T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US464369 2006-08-14
US11/464,369 US7500170B2 (en) 2006-08-14 2006-08-14 Method and apparatus for error detection in a data block
PCT/US2007/074539 WO2008021693A2 (en) 2006-08-14 2007-07-27 Method and apparatus for error detection in a data block

Publications (1)

Publication Number Publication Date
ES2651194T3 true ES2651194T3 (es) 2018-01-24

Family

ID=39082862

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07799864.9T Active ES2651194T3 (es) 2006-08-14 2007-07-27 Método y aparato para la detección de errores en un bloque de datos

Country Status (13)

Country Link
US (1) US7500170B2 (es)
EP (1) EP2052482B1 (es)
JP (1) JP5282574B2 (es)
CN (1) CN101411109B (es)
AU (1) AU2007284221B2 (es)
BR (1) BRPI0708491B1 (es)
CA (1) CA2642102C (es)
ES (1) ES2651194T3 (es)
MX (1) MX2008010665A (es)
NZ (1) NZ570506A (es)
PL (1) PL2052482T3 (es)
RU (1) RU2392750C1 (es)
WO (1) WO2008021693A2 (es)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181100B1 (en) * 2008-02-07 2012-05-15 Marvell International Ltd. Memory fault injection
US8411662B1 (en) 2005-10-04 2013-04-02 Pico Mobile Networks, Inc. Beacon based proximity services
US7568137B1 (en) * 2007-03-27 2009-07-28 Xilinx, Inc. Method and apparatus for a clock and data recovery circuit
CN101542268B (zh) * 2007-06-07 2014-07-23 Afl电信公司 检测光纤和带状光缆的方法
US20140281761A1 (en) * 2008-03-11 2014-09-18 Peter Lablans Reversible corruption of a digital medium stream by multi-valued modification in accordance with an automatically generated mask
US8627163B2 (en) * 2008-03-25 2014-01-07 Micron Technology, Inc. Error-correction forced mode with M-sequence
EP2151940A1 (en) * 2008-08-05 2010-02-10 Nokia Siemens Networks OY Communication network element and method transmitting data
US8892983B2 (en) * 2008-11-04 2014-11-18 Alcatel Lucent Method and apparatus for error detection in a communication system
US8438452B2 (en) 2008-12-29 2013-05-07 Intel Corporation Poison bit error checking code scheme
US8281216B2 (en) * 2009-03-31 2012-10-02 Motorola Solutions, Inc. Method for assigning and utilizing forward error correcting (FEC) codes
US8949801B2 (en) * 2009-05-13 2015-02-03 International Business Machines Corporation Failure recovery for stream processing applications
US8566688B2 (en) * 2009-09-01 2013-10-22 Ensequence, Inc. Method of certifying multiple versions of an application
US9380401B1 (en) 2010-02-03 2016-06-28 Marvell International Ltd. Signaling schemes allowing discovery of network devices capable of operating in multiple network modes
US8458650B2 (en) * 2010-03-29 2013-06-04 International Business Machines Corporation Injecting a fault into a stream operator in a data stream processing application
CN102263612B (zh) * 2011-07-18 2014-12-17 杭州承联通信技术有限公司 用于数据块的差错检测方法和设备
US9749448B2 (en) * 2014-11-25 2017-08-29 Intel Corporation Header parity error handling
US9942895B2 (en) * 2015-07-31 2018-04-10 Hughes Network Systems, Llc Burst grouping with reduced overhead
CN108572788A (zh) * 2017-03-13 2018-09-25 广州市动景计算机科技有限公司 数据存取方法、装置及系统
US11047766B2 (en) 2018-04-11 2021-06-29 Afl Telecommunications Llc Systems and methods for identification and testing of optical fibers
US11937244B2 (en) * 2018-09-28 2024-03-19 Telefonaktiebolagget LM Ericsson (Publ) Uplink control information for unlicensed operation
US11152953B2 (en) * 2020-02-28 2021-10-19 Qualcomm Incorporated Error detection for a wireless channel
CN115019862A (zh) * 2021-03-04 2022-09-06 瑞昱半导体股份有限公司 静态随机存取存储器的纠错电路的验证方法
US11762736B2 (en) * 2021-05-18 2023-09-19 Samsung Electronics Co., Ltd. Semiconductor memory devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04245819A (ja) * 1991-01-31 1992-09-02 Pioneer Electron Corp 誤り訂正機能を備えた情報信号伝送装置
JPH08195736A (ja) * 1995-01-13 1996-07-30 Nec Corp 通信システム
US5574855A (en) * 1995-05-15 1996-11-12 Emc Corporation Method and apparatus for testing raid systems
US5931967A (en) * 1996-02-22 1999-08-03 Fujitsu, Ltd. Method and apparatus for detection of errors in multiple-word communications
CA2333386A1 (en) * 1998-05-27 1999-12-02 Qlogic Corporation Circuit and method for rapid checking of error correction codes using cyclic redundancy check
US6233073B1 (en) * 1998-07-30 2001-05-15 International Business Machines Corporation Diagnostic injection of transmission errors in fiber optic networks
US6631481B1 (en) * 2000-02-16 2003-10-07 International Business Machines Corporation Method and apparatus for injecting an error into a waveform sent over a data link
US6622268B2 (en) * 2000-11-29 2003-09-16 Intel Corp Method and apparatus for propagating error status over an ECC protected channel
US6751756B1 (en) * 2000-12-01 2004-06-15 Unisys Corporation First level cache parity error inject
US6704894B1 (en) * 2000-12-21 2004-03-09 Lockheed Martin Corporation Fault insertion using on-card reprogrammable devices
FR2854512B1 (fr) * 2003-04-30 2005-07-08 Nortel Networks Ltd Procede et dispositif de reception de blocs de donnees
CN1716211A (zh) * 2004-07-02 2006-01-04 中国科学院上海微系统与信息技术研究所 数据差错检测和纠正用的交叉正反编码结构和解码的方法
US7669095B2 (en) * 2006-02-01 2010-02-23 International Business Machines Corporation Methods and apparatus for error injection

Also Published As

Publication number Publication date
EP2052482A2 (en) 2009-04-29
NZ570506A (en) 2010-09-30
CN101411109B (zh) 2013-08-14
BRPI0708491B1 (pt) 2019-11-19
MX2008010665A (es) 2008-09-01
JP5282574B2 (ja) 2013-09-04
JP2009528728A (ja) 2009-08-06
BRPI0708491A2 (pt) 2011-05-31
RU2392750C1 (ru) 2010-06-20
PL2052482T3 (pl) 2018-02-28
CN101411109A (zh) 2009-04-15
AU2007284221A1 (en) 2008-02-21
US20080052603A1 (en) 2008-02-28
US7500170B2 (en) 2009-03-03
EP2052482A4 (en) 2009-09-09
WO2008021693A2 (en) 2008-02-21
EP2052482B1 (en) 2017-09-06
CA2642102C (en) 2011-12-20
WO2008021693A3 (en) 2008-11-06
CA2642102A1 (en) 2008-02-21
AU2007284221B2 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
ES2651194T3 (es) Método y aparato para la detección de errores en un bloque de datos
CN109660971B (zh) 无线耳机及用于无线耳机的通信方法
ES2575856T3 (es) Concepto para combinar paquetes de datos codificados con protección de encabezamientos robusta
EP2543168B1 (en) Techniques to reduce false detection of control channel messages in a wireless network
CN101960768B (zh) 利用基于mac的反馈将混合arq添加到wlan协议
AU695562B2 (en) Method of and system for communicating messages
ES2522272T3 (es) Descodificación de canal mejorado usando hipótesis de datos
EP1496637B1 (en) Apparatus and method for transmitting/receiving error detection information in a communication system
US7903745B2 (en) Error detection and correction for base-band wireless systems
ES2608807T3 (es) Transmisión de datos basada en paquetes
EP1357691B1 (en) A method for encoding a user identifier in a communication system
WO2003030437A3 (en) Methodology for detecting lost packets
JP4015465B2 (ja) 通信システムの制御チャネルを介してシグナリング情報を送信する方法
US20170164271A1 (en) Systems and methods for communicating half-rate encoded voice frames
US6883130B2 (en) Enhanced and adaptive error detection in digital communications
US9853766B2 (en) Radio communication devices, access points, method for controlling a radio communication device, and methods for controlling an access point
ES2704879T3 (es) Protección adicional contra errores para transmisión inalámbrica
RU2562435C1 (ru) Способ кодирования-декодирования информации в системах передачи данных
ES2294355T3 (es) Tratamiento de errores de informacion util recibida a traves de una red de comunicacion.
JPH09130368A (ja) データ通信装置
JPH08298501A (ja) データ伝送システム
RU2003134129A (ru) Способ передачи сообщений в системах связи
JPH05122109A (ja) ルート識別方式
JPH04114529A (ja) データ伝送方法