PL232813B1 - Urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS - Google Patents

Urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS

Info

Publication number
PL232813B1
PL232813B1 PL346620A PL34662000A PL232813B1 PL 232813 B1 PL232813 B1 PL 232813B1 PL 346620 A PL346620 A PL 346620A PL 34662000 A PL34662000 A PL 34662000A PL 232813 B1 PL232813 B1 PL 232813B1
Authority
PL
Poland
Prior art keywords
scrambling code
sequence
registers
generate
string
Prior art date
Application number
PL346620A
Other languages
English (en)
Other versions
PL346620A1 (en
Inventor
Jae-Yoel Kim
Hee-Won Kang
Original Assignee
Samsung Electronics Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19599971&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PL232813(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of PL346620A1 publication Critical patent/PL346620A1/xx
Publication of PL232813B1 publication Critical patent/PL232813B1/pl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/0022PN, e.g. Kronecker
    • H04J13/0025M-sequences
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/0022PN, e.g. Kronecker
    • H04J13/0029Gold
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • H04J13/102Combining codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • H04J13/102Combining codes
    • H04J13/107Combining codes by concatenation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Surface Acoustic Wave Elements And Circuit Networks Thereof (AREA)
  • Absorbent Articles And Supports Therefor (AREA)

Description

Opis wynalazku
Przedmiotem wynalazku jest urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS, a w szczególności urządzenia i sposobu generowania wielu kodów szyfrujących przy użyciu kodów maskujących.
System łączności ruchomej z dostępem wielokrotnym z kodowym rozdziałem sygnałów (nazywany w dalszym ciągu „systemem CDMA”) wykorzystuje kody szyfrujące w celu rozdzielania stacji bazowych. Europejski system W-CDMA, UMTS (Universal Mobile Telecommunications System - Uniwersalny System Telekomunikacji Ruchomej) generuje wielokrotne kody szyfrujące zaklasyfikowane do grupy kodów szyfrujących o z góry określonej długości. Metodą zwiększenia pojemności oprócz rozdzielania stacji bazowych, co jest celem używania kodów szyfrujących w systemie CDMA, jest stosowanie ortogonalnych kodów szyfrujących dla wielu grup kodów szyfrujących w celu separowania kanałów. To znaczy, że w przypadku wykorzystania wszystkich kodów ortogonalnych do separacji kanałów dla danej grupy kodów szyfrujących, system łączności ruchomej może wykorzystać drugą grupę kodów szyfrujących w celu zwiększenia liczby dostępnych łączy komunikacyjnych. System łączności ruchomej UTMS wykorzystuje ciąg Golda o długości 218-1 jako kody szyfrujące w celu otrzymywania wielu kodów szyfrujących (jeden główny kod szyfrujący oraz wiele wtórnych kodów szyfrujących w jednej stacji bazowej) składających się z wielu grup kodów szyfrujących. Ciąg Golda o długości 218-1 zawiera grupę 218-1 oddzielnych kodów Golda. Ciągi Golda tej samej grupy cechują się dobrą wzajemną korelacją. Tutaj ciąg Golda o długości 218-1 jest dzielony na 38400 bitów (chips) i w sposób powtarzający się wykorzystywany do szyfrowania.
Każda stacja bazowa w systemie łączności ruchomej UMTS ma niepowtarzalny kod szyfrujący nazywany „głównym kodem szyfrującym”, który wykorzystuje się w celu umożliwienia terminalom odróżniania jednej stacji bazowej od innych pracujących w systemie. Również każdy niepowtarzalny kod szyfrujący używany do rozpraszania (szyfrowania) sygnałów łącza w dół każdej stacji bazowej nazywa się „głównym kodem szyfrującym”, a jedną z grup kodów szyfrujących używaną do rozpraszania kanałów danych łącza w dół w przypadku, gdy kody ortogonalne są niedostępne, nazywa się „wtórnym kodem szyfrującym”. Stacja bazowa wykorzystuje swoje niepowtarzalne główne kody szyfrujące do rozpraszania (szyfrowania) sygnałów wspólnego kanału sterującego przesyłanych do wszystkich stacji ruchomych z odpowiednim kodem ortogonalnym, do rozpraszania (szyfrowania) sygnałów kanału danych przesyłanych do aktualnie komunikujących się stacji ruchomych z odpowiednimi kodami ortogonalnymi, które przypisuje się każdemu sygnałowi kanału danych do separacji kanałów łącza w dół. Stacja bazowa ma swoje niepowtarzalne główne kody szyfrujące po to, aby stacja ruchoma mogła ją odróżnić od sąsiednich stacji bazowych. Liczba głównych kodów szyfrujących musi być mianowicie dostatecznie duża, na przykład co najmniej 512, aby stacja ruchoma mogła równocześnie wykrywać sygnały ze stacji bazowych współdzielących te same kody szyfrujące. W ten sposób poszczególne sąsiednie stacje bazowe używają różnych głównych kodów szyfrujących spośród 512 głównych kodów szyfrujących. Gdy nie istnieje już więcej kodów ortogonalnych z przydzielonym głównym kodem szyfrującym do separacji kanałów, to wtedy poszczególne stacje bazowe wykorzystują wtórny kod szyfrujący wybrany z jej wielu grup wtórnych kodów szyfrujących odpowiadających używanym głównym kodom szyfrującym.
Przykładowym układem używającym wielokrotne kody szyfrujące jest łącze w dół w systemie UTMS. Należy zauważyć, że dla celów zilustrowania zagadnienia określenie „kod szyfrujący” jest zamienne z określeniem „kod Golda” lub „ciąg Golda” wskazującym na ten sam kod szyfrujący. Znane rozwiązania pokazano na fig. 1 do 5.
Na fig. 1 pokazano schemat blokowy struktury nadajnika dla łącza w dół w systemie łączności ruchomej UTMS.
Jak to pokazano na fig. 1, po odebraniu dedykowanego fizycznego kanału sterującego DPCCH i dedykowanych fizycznych kanałów danych DPDCH1, ... i DPDCHn, które zostały uprzednio zakodowane kanałowo i poddane przeplotowi, demultipleksery 100 - 104 (których liczba odpowiada liczbie fizycznych kanałów danych N plus jeden dla DPCCH) dzielą dedykowany fizyczny kanał sterujący DPCCH i dedykowane fizyczne kanały danych DPDCH1, ... i DPDCHN na kanały I (współfazowy) i Q (kwadratu rowy). Kanały I i Q wyprowadzone oddzielnie z demultipleksera są podawane na układy mnożące 110 i 111. Układy mnożące 110 i 111 wymnażają kanały I i Q z kodem ortogonalnym 1 dla separacji kanałów i wysyłają sygnał wyjściowy do układu skramblera 120. Podobnie, kanały I i Q wyprowadzone oddzielnie z demultiplekserów 102, 103, 104 poddaje się takiej samej operacji jak wyżej i podaje na układy N skramblerów 124 - 128. Następnie generator 100 grupy kodów szyfrujących generuje wtórne kody szyfrujące odpowiadające skramblerom 120, 124 - 128 i wyprowadza je do odpowiednich skram-blerów. Tutaj skramblery 120, 124 - 128 wymnażają sygnały wyjściowe odpowiednich układów mnożących z sygnałami wyjściowymi generatora 100 grupy kodów szyfrujących w trybie zespolonym, aby wyprowadzić części rzeczywiste sygnałów zaszyfrowanych na sumator 130 i części urojone sygnałów zaszyfrowanych na sumator 135. Sumator 130 sumuje części rzeczywiste sygnałów zaszyfrowanych ze skramblerów 120, 124 - 128, natomiast sumator 135 sumuje części urojone.
Na fig. 2 pokazano schemat blokowy generatora 100 grupy kodów szyfrujących z fig. 1, który równocześnie generuje wiele grup kodów szyfrujących.
Chociaż jest faktem, że tylko główne kody szyfrujące mają być użyte dla wspólnego kanału sterującego i kanałów danych, to wtórne kody szyfrujące można użyć zamiast głównych kodów szyfrujących w celu zwiększenia liczby dostępnych łączy komunikacyjnych. Jeśli przykładowo stacja bazowa A używa głównego kodu szyfrującego z dostępnymi kodami ortogonalnymi C-H, a wszystkie pozostałe kody ortogonalne C-H zostały przydzielone różnym kanałom, to wtedy nie ma już dostępnych kodów, które można by było przypisać nowym kanałom, jeśli nowy terminal pragnie komunikować się ze stacją bazową A. W tym przypadku, zamiast korzystać z głównego kodu szyfrującego A, wykorzystany może zostać wtórny kod szyfrujący Z dla nowych kanałów i kody ortogonalne C-H można wtedy przydzielić nowym kanałom, ponieważ nowe kanały wykorzystują wtórny kod szyfrujący Z zamiast głównego kodu szyfrującego A. W ten sposób nowe kanały mogą być odróżniane od kanałów początkowych używających kody ortogonalne C-H, ponieważ nowe kanały wykorzystują wtórny kod szyfrujący Z zamiast głównego kodu szyfrującego A. Dlatego stacja bazowa musi być w stanie generować wiele grup kodów szyfrujących.
Pokazany na fig. 2 normalny generator 100 grupy kodów szyfrujących zawiera wiele generatorów 201 ciągów Golda i wiele elementów opóźniających 203 odpowiadających generatorom 201 ciągów Golda. Po otrzymaniu informacji sterujących na temat kodów szyfrujących dla wielu kanałów z górnej warstwy, generator 201 ciągu Golda generuje kody szyfrujące, to znaczy sekwencje kodów Golda w oparciu o informacje sterujące i wyprowadza wygenerowane kody szyfrujące w taki sposób, aby zawierały składową kanału I. Elementy opóźniające 203 opóźniają kody szyfrujące ze składową I przez z góry określoną liczbę bitów (chips) i generują opóźnione kody szyfrujące ze składową kanału Q.
Na fig. 3 pokazano schemat blokowy struktury odbiornika łącza w dół w systemie łączności UMTS. W przypadku wspólnych kanałów sterujących łącza w dół, odbiornik ma za zadanie dokonywać odszyfrowywania wspólnych sygnałów sterujących łącza w dół, które zostały zaszyfrowane głównymi kodami szyfrującymi. Równocześnie dla kanałów danych łącza w dół odbiornik ma również za zadanie dokonywać odszyfrowywania sygnałów zaszyfrowanych wtórnymi kodami szyfrując ymi, gdy kanały danych łącza w dół wykorzystują wtórny kod szyfrujący. Zatem odbiornik musi mieć możliwość generowania wielu kodów szyfrujących.
Jak przedstawiono na fig. 3, po odebraniu sygnałów z nadajnika, jak to pokazano na fig. 1 i 2, składowe kanałów I i Q podaje się odpowiednio na deskramblery 310 i 315. Generator 300 grupy kodów szyfrujących równocześnie generuje kody szyfrujące odpowiadające danym kanałom i wyprowadza je na deskramblery 310 i 315. Następnie deskramblery 310 i 315 wymnażają odebrane sygnały I+jQ przez sprzężone kodów szyfrujących sygnałów odbieranych od generatora 300 grup kodów szyfrujących dla odszyfrowania odebranych sygnałów, a następnie wyprowadzają składowe kanału I i Q odszyfrowanych sygnałów na odpowiednie układy mnożące 320, 322, 324 i 326. Tutaj kody ortogonalne przydzielone odpowiednim kanałom są łączone w układach mnożących 320, 322, 324 i 326 i wyprowadzane do odpowiednich demultiplekserów 330 i 350. Demultipleksery 330 i 350 demultipleksują połączone składowe kanału I i Q.
Na fig. 4 pokazano schemat blokowy generatora 300 grup kodów szyfrujących z fig. 3, który równocześnie generuje wiele grup kodów szyfrujących. Chociaż generator 300 grupy kodów szyfrujących ma faktycznie za zadanie używać przede wszystkim głównych kodów szyfrujących dla wspólnych kanałów sterujących, to może on również używać wtórnych kodów szyfrujących dla kanałów w zależności od użytkowników, takich jak kanały danych, w razie braku dostępnych kodów ortogonalnych. Zatem stacja ruchoma musi być w stanie generować wiele grup kodów szyfrujących. W sytuacji pokazanej na fig. 4, generator 300 grupy kodów szyfrujących w odbiorniku zawiera wiele generatorów 401 ciągów Golda oraz wiele elementów opóźniających odpowiadających generatorom 401 ciągów Golda. Po otrzymaniu informacji sterujących na temat kodów szyfrujących dla wielu kanałów z górnej warstwy, generator 401 ciągu Golda generuje kody szyfrujące odpowiadające informacji sterującej i wyprowadza wygenerowane kody szyfrujące w taki sposób, aby zawierały składową kanału I. Elementy opóźniające 403 opóźniają kody szyfrujące ze składową I przez z góry określoną liczbę bitów (chips) i generują opóźnione kody szyfrujące ze składową kanału Q.
Na fig. 5 pokazano schemat blokowy struktury generatorów ciągów Golda z fig. 2 i 4.
Na fig. 5 pokazano, że ciąg Golda jest zwykle generowany poprzez binarne dodawanie dwóch oddzielnych m-ciągów. Rejestr przesuwny generujący górny m-ciąg jest wdrożony w postaci wielomianu generującego zdefiniowanego jako f (x) = x18 + x7 + 1, a rejestr przesuwny generujący dolny m-ciąg jest wdrożony w postaci wielomianu generującego zdefiniowanego jako f (x) = 10 x18 + x10 + x7 + x5 + 1. W obecnym opisie standardu UMTS nie ma opisu numerowania kodów szyfrujących i ich generowania. Dlatego w świetle opisu standardu UMTS nadajnik i odbiornik wymagają wielu generatorów kodów szyfrujących opisanych wyżej, służących do generowania wielu kodów szyfrujących i w ten sposób używają wielu oddzielnych generatorów dla poszczególnych kodów szyfrujących, co prowadzi do większej złożoności układów. Ponadto podczas używania ciągów Golda jako kodów szyfrujących, stopień złożoności układów może zależeć od sposobu, w jaki kody szyfrujące dzieli się na główne i wtórne kody szyfrujące oraz od tego, jak kody szyfrujące się numeruje.
Dlatego celem tego wynalazku jest dostarczenie urządzenia i sposobu generowania kodów szyfrujących zgrupowanych w jednostki o z góry określonej długości przy użyciu funkcji maskujących, co pozwala na zminimalizowanie stopnia złożoności układów.
Innym celem niniejszego wynalazku jest dostarczenie urządzenia i sposobu generowania kodów szyfrujących włącznie z głównym kodem szyfrującym i związanym z nim wtórnym kodem szyfrującym, który ma być stosowany zamiast głównego kodu szyfrującego w celu zwiększenia liczby dostępnych łączy komunikacyjnych. Kody szyfrujące są generowane przy pomocy funkcji maskujących. Jeszcze innym celem niniejszego wynalazku jest dostarczenie urządzenia i sposobu generowania głównego kodu szyfrującego i związanych z nim wtórnych kodów szyfrujących. W postaci wykonania niniejszego wynalazku, pierwszy rejestr przesuwny wykorzystuje się do generowania pierwszego m-ciągu, a drugi rejestr przesuwny wykorzystuje się do generowania drugiego m-ciągu. Pierwszy m-ciąg dodaje się do drugiego m-ciągu w celu wygenerowania głównego kodu szyfrującego. W celu wygenerowania związanych z nim wtórnych kodów szyfrujących, bity pierwszego rejestru przesuwnego wprowadza się do N sekcji maskujących, które wykorzystują funkcje maskujące w celu cyklicznego przesuwania pierwszego m-ciągu. Wyjścia każdej z sekcji maskującej dodaje się do drugiego m-ciągu w celu wygenerowania N wtórnych kodów szyfrujących. Ponadto jeszcze innym celem niniejszego wynalazku jest dostarczenie sposobu numeracji kodów szyfrujących do prostego generowania kodów szyfrujących za pomocą jednego generatora kodu.
Aby osiągnąć wymienione powyżej cele niniejszego wynalazku dostarcza się w pierwszym aspekcie urządzenie do transmisji danych w systemie łączności ruchomej, zawierające: rozdzielacz w postaci układu mnożącego skonfigurowanego do rozdzielania sygnału danych z co najmniej jednym kodem ortogonalnym, generator kodu szyfrującego skonfigurowany do generowania K-tego głównego kodu szyfrującego lub warunkowo do generowania wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego; i skrambler skonfigurowany do szyfrowania rozdzielonego sygnału danych za pomocą jednego spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego. W urządzeniu tym generator kodu szyfrującego charakteryzuje się tym, że, został skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jak K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotne przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo do generowania co najmniej jednego spośród ((K-1)*M+K+1)-tego do (K*-M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. Generator kodu szyfrującego zawiera: pamięć pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, przy czym ta pamięć pierwszego rejestru przesuwnego ma rejestry z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); pamięć drugiego rejestru przesuwnego do generowania drugiego m-ciągu, przy czym ta pamięć drugiego rejestru przesuwnego ma rejestry z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumator główny do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu generowania głównego kodu szyfrującego; wiele sekcji maskujących do maskowania ai (i = 0 do c-1) w celu generowania ciągów wtórnych, oraz wiele sumatorów wtórnych do sumowania ciągów wtórnych z drugim m-ciągiem w celu generowania wtórnych kodów szyfrujących, w którym każda z sekcji maskujących cyklicznie przesuwa pierwszy m-ciąg przez użycie maski. K jest liczbą głównego kodu szyfrującego i 1<K<512. Urządzenie obejmuje ponadto środki do przesuwania co najmniej jednego spośród głównego kodu szyfrującego lub wtórnego kodu szyfrującego przez ustaloną liczbę bitów celem utworzenia składowej kanału Q. Generator kodu szyfrującego zawiera: generator pierwszego m-ciągu do generowania pierwszego m-ciągu przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generator drugiego m-ciągu do generowania drugiego m-ciągu przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; co najmniej jedną sekcję maskującą do maskowania wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; i co najmniej jeden sumator do sumowania pierwszego m-ciągu i drugiego m-ciągu celem wygenerowania głównego kodu szyfrującego lub do sumowania trzeciego m-ciągu i drugiego m-ciągu celem wygenerowania wtórnego kodu szyfrującego, przy czym sekcja maskująca przesuwa pierwszy m-ciąg L razy celem wygenerowania L-tego wtórnego kodu szyfrującego związanego z głównym kodem szyfrującym. Ponadto w urządzeniu zachodzi zależność 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na główny kod szyfrujący. Sekcja maskująca jest opisana wyrażeniem Σ (ki x ai). Z kolei urządzenie do odbioru danych w systemie łączności ruchomej, zawierające: generator kodu szyfrującego skonfigurowany do generowania K-tego głównego kodu szyfrującego lub warunkowo do generowania wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego; deskrambler skonfigurowany do deszyfrowania otrzymanego sygnału danych za pomocą jednego spośród głównego kodu szyfrującego lub co najmniej jednego wtórnego kodu szyfrującego; i łącznik w postaci układu mnożącego do łączenia zdeszyfrowanego sygnału danych z co najmniej jednym kodem ortogonalnym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, ma generator kodu szyfrującego który wyróżnia się tym, że jest skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotne przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo do generowania co najmniej jednego spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. Generator kodu szyfrującego zawiera: pamięć pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, przy czym wspomniana pamięć pierwszego rejestru przesuwnego ma wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); pamięć drugiego rejestru przesuwnego do generowania drugiego m-ciągu, przy czym wspomniana pamięć drugiego rejestru przesuwnego zawiera wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumator główny do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu generowania głównego kodu szyfrującego; sekcję maskującą do maskowania ai (i = 0 do c-1) w celu generowania ciągu wtórnego, oraz sumator wtórny do sumowania ciągu wtórnego z drugim m-ciągiem w celu generowania wtórnego kodu szyfrującego, w którym sekcja maskująca cyklicznie przesuwa pierwszy m-ciąg przez użycie maski. K jest liczbą głównego kodu szyfrującego i 1<K<512. Urządzenie obejmuje ponadto środki do przesuwania co najmniej jednego spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego o ustaloną liczbę bitów celem utworzenia składowej kanału Q. Ponadto generator kodu szyfrującego zawiera: generator pierwszego m-ciągu do generowania pierwszego m-ciągu przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generator drugiego m-ciągu do generowania drugiego m-ciągu przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; co najmniej jedną sekcję maskującą do maskowania wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; oraz co najmniej jeden sumator do sumowania pierwszego m-ciągu i drugiego m-ciągu celem wygenerowania głównego kodu szyfrującego lub do sumowania trzeciego m-ciągu i drugiego m-ciągu celem wygenerowania wtórnego kodu szyfrującego, przy czym sekcja maskująca przesuwa pierwszy m-ciąg L razy celem wygenerowania L-tego wtórnego kodu szyfrującego związanego z głównym kodem szyfrującym. W urządzeniu zachodzi zależność 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący. Sekcja maskująca jest opisana wyrażeniem Σ (ki x ai). W kolejnym aspekcie dostarcza się sposób transmisji danych w systemie łączności ruchomej, który charakteryzuje się tym, że zawiera etapy w których: rozdziela się w rozdzielaczu sygnał danych z co najmniej jednym kodem ortogonalnym; generuje się w generatorze kodu szyfrującego ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotnie przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo generuje się co najmniej jeden spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego; i szyfruje się w skramblerze rozdzielony sygnał danych jednym spośród głównego kodu szyfrującego lub co najmniej jednym wtórnym kodem szyfrującym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym etap generowania obejmuje: generowanie pierwszego m-ciągu z pamięci pierwszego rejestru przesuwnego mającej wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); generowanie drugiego m-ciągu z pamięci drugiego rejestru przesuwnego mającej wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumowanie pierwszego m-ciągu z drugim m-ciągiem dla wygenerowania głównego kodu szyfrującego; i maskowanie ai (i = 0 do c-1) dla wygenerowania L-tego wtórnego ciągu, który jest pierwszym m-ciągiem przesuwanym cyklicznie L razy, gdzie natomiast etap szyfrowania obejmuje: sumowanie L-tego wtórnego ciągu z drugim m-ciągiem w celu wygenerowania L-tego wtórnego ciągu szyfrującego. W powyższym sposobie K jest liczbą głównego kodu szyfrującego i 1 <K<512. Ponadto w sposobie tym przesuwa się co najmniej jeden spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego o ustaloną liczbę bitów celem utworzenia składowej kanału Q w co najmniej jednym opóźnieniu. W etapie generowania kodu szyfrującego: generuje się, w generatorze pierwszego m-ciągu, pierwszy m-ciąg przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generuje się w generatorze drugiego m-ciągu, drugi m-ciąg przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; przesuwa się w co najmniej jednej sekcji maskującej wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski celem wygenerowania trzeciego m-ciągu, gdzie i = 0 do c-1; oraz sumuje się w co najmniej jednym sumatorze pierwszy m-ciąg i drugi m-ciąg celem wygenerowania głównego kodu szyfrującego lub sumuje się trzeci m-ciąg i drugi m-ciąg celem wygenerowania wtórnego kodu szyfrującego, przy czym L-ty wtórny kod szyfrujący związany z głównym kodem szyfrującym generuje się przez L-krotne przesunięcie pierwszego m-ciągu. W sposobie tym zachodzi zależność 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący. Etap przesuwania jest opisany wyrażeniem Σ (ki x ai). Natomiast sposób odbioru danych w systemie łączności ruchomej, charakteryzuje się tym, że zawiera etapy w których: generuje się w generatorze kodu szyfrującego ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotnie przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo generuje się co najmniej jeden spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego; deszyfruje się w deskramblerze otrzymany sygnał danych jednym spośród głównego kodu szyfrującego lub co najmniej jednym wtórnym kodem szyfrującym; i łączy się w łączniku deszyfrowany sygnał danych z co najmniej jednym kodem ortogonalnym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym etap generowania obejmuje: generowanie pierwszego m-ciągu z pamięci pierwszego rejestru przesuwnego mającej wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); generowanie drugiego m-ciągu z pamięci drugiego rejestru przesuwnego mającej wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumowanie pierwszego m-ciągu z drugim m-ciągiem dla wygenerowania głównego kodu szyfrującego; wprowadzanie ai (i = 0 do c-1) do sekcji maskujących; maskowanie ai (i = 0 do c-1) w każdej z sekcji maskujących dla wygenerowania ciągów wtórnych; natomiast etap łączenia obejmuje: sumowanie każdego z wtórnego ciągu z drugim m-ciągiem dla wygenerowania N wtórnych ciągów szyfrujących, gdzie L-ty wtórny ciąg jest pierwszym m-ciągiem przesuwanym cyklicznie L razy, gdzie 1<-L<-N. W sposobie tym K jest liczbą głównego kodu szyfrującego i 1<K<512. Sposób odbioru ponadto obejmuje to, że: przesuwa się co najmniej jeden spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego o ustaloną liczbę bitów celem utworzenia składowej kanału Q w co najmniej jednym opóźnieniu. Etap generowania kodu szyfrującego obejmuje to, że: generuje się pierwszy m-ciąg przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego w generatorze pierwszego m-ciągu, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generuje się drugi m-ciąg przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego w generatorze drugiego m-ciągu, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; przesuwa się wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski celem wygenerowania trzeciego m-ciągu w co najmniej jednej sekcji maskującej, gdzie i = 0 do c-1; oraz sumuje się pierwszy m-ciąg i drugi m-ciąg celem wygenerowania głównego kodu szyfrującego lub sumuje się trzeci m-ciąg i drugi m-ciąg celem wygenerowania wtórnego kodu szyfrującego w co najmniej jednym sumatorze, przy czym L-ty wtórny kod szyfrujący związany z głównym kodem szyfrującym generuje się przez L-krotne przesunięcie pierwszego m-ciągu w sekcji maskującej. W sposobie odbioru zachodzi zależność 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący. Etap przesuwania jest opisany wyrażeniem Σ (ki x ai).
Przedmiot wynalazku jest uwidoczniony w przykładzie wykonania na rysunku, na którym fig. 1 przedstawia schemat blokowy przedstawiający strukturę znanego nadajnika łącza w dół w ogólnym systemie łączności ruchomej UTMS; fig. 2 - schemat blokowy przedstawiający znany generator grup kodów szyfrujących z fig. 1; fig. 3 - schemat blokowy przedstawiający strukturę znanego odbiornika łącza w dół w ogólnym systemie łączności ruchomej UMTS; fig. 4 - schematem blokowym przedstawiającym strukturę znanego generatora grupy kodów szyfrujących z fig. 3; fig. 5 - szczegółowy schemat blokowy pokazujący strukturę znanego generatora grupy ciągów Golda w ogólnym systemie łączności ruchomej UMTS; fig. 6 - schemat blokowy przedstawiający strukturę kodu szyfrującego według pierwszej postaci niniejszego wynalazku; fig. 7 - szczegółowy schemat blokowy pokazujący strukturę generatora grupy kodów szyfrujących w nadajniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z pierwszą postacią wykonania niniejszego wynalazku; fig. 8 - szczegółowy schemat blokowy pokazujący strukturę generatora grupy kodów szyfrujących w odbiorniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z pierwszą postacią wykonania niniejszego wynalazku; fig. 9 - schemat pokazujący strukturę kodu szyfrującego według drugiej postaci niniejszego wynalazku; fig. 10 - szczegółowy schemat blokowy pokazujący strukturę generatora grupy kodów szyfrujących w nadajniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z drugą postacią wykonania niniejszego wynalazku; fig. 11 - szczegółowy schemat blokowy pokazujący strukturę generatora grupy kodów szyfrujących w odbiorniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z drugą postacią wykonania niniejszego wynalazku; fig. 12a - schemat ideowy ukazujący konstrukcję urządzenia do przesyłania danych według wykonania zgodnie z niniejszym wynalazkiem; fig. 12b - diagram ilustrujący przesyłanie danych przez urządzenie z fig. 12a; fig. 13a - schemat ideowy ukazujący konstrukcję urządzenia do odbierania danych według wykonania zgodnie z niniejszym wynalazkiem; oraz fig. 13b - diagram działania odbierania danych przez urządzenie z fig. 13a.
Preferowany przykład wykonania niniejszego wynalazku zostanie opisany niżej w odniesieniu do załączonych figur. W poniższym opisie nie będzie opisywać się szczegółowo dobrze znanych funkcji i konstrukcji, gdyż niepotrzebnie zaciemniłyby one obraz wynalazku.
Ciąg Golda używany tutaj jako kod szyfrujący jest generowany przez dodawanie binarne dwóch różnych m-ciągów. Zakładając, że ciągi, oba o długości L, są zdefiniowane jako m1 (t) i m2 (t), zbiór ciągów Golda może zawierać L różnych ciągów Golda o dobrej wzajemnej charakterystyce korelacji. Zbiór ciągów Golda można wyrazić równaniem 1.
[Równanie 1] G = < m1 (t + x) + m2 (t) | 0 < τ < L-1 >, gdzie t jest numerem zmiennej czasowej, a τ wartością przesunięcia. Jak to wynika z równania 1, zbiór ciągów Golda jest zbiorem wszystkich ciągów zawierających sumę m-ciągu m1 (t) przesuwanego cyklicznie τ razy i m-ciągu m2 (t). Zatem dla celów niniejszego wynalazku sumę m-ciągu m1 (t) przesuwanego cyklicznie τ razy i m-ciągu m2 (t) będzie się nazywać ciągiem Golda g^ To znaczy więc, że gτ (t) = m1 (t + τ) + m2 (t). Jeśli okres ciągu Golda wynosi 218-1, to wtedy poszczególne m-ciągi stanowiące ciąg Golda również mają okres równy 218-1. Zatem m-ciąg m1 (t) można cyklicznie przesuwać maksymalnie 218-1 razy i liczba elementów w zbiorze ciągów Golda jest równa 218-1, co jest maksymalną wartością cyklicznych przesunięć.
Zbiór ciągów Golda używanych w postaci wykonania niniejszego wynalazku zawiera 218-1 ciągów Golda, jako elementy z których każdy zawiera m-ciąg m1 (t) z wielomianem generującym zdefiniowanym jako f (x) = x18 + x7 + 1 oraz m-ciąg m2 (t) z wielomianem generującym zdefiniowanym jako f (x) = x18 + x10 + x7 + x5 + 1.
Drugi m-ciąg m1 (t) przesuwany cyklicznie τ razy można uzyskać przez zastosowanie funkcji maskujących wobec zapamiętanych wartości rejestru przesuwnego generującego początkowy m-ciąg.
Postać wykonania niniejszego wynalazku dostarcza generator do równoczesnego generowania wielu ciągów Golda przy użyciu funkcji maskujących oraz sposób efektywnego dzielenia zbioru ciągów Golda na zbiór głównych ciągów szyfrujących oraz zbiór wtórnych ciągów szyfrujących w celu zmniejszenia liczby funkcji maskujących przechowywanych w pamięci.
Pierwszy przykład wykonania
Na fig. 6 pokazano schemat przedstawiający strukturę głównego i wtórnego kodu szyfrującego według pierwszej postaci tego wynalazku.
Po pierwsze, po wybraniu ciągu Golda spośród 218-1 ciągów Golda, wykorzystuje się pierwsze 38400 bitów (chips) jako główny ciąg szyfrujący, drugie 38400 bitów (chips) jako pierwszy wtórny kod szyfrujący odpowiadający głównemu kodowi szyfrującemu, trzecie 38400 bitów (chips) jako drugi wtórny kod szyfrujący odpowiadający głównemu kodowi szyfrującemu, czwarte 38400 bitów (chips) jako trzeci wtórny kod szyfrujący odpowiadający głównemu kodowi szyfrującemu, piąte 38400 bitów (chips) jako czwarty wtórny kod szyfrujący odpowiadający głównemu kodowi szyfrującemu, szóste 38400 bitów (chips) jako piąty wtórny kod szyfrujący odpowiadający głównemu kodowi szyfrującemu. W tym przypadku, gdy używa się 512 głównych kodów szyfrujących, istnieje 5 grup wtórnych kodów szyfrujących odpowiadających 512 głównym kodom szyfrującym. W szczególności 218-1 (długość kodów szyfrujących) podzielone przez 38400 jest równe sześć (grupy kodów szyfrujących). Z tych sześciu grup kodów szyfrujących, pierwsza grupa kodów szyfrujących jest używana jako główne kody szyfrujące, a pięć pozostałych grup kodów szyfrujących wykorzystuje się jako wtórne kody szyfrujące. W takiej strukturze, jeśli komórka (stacja bazowa) używa swojego własnego głównego kodu szyfrującego i wtórnych kodów szyfrujących wybranych z własnej grupy wtórnych kodów szyfrujących, to wtedy wybrane wtórne kody szyfrujące należące do grupy wtórnych kodów szyfrujących odpowiadających głównemu kodowi szyfrującemu będą wykorzystywane do kodów szyfrujących kanału łącza w dół, gdy brakować będzie kodów ortogonalnych z głównym kodem szyfrującym. Jak to pokazano na fig. 6, po wybraniu głównego kodu szyfrującego, wtórne kody szyfrujące odpowiadające głównemu kodowi szyfrującemu są również częścią ciągu Golda, który również zawiera główny kod szyfrujący. Tutaj wtórne kody szyfrujące generuje się przez zastosowanie funkcji maskujących w stosunku do głównego kodu szyfrującego. Ta metoda została zastosowana w generatorze grup kodów szyfrujących nadajnika pokazanego na fig. 7, który równocześnie generuje jeden główny kod szyfrujący oraz wiele wtórnych kodów szyfrujących. W sytuacji pokazanej na fig. 7, generator 701 grupy kodów szyfrujących zawiera generator 750 pierwszego m-ciągu składający się z: pamięci górnego rejestru przesuwnego (nazywanej dalej „pamięcią pierwszego rejestru przesuwnego”) 700 (z rejestrami od 0 do 17) oraz sumatora 730, i generator 760 drugiego m-ciągu, składający się z: pamięci dolnego rejestru przesuwnego (nazywanej dalej „pamięcią drugiego rejestru przesuwnego”) 705 (z rejestrami od 0 do 17) i sumatorem 735, zespół sekcji maskujących 710 do 712, 714 do 716, zespół sumatorów 742 do 744 i 740 oraz elementy opóźniające 722 do 724 i 720. Pamięć pierwszego rejestru przesuwnego 700 przechowuje ustaloną początkową wartości rejestru „a0”, a pamięć drugiego rejestru przesuwnego 705 przechowuje ustaloną początkową wartość rejestru „b0”. Wartości przechowywane w każdym z rejestrów w pamięci 700 i pamięci 705 mogą się zmieniać w każdym okresie zegara wejściowego (nie pokazanego na rysunku). Pamięć rejestru 700 i 705 przechowuje odpowiednio wartości binarne (lub symbol) „ai” i „bi” w postaci 18 bitów (i = 0 do c-1, gdzie c = całkowita liczba rejestrów w pamięciach rejestrów 700 i 705).
Generator 750 pierwszego m-ciągu generuje pierwszy m-ciąg za pomocą pamięci 700 rejestru i sumatora 730, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0 i 7 pamięci 700 rejestru i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci 700 rejestru sekwencyjnie wyprowadza wartości binarne formujące pierwszy m-ciąg podczas każdego okresu zegara wejściowego. Sekcje maskujące 710 do 712 przechowują wartości kodów maski (k1i do kNi) do generowania cyklicznych przesunięć pierwszego m-ciągu o z góry określoną liczbę bitów (chips). Przesunięcia cykliczne uzyskuje się przez wymnażanie wartości kodów maskujących z wartościami rejestru „ai” pamięci 700 pierwszego rejestru, jak to wyraża następujące równanie: Σ (kLi x ai) (L = 1 do N). Wyliczone wartości podawane są na sumatory 742 do 744.
Generator 760 drugiego m-ciągu generuje drugi m-ciąg za pomocą pamięci 705 rejestru i sumatora 735, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0, 5, 7 i 10 pamięci 705 rejestru i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci 705 rejestru sekwencyjnie wyprowadza wartości binarne formujące drugi m-ciąg podczas każdego okresu zegara wejściowego. Sekcje maskujące 714 do 716 przechowują wartości kodów maski (s1i do sNi) do generowania cyklicznych przesunięć drugiego m-ciągu o z góry określoną liczbę bitów (chips). Przesunięcia cykliczne uzyskuje się przez wymnażanie wartości kodów maskujących z wartościami rejestru „bi” pamięci drugiego 705 rejestru. Wyliczone wartości podawane są na sumatory 742 do 744. Każdy z generatorów 750 i 760 m-ciągów generuje m-ciąg zgodnie z wielomianem generującym.
Sumator 740 sumuje wartości rejestru zerowego (to znaczy ostatnie bity) pierwszej i drugiej pamięci 700 i 705 rejestrów w celu generowania kodu szyfrującego, który staje się głównym kodem szyfrującym. Sumatory 742 do 744 dodają jeden bit generowany przez każdą z sekcji maskujących 710 do 712 połączonych z pamięcią 700 pierwszego rejestru przesuwnego do jednego bitu generowanego przez sekcje maskujące 714 do 716 odpowiadające odpowiednio sekcjom maskującym 710 do 712. Innymi słowy, wyjście z pierwszej sekcji maskującej 710 z pierwszej grupy jest sumowane z wyjściem z pierwszej sekcji maskującej 714 drugiej grupy itd., dopóki wyjście z N-tej sekcji maskującej 712 z pierwszej grupy nie zostanie zsumowane z wyjściem z N-tej sekcji maskującej 716 z drugiej grupy. W ten sposób każda z sekcji maskujących 710 - 712 w pierwszej grupie ma odpowiednią sekcję maskującą w sekcjach 714 - 716 drugiej grupy. Wyjścia z odpowiednich sekcji maskujących sumuje się razem w sumatorach 742 - 744. To znaczy, że poszczególne sekcje maskujące mają swoje sprzężenia na zasadzie „jeden do jednego” w stosunku do pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego. Dla przykładu, pierwsza sekcja maskująca 710 pamięci 700 pierwszego rejestru przesuwnego odpowiada pierwszej sekcji maskującej 714 pamięci 705 drugiego rejestru przesuwnego, przy czym N-ta sekcja maskująca 712 odpowiada N-tej sekcji maskującej 716 itd. Pomiędzy dwiema sprzężonymi sekcjami maskującymi (to znaczy pierwszymi sekcjami maskującymi 710 i 714 lub N-tymi sekcjami maskującymi 712 i 716) włączony jest sumator 742 do 744, który sumuje obydwa bity wyjściowe z sekcji maskujących w odpowiedzi na wejściowy sygnał zegarowy. Tutaj sygnały wyjściowe sumatorów 742 do 744 mają składową kanału I.
Elementy opóźniające 722 do 724 i 720 opóźniają sygnały kanału I o z góry określoną liczbę bitów (chips) w celu generowania odpowiednich sygnałów kanałów Q.
Teraz podany zostanie opis działania wynalazku zbudowanego według powyższego opisu.
Po podaniu początkowej wartości dla głównego kodu szyfrującego do pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego, z których każda ma 18 rejestrów do cyklicznego przesuwania wartości „ai” lub „bi”, wartości zerowych rejestrów pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego podaje się na sumator 740 i 18 wartości rejestru „ai” pamięci 700 pierwszego rejestru przesuwnego podaje się na od pierwszej do N-tej sekcje maskujące 710 do 712 w celu wygenerowania cyklicznie przesuwanych ciągów pierwszych rejestrów przesuwnych. W tym czasie 18 wartości rejestru „bi” pamięci 705 drugiego rejestru przesuwnego podaje się na od pierwszej do N-tej sekcje maskujące 714 do 716 w celu generowania cyklicznie przesuwanych ciągów pierwszych rejestrów przesuwnych. Następnie pierwsza sekcja maskująca 710 maskuje wartości wejściowe z pamięci (górnej) 700 pierwszego rejestru przesuwnego (wszystkie 18 bitów z 18 rejestrów w pamięci 700 rejestru przesuwnego) funkcją maskującą k1i (to znaczy Σ (k1i x ai)) i wyprowadza maskowane wartości na sumator 744 w celu wygenerowania pierwszego wtórnego kodu szyfrującego. Maskowanie jest równocześnie przetwarzane we wszystkich sekcjach maskujących 710 - 712. N-ta sekcja maskująca 712 maskuje wartości wejściowe z pierwszych (górnych) rejestrów przesuwnych za pomocą funkcji maskującej k Ni (to znaczy Σ (kNi x ai)) i wyprowadza maskowane wartości na sumator 742 w celu wygenerowania N-tego wtórnego kodu szyfrującego. N-ta sekcja maskująca 716 maskuje wartości wejściowe z drugich (dolnych) rejestrów przesuwnych za pomocą funkcji maskującej sNi (to znaczy Σ (sNi x ai)) i wyprowadza maskowane wartości na sumator 744 w celu wygenerowania N-tego wtórnego kodu szyfrującego. Pierwsza sekcja maskująca 714 maskuje wartości wejściowe z pamięci 705 rejestru za pomocą funkcji maskującej s1i (to znaczy Σ (s1i x ai)) i wyprowadza uzyskane wartości na sumator 742 w celu wygenerowania pierwszego wtórnego kodu szyfrującego. Każda z sekcji maskujących 710 - 712 maskuje wartości wejściowe z pamięci 700 pierwszego rejestru przesuwnego i wyprowadza zamaskowane wartości na odpowiednie sumatory 742 - 744. Następnie sumator 740 sumuje bity wyjściowe rejestrów zerowych pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego. Te wygenerowane sygnały wyjściowe są natychmiast opóźnianie w elemencie opóźniającym 720. Sumator 744 sumuje bity wyjściowe z N-tych sekcji maskujących 712 i 716 w celu wygenerowania sygnałów kanału I, które są natychmiast podawane na element opóźniający 724. Element opóźniający 722 opóźnia sygnały kanału I wyprowadzane z sumatora 744 o z góry określoną liczbę bitów (chips) w celu wygenerowania sygnałów szyfrujących kanału Q. Sumator 742 sumuje bity wyjściowe z pierwszych sekcji maskujących 710 i 714 w celu wygenerowania sygnałów kanału I. Te sygnały kanału I są natychmiast opóźniane o z góry określoną liczbę bitów (chips) w elemencie opóźniającym 722. Następnie dodaje się wartości rejestru zerowego i 7-mego pamięci 700 pierwszego rejestru przesuwnego w sumatorze 730 i zsumowane wartości podaje się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jeden, a skrajny lewy rejestr wypełnia się na nowo wartością wyprowadzoną z sumatora 730. Wartości rejestru zerowego, piątego, siódmego i dziesiątego pamięci 705 drugiego rejestru przesuwnego sumuje się w sumatorze 735 i zsumowaną wartość podaje się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję, a skrajny lewy rejestr (to znaczy rejestr siedemnasty) wypełnia się wartością wyprowadzoną z sumatora 735. Tę procedurę powtarza się w celu wygenerowania wielu kodów szyfrujących.
Na fig. 8 pokazano generator kodów szyfrujących odbiornika służący do równoczesnego generowania jednego głównego kodu szyfrującego i jednego wtórnego kodu szyfrującego. Odbiornik ma używać tylko kody szyfrujące dla wspólnego kanału sterującego i kanału danych i dlatego potrzebuje jednego głównego kodu szyfrującego i jednego wtórnego kodu szyfrującego.
Jak to uwidoczniono na fig. 8, po podaniu początkowej wartości dla głównego kodu szyfrującego do pamięci 840 pierwszego rejestru przesuwnego z 18 górnymi rejestrami przesuwnymi i pamięci 845 drugiego rejestru przesuwnego z 18 dolnymi rejestrami przesuwnymi, wartości rejestru zerowego pamięci 840 i 845 pierwszego i drugiego rejestru przesuwnego podaje się na sumator 810. Na wyjściu sumatora 810 jest główny kod szyfrujący. 18 wartości rejestru „ai” pamięci 840 pierwszego rejestru przesuwnego podaje się na sekcje maskującą 820. W tym czasie 18 wartości rejestru „bi” pamięci 845 drugiego rejestru przesuwnego podaje się na sekcję maskującą 825. Wtedy sekcja maskująca 820 maskuje wartości wejściowe pierwszego rejestru przesuwnego funkcją maskującą ki (to znaczy Σ (ki x ai)) i wyprowadza maskowane wartości na sumator 815 w celu wygenerowania pierwszego wtórnego kodu szyfrującego. Sekcja maskująca 825 maskuje wartości wejściowe z drugiego (dolnego) rejestru przesuwnego za pomocą funkcji maskującej si (to znaczy Σ (si x ai)) i wyprowadza maskowane wartości na sumator 815 w celu wygenerowania wtórnego kodu szyfrującego. Następnie sumator 810 sumuje bity wyjściowe zerowych rejestrów pamięci 800 i 805 pierwszego i drugiego rejestru przesuwnego w celu wygenerowania sygnałów głównego kodu szyfrującego kanału I. Te wygenerowane sygnały głównego kodu szyfrującego kanału I są natychmiast opóźnianie o z góry określoną liczbę bitów (chips) w elemencie opóźniającym 830 w celu wygenerowania sygnałów głównego kodu szyfrującego kanału Q. Sumator 815 sumuje bity wyjściowe z sekcji maskujących 820 i 825 w celu wygenerowania sygnałów głównego kodu szyfrującego dla kanału I, które się natychmiast opóźnia w elemencie opóźniającym 835. Następnie dodaje się wartości rejestru zerowego i 7-mego pierwszych rejestrów przesuwnych w sumatorze 800 i zsumowane wartości podaje się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jeden. Wartości rejestru zerowego, piątego, siódmego i dziesiątego drugich rejestrów przesuwnych sumuje się w sumatorze 805 i zsumowaną wartość podaje się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję. Tę procedurę powtarza się w celu wygenerowania wielu kodów szyfrujących.
Generator kodów szyfrujących według pierwszej postaci wykonania wymaga wielu oddzielnych funkcji maskujących przechowywanych w sekcjach maskujących dla generowania każdego wtórnego kodu szyfrującego, to znaczy używa on 2N funkcji maskujących do generowania N kodów szyfrujących. Zgodnie z tym, struktura kodów szyfrujących głównego i wtórnego pokazanych na fig. 6 pozwala na zastosowanie generatora kodów szyfrujących struktury nadajnika-odbiornika pokazanego na fig. 7 lub 8, który ponadto zawiera tylko 2N funkcji maskujących przy stosunkowo niewielkim stopniu złożoności układów i generuje wiele kodów szyfrujących.
Drugi przykład wykonania
Na fig. 9 pokazano strukturę głównego i wtórnego kodu szyfrującego według drugiej postaci wykonania niniejszego wynalazku. Podczas gdy pierwsza postać maskuje zarówno m-ciąg m1 (t), jak m-ciąg m2 (t) w celu generowania kodów szyfrujących, to druga postać wykonania obejmuje tylko inne od naciągu m1 (t) cykliczne przesuwanie m-ciągu m2 (t) dla generowania ciągów szyfrujących. To znaczy, tę postać wykonania dobrze wyraża równanie 1.
Na fig. 9 pokazano, że w przypadku gdy M wtórnych kodów szyfrujących odpowiada jednemu głównemu kodowi szyfrującemu, to wtedy pierwszy, (M+2)-ty, (2M+3)-ty, ..., ((K-1)*M+K)-ty,... i (511M+512)-ty ciągi Golda wykorzystuje się jako główne kody szyfrujące. Wtórne kody szyfrujące odpowiadające (((K-1)*M+K))-temu ciągowi Golda używanemu jako (K)-ty główny ciąg szyfrujący składają się z M ciągów Golda, to znaczy ((K-1)*M+(K+1)), ((K-1)*M+(K+2)), ... i (K*M+K)-tego ciągu Golda. W tym przypadku, przy używaniu 512 głównych ciągów szyfrujących, każdy ze zbiorów wtórnych kodów szyfrujących odpowiadających 512 głównych kodów szyfrujących składa się z M wtórnych kodów szyfrujących. Przy takiej strukturze, jeśli komórka wykorzystuje jeden z głównych kodów szyfrujących, to wtedy wtórne kody szyfrujące należące do grupy wtórnych kodów szyfrujących odpowiadającej głównemu kodowi szyfrującemu będą wykorzystywane wtedy, gdy zajdzie potrzeba użycia wtórnych kodów szyfrujących. Jak to pokazano na fig. 9, po dokonaniu wyboru głównego kodu szyfrującego, wtórne kody szyfrujące odpowiadające głównemu kodowi szyfrującemu generuje się przez dodawanie cyklicznie przesuwanych pierwszych m-ciągów i drugiego m-ciągu. Tutaj wtórne kody szyfrujące generuje się przez zastosowanie funkcji maskujących wobec ciągów w pamięci pierwszego rejestru przesuwnego. Ten sposób stosuje się w generatorze kodów szyfrujących nadajnika pokazanego na fig. 10, który równocześnie generuje jeden główny kod szyfrujący i wiele wtórnych kodów szyfrujących. W sytuacji przedstawionej na fig. 10, generator 1050 pierwszego m-ciągu zawiera pamięć 1040 pierwszego rejestru przesuwnego (z rejestrami od 0 do 17) i sumator 1010 do sumowania wyjść rejestrów 0 i 7. Generator 1060 drugiego m-ciągu zawiera pamięć 1045 drugiego rejestru przesuwnego (z rejestrami od 0 do 17) i sumator 1015 do sumowania wyjść rejestrów 0, 5, 7 i 10. Generator kodów szyfrujących pokazany na fig. 10 zawiera dwa generatory 1050 i 1060 m-ciągów, sekcje maskujące 1000 do 1005, sumatory 1032 do 1034 i 1030, elementy opóźniające 1022 do 1024 i 1020. Pamięć 1040 pierwszego rejestru przesuwnego przechowuje z góry określoną wartość początkową „a0”, natomiast pamięć 1045 drugiego rejestru przesuwnego przechowuje z góry określoną wartość początkową „b0”. Pamięci 1040 i 1045 rejestrów przesuwnych mogą przechowywać 18 wartości binarnych (bitów lub symboli) „ai” i „bi” (0<i<17). Obydwa generatory m-ciągów 1050 i 1060 generują szeregowo odpowiednie bity wyjściowe zgodnie z ich wielomianami generującymi w każdym takcie impulsu zegarowego (nie pokazanego na rysunku). W drugiej postaci wykonania niniejszego wynalazku wykorzystuje się ciąg Golda o długości 38400 symboli do generowania kodów szyfrujących. W ten sposób pamięci 1040 i 1045 rejestrów przesuwnych można z powrotem ustawić na wartość początkową, gdy każda z pamięci 1040 i 1045 rejestrów przesuwnych wyprowadza ciąg o długości 38400 symboli. Generator 1050 pierwszego m-ciągu generuje pierwszy m-ciąg za pomocą pamięci 1040 rejestru i sumatora 1010, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0 i 7 pamięci rejestru 1040 i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci rejestru 1040 sekwencyjnie wyprowadza wartości binarne formujące pierwszy m-ciąg podczas każdego okresu zegara wejściowego. Sekcje maskujące 1000 do 1005 przechowują wartości kodów maski (k1i do kNi) do generowania cyklicznych przesunięć pierwszego m-ciągu o z góry określoną liczbę bitów (chips). Przesunięcia cykliczne uzyskuje się przez wymnażanie wartości kodów maskujących z wartościami rejestru „ai” pamięci pierwszego rejestru 1040, jak to wyraża następujące równanie: Σ (kLi x ai). Wyliczone wartości podawane są na sumatory 1032 do 1034. W preferowanym przykładzie wykonania niniejszego wynalazku, każda z wartości kodu maski (k 1i do kNi) tworzy nowy ciąg, który jest pierwszym m-ciągiem przesuwanym cyklicznie od 1 do N razy. W ten sposób każda wartość kodu maski jest wyznacza przez pożądaną liczbę cyklicznych przesunięć.
Sumator 1030 sumuje wartości zerowe rejestru (to znaczy ostatnie bity) pierwszej i drugiej pamięci 1040 i 1045 rejestrów w celu generowania kodu szyfrującego, który staje się głównym kodem szyfrującym. Sumatory 1032 do 1034 dodają jeden bit generowany przez każdą z sekcji maskujących 1000 do 1005 do jednego bitu generowanego przez pamięć 1045 drugiego rejestru przesuwnego dla wygenerowania sygnałów kodu szyfrującego kanału I. Wyjście sumatora 1030 wykorzystuje się tutaj jako główny kod szyfrujący, a wyjścia kodów szyfrujących z sumatorów 1032 do 1034 można wykorzystać jako wtórne kody szyfrujące odpowiadające głównemu kodowi szyfrującemu. Niżej zamieszczono przykład możliwych wartości maski (k1i do kni) : k1i = (000000000000000010), k2i = (000000000000000100), k3i = (0000000000000001000),... Poprzez sterowanie wartościami maski generować można inne główne i wtórne kody. Następujący przykład pokazuje, jak uzyskać kod maski potrzebny do cyklicznego przesuwania m-ciągu „n” razy. W ogólności należy podzielić xn przez wielomian generujący dla m-ciągu (to znaczy xn/f (x) i użyć reszty z dzielenia do utworzenia kodu maski. Dla przykładu, jeśli pożądany jest kod maski przesuwający cyklicznie 31 razy, należy wziąć x31 i podzielić je przez wielomian generujący f (x) = x18 + x7 + 1, wyliczyć resztę, której nie można dalej podzielić. Ostateczna reszta ma postać x13 + x9 + x2, co pokazano niżej: x31 = x13x18 = x13 (x7 + 1) = x20 + x13 = x2x18 + x13 = x2 (x7 + 1) + x13 = x13 + x9 + x2
Ciąg binarny odpowiadający x13 + x9 + x2 ma postać 000010001000000100, co stanowi kod maski potrzebny do cyklicznego przesuwania m-ciągu 31 razy.
Elementy opóźniające 1022 do 1024 i 1020 opóźniają sygnały kanału I o z góry określoną liczbę bitów (chips) w celu wygenerowania sygnałów kodu szyfrującego dla kanału Q.
Jak wyżej wyjaśniono, druga postać wykonania niniejszego wynalazku generuje grupy kodów szyfrujących pokazane na fig. 9 i wykorzystuje tylko generator ciągu Golda, sekcje maskujące 1000 do 1005 i sumatory 1022 do 1034.
Teraz nastąpi opis działania niniejszego wynalazku wykonanego w sposób opisany powyżej.
Po podaniu początkowej wartości dla głównego kodu szyfrującego do pamięci 1040 i 1045 pierwszego i drugiego rejestru przesuwnego, z których każda ma 18 rejestrów, zerowe wartości rejestrów pamięci 1040 i 1045 pierwszego i drugiego rejestru przesuwnego podaje się na sumator 1030 i 18 wartości rejestru „ai” pamięci 1040 pierwszego rejestru przesuwnego podaje się na od pierwszej do N-tej sekcje maskujące 1000 do 1005 w celu wygenerowania od 1 do N cyklicznie przesuwanych ciągów pierwszego m-ciągu. Wtedy pierwsza sekcja maskująca 1000 maskuje wartości wejściowe (ai) z pamięci (górnej) 1040 pierwszego rejestru przesuwnego funkcją maskującą k1i do generowania pierwszego wtórnego kodu szyfrującego (to znaczy Σ (k1i x ai)) i wyprowadza maskowane wartości na sumator 1032. N-ta sekcja maskująca 1005 maskuje wartości wejściowe (ai) z pierwszych (górnych) rejestrów przesuwnych 1040 za pomocą funkcji maskującej kNi (to znaczy Σ (kNi x ai)) i wyprowadza maskowane wartości na sumator 1034 w celu wygenerowania N-tego wtórnego kodu szyfrującego. W tym samym czasie sumator 1030 sumuje bity wyjściowe zerowych rejestrów pamięci 1040 i 1045 pierwszego i drugiego rejestru przesuwnego. Te wygenerowane sygnały wyjściowe są natychmiast opóźnianie w elemencie opóźniającym 1022. Sumator 1032 sumuje bity wyjściowe z pierwszej sekcji maskującej 1000 i rejestru zerowego pamięci 1045 drugiego rejestru przesuwnego. Sygnały wyjściowe są natychmiast podawane na element opóźniający 1022. Następnie dodaje się wartości rejestru zerowego i 7-mego rejestru pamięci 1040 pierwszego rejestru przesuwnego w sumatorze 1010 i zsumowane wartości podaje się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jeden, a skrajny lewy rejestr wypełnia się na nowo wartością wyprowadzoną z sumatora 1010. Wartości rejestru zerowego, piątego, siódmego i dziesiątego pamięci 1045 drugiego rejestru przesuwnego sumuje się w sumatorze 1015 i zsumowaną wartość podaje się na wejście rejestru siedemnastego pamięci 1045, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję, a skrajny lewy rejestr (to znaczy rejestr siedemnasty) wypełnia się wartością wyprowadzoną z sumatora 1015. Tę procedurę powtarza się w celu wygenerowania wielu kodów szyfrujących.
Na fig. 11 pokazano schemat blokowy generatora kodów szyfrujących w odbiorniku, który służy do równoczesnego generowania jednego głównego kodu szyfrującego i jednego wtórnego kodu szyfrującego. Przykłady wykonania pokazane na fig. 10 i 11 można zastosować w nadajniku lub odbiorniku.
Odbiornik według drugiej postaci wykonania tego wynalazku musi wykorzystywać tylko jeden kod szyfrujący i dlatego wymaga tylko jednej sekcji maskującej 1100. W sytuacji pokazanej na fig. 11, po podaniu początkowej wartości dla głównego kodu szyfrującego do pamięci 1140 i 1145 pierwszego i drugiego rejestru przesuwnego, z których każda ma 18 rejestrów, zerowe wartości rejestrów pamięci 1140 i 1145 pierwszego i drugiego rejestru przesuwnego po-daje się na sumator 1120. 18 wartości rejestru „ai” pamięci 1140 pierwszego rejestru przesuwnego po-daje się na sekcję maskującą 1100 w celu wygenerowania cyklicznie przesuwanych m-ciągów. Wtedy pierwsza sekcja maskująca 1100 maskuje wartości wejściowe (ai) z pamięci 1140 rejestru wartościami maskującymi ki w celu wygenerowania pierwszego wtórnego kodu szyfrującego (to znaczy Σ (ki x ai)) i wyprowadza maskowane wartości na sumator 1125. Sumator 1120 sumuje bity wyjściowe zerowych rejestrów pamięci 1140 i 1145 pierwszego i drugiego rejestru przesuwnego. Te wygenerowane sygnały wyjściowe z sumatora 1120 są natychmiast opóźnianie w elemencie opóźniającym 1130. W tym czasie sumator 1125 sumuje bity wyjściowe z sekcji maskującej 1100 i zerowego rejestru pamięci 1145 drugiego rejestru przesuwnego i wyprowadza sygnał wynikowy natychmiast do elementu opóźniającego 1135. Następnie dodaje się wartości rejestru zerowego i 7-mego pamięci 1140 pierwszego rejestru przesuwnego w sumatorze 1110, podczas gdy wartości z lewej strony przesuwa się w prawo o jeden, a skrajny lewy rejestr wypełnia się na nowo wartością wyprowadzoną z sumatora 1110. Wartości rejestru zerowego, piątego, siódmego i dziesiątego pamięci 1145 drugiego rejestru przesuwnego sumuje się w sumatorze 1115, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję, a skrajny lewy rejestr wypełnia się wartością wyprowadzoną z sumatora 1115. Wartościami maski może sterować sterownik (nie pokazany na rysunku), gdy odbiornik musi generować inne kody szyfrujące.
Generator kodów szyfrujących według drugiego przykładu wykonania wymaga wartości maski przechowywanych w sekcji maskującej w celu generowania wtórnego kodu szyfrującego, to znaczy używa on N wartości maski do generowania N kodów szyfrujących. Zgodnie z tym, struktura głównego i wtórnego kodu szyfrującego pokazana na fig. 9 pozwala na zastosowanie generatora kodów szyfrujących w nadajniku-odbiorniku o strukturze pokazanej na fig. 10 i 11, który ponadto zawiera tylko N funkcji maskujących przy niewielkiej złożoności układów i może generować wiele kodów szyfrujących.
Fig. 12a ilustruje schemat ideowy ukazujący konstrukcję urządzenia do przesyłania danych według wykonania zgodnie z niniejszym wynalazkiem.
Odnosząc się do fig. 12a, to urządzenie do przesyłania danych składa się z co najmniej dwóch rozdzielaczy (110, 111) w postaci układów mnożących które są skonfigurowane do rozdzielania sygnału danych za pomocą co najmniej jednego kodu ortogonalnego, generatora (100) kodu szyfrującego skonfigurowanego do generowania K-tego głównego kodu szyfrującego lub warunkowo generującego wtórny kod szyfrujący dla K-tego głównego kodu szyfrującego oraz skramblera (120) który jest skonfigurowany do szyfrowania rozdzielonego sygnału danych przy pomocy jednego głównego kodu szyfrującego i wtórnego kodu szyfrującego. Generator (100) kodu szyfrującego jest skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jako K-tego głównego kodu szyfrującego przez dodawanie (((K-1)*M+K)--1)-krotne przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowego generowania przynajmniej jednego z ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący.
Zgodnie z fig. 10, generator (100) kodu szyfrującego zawiera pamięć (1040) pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, gdzie wspomniana pamięć pierwszego rejestru przesuwnego ma liczne rejestry o wartościach ai (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), pamięć (1045) drugiego rejestru przesuwnego do generowania drugiego m-ciągu, gdzie wspomniana pamięć pierwszego rejestru przesuwnego ma liczne rejestry o wartościach bi (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), główny sumator (1030) do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu wygenerowania głównego kodu szyfrującego, liczne sekcje maskujące (1000, 1005) do maskowania ai (i = 0 do c-1) w celu utworzenia ciągów wtórnych, oraz liczne wtórne sumatory (1032, 1034) do sumowania wtórnych ciągów z drugim m-ciągiem w celu utworzenia wtórnych kodów szyfrujących, gdzie każda z sekcji maskujących cyklicznie przesuwa pierwszy m-ciąg z wykorzystaniem maski.
Fig. 12b ilustruje diagram działania przesyłania danych przez urządzenie z fig. 12a. W odniesieniu do fig. 12b, rozdzielacze (110, 111) rozdzielają sygnał danych za pomocą przynajmniej jednego kodu ortogonalnego w etapie 1210, generator (100) kodu szyfrującego generuje ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący przez sumowanie (((K-1)*M+K)-1)-krotnie przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowego generuje przynajmniej jeden z ((K-1)*M+K+1)-tego do (K*-M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego w etapie 1220, a skrambler 120 szyfruje rozdzielony sygnał danych przy pomocy jednego głównego kodu szyfrującego, albo co najmniej jednego wtórnego kodu szyfrującego w etapie 1230, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. W etapie 1220, generator kodu szyfrującego generuje pierwszy m-ciąg z pamięci pierwszego rejestru przesuwnego mającej liczne rejestry o wartościach ai (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), generuje drugi m-ciąg z pamięci drugiego rejestru przesuwnego mającej liczne rejestry o wartościach bi (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), sumuje pierwszy m-ciąg z drugim m-ciągiem w celu wygenerowania głównego kodu szyfrującego, maskuje ai (i-0 do c-1) w celu utworzenia L-tego wtórnego ciągu, który jest m-ciągiem cyklicznie przesuniętym L razy, gdzie 1<L<N. A skram-bler sumuje L-ty wtórny ciąg z drugim m-ciągiem w celu utworzenia L-tego wtórnego kodu szyfrującego.
Fig. 13a ilustruje schemat ideowy ukazujący konstrukcję urządzenia do odbierania danych według wykonania zgodnie z niniejszym wynalazkiem.
Odnosząc się do fig. 13a, urządzenie do odbierania danych zawiera generator (300) kodu szyfrującego który jest skonfigurowany do generowania K-tego głównego kodu szyfrującego, lub warunkowo generującego wtórny kod szyfrujący dla K-tego głównego kodu szyfrującego oraz deskrambler (310) który jest skonfigurowany do odszyfrowywania odebranego sygnału danych przy pomocy jednego głównego kodu szyfrującego lub przynajmniej jednego wtórnego kodu szyfrującego, oraz łącznik (320, 322) w postaci układów mnożących do łączenia odszyfrowanego sygnału danych za pomocą przynajmniej jednego kodu ortogonalnego. Generator kodu szyfrującego jest skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jako K-tego głównego kodu szyfrującego przez zsumowanie (((K-1)*M+K--1))-krotnie przesuniętego m-ciągu i drugiego m-ciągu, lub warunkowo generuje przynajmniej jeden z ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący.
Zgodnie z fig. 13a, generator (300) kodu szyfrującego zawiera pamięć (1140) pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, przy czym wspomniana pamięć pierwszego rejestru przesuwnego ma liczne rejestry o wartościach ai (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), pamięć (1145) drugiego rejestru przesuwnego, przy czym wspomniana pamięć drugiego rejestru przesuwnego ma liczne rejestry o wartościach bi (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), główny sumator (1120) do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu wygenerowania głównego kodu szyfrującego, sekcję maskującą (1100) do maskowania ai (i = 0 do c-1) w celu utworzenia ciągu wtórnego, oraz wtórny sumator (1125) do sumowania wtórnego ciągu z drugim m-ciągiem w celu utworzenia wtórnego kodu szyfrującego, gdzie sekcja maskująca cyklicznie przesuwa pierwszy m-ciąg z wykorzystaniem maski.
Fig. 13b ilustruje diagram działania odbierania danych przez urządzenie z fig. 13a.
Odnosząc się do fig. 13b, generator (300) kodu szyfrującego generuje ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący przez zsumowanie (((K-1)*M+K-1))-krotnie przesuniętego m-ciągu i drugiego m-ciągu, lub warunkowo generuje przynajmniej jeden z ((K-1)*M+K+1)-tego do (K*-M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego w etapie 1310, a deskrambler (310) odszyfrowuje odebrany sygnał danych za pomocą głównego kodu szyfrującego, lub przynajmniej jednego wtórnego kodu szyfrującego w etapie 1320, a łącznik (320, 322) łączy odszyfrowany sygnał danych za pomocą przynajmniej jednego kodu ortogonalnego w etapie 1330, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. W etapie 1310, generator kodu szyfrującego generuje pierwszy m-ciąg z pamięci pierwszego rejestru przesuwnego która ma liczne rejestry o wartościach ai (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), generuje drugi m-ciąg z pamięci drugiego rejestru przesuwnego która ma liczne rejestry o wartościach bi (i = 0 do c-1 gdzie c = całkowita liczba rejestrów), sumuje pierwszy m-ciąg z drugim m-ciągiem w celu wygenerowania głównego kodu szyfrującego, wprowadza ai (i = 0 do c-1) do sekcji maskujących, maskuje ai (i = 0 do c-1) w każdej z sekcji maskujących w celu utworzenia wtórnych ciągów. Natomiast skrambler sumuje każdy z wtórnych ciągów z drugim m-ciągiem w celu utworzenia N wtórnych kodów szyfrujących, gdzie L-ty wtórny ciąg jest pierwszym m-ciągiem przesuniętym L-krot-nie, gdzie 1 <L<N.
Chociaż wynalazek pokazano i opisano w odniesieniu do pewnych preferowanych przykładów wykonania, to dla osób dobrze znających tę dziedzinę techniki jest rzeczą oczywistą, że możliwe jest dokonywanie rozmaitych zmian w formie i szczegółach tego wynalazku, nie odchodząc przy tym od ducha i zakresu wynalazku zdefiniowanego w załączonych zastrzeżeniach patentowych.

Claims (24)

Zastrzeżenia patentowe
1. Urządzenie do transmisji danych w systemie łączności ruchomej, zawierające: rozdzielacz w postaci układu mnożącego (110, 111, 114, 115, 118, 119) skonfigurowanego do rozdzielania sygnału danych z co najmniej jednym kodem ortogonalnym, generator (100) kodu szyfrującego skonfigurowany do generowania K-tego głównego kodu szyfrującego lub warunkowo do generowania wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego; i skrambler (120, 124, 128) skonfigurowany do szyfrowania rozdzielonego sygnału danych za pomocą jednego spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego, w którym generator (100) kodu szyfrującego jest znamienny tym, że został skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jak K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotne przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo do generowania co najmniej jednego spośród ((K-1)*M+K+1)-tego do (K*-M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym generator (100) kodu szyfrującego zawiera pamięć (1040) pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, przy czym ta pamięć pierwszego rejestru przesuwnego ma rejestry z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); pamięć (1045) drugiego rejestru przesuwnego do generowania drugiego m-ciągu, przy czym ta pamięć drugiego rejestru przesuwnego ma rejestry z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumator główny (1030) do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu generowania głównego kodu szyfrującego; wiele sekcji maskujących (1000, 1005) do maskowania ai (i = 0 do c-1) w celu generowania ciągów wtórnych, oraz wiele sumatorów wtórnych (1032, 1034) do sumowania ciągów wtórnych z drugim m-ciągiem w celu generowania wtórnych kodów szyfrujących, w którym każda z sekcji maskujących cyklicznie przesuwa pierwszy m-ciąg przez użycie maski.
2. Urządzenie według zastrz. 1, znamienne tym, że K jest liczbą głównego kodu szyfrującego i 1<K<512.
3. Urządzenie według zastrz. 1, znamienne tym, że obejmuje ponadto środki do przesuwania co najmniej jednego spośród głównego kodu szyfrującego lub wtórnego kodu szyfrującego przez ustaloną liczbę bitów celem utworzenia składowej kanału Q.
4. Urządzenie według zastrz. 1, znamienne tym, że generator kodu szyfrującego zawiera: generator (1050) pierwszego m-ciągu do generowania pierwszego m-ciągu przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generator (1060) drugiego m-ciągu do generowania drugiego m-ciągu przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; co najmniej jedną sekcję maskującą (1000, 1005) do maskowania wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski do generowania trzeciego naciągu, gdzie i = 0 do c-1; i co najmniej jeden sumator (1030, 1032, 1034) do sumowania pierwszego m-ciągu i drugiego m-ciągu celem wygenerowania głównego kodu szyfrującego lub do sumowania trzeciego m -ciągu i drugiego m-ciągu celem wygenerowania wtórnego kodu szyfrującego, przy czym sekcja maskująca przesuwa pierwszy m-ciąg L razy celem wygenerowania L-tego wtórnego kodu szyfrującego związanego z głównym kodem szyfrującym.
5. Urządzenie według zastrz. 4, znamienne tym, że 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na główny kod szyfrujący.
6. Urządzenie według zastrz. 4, znamienne tym, że sekcja maskująca jest opisana wyrażeniem Σ (ki x ai).
7. Urządzenie do odbioru danych w systemie łączności ruchomej, zawierające: generator (300) kodu szyfrującego skonfigurowany do generowania K-tego głównego kodu szyfrującego lub warunkowo do generowania wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego; i deskrambler (310, 315) skonfigurowany do deszyfrowania otrzymanego sygnału danych za pomocą jednego spośród głównego kodu szyfrującego lub co najmniej jednego wtórnego kodu szyfrującego; i łącznik w postaci układu mnożącego (320, 322, 324, 326) do łączenia zdeszy-frowanego sygnału danych z co najmniej jednym kodem ortogonalnym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, w którym generator kodu szyfrującego jest, znamienny tym, że jest skonfigurowany do generowania ((K-1)*M+K)-tego kodu Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotne przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo do generowania co najmniej jednego spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym generator (100) kodu szyfrującego zawiera pamięć (1140) pierwszego rejestru przesuwnego do generowania pierwszego m-ciągu, przy czym wspomniana pamięć pierwszego rejestru przesuwnego ma wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); pamięć (1145) drugiego rejestru przesuwnego do generowania drugiego m-ciągu, przy czym wspomniana pamięć drugiego rejestru przesuwnego zawiera wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumator główny (1120) do sumowania pierwszego m-ciągu z drugim m-ciągiem w celu generowania głównego kodu szyfrującego; sekcję maskującą (1100) do maskowania ai (i = 0 do c-1) w celu generowania ciągu wtórnego, oraz sumator wtórny (1125) do sumowania ciągu wtórnego z drugim m-ciągiem w celu generowania wtórnego kodu szyfrującego, w którym sekcja maskująca cyklicznie przesuwa pierwszy m-ciąg przez użycie maski.
8. Urządzenie według zastrz. 7, znamienne tym, że K jest liczbą głównego kodu szyfrującego i 1<K<512.
9. Urządzenie według zastrz. 7, znamienne tym, że obejmuje ponadto środki do przesuwania co najmniej jednego spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego ustaloną liczbę bitów celem utworzenia składowej kanału Q.
10. Urządzenie według zastrz. 7, znamienne tym, że generator kodu szyfrującego zawiera: generator (1050) pierwszego m-ciągu do generowania pierwszego m-ciągu przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generator (1060) drugiego m-ciągu do generowania drugiego m-ciągu przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; co najmniej jedną sekcję maskującą (1000, 1005) do maskowania wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; i co najmniej jeden sumator (1030, 1032, 1034) do sumowania pierwszego m-ciągu i drugiego m-ciągu celem wygenerowania głównego kodu szyfrującego lub do sumowania trzeciego m-ciągu i drugiego m-ciągu celem wygenerowania wtórnego kodu szyfrującego, przy czym sekcja maskująca przesuwa pierwszy m-ciąg L razy celem wygenerowania L-tego wtórnego kodu szyfrującego związanego z głównym kodem szyfrującym.
11. Urządzenie według zastrz. 10, znamienne tym, że 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący.
12. Urządzenie według zastrz. 10, znamienne tym, że sekcja maskująca jest opisana wyrażeniem Σ (ki x ai).
13. Sposób transmisji danych w systemie łączności ruchomej, znamienny tym, że zawiera etapy w których: rozdziela się (1210) w rozdzielaczu (110, 111, 114, 115, 118, 119) sygnał danych z co najmniej jednym kodem ortogonalnym; generuje się (1220) w generatorze (100) kodu szyfrującego ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotnie przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo generuje się co najmniej jeden spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego; i szyfruje się (1230) w skramblerze (120, 124, 128) rozdzielony sygnał danych jednym spośród głównego kodu szyfrującego lub co najmniej jednym wtórnym kodem szyfrującym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym etap generowania obejmuje: generowanie pierwszego m-ciągu z pamięci pierwszego rejestru przesuwnego mającego wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); generowanie drugiego m-ciągu z pamięci drugiego rejestru przesuwnego mającego wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumowanie pierwszego m-ciągu z drugim m-ciągiem dla wygenerowania głównego kodu szyfrującego; i maskowanie ai (i = 0 do c-1) dla wygenerowania L-tego wtórnego ciągu, który jest pierwszym m-ciągiem przesuwanym cyklicznie L razy, gdzie 1< ><L< ><N, natomiast etap szyfrowania obejmuje: sumowanie L-tego wtórnego ciągu z drugim m-ciągiem w celu wygenerowania L-tego wtórnego ciągu szyfrującego.
14. Sposób według zastrz. 13, znamienny tym, że K jest liczbą głównego kodu szyfrującego i 1<K<512.
15. Sposób według zastrz. 13, znamienny tym, że ponadto przesuwa się co najmniej jeden spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego o ustaloną liczbę bitów celem utworzenia składowej kanału Q w co najmniej jednym opóźnieniu.
16. Sposób według zastrz. 13, znamienny tym, że w etapie generowania kodu szyfrującego: generuje się, w generatorze (1050) pierwszego m-ciągu, pierwszy m-ciąg przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generuje się, w generatorze (1050) drugiego m-ciągu, drugi m-ciąg przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; przesuwa się w co najmniej jednej sekcji maskującej (1000, 1005), wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski celem wygenerowania trzeciego m-ciągu, gdzie i = 0 do c-1; oraz sumuje się w co najmniej jednym sumatorze (1030, 1032, 30 1034), pierwszy m-ciąg i drugi m-ciąg celem wygenerowania głównego kodu szyfrującego lub sumuje się trzeci m-ciąg i drugi m-ciąg celem wygenerowania wtórnego kodu szyfrującego, przy czym L-ty wtórny kod szyfrujący związany z głównym kodem szyfrującym generuje się przez L-krotne przesunięcie pierwszego m-ciągu.
17. Sposób według zastrz. 16, znamienny tym, że 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący.
18. Sposób według zastrz. 16, znamienny tym, że etap przesuwania jest opisany wyrażeniem Σ (ki x ai).
19. Sposób odbioru danych w systemie łączności ruchomej, znamienny tym, że zawiera etapy w których: generuje się (1310) w generatorze kodu szyfrującego (300), ((K-1)*M+K)-ty kod Golda jako K-ty główny kod szyfrujący poprzez dodanie (((K-1)*M+K)-1)-krotnie przesuniętego pierwszego m-ciągu i drugiego m-ciągu, lub warunkowo generuje się co najmniej jeden spośród ((K-1)*M+K+1)-tego do (K*M+K)-tego kodu Golda jako wtórny kod szyfrujący K-tego głównego kodu szyfrującego; i deszyfruje się (1320) w deskramblerze (310, 315), otrzymany sygnał danych jednym spośród głównego kodu szyfrującego lub co najmniej jednym wtórnym kodem szyfrującym; i łączy się (1330) w łączniku (320, 322, 324, 326), deszyfrowany sygnał danych z co najmniej jednym kodem ortogonalnym, gdzie K jest liczbą naturalną, a M jest całkowitą liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym etap generowania obejmuje: generowanie pierwszego m-ciągu z pamięci pierwszego rejestru przesuwnego mającej wiele rejestrów z wartościami ai (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); generowanie drugiego m-ciągu z pamięci drugiego rejestru przesuwnego mającej wiele rejestrów z wartościami bi (i = 0 do c-1, gdzie c jest równa całkowitej liczbie rejestrów); sumowanie pierwszego m-ciągu z drugim m-ciągiem dla wygenerowania głównego kodu szyfrującego; wprowadzanie ai (i = 0 do c-1) do sekcji maskujących; maskowanie ai (i = 0 do c-1) w każdej z sekcji maskujących dla wygenerowania ciągów wtórnych; natomiast etap łączenia obejmuje: sumowanie każdego z wtórnego ciągu z drugim m-ciągiem dla wygenerowania N wtórnych ciągów szyfrujących, gdzie L-ty wtórny ciąg jest pierwszym m-ciągiem przesuwanym cyklicznie L razy, gdzie 1<^L<^N.
20. Sposób według zastrz. 19, znamienny tym, że K jest liczbą głównego kodu szyfrującego i 1 <K<512.
21. Sposób według zastrz. 19, znamienny tym, że ponadto obejmuje to, że: przesuwa się co najmniej jeden spośród głównego kodu szyfrującego i wtórnego kodu szyfrującego o ustaloną liczbę bitów celem utworzenia składowej kanału Q w co najmniej jednym opóźnieniu.
22. Sposób według zastrz. 19, znamienny tym, że etap generowania kodu szyfrującego obejmuje to, że: generuje się pierwszy m-ciąg przez użycie szeregu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego w generatorze pierwszego m-ciągu, gdzie i = 0 do c-1, a c jest całkowitą liczbą pierwszych rejestrów; generuje się drugi m-ciąg przez użycie szeregu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego w generatorze drugiego m-ciągu, gdzie j = 0 do c-1, a c jest całkowitą liczbą drugich rejestrów; przesuwa się wartości ai pierwszego rejestru przesuwnego z pierwszym zestawem wartości Ki maski celem wygenerowania trzeciego m-ciągu w co najmniej jednej sekcji maskującej, gdzie i = 0 do c-1; oraz sumuje się pierwszy m-ciąg i drugi m-ciąg celem wygenerowania głównego kodu szyfrującego lub sumuje się trzeci m-ciąg i drugi m-ciąg celem wygenerowania wtórnego kodu szyfrującego w co najmniej jednym sumatorze, przy czym L-ty wtórny kod szyfrujący związany z głównym kodem szyfrującym generuje się przez L-krotne przesunięcie pierwszego m-ciągu w sekcji maskującej.
23. Sposób według zastrz. 22, znamienny tym, że 1<L<M, gdzie M jest całkowitą liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący.
24. Sposób według zastrz. 22, znamienny tym, że etap przesuwania jest opisany wyrażeniem Σ (ki x ai).
PL346620A 1999-07-07 2000-07-07 Urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS PL232813B1 (pl)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR19990027279 1999-07-07
KR1999/27279 1999-07-07
PCT/KR2000/000735 WO2001005079A1 (en) 1999-07-07 2000-07-07 Apparatus and method for generating scrambling code in umts mobile communication system

Publications (2)

Publication Number Publication Date
PL346620A1 PL346620A1 (en) 2002-02-25
PL232813B1 true PL232813B1 (pl) 2019-07-31

Family

ID=19599971

Family Applications (2)

Application Number Title Priority Date Filing Date
PL406392A PL234297B1 (pl) 1999-07-07 2000-07-07 Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS
PL346620A PL232813B1 (pl) 1999-07-07 2000-07-07 Urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PL406392A PL234297B1 (pl) 1999-07-07 2000-07-07 Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS

Country Status (19)

Country Link
US (2) US7362867B1 (pl)
EP (4) EP1351421B1 (pl)
JP (2) JP3640923B2 (pl)
KR (1) KR100374354B1 (pl)
CN (4) CN100448188C (pl)
AT (4) ATE372618T1 (pl)
AU (1) AU752300B2 (pl)
BR (1) BRPI0006898B1 (pl)
CA (3) CA2605221C (pl)
DE (4) DE60036315T2 (pl)
DK (2) DK1351421T3 (pl)
ES (4) ES2295483T3 (pl)
ID (1) ID29401A (pl)
IL (3) IL141787A0 (pl)
PL (2) PL234297B1 (pl)
PT (3) PT1351421E (pl)
RU (1) RU2185031C1 (pl)
WO (1) WO2001005079A1 (pl)
ZA (1) ZA200101908B (pl)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3565102B2 (ja) 1999-08-13 2004-09-15 日本電気株式会社 下り回線拡散符号割り当て方法及び基地局
KR100434262B1 (ko) 1999-08-17 2004-06-04 엘지전자 주식회사 순방향 다중 스크램블링 코드 발생 방법
KR100424538B1 (ko) * 2001-05-29 2004-03-27 엘지전자 주식회사 이동통신시스템에서의 스크램블링 코드 생성 장치 및 방법
DE60211846D1 (de) * 2002-03-07 2006-07-06 St Microelectronics Srl Verfahren, System und Computerprogramm zur Erzeugung von Codes für CDMA-Nachrichtenübertragung
US7487444B2 (en) 2002-03-19 2009-02-03 Aol Llc Reformatting columns of content for display
US8699505B2 (en) * 2002-05-31 2014-04-15 Qualcomm Incorporated Dynamic channelization code allocation
US7826613B2 (en) * 2002-08-19 2010-11-02 Qualcomm Incorporated Stream cipher cryptographic system and method
JP4276009B2 (ja) * 2003-02-06 2009-06-10 株式会社エヌ・ティ・ティ・ドコモ 移動局、基地局、無線伝送プログラム、及び無線伝送方法
US7933250B2 (en) * 2003-06-23 2011-04-26 Qualcomm Incorporated Code channel management in a wireless communications system
US8072942B2 (en) * 2003-11-26 2011-12-06 Qualcomm Incorporated Code channel management in a wireless communications system
EP1578053A1 (en) * 2004-03-18 2005-09-21 STMicroelectronics Limited Data obfuscation
CN1691656B (zh) * 2004-04-26 2010-08-18 上海明波通信技术有限公司 在数字通信***中生成扰码的方法及其装置
JP4643978B2 (ja) * 2004-12-01 2011-03-02 ルネサスエレクトロニクス株式会社 スクランブル回路、デ・スクランブル回路及び方法、並びにディスク装置
WO2006100368A1 (fr) * 2005-03-22 2006-09-28 France Telecom Equipement, procede, programme et ordinateur pour la generation de code complexe.
US7876806B2 (en) * 2005-03-24 2011-01-25 Interdigital Technology Corporation Orthogonal frequency division multiplexing-code division multiple access system
US8614695B2 (en) * 2005-06-07 2013-12-24 Intel Corporation Ultrasonic tracking
US8064424B2 (en) * 2005-07-22 2011-11-22 Qualcomm Incorporated SDMA for WCDMA
US20090129448A1 (en) * 2006-02-15 2009-05-21 Joshua Lawrence Koslov Apparatus and Method For Generating Scrambling Codes
US8102900B2 (en) * 2006-04-07 2012-01-24 Broadcom Corporation Method and apparatus for efficient gold code generation and management in WCDMA systems
CN101064581B (zh) * 2006-04-27 2012-07-04 上海宣普实业有限公司 一种解扰解扩的方法与装置
BRPI0713707A2 (pt) 2006-06-21 2012-10-30 Qualcomm Inc métodos e aparelho de alocação de recurso sem fio
WO2007149997A2 (en) 2006-06-21 2007-12-27 Qualcomm Incorporated Methods and apparatus for measuring, communicating and/or using interference information
TWI372539B (en) 2006-06-23 2012-09-11 Qualcomm Inc Methods and systems for processing overhead reduction for control channel packets
JP4911452B2 (ja) * 2006-06-27 2012-04-04 株式会社メガチップス 半導体メモリ及びデータ授受システム
KR101294781B1 (ko) 2006-08-08 2013-08-09 엘지전자 주식회사 랜덤 액세스 프리앰블 전송 방법
JP4444259B2 (ja) * 2006-10-03 2010-03-31 株式会社エヌ・ティ・ティ・ドコモ 下りリンクスクランブル方法および基地局装置
CN101136649B (zh) * 2006-10-12 2010-06-23 中兴通讯股份有限公司 复用扰码发生器
KR100753191B1 (ko) * 2007-05-16 2007-08-30 삼성전자주식회사 이동 통신 시스템의 스크램블링 코드 할당 방법
US8971305B2 (en) 2007-06-05 2015-03-03 Qualcomm Incorporated Pseudo-random sequence mapping in wireless communications
CN101068135B (zh) * 2007-06-27 2011-11-23 中兴通讯股份有限公司 主扰码序列生成装置
US8289946B2 (en) * 2007-08-14 2012-10-16 Qualcomm Incorporated Reference signal generation in a wireless communication system
EP2195761B1 (en) * 2007-10-01 2013-04-03 Research In Motion Limited Substitution table masking for cryptographic processes
US8848913B2 (en) 2007-10-04 2014-09-30 Qualcomm Incorporated Scrambling sequence generation in a communication system
US8503547B2 (en) * 2007-10-11 2013-08-06 Qualcomm Incorporated Scrambling codes for secondary synchronization codes in wireless communication systems
US8787181B2 (en) 2008-01-14 2014-07-22 Qualcomm Incorporated Resource allocation randomization
US8923249B2 (en) * 2008-03-26 2014-12-30 Qualcomm Incorporated Method and apparatus for scrambling sequence generation in a communication system
US7983306B2 (en) 2008-07-23 2011-07-19 Conexant Systems, Inc. Method and apparatus for channelizing sampled broadband signal
KR100991957B1 (ko) * 2009-01-20 2010-11-04 주식회사 팬택 광대역 무선통신시스템에서의 스크램블링 코드 생성 장치 및 그 방법
US8315291B2 (en) * 2009-07-02 2012-11-20 Cambridge Silicon Radio Limited Method and apparatus for generating scrambling codes
KR101685173B1 (ko) 2009-07-13 2016-12-12 주식회사 팬택 무선통신 시스템에서의 시퀀스 생성 방법 및 그 장치
GB2472594B (en) * 2009-08-11 2011-11-30 Ubiquisys Ltd Scrambling code selection
CN103684463B (zh) * 2013-11-26 2016-08-17 北京空间机电研究所 基于fwnn预测网络的流水线结构的模数转换***
FR3025322B1 (fr) * 2014-08-29 2016-09-30 Commissariat Energie Atomique Methode d'acquisition d'une sequence de gold par double decodage iteratif
KR101794760B1 (ko) * 2015-12-29 2017-11-07 국방과학연구소 확산 부호 생성 장치 및 그 확산 부호 생성 방법
KR102243889B1 (ko) * 2019-12-13 2021-04-23 국방과학연구소 데이터 복호화 장치 및 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US705257A (en) * 1898-09-14 1902-07-22 James G Simonton Buttonhole-sewing machine.
DE2124320C1 (de) * 1971-05-17 1978-04-27 Siemens Ag, 1000 Berlin Und 8000 Muenchen Elektrische Schaltung zur Erzeugung einer Vielzahl verschiedener Codes
US3818442A (en) * 1972-11-08 1974-06-18 Trw Inc Error-correcting decoder for group codes
JPS5947833A (ja) 1982-09-10 1984-03-17 Clarion Co Ltd M系列発生装置
US4707839A (en) * 1983-09-26 1987-11-17 Harris Corporation Spread spectrum correlator for recovering CCSK data from a PN spread MSK waveform
EP0386781B1 (en) * 1989-03-09 1996-06-19 Oki Electric Industry Co., Ltd. Method for scrambling/descrambling data by word-by-word processing
EP0445354A3 (en) * 1990-03-08 1992-05-27 Oki Electric Industry Co., Ltd. Apparatus for scrambling/descrambling data by word-by-word processing
US5550809A (en) * 1992-04-10 1996-08-27 Ericsson Ge Mobile Communications, Inc. Multiple access coding using bent sequences for mobile radio communications
KR960007678B1 (ko) * 1993-06-18 1996-06-08 이병기 병렬 분산 표본 스크램블링 시스템
JPH08331120A (ja) * 1995-06-02 1996-12-13 Oki Electric Ind Co Ltd スクランブル符号生成回路
US5942005A (en) * 1997-04-08 1999-08-24 International Business Machines Corporation Method and means for computationally efficient error and erasure correction in linear cyclic codes
US6108369A (en) * 1997-07-11 2000-08-22 Telefonaktiebolaget Lm Ericsson Channelization code allocation for radio communication systems
US6185244B1 (en) * 1997-08-29 2001-02-06 Telefonaktiebolaget Lm Ericsson Cell searching in a CDMA communications system
SE9703161L (sv) * 1997-09-02 1999-03-03 Ericsson Telefon Ab L M Förfarande för telekommunikation
CN1160888C (zh) * 1997-11-19 2004-08-04 Ntt移动通信网株式会社 同时多代码序列产生器和采用其的码分多址无线接收机
US6058214A (en) * 1998-01-20 2000-05-02 At&T Corp. Compression of partially masked still images
US6754251B1 (en) * 1998-03-09 2004-06-22 Texas Instruments Incorporated Spread-spectrum telephony with accelerated code acquisition
JPH11275052A (ja) * 1998-03-19 1999-10-08 Fujitsu Ltd 拡散符号化装置およびその方法
KR100326182B1 (ko) * 1998-03-23 2002-07-02 윤종용 부호분할다중접속통신시스템의의사잡음시퀀스발생방법및장치
JP3028800B2 (ja) * 1998-05-01 2000-04-04 日本電気株式会社 Cdmaセルラシステム及びcdmaセルラシステムにおける拡散符号検出方法
US6526091B1 (en) * 1998-08-17 2003-02-25 Telefonaktiebolaget Lm Ericsson Communication methods and apparatus based on orthogonal hadamard-based sequences having selected correlation properties
US6141374A (en) * 1998-10-14 2000-10-31 Lucent Technologies Inc. Method and apparatus for generating multiple matched-filter PN vectors in a CDMA demodulator
US6339646B1 (en) * 1998-11-03 2002-01-15 Telefonaktiebolaget Lm Ericsson Slotted mode code usage in a cellular communications system
US6389138B1 (en) * 1998-11-12 2002-05-14 Lucent Technologies Inc. Method and apparatus for generating a complex scrambling code sequence
US6636553B1 (en) * 1998-12-29 2003-10-21 Texas Instruments Incorporated Pseudorandom noise generator for WCDMA
US6560212B1 (en) * 1999-03-16 2003-05-06 Agere Systems Inc. Generating an offset de-bruijn sequence using masks for a CDMA communication system
KR100434262B1 (ko) * 1999-08-17 2004-06-04 엘지전자 주식회사 순방향 다중 스크램블링 코드 발생 방법
US7173992B2 (en) * 2001-12-11 2007-02-06 Sasken Communication Technologies Limited Method for synchronization in wireless systems using receive diversity
DE60211846D1 (de) * 2002-03-07 2006-07-06 St Microelectronics Srl Verfahren, System und Computerprogramm zur Erzeugung von Codes für CDMA-Nachrichtenübertragung

Also Published As

Publication number Publication date
CN1496039A (zh) 2004-05-12
AU752300B2 (en) 2002-09-12
DE60019394D1 (de) 2005-05-19
ATE557487T1 (de) 2012-05-15
JP3640923B2 (ja) 2005-04-20
CA2342808C (en) 2012-11-27
EP1429485B1 (en) 2007-09-05
CN100448188C (zh) 2008-12-31
AU5710800A (en) 2001-01-30
EP1429484B1 (en) 2012-05-09
RU2185031C1 (ru) 2002-07-10
PT1429485E (pt) 2007-09-25
EP1429485A1 (en) 2004-06-16
IL173518A0 (en) 2006-07-05
US20050084112A1 (en) 2005-04-21
DE60037541D1 (de) 2008-01-31
DE60036315D1 (de) 2007-10-18
ATE381819T1 (de) 2008-01-15
CN1496038A (zh) 2004-05-12
PL346620A1 (en) 2002-02-25
DE60019394T2 (de) 2005-09-08
PL234297B1 (pl) 2020-01-31
US7362867B1 (en) 2008-04-22
DK1351421T3 (da) 2008-01-14
EP1351421B1 (en) 2007-12-19
CN1168243C (zh) 2004-09-22
BR0006898A (pt) 2001-10-30
ZA200101908B (en) 2002-06-05
ES2295483T3 (es) 2008-04-16
CN1496044A (zh) 2004-05-12
CA2605221C (en) 2013-05-21
DK1112632T3 (da) 2005-06-27
KR100374354B1 (ko) 2003-03-04
EP1351421A1 (en) 2003-10-08
DE20023092U1 (de) 2003-01-16
BRPI0006898B1 (pt) 2016-03-29
PT1351421E (pt) 2008-01-10
ES2387670T3 (es) 2012-09-28
EP1429484A1 (en) 2004-06-16
EP1112632A4 (en) 2002-07-03
WO2001005079A1 (en) 2001-01-18
US7536014B2 (en) 2009-05-19
CA2342808A1 (en) 2001-01-18
CA2605221A1 (en) 2001-01-18
EP1112632B1 (en) 2005-04-13
CN1321378A (zh) 2001-11-07
JP3840227B2 (ja) 2006-11-01
ES2240114T3 (es) 2005-10-16
IL141787A (en) 2009-08-03
DE60036315T2 (de) 2008-01-03
IL141787A0 (en) 2002-03-10
ATE293322T1 (de) 2005-04-15
CN100440766C (zh) 2008-12-03
CA2526112C (en) 2012-09-18
PT1112632E (pt) 2005-06-30
ES2290399T3 (es) 2008-02-16
DE60037541T2 (de) 2008-04-30
ID29401A (id) 2001-08-30
JP2004173321A (ja) 2004-06-17
JP2003504946A (ja) 2003-02-04
ATE372618T1 (de) 2007-09-15
EP1112632A1 (en) 2001-07-04
KR20010015235A (ko) 2001-02-26
CA2526112A1 (en) 2001-01-18
PL406392A1 (pl) 2014-03-17
IL173518A (en) 2014-04-30

Similar Documents

Publication Publication Date Title
PL232813B1 (pl) Urządzenie i sposób generowania kodu szyfrującego w systemie łączności ruchomej UMTS
EP0983647B1 (en) Device and method for generating PN sequence in CDMA communication system
CA2305264C (en) Method and apparatus for generating a stream cipher
US6091760A (en) Non-recursively generated orthogonal PN codes for variable rate CDMA
EP0318581A1 (en) High speed scrambling at lower clock speeds
AU767511B2 (en) Apparatus and method for spreading channel data in CDMA communication system using orthogonal transmit diversity
US7269201B2 (en) Time-delayed transmitted reference spread spectrum transmitter with digital noise generator
JPH0683204B2 (ja) スクランブル・デスクランブル方式
Chopra et al. Design of a hybrid fiber-optic network using 3-D optical code sequences