PL192288B1 - Sposób dekodowania sygnału kodowanego cyklicznie - Google Patents

Sposób dekodowania sygnału kodowanego cyklicznie

Info

Publication number
PL192288B1
PL192288B1 PL333793A PL33379397A PL192288B1 PL 192288 B1 PL192288 B1 PL 192288B1 PL 333793 A PL333793 A PL 333793A PL 33379397 A PL33379397 A PL 33379397A PL 192288 B1 PL192288 B1 PL 192288B1
Authority
PL
Poland
Prior art keywords
polynomial
bits
data
clock cycle
transmitted
Prior art date
Application number
PL333793A
Other languages
English (en)
Inventor
Thomas Habermacher
Original Assignee
Siemens Schweiz Ag
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 Siemens Schweiz Ag filed Critical Siemens Schweiz Ag
Publication of PL192288B1 publication Critical patent/PL192288B1/pl

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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • 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/0057Block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

1. Sposób dekodowania sygnalu kodowanego cyklicznie, przedstawionego jako slowo danych a(x), które koduje sie za pomoca wielomianu generacyj- nego t(x) = f(x)·g(x) utworzonego z iloczynu pierw- szego wielomianu f(x) i drugiego wielomianu g(x), wytwarza sie slowo kodowe c(x) = t(x)·a(x), do które- go dodaje sie drugi wielomian g(x) i tak utworzone zmodyfikowane slowo kodowe c'(x) = c(x)+g(x) = t(x)·a(x)+g(x) o dlugosci n bitów transmituje sie wiele razy, przy czym kazda transmisja odbywa sie w oddzielnym cyklu zegarowym, znamienny tym, ze ostatnio transmitowane zmodyfikowane slowo kodo- we c'(x) wprowadza sie do pamieci danych (DM), po kazdym cyklu zegarowym formuje sie reszte S g1 z ostatnio transmitowanych n bitów zmodyfikowane- go slowa kodowego c'(x) za pomoca drugiego wie- lomianu g(x) i zapamietuje sie ja, a w kazdym cyklu zegarowym formuje sie w stopniu róznicowym (DT) róznice miedzy ostatnio zapamietana reszta a reszta zapamietana n cykli zegarowych wczesniej S g2, ... , S gn+1, a w przypadku gdy ta róznica jest równa zero, n bitów zapamietanych w pamieci danych (DM) wysyla sie do dalszego przetwarzania. PL PL PL

Description

Opis wynalazku
Przedmiotem wynalazku jest sposób dekodowania sygnału kodowanego cyklicznie.
W przypadku systemów transmisyjnych, przez które w krótkim czasie przesyła się znaczne ilości danych, duże znaczenie ma zabezpieczenie transmisji informacji przed występowaniem błędnych bitów. Ma to szczególne znaczenie w systemach teletransmisyjnych stosowanych w komunikacji.
W pracy H. Ernesta „EURO-Balise S21 - Meilenstein mr das ETCS” (EURO-Balise S21 - kamień milowy do ETCS), opublikowanej w Elektronische Rundschau 45 (1996), zeszyt 19, strony 617 622, zostały opisane ważne elementy europejskiego systemu sterowania ruchem pociągów ETCS (European Train Control Systems), w szczególności podsystem Balise. Podsystem Balise służy do transmisji telegramów z jednego punktu szlaku, poprzez bezstykowy interfejs, do stacji odbiorczych umieszczonych w przejeżdżających obok pociągach. Często stosuje się również dwukierunkową transmisję danych. W ograniczonym przedziale czasu, w ramach przekazywania danych do pojazdu, w podsystemie Balise odbywa się także punktowe przekazywanie rozmowy. Przy dużej prędkości pojazdów i ograniczonym czasie kontaktu, na transmisję danych pozostaje tylko niewiele milisekund.
Cykliczne kodowanie danych, w przeciwieństwie do kodowania blokowego, daje możliwość rozpoczynania dekodowania w środku bieżącego strumienia danych i zdekodowanie telegramu zależnie od jego długości. Pozwala to na dobre wykorzystanie będącego do dyspozycji czasu transmisji. Przy wystąpieniu błędów bitowych, może odbyć się powtórny odbiór nadawanego ponownie tego samego telegramu, począwszy od przypadkowego bitu danych wewnątrz właśnie odbieranego telegramu. Jakkolwiek ponowny start może nastąpić bez opóźnienia w czasie trwania telegramu, to w pewnych okolicznościach następuje utrata dużych ilości informacji. W przypadku, kiedy nastąpiło wadliwe odebranie jednego z bitów danych odbieranego telegramu, na przykład pierwszego z 1023 bitów, to następuje odrzucenie n-1 bitów odebranych poprawnie. Zatem, przy długich telegramach i krótszych czasach łączności, transmisja informacji może zerwać się już przy niewielkiej ilości błędów.
Z opisu patentowego EP 0 541 161 A2 znany jest system transmisji danych kodowanych cyklicznie. W tym systemie, jednakże, nie przesyła się przez dłuższy czas tych samych telegramów, z których przynajmniej jeden w jednostce odbiorczej byłby z dużym prawdopodobieństwem odebrany bezbłędnie. System taki powinien zapewniać, w prosty sposób, zarówno korekcję błędów seryjnych, jak również korekcję błędów w pojedynczych telegramach, które transmitowane są tylko raz. W pewnych okolicznościach telegram z błędem pozostaje jednak nie skorygowany, wskutek czego następuje utrata jego informacji. Przytransmisji na przykład obrazu ma to znaczenie podrzędne. Natomiast, przy transmisji danych w systemach komunikacji niezawodna transmisja ma większe znaczenie. Nawet przy krótkich okresach łączności między nadajnikiem a odbiornikiem, równych pojedynczym milisekundom, powinna być możliwość poprawnej transmisji i odebrania, co najmniej jednego, telegramu zawierającego potrzebną informację.
Zadaniem niniejszego wynalazku jest opracowanie takiego sposobu łączności, który umożliwiałyby niezawodną transmisję dłuższych telegramów przy krótszych okresach czasu łączności.
Sposób dekodowania sygnału kodowanego cyklicznie, przedstawionego jako słowo danych a(x), które koduje się za pomocą wielomianu generacyjnego t(x) = f(x/g(x) utworzonego z iloczynu pierwszego wielomianu f(x) i drugiego wielomianu g(x), wytwarza się słowo kodowe c(x) = t(x)^a(x), do którego dodaje się drugi wielomian g(x) i tak utworzone zmodyfikowane słowo kodowe c'(x) = c(x)+g(x) = t(x/a(x)+g(x) o długości n bitów transmituje się wiele razy, przy czym każda transmisja odbywa się w oddzielnym cyklu zegarowym, według wynalazku jest charakterystyczne tym, że ostatnio transmitowane zmodyfikowane słowo kodowe c'(x) wprowadza się do pamięci danych, po każdym cyklu zegarowym formuje się resztę Sg1 z ostatnio transmitowanych n bitów zmodyfikowanego słowa kodowego c'(x) za pomocą drugiego wielomianu g(x) i zapamiętuje się ją, a w każdym cyklu zegarowym formuje się w stopniu różnicowym różnicę między ostatnio zapamiętaną resztą a resztą zapamiętaną n cykli zegarowych wcześniej Sg2, ... , Sgn+1, a w przypadku gdy ta różnica jest równa zero, n bitów zapamiętanych w pamięci danychwysyła się do dalszego przetwarzania.
Korzystnie, po każdym cyklu zegarowym formuje się resztę Sf1 z ostatnio transmitowanych n bitów zmodyfikowanego słowa kodowego c'(x) za pomocą pierwszego wielomianu f(x) i zapamiętuje się ją, w każdym cyklu zegarowym formuje się w stopniu różnicowym różnicę między ostatnio zapamiętaną resztą a resztą zapamiętaną n cykli zegarowych wcześniej Sf2,..., Sfn+1, zaś pierwszą i ostatnią, uformowaną za pomocą pierwszego wielomianu f(x), resztę Sf1 i Sfn+1 porównuje się w stopniu różnicowym i wyznacza się zadane/rzeczywiste odchylenie położenia spodziewanego błędu w zapamiętaPL 192 288 B1 nym zmodyfikowanym słowie kodowym c'(x) przy użyciu wyliczonej różnicy fp, w wyniku czego sygnał przedstawiony jako słowo danych a(x) ponownie zestawia się poprawnie za pomocą synchronizacji.
Korzystnie, po każdym cyklu zegarowym w pamięci zespołów bitów zapisuje się n+1 reszt.
Korzystnie, zapamiętane zmodyfikowane słowo kodowe c'(x) przesuwa się cyklicznie zgodnie z wyznaczonym zadanym/rzeczywistym odchyleniem aż do momentu, gdy n transmitowanych bitów zostanie poprawnie zestawione.
Korzystnie, słowa danych a(x) transmituje się jako zmodyfikowane słowa kodowe c'(x) w systemie transmisyjnym inżynierii ruchu między pojazdem a centrum sterowania i że zawiera ono informacje dotyczące bezpieczeństwa.
Sposób według wynalazku umożliwia transmitowanie dłuższych telegramów, które mogą być szczególnie korzystnie dekodowane i sprawdzane po stronie odbiorczej. Dekodowanie i kontrola błędów odbywa się praktycznie w czasie rzeczywistym tak, że nie powstają opóźnienia, które w przypadku wystąpienia błędu mogłyby prowadzić do większych strat danych. Przez uwzględnienie danych, które nadeszły już wcześniej można każdą kontrolę danych zrealizować w jednym kroku obliczeniowym. Dzięki temu można przyjąć bardzo wysoką szybkość transmisji danych w czasie rzeczywistym. Kontrola poprawności transmitowanych danych może odbywać się bezpośrednio po odebraniu ostatniego bitu danych telegramu, jak również po dodatkowym kroku obliczeniowym. Przez optymalne wykorzystanie przekazywanych informacji można do minimum zredukować utratę danych przy wystąpieniu błędów.
Przedmiot wynalazku, w przykładzie wykonania, jest odtworzony na rysunku, na którym fig. 1 przedstawia system transmisji danych z nadajnikiem wiadomości i odbiornikiem wiadomości; fig. 2 znany układ do cyklicznego kodowania sygnału danych, w schemacie blokowym; fig. 3 - sygnał doprowadzany do układu z fig. 2; fig. 4 - sygnał zakodowany; fig. 5 - układ do dekodowania transmitowanego sygnału, według wynalazku, w schemacie blokowym; fig. 6 - układ z fig. 5 uzupełniony układem synchronizacji telegramu, w schemacie blokowym, zaś fig. 7 przedstawia rejestr przesuwny do synchronizacji telegramu, w schemacie blokowym.
Figura 1 przedstawia system transmisji z jednostką nadawczą CTX zawierającą układ kodujący, która za pośrednictwem łącza przewodowego lub bezprzewodowego łącza transmisyjnego TL (na przykład przewodu transmisyjnego lub bezprzewodowego interfejsu), jest połączona z jednostką odbiorczą DRX zaopatrzoną w urządzenie dekodujące. Do jednostki nadawczej CTX jest doprowadzony sygnał informacyjny s, jak to przedstawiono na fig. 3 (przed zakodowaniem), który składa się z serii powtarzającego się cyklicznie telegramu bądź sygnał, który powstaje z serii powtarzającego się cyklicznie telegramu, jak to przedstawiono na fig. 4 (po zakodowaniu). Na wyjściu jednostki nadawczej CTX pojawia się przeznaczony do transmisji zakodowany sygnał cs. Sygnał ten poprzez łącze transmisyjne TL, ewentualnie z opóźnieniem i z zakłóceniami, dostaje się do jednostki odbiorczej DRX. Na wejściu jednostki odbiorczej DRX pojawia się, zatem, przeznaczony do zdekodowania i ewentualnie do korekcji błędów, sygnał vcs. W jednostce odbiorczej DRX odbywa się regeneracja taktowania, dekodowanie, kontrola i korekcja błędów, po czym z sygnału vcs zostaje wydzielony poprawny telegram t, który na przykład zostaje przekazany do analizy do komputera pojazdu.
Figura 2 przedstawia, znany z pracy R. C. Dorfa: „The Electrical Engineering Handbook” (wyd. CRC Press, Boca Raton 1993, strona 1406, fig. 64.2), układ do cyklicznego kodowania sygnału danych (np. sygnału danych przedstawionego na fig. 3) składającego się z k bitów danych i n-k bitów niezmiennej kombinacji bitów, a więc łącznie z n bitów, które są przeznaczone do powtarzalnego przekazywania. Korzystne jest, jeżeli te bity danych k pozostają niezmienne w ciągu dłuższego czasu. Ma to miejsce wtedy, gdy na przykład od strony trasy, ze stanowiska nadrzędnego lub z lokalnych urządzeń raportujących, przekazywana jest zawsze ta sama informacja stanu. W tym przypadku po stronie odbiorczej wystarcza, aby z wielu identycznych telegramów poprawnie wydzielić jeden. Niezmienne bity n-k są, na przykład, samymi 0. Do jednostki nadawczej CTX podawana jest stale informacja zawarta w bitach danych k. Z tej informacji zostaje utworzony telegram, przedstawiony na fig. 3 (przed kodowaniem), zawierający k bitów danych i n-k bitów, na przykład o wartości 0. W sposób powtarzalny telegram doprowadza się do układu kodującego przedstawionego na fig. 2, który po odebraniu tych k bitów jest każdorazowo ponownie inicjalizowany bitami niezmiennymi n-k. Układ kodujący zawiera n-k komórek rejestru przesuwnego lub pamięci i umożliwia cykliczne kodowanie transmitowanego telegramu kodem systemowym o wielomianie generacyjnym g(x) = xn-k + g1 xn-k-1 + ... + gn-k-1 x + 1.
PL 192 288 B1
Wartości g1,..., gn-k-1 wynoszą albo 0 albo 1. Proces kodowania przebiega, jak to opisano w pracy Franka J. Furrera, „Fehlerkorrigierte Block-Codierung ^r die Datenϋbertragung (Kodowanie blokowe z korekcją błędów dla transmisji danych), Birkaϋser Verlag, Bazylea 1981, na stronach 99 126 (patrz zwłaszcza strony 121 i 122), w dwóch kolejno następujących fazach:
Faza 1: Styki przełączające K1i K2znajdują się w pozycjach p1i q1, odpowiednio. Do rejestru przesuwnego wczytuje się i równocześnie doprowadza się do łącza transmisyjnego TL k bitów informacyjnych. Równocześnie w rejestrze przesuwnym tworzy się n-k bitów kontrolnych.
Faza 2: Styki przełączające K1i K2znajdują się w położeniu p2i q2. Podczas trwania tej fazy, doprowadza się do łącza transmisyjnego TLn-k impulsów czasowych. Równocześnie rejestr przesuwny (fig. 3) zostaje zapełniony stałą kombinacją bitów, która składa się na przykład z n-k bitów o wartości 0. Po zakończeniu drugiej fazy i ponownym rozpoczęciu pierwszej fazy do łącza transmisyjnego TLzostają doprowadzone wszystkie bity kontrolne n-k. Komórki rejestru przesuwnego w opisanym przykładzie są wypełnione bitami o wartości 0. Przedstawiony na fig. 4 zakodowany telegram złożony z n bitów danych i bitów kontrolnych, doprowadzony zostaje do łącza transmisyjnego TL. Przed ponownym rozpoczęciem pierwszej fazy styki przełączające K1i K2wracają do pozycji p1i q1, odpowiednio.
Przedstawiony na fig. 4 zakodowany telegram złożony z n bitów danych i bitów kontrolnych, który jest słowem kodowym zastosowanego kodu cyklicznego, po zakończeniu drugiej fazy, poprzez łącze transmisyjne TLdostaje się do jednostki odbiorczej DRX. Zgodnie ze zwykłym trybem kontroli, odebrany telegram dzieli się przez wielomian generacyjny. Jeżeli syndrom (= reszta) jest równy zeru, to prezentowany telegram jest ważny. Dzielenie to, w przypadku długich słów kodowych, względnie telegramów, można wykonywać tylko sekwencyjnie, w wielu krokach. Jeżeli telegram składa się z n bitów, dzielenie musi być wykonane n-krotnie zanim rozstrzygnie się, czy dany telegram jest ważny. Ponieważ po odebraniu każdego z bitów danych konieczna jest decyzja o prawidłowości, to wcyklu taktowym podczas transmisji danych trzeba wykonać n operacji rachunkowych. Już przy stosunkowo niskich szybkościach transmisji danych obróbka odebranych danych w czasie rzeczywistym nie jest możliwa. Wada ta daje się usunąć w sposobie dekodowania, według wynalazku.
Jednostka odbiorcza DRX jest przedstawiona na fig. 5. Układ zawiera pamięć danych DM, układ dekodujący DEC, pamięć reszty SM, jak również stopień różnicowy DT dołączony do układu bramkującego G.
Działanie jednostki odbiorczej DRXjest następujące. Dane przekazywane łączem transmisyjnym TLsą doprowadzane zarówno do pamięci danych DM, jak i do układu dekodującego DEC, który przez n-k wyjść jest połączony z pamięcią reszty SM. Liczba n-k odpowiada stopniowi wielomianu generacyjnego g(x). W układzie dekodującym DEC, podobnie jak w układzie kodującym przedstawionym na fig. 2, odbywa się systematyczne dekodowanie na podstawie wielomianu generacyjnego g(x) = xn-k + g1 xn-k-1 + ... + gn-k-1 x + 1.
Po każdym impulsie taktowym, względnie po każdym interpolowaniu jednego bitu transmitowanego telegramu do rejestru przesuwnego D układu dekodującego DEC, znajdująca się w tym rejestrze przesuwnym D na n-k miejscu reszta Sg zostaje wprowadzony do pamięci reszty SM. Korzystnie pamięć reszty SM może odebrać sekwencyjnie n+1 reszt i zamieszczać je, np. kolejno wierszami w tablicy,a potem przesuwać dalej na zasadzie „pierwszy na wejściu pierwszy na wyjściu.
Przy transmisji identycznych telegramów, po przesłaniu n bitów danych, względnie po pełnym telegramie i pierwszym bicie następnego telegramu ponownie zostanie utworzona reszta Sg n+1.Jest ona identyczna z pierwszą resztą Sg i ostatniego telegramu, o ile n ostatnich bitów danych zostało przesłanych poprawnie. Za pośrednictwem dwóch wyjść pamięci reszty SMmożliwe jest doprowadzenie reszty Sg 1, bądź Sg n+1, (ostatniej i wcześniejszej o n taktów), do stopnia różnicowego DT. Jeżeli tylko utworzona w stopniu różnicowym DT różnica między resztami Sg 1 oraz Sg n+1 wynosi zero, to następuje otwarcie układu bramkującego G przez sygnał wyjściowy stopnia różnicowego DT. Potem następuje odczyt n bitów danych z pamięci danych DM, określonych jako poprawne. Sprawdzenie reszty Sg przez stopień różnicowy DT może odbywać się przy każdym impulsie taktowym. Za pomocą każdego impulsu taktowego można sprawdzić, czy ostatnie n bitów zostało odebrane poprawnie. Ważne jest, że nie powstaje opóźnienie w wyniku działań obliczeniowych, ponieważ dla wszystkich dotychczas odebranych bitów danych i zapamiętane reszty Sg 1,..., Sg n są już wyliczone. Biorąc pod uwagę już obliczone i zapamiętane 1,...,n reszty Sg 1,..., Sg n,przy każdym impulsie taktowym pojawia się tylko jedna reszta Sg 1, którą porównuje się z wcześniej zapisaną resztą Sg n+1.Ta stosunkowo
PL 192 288 B1 ograniczona liczba niezbędnych obliczeń może być realizowana w czasie rzeczywistym, nawet przy dużych wartościach prędkości przepływu danych.
Odczytywane bity 1,..., n odpowiadają całemu telegramowi, który nie jest zestawiony prawidłowo, gdy pierwszy odczytany z pamięci danych DM bit nie odpowiada pierwszemu bitowi telegramu.
Dzieje się tak przy kodowaniu cyklicznym, (H. Ernst, EURO-Balise S21-Meilenstein far das ETCS, strona 621), gdy dekodowanie może się rozpocząć w środku bieżącego strumienia danych, a zatem wdowolnym miejscu wewnątrz telegramu. Środki umożliwiające poprawne zestawienie na powrót tak zdekodowanego telegramu opisano na stronie 121 Form Fit Function Specification (Coding Strategy) dla Euro-Balise (Issue 2.0.0, 21/12-95, publikacja :Eurosig, EC, UIC). Do kodowania wykorzystuje się przy tym wielomian generacyjny t(x), który można utworzyć w sposób następujący:
t(x) = f(x)-g(x)
Wielomiany g(x) i f(x) są stopnia vi w, zatem stopień wielomianu generacyjnego t(x) przyjmuje wartość n-k = v+w. Po zakodowaniu względnie po uformowaniu CRC (Cyclic Redundancy Check = cykliczny kod nadmiarowy), do zakodowanego telegramu dodany zostaje wielomian g(x):
telegram zakodowany
n
k n-k
Dane CRC
pluswielomian g(x)
000 000 g(x)
daje telegram do transmisji
Dane CRCsyn
Dekodowanie wielomianem g(x) jest bezbłędne, ponieważ podzielność przez g(x) jest zagwarantowana po zrealizowaniu sumowania z wielomianem g(x) (różnica utworzonych na podstawie wielomianu g(x) reszt Sg 1i Sg n+1wynosi zero).
Jednakowoż dekodowanie wielomianem f(x) nie jest bezbłędne (różnica utworzonych na podstawie wielomianu f(x) reszt Sf 1 i Sf n+1 nie jest równa zeru). Wewnątrz CRCsyn po dekodowaniu wielomianem f(x) na określonych miejscach powstaje pewna liczba bitów błędnych (iii):
Dane CRCsyn lll
Zgodnie ze sposobem dekodowania według wynalazku, z pamięci reszty SM zostają odczytane reszty Sg 1 i Sg n+1, które zostały uformowane wwyniku dekodowania wielomianem generacyjnym g(x) po natrafieniu na bity, pierwszy i n plus pierwszy. Różnica między tymi resztami Sg 1 i Sg n+1 jest równa zeru w przypadku, kiedy odpowiadające im bity danych 1, ..., n zostały przekazane bezbłędnie.
Przy dekodowaniu transmitowanych słów kodowych wielomianem f(x), różnica między resztami Sf i i Sf n+1 związanymi z przekazanymi bitami danych 1, ..., n jest różna od zera. Różnica ta, przy stopniu w wielomianuf(x) równym 10, mieści się w granicach od 1do (2w2-1), bądź w zakresie od 1do 1023. Korzystne jest, jeżeli ten zakres odpowiada długości telegramu n. Wartość 0zostaje odrzucona na podstawie faktu, że po dodaniu po stronie nadawczej wielomianu g(x), różnica utworzonych na podstawie wielomianu f(x) reszt Sf 1 i Sf n+1 zawsze jest różna od zera. Na podstawie otrzymanej wartości różnicy można ustalić położenie błędu wewnątrz odczytanych z pamięci danych DMn bitów danych, na przykład na podstawie tablicy utworzonej rachunkowo lub doświadczalnie. Telegram zestawiony niepoprawnie, który jest bezbłędny, jeśli jest dekodowanywielomianem g(x),
Dane CRCsyn lll Dane
PL 192 288 B1 można, po ustaleniu właściwego położenia błędu (---) powstałego podczas dekodowania wielomianem f(x), i przy uwzględnieniu znanego położenia błędu (---), zestawić na powrót poprawnie:
Dane CRCsyn —
Przedstawiony na fig. 6 układ połączeń, który zawiera moduł detekcji błędów FDi moduł synchronizacji PD, umożliwia rozpoznanie i synchronizację poprawnie transmitowanego telegramu. Łącze transmisyjne TLpołączone jest z jednej strony z modułem detekcji błędu FD, a z drugiej strony z modułem synchronizacji PD. Moduł detekcji błędu FD zawiera pamięć danych DM, układ bramkujący G, pierwszy dekoder DEC1, pierwszą pamięć reszty SM1 i pierwszy stopień różnicowy DT1, które są połączone ze sobą tak, jak analogiczne elementy układu przedstawionego na fig. 5, i wykonują te same funkcje. Pierwszy dekoder DEC1 i pierwsza pamięć reszty SM1 są również dopasowane do stopnia wielomianu g(x) i mają, odpowiadającą temu stopniowi, liczbę v komórek pamięci w wierszu. Do synchronizacji telegramów rozpoznanych jako poprawne służy moduł synchronizacji PD, który zawiera dodatkowy dekoder DEC2 połączony z, dołączoną do drugiego stopnia różnicowego DT2, drugą pamięcią reszty SM2.Działanie tych elementów układu (DEC2, SM2i DT2) odpowiada działaniu analogicznych elementów modułu detekcji błędu FD. Telegramy dochodzące z łącza transmisyjnego TL są dekodowane w drugim dekoderze DEC2wielomianem f(x), po czym krokowo utworzone reszty Sf są wczytywane wierszami do drugiej pamięci reszty SM2. Drugi dekoder DEC2 i druga pamięć reszty SM2 są dopasowane do stopnia zastosowanego wielomianu f(x) i mają odpowiednią liczbę w komórek pamięci. Zawartość pierwszego i n-plus-pierwszego wiersza drugiej pamięci reszty SM2 jest doprowadzona do drugiego stopnia różnicowego DT2, w którym powstaje różnica fp reszt Sf. Różnica ta, dla telegramów rozpoznanych jako poprawne, nigdy nie jest równa zeru i wskazuje, na którym miejscu telegramu znajduje się oczekiwany błąd. Obliczona różnica fp doprowadzana jest, do jakiejś jednostki sterującej PR(na przykład mikroprocesora, cyfrowego procesora sygnałowego, programowanego układu logicznego), która oblicza różnicę między pozycją, na której został zlokalizowany błąd a pozycją, na której powinien wystąpić błąd w już zsynchronizowanym telegramie, bądź pozycją, na którą zostanie przesunięty błąd.
Jak to przedstawiono przykładowo na fig. 7, jednostka sterująca PR w tym celu zaopatrzona jest w rejestr TREG, do którego poprawnie zdekodowany telegram może być wczytany, i w którym telegram może być przesuwany cyklicznie o obliczoną liczbę pozycji. Na fig. 7 znajduje się styk przełączający AR do wczytywania danych, do cyklicznego przesuwania danych i do wysyłania danych na pozycji o. Wczytywanie danych do rejestru danych DM, odbywa się za pomocą sygnału taktowego tkt1, który został zregenerowany z odebranego sygnału. Przesuwanie cykliczne, bądź rotacja, telegramu zawartego w rejestrze TREG odbywa się za pomocą sygnału taktowego tkt2, generowanego przez jednostkę sterującą PR, co pewną liczbę taktów. Układ zfig. 7 ma tę zaletę, że pamięć danych DM, już po odczytaniu telegramu może być zapełniana nowymi danymi. W zasadzie rotacja telegramu może się odbywać wewnątrz pamięci danych DM tak, że rejestr TREG można pominąć. Ponadto, oprócz czysto szeregowych rejestrów można stosować przesuwniki wierszy. Pamięć reszty SM1, SM2 oraz ewentualnie pamięć danych DMmogą być elementami jednej jednostki pamięciowej, do której jednostka sterująca PRma dostęp. Funkcje stopni różnicowych, DT, PT1i DT2mogą także być sterowane przez jednostkę sterującą PR.
W układzie przedstawionym na fig. 5 zastosowano, korzystnie, zintegrowany ze stopniem różnicowym DT (lub odpowiednią jednostką sterującą) licznik CTR. Jest on wyzwalany przy pierwszym rozpoznaniu ważnego telegramu (różnica reszt Sg 1 i Sg n+1 powstałych przy dekodowaniu wielomianem g(x) jest równa zeru). Przy znalezieniu każdego ważnego bitu danych (Sg 2i Sg n+2wynoszą zero, itd.) licznik CTRjest inkrementowany, natomiast przy natrafieniu na błąd licznik CTRjest dekrementowany.
Dzięki temu można określić długość okna transmisji (okno transmisji = długość telegramu n + końcowy stan licznika x). Jeżeli zmierzone okno transmisji różni się od okna oczekiwanego na podstawie podawanych parametrów (prędkości pojazdu itp.), to korzystne jest przekazywanie komunikatu o błędzie z pojazdu do odpowiedniego stanowiska zarządzającego tak, aby można było podjąć działania korekcyjne. Komunikat może być przekazywany przez radio lub, jeżeli stosuje się dwukierunkową transmisję danych, przy następnym posterunku łączności.
PL 192 288 B1
Dodatkową niezawodność transmisji można uzyskać, przez powiązanie otwierania układu bramkującego G z osiągnięciem określonego stanu m. Otwarcie układu bramkującego G następowałoby dopiero po odebraniu poprawnych n+m bitów danych, gdzie m <= x; na przykład m = n/5

Claims (5)

  1. Zastrzeżenia patentowe
    1. Sposób dekodowania sygnału kodowanego cyklicznie, przedstawionego jako słowo danych a(x), które koduje się za pomocą wielomianu generacyjnego t(x) = f(x/g(x) utworzonego z iloczynu pierwszego wielomianu f(x) i drugiego wielomianu g(x), wytwarza się słowo kodowe c(x) = t(x)^a(x), do którego dodaje się drugi wielomian g(x) i tak utworzone zmodyfikowane słowo kodowe c'(x) = c(x)+g(x) = t(x/a(x)+g(x) o długości n bitów transmituje się wiele razy, przy czym każda transmisja odbywa się w oddzielnym cyklu zegarowym, znamienny tym, że ostatnio transmitowane zmodyfikowane słowo kodowe c'(x) wprowadza się do pamięci danych (DM), po każdym cyklu zegarowym formuje się resztę Sg1 z ostatnio transmitowanych n bitów zmodyfikowanego słowa kodowego c'(x) za pomocą drugiego wielomianu g(x) i zapamiętuje się ją, a w każdym cyklu zegarowym formuje się w stopniu różnicowym (DT) różnicę między ostatnio zapamiętaną resztą a resztą zapamiętaną n cykli zegarowych wcześniej Sg2, ... , Sgn+1, a w przypadku gdy ta różnica jest równa zero, n bitów zapamiętanych w pamięci danych (DM) wysyła się do dalszego przetwarzania.
  2. 2. Sposób według zastrz. 1, znamienny tym, że po każdym cyklu zegarowym formuje się resztę Sf1 z ostatnio transmitowanych n bitów zmodyfikowanego słowa kodowego c'(x) za pomocą pierwszego wielomianu f(x) i zapamiętuje się ją, w każdym cyklu zegarowym formuje się w stopniu różnicowym (DT) różnicę między ostatnio zapamiętaną resztą a resztą zapamiętaną n cykli zegarowych wcześniej Sf2, ... , Sfn+1, zaś pierwszą i ostatnią, uformowaną za pomocą pierwszego wielomianu f(x), resztę Sf1 i Sfn+1 porównuje się w stopniu różnicowym (DT1) i wyznacza się zadane/rzeczywiste odchylenie położenia spodziewanego błędu w zapamiętanym zmodyfikowanym słowie kodowym c'(x) przy użyciu wyliczonej różnicy fp, w wyniku czego sygnał przedstawiony jako słowo danych a(x) ponownie zestawia się poprawnie za pomocą synchronizacji.
  3. 3. Sposób według zastrz. 1 albo 2, znamienny tym, że po każdym cyklu zegarowym w pamięci zespołów bitów (SM) zapisuje się n+1 reszt.
  4. 4. Sposób według zastrz. 1 albo 2, znamienny tym, że zapamiętane zmodyfikowane słowo kodowe c'(x) przesuwa się cyklicznie zgodnie z wyznaczonym zadanym/rzeczywistym odchyleniem aż do momentu gdy n transmitowanych bitów zostanie poprawnie zestawione.
  5. 5. Sposób według zastrz. 1 albo 2, znamienny tym, że słowa danych a(x) transmituje się jako zmodyfikowane słowa kodowe c'(x) w systemie transmisyjnym inżynierii ruchu między pojazdem a centrum sterowania i że zawiera ono informacje dotyczące bezpieczeństwa.
PL333793A 1996-12-12 1997-11-26 Sposób dekodowania sygnału kodowanego cyklicznie PL192288B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH304896 1996-12-12
PCT/CH1997/000442 WO1998026508A1 (de) 1996-12-12 1997-11-26 Verfahren und schaltungsanordnung zur decodierung eines zyklisch codierten signals

Publications (1)

Publication Number Publication Date
PL192288B1 true PL192288B1 (pl) 2006-09-29

Family

ID=4247447

Family Applications (1)

Application Number Title Priority Date Filing Date
PL333793A PL192288B1 (pl) 1996-12-12 1997-11-26 Sposób dekodowania sygnału kodowanego cyklicznie

Country Status (10)

Country Link
EP (1) EP0944962B8 (pl)
AT (1) ATE290268T1 (pl)
DE (1) DE59712216D1 (pl)
ES (1) ES2236797T3 (pl)
HU (1) HUP0000404A3 (pl)
NO (1) NO992836L (pl)
PL (1) PL192288B1 (pl)
SI (1) SI9720090B (pl)
SK (1) SK285826B6 (pl)
WO (1) WO1998026508A1 (pl)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG170821A1 (en) 2006-04-03 2011-05-30 Kaba Ag Method and system for information transmission
CN103368884B (zh) * 2013-06-21 2016-03-23 电子科技大学 一种fffs编码报文的解码方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0159403A3 (de) * 1984-04-27 1987-11-11 Siemens Aktiengesellschaft Anordnung zur Korrektur von Bündelfehlern in verkürzten zyklischen Blockcodes
GB8430005D0 (en) * 1984-11-28 1985-01-09 Plessey Co Plc Subscriber line signalling device
DE4203301C1 (pl) * 1992-01-31 1993-01-14 Siemens Ag, 8000 Muenchen, De
JP2821324B2 (ja) * 1992-11-04 1998-11-05 三菱電機株式会社 誤り訂正回路
SG50471A1 (en) * 1993-11-04 1998-07-20 Cirrus Logic Inc Burst error corrector
DE4338247A1 (de) * 1993-11-09 1995-05-11 Siemens Ag Verfahren und Schaltungsanordnung zur Fehlerkorrektur
JP3281202B2 (ja) * 1994-11-30 2002-05-13 株式会社東芝 誤り制御システム

Also Published As

Publication number Publication date
HUP0000404A2 (hu) 2000-06-28
DE59712216D1 (de) 2005-04-07
NO992836D0 (no) 1999-06-10
SK285826B6 (sk) 2007-09-06
WO1998026508A1 (de) 1998-06-18
SI9720090B (sl) 2007-08-31
ES2236797T3 (es) 2005-07-16
SI9720090A (sl) 1999-12-31
SK76899A3 (en) 1999-11-08
ATE290268T1 (de) 2005-03-15
EP0944962A1 (de) 1999-09-29
NO992836L (no) 1999-07-05
HUP0000404A3 (en) 2000-08-28
EP0944962B8 (de) 2005-05-25
EP0944962B1 (de) 2005-03-02

Similar Documents

Publication Publication Date Title
US3893072A (en) Error correction system
EP0971501B1 (en) Communication interface
US4447903A (en) Forward error correction using coding and redundant transmission
US8352809B2 (en) Checking method and electronic circuit for the secure serial transmission of data
EP0600380B1 (en) Method and device for detection and correction of errors in ATM cell headers
US4392226A (en) Multiple source clock encoded communications error detection circuit
CN104285410B (zh) 用于在以自动方式受控的设施中发送过程数据的方法
PL192288B1 (pl) Sposób dekodowania sygnału kodowanego cyklicznie
US4698813A (en) Arrangement for correcting burst errors in shortened cyclical block codes
US8375217B2 (en) Process and device for the packet-oriented transmission of security-relevant data
EP0603824B1 (en) Method of and circuit for detecting synchronism in viterbi decoder
US3412380A (en) Two-character, single error-correcting system compatible with telegraph transmission
EP0066620A4 (en) CLOCK SIGNAL RECOVERY CIRCUIT.
CN111301488B (zh) 一种冗余结构轨道电路读取器
US5101198A (en) Method and device for the transmission of data between stations of a communications network, in particular for motor vehicles
EP0604567B1 (en) Method for coding and decoding a digital message
RU2002374C1 (ru) Устройство дл передачи и приема двоичной информации
RU1798793C (ru) Устройство дл сопр жени двух ЭВМ
SU1109927A1 (ru) Адаптивна система передачи информации
RU10965U1 (ru) Приемопередатчик дуплексной системы связи
SU946004A1 (ru) Устройство дл передачи и приема дискретной информации
SU1095428A1 (ru) Устройство дл устранени неопределенности дискретнофазовой модул ции
SU508949A1 (ru) Устройство исправлени пакетовошибок в каналах передачи данных
JPH0255977B2 (pl)
SU403105A1 (ru) Устройство цикловой синхронизации

Legal Events

Date Code Title Description
LAPS Decisions on the lapse of the protection rights

Effective date: 20111126