PL234297B1 - Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS - Google Patents

Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS Download PDF

Info

Publication number
PL234297B1
PL234297B1 PL406392A PL40639200A PL234297B1 PL 234297 B1 PL234297 B1 PL 234297B1 PL 406392 A PL406392 A PL 406392A PL 40639200 A PL40639200 A PL 40639200A PL 234297 B1 PL234297 B1 PL 234297B1
Authority
PL
Poland
Prior art keywords
scrambling code
code
sequence
generator
generate
Prior art date
Application number
PL406392A
Other languages
English (en)
Other versions
PL406392A1 (pl
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=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PL234297(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 PL406392A1 publication Critical patent/PL406392A1/pl
Publication of PL234297B1 publication Critical patent/PL234297B1/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

Description

Opis wynalazku
Dziedzina wynalazku
Niniejszy wynalazek dotyczy w ogólności urządzenia do generowania kodów szyfrujących w systemie łączności ruchomej, a w szczególności urządzenia do generowania wielu kodów szyfrujących przy użyciu kodów maskujących.
Tło wynalazku
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ą korelacją wzajemną. 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 jest 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 działają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, np. wynosić 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.
Na fig. 1 pokazano schemat blokowy struktury nadajnika dla łącza w dół w systemie łączności ruchomej UTMS.
Jak 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 oraz Q wyprowadzone oddzielnie z demultipleksera 101 są podawane na układy mnożące 110 i 111. Układy mnożące 110 i 111 wymnażają kanały I oraz Q z kodem ortogonalnym 1 dla separacji kanałów i wysyłają sygnał wyjściowy do układu skramblera 120. Podobnie, kanały I oraz Q wyprowadzone oddzielnie z demultiplekserów 102-104 poddaje się takiej samej operacji
PL 234 297 B1 jak wyżej i doprowadza się do N układów 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 skrambleró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ż faktem jest, ż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 np. 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 kodów ortogonalnych 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, tzn. 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ącymi, 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 pokazano na fig. 1 i 2, składowe kanałów I oraz 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 sygnały sprzężonych kodów szyfrujących odbieranych od generatora 300 grup kodów szyfrujących dla odszyfrowania odebranych sygnałów, a następnie wyprowadzają składowe kanału I oraz Q odszyfrowanych sygnałów na odpowiednie układy mnożące 320, 322, 324 i 326. Tutaj kody ortogonalne przydzielone do odpowiednich kanałów są koncentrowane w układach mnożących 320, 322, 324 i 326 i wyprowadzane do odpowiednich demultiplekserów 330 i 350. Demultipleksery 330 i 350 demultipleksują skoncentrowane składowe kanału I oraz 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
PL 234 297 B1 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 zaimplementowany w postaci generatora wielomianu zdefiniowanego jako f(x) = x18+x7+1, a rejestr przesuwny generujący dolny m-ciąg jest zaimplementowany w postaci generatora wielomianu zdefiniowanego jako f(x) = 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.
Skrócony opis wynalazku
Dlatego celem tego wynalazku jest dostarczenie urządzenia do 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 do 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 do 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.
Aby osiągnąć wyżej wymienione cele niniejszego wynalazku, dostarcza się urządzenie do transmisji danych w systemie łączności ruchomej, które zawiera 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, które to urządzenie do transmisji danych w systemie łączności ruchomej wyróżnia się tym, że generator kodu szyfrującego został 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. K jest liczbą naturalną, a M jest sumaryczną liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. K jest liczbą głównego kodu szyfrującego i spełnia zależność 1<K<512. Urządzenie do transmisji danych obejmuje ponadto środki do przesuwania co najmniej jednego spośród głównego kodu szyfrującego lub wtórnego kodu szyfrującego o 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 sumaryczną 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 sumaryczną liczbą drugich rejestrów; co najmniej jedną sekcję maskującą do maskowania wartości ai pierwszego rejestru przesuwnego za pomocą pierwszego zestawu wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; i co najmniej jeden sumator
PL 234 297 B1 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. 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. L spełnia zależność 1<L<M, gdzie M jest sumaryczną liczbą wtórnych kodów szyfrujących przypadających na główny kod szyfrujący. Sekcja maskująca jest opisana wyrażeniem Σ(Κϊ x ai). Urządzenie do odbioru danych w systemie łączności ruchomej zawiera generator kodu szyfrującego skonfigurowany do generowania K-tego głównego kodu lub warunkowo do generowania wtórnego kodu szyfrującego K-tego głównego kodu szyfrującego; i 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 sumaryczną liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący. K jest liczbą głównego kodu szyfrującego i 1<K<512. Urządzenie do odbioru danych 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. 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 sumaryczną 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 sumaryczną liczbą drugich rejestrów; co najmniej jedną sekcję maskującą do maskowania wartości ai pierwszego rejestru przesuwnego za pomocą pierwszego zestawu 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. L spełnia zależność, że 1<L<M, gdzie M jest sumaryczną liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący. Sekcja maskująca jest opisana wyrażeniem Σ(Κ x ai).
Krótki opis figur rysunku
Cele wyżej wymienione i inne oraz cechy i zalety niniejszego wynalazku staną się bardziej zrozumiałe po zapoznaniu się z poniższym szczegółowym opisem w połączeniu z załączonymi figurami rysunku, z których:
Fig. 1 jest schematem blokowym przedstawiającym strukturę znanego nadajnika łącza w dół w ogólnym systemie łączności ruchomej UTMS;
Fig. 2 jest schematem blokowym przedstawiającym znany generator grup kodów szyfrujących z fig. 1;
Fig. 3 jest schematem blokowym przedstawiającym strukturę znanego odbiornika łącza w dół w ogólnym systemie łączności ruchomej UMTS;
Fig. 4 jest schematem blokowym przedstawiającym strukturę znanego generatora grup kodów szyfrujących z fig. 3;
Fig. 5 jest szczegółowym schematem blokowym pokazującym strukturę znanego generatora grup ciągów Golda w ogólnym systemie łączności ruchomej UMTS;
Fig. 6 jest schematem blokowym przedstawiającym strukturę kodu szyfrującego według pierwszej postaci niniejszego wynalazku;
Fig. 7 jest szczegółowym schematem blokowym pokazującym strukturę generatora grup kodów szyfrujących w nadajniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z pierwszą postacią wykonania niniejszego wynalazku;
Fig. 8 jest szczegółowym schematem blokowym pokazującym strukturę generatora grup kodów szyfrujących w odbiorniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z pierwszą postacią wykonania niniejszego wynalazku;
Fig. 9 jest schematem pokazującym strukturę kodu szyfrującego według drugiej postaci niniejszego wynalazku;
Fig. 10 jest szczegółowym schematem blokowym pokazującym strukturę generatora grup kodów szyfrujących w nadajniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z drugą postacią wykonania niniejszego wynalazku; oraz
PL 234 297 B1
Fig. 11 jest szczegółowym schematem blokowym pokazującym strukturę generatora grup kodów szyfrujących w odbiorniku łącza w dół w systemie łączności ruchomej UMTS zgodnie z drugą postacią wykonania niniejszego wynalazku.
Szczegółowy opis preferowanych przykładów wykonania
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 m 1(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 = <mi(t+T)+m2(t) I 0<t<L-1>, gdzie t jest numerem zmiennej czasowej, a τ wartością przesunięcia. Jak 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- Oznacza to, ż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, 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 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 obejmujący: pamięć górnego rejestru przesuwnego (nazywaną dalej „pamięcią
PL 234 297 B1 pierwszego rejestru przesuwnego”) 700 (z rejestrami od 0 do 17) oraz sumator 730, i generator 760 drugiego m-ciągu, obejmujący pamięć dolnego rejestru przesuwnego (nazywaną dalej „pamięcią drugiego rejestru przesuwnego”) 705 (z rejestrami od 0 do 17) i sumator 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ęć 700 pierwszego rejestru przesuwnego przechowuje ustaloną początkową wartość „a0” rejestru, a pamięć 705 drugiego rejestru przesuwnego przechowuje ustaloną początkową wartość „b0” rejestru. 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 (którego nie pokazano na rysunku). Pamięć rejestrowa 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 rejestrowych 700 i 705).
Generator 750 pierwszego m-ciągu generuje pierwszy m-ciąg za pomocą pamięci rejestrowej 700 i sumatora 730, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0 i 7 pamięci rejestrowej 700 i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci rejestrowej 700 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 (k1i do kNi) kodów maski 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 „ai” rejestru pamięci 700 pierwszego rejestru przesuwnego, jak wyrażono w następującym równaniu: Z(kLi χ 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 rejestrowej 705 i sumatora 735, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0, 5, 7 i 10 pamięci rejestrowej 705 i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci rejestrowej 705 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 (s1i do sNi) kodów maski 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 „bi” rejestru pamięci 705 drugiego rejestru przesuwnego. 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 (tzn. ostatnie bity) pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego 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 (tzn. 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” rejestru, wartości zerowych rejestrów pamięci 700 i 705 pierwszego i drugiego rejestru przesuwnego doprowadza się na sumator 740 i 18 wartości „ai” rejestru pamięci 700 pierwszego rejestru przesuwnego doprowadza się na pierwszą do N-tej sekcji maskujących 710 do 712 w celu wygenerowania cyklicznie przesuwanych ciągów pierwszych rejestrów przesuwnych. W tym
PL 234 297 B1 czasie 18 wartości rejestru „bi” pamięci 705 drugiego rejestru przesuwnego doprowadza się na pierwszą do N-tej sekcji maskujących 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 700 (górnego) pierwszego rejestru przesuwnego (wszystkie 18 bitów z 18 rejestrów w pamięci 700 rejestru przesuwnego) funkcją maskującą k1 (tzn. Z(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 kNi (tzn. Z(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 (tzn. Z(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 rejestrowej 705 za pomocą funkcji maskującej s1i (tzn. Σ(β1ί 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óźniane 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 doprowadzane do elementu opóźniającego 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-go pamięci 700 pierwszego rejestru przesuwnego w sumatorze 730 i zsumowane wartości doprowadza 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ść doprowadza się na wejście rejestru siedemnastego, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję, a skrajny lewy rejestr (tzn. 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 uwidoczniono na fig. 8, po podaniu początkowej wartości dla głównego kodu szyfrującego do pamięci 840 pierwszego rejestru przesuwnego mającej 18 górnych rejestrów przesuwnych 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 doprowadza 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 doprowadza się do sekcji maskującej 820. W tym czasie 18 wartości „bi” rejestru pamięci 845 drugiego rejestru przesuwnego doprowadza się do sekcji maskującej 825. Wtedy sekcja maskująca 820 maskuje wartości wejściowe pierwszego rejestru przesuwnego funkcją maskującą ki (tzn. Σ(Κ 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 (tzn. Σ(βί 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óźniane 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 zerowe
PL 234 297 B1 go i 7-go pierwszych rejestrów przesuwnych w sumatorze 800 i zsumowane wartości doprowadza 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, tzn. używa on 2N funkcji maskujących do generowania N kodów szyfrujących. Zgodnie z tym, struktura głównego i wtórnych kodów szyfrujących 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 m-ciągu m1(1) 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, tzn. ((K-1)*M+(K+1)), ((K-1)*M+(K+2)),... i (K*M+K)-tego ciągu Golda. W tym przypadku, przy wykorzystaniu 512 głównych ciągów szyfrujących, każdy ze zbiorów wtórnych kodów szyfrujących odpowiadających 512 głównym kodom szyfrującym 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 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 w każdym takcie impulsu zegarowego (którego nie pokazano na rysunku) odpowiednie bity wyjściowe zgodnie z ich wielomianami generującymi. 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 rejestrowej 1040 i sumatora 1010, który jest sumatorem binarnym dodającym wartości binarne z rejestrów 0 i 7 pamięci rejestrowej 1040 i wyprowadzającym sumę do rejestru 17. Rejestr 0 pamięci rejestrowej 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). Prze
PL 234 297 B1 sunięcia cykliczne uzyskuje się przez wymnażanie wartości kodów maskujących z wartościami „ai” rejestru pamięci 1040 pierwszego rejestru, jak wyrażono w następującym równaniu: Z(kLi χ ai). Wyliczone wartości doprowadzane są na sumatory 1032 do 1034. W preferowanym przykładzie wykonania niniejszego wynalazku, każda z wartości kodu maski (k1 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 wyznaczana przez pożądaną liczbę cyklicznych przesunięć.
Sumator 1030 sumuje wartości rejestru zerowego (tzn. ostatnie bity) pamięci 1040 i 1045 pierwszego i drugiego rejestru przesuwnego 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): k1 = (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 (tzn. 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 poniż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 wyjaśniono powyżej, 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.
Obecnie 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 doprowadza się do sumatora 1030 i 18 wartości „ai” rejestru pamięci 1040 pierwszego rejestru przesuwnego doprowadza się do pierwszej N-tej sekcji maskującej 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 1040 pierwszego (górnego) rejestru przesuwnego funkcją maskującą k1 do generowania pierwszego wtórnego kodu szyfrującego (tzn. Z(k1i χ 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 (tzn. Z(kN χ 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óźniane 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-go rejestru pamięci 1040 pierwszego rejestru przesuwnego w sumatorze 1010 i zsumowane wartości doprowadza się do wejścia 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ść doprowadza się do wejścia siedemnastego rejestru pamięci 1045, podczas gdy wartości z lewej strony przesuwa się w prawo o jedną pozycję, a skrajny lewy rejestr (tzn. rejestr siedemnasty) wypełnia się wartością wyprowadzoną z sumatora 1015. Tę procedurę powtarza się w celu wygenerowania wielu kodów szyfrujących.
PL 234 297 B1
Na fig. 11 pokazano schemat blokowy generatora kodów szyfrujących w odbiorniku służąc 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, wartości zerowych rejestrów pamięci 1140 i 1145 pierwszego i drugiego rejestru przesuwnego doprowadza się do sumatora 1120. 18 wartości „ai” rejestru pamięci 1140 pierwszego rejestru przesuwnego doprowadza się do sekcji maskującej 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 (tzn. T(k 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óźniane 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-go 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 (którego nie pokazano na rysunku), gdy odbiornik musi generować inne kody szyfrujące.
Generator kodów szyfrujących według drugiej postaci wykonania wymaga wartości maski przechowywanych w sekcji maskującej w celu generowania wtórnego kodu szyfrującego, tzn. 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.
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 istoty i zakresu wynalazku zdefiniowanego w załączonych zastrzeżeniach patentowych.

Claims (10)

  1. 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, które to urządzenie do transmisji danych w systemie łączności ruchomej jest znamienne tym, że generator kodu szyfrującego 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 sumaryczną liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący przy czym generator kodu szyfrującego zawiera:
    PL 234 297 B1 generator (1050) pierwszego m-ciągu obejmujący wiele pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, do generowania pierwszego m-ciągu, gdzie i = 0 do c-1, gdzie c jest sumaryczną liczbą pierwszych rejestrów;
    generator (1060) drugiego m-ciągu obejmujący wiele drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, do generowania drugiego m-ciągu, gdzie j = 0 do c-1, gdzie c jest sumaryczną liczbą drugich rejestrów;
    wiele sekcji maskujących (1000, 1005) do maskowania wartości ai pierwszego rejestru przesuwnego pierwszym zestawem wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; oraz wiele sumatorów (1030, 1032, 1034) do sumowania pierwszego m-ciągu i drugiego m-ciągu celem wygenerowania głównego kodu szyfrującego i do sumowania trzeciego m-ciągu i drugiego m-ciągu celem wygenerowania wtórnego kodu szyfrującego, przy czym sekcje maskujące są skonfigurowane do przesuwania pierwszego m-ciągu L razy celem wygenerowania L-tego wtórnego kodu szyfrującego związanego z głównym kodem szyfrującym.
  2. 2. Urządzenie według zastrz. 1, znamienne tym, że K jest liczbą głównego kodu szyfrującego i 1<K<512.
  3. 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 o ustaloną liczbę bitów celem utworzenia składowej kanału Q.
  4. 4. Urządzenie według zastrz. 1, w którym 1<L<M, gdzie M jest sumaryczną liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący.
  5. 5. Urządzenie według zastrz. 1, znamienne tym, że sekcja maskująca jest opisana wyrażeniem L(k χ ai).
  6. 6. 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; oraz deskrambler (310, 315) skonfigurowany do deszyfrowania otrzymanego sygnału danych za pomocą jednego 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 zdeszyfrowanego sygnału danych z co najmniej jednym kodem ortogonalnym, które to urządzenie do odbioru danych w systemie łączności ruchomej jest znamienne tym, że generator kodu szyfrującego 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 sumaryczną liczbą wtórnych kodów szyfrujących przypadającą na jeden główny kod szyfrujący, przy czym generator kodu szyfrującego zawiera:
    generator (1050) pierwszego m-ciągu do generowania pierwszego m-ciągu poprzez wykorzystanie wielu pierwszych rejestrów z wartościami ai pierwszego rejestru przesuwnego, gdzie i = 0 do c-1, gdzie c jest sumaryczną liczbą pierwszych rejestrów;
    generator (1060) drugiego m-ciągu do generowania drugiego m-ciągu poprzez wykorzystanie wielu drugich rejestrów z wartościami bj drugiego rejestru przesuwnego, gdzie j = 0 do c-1, gdzie c jest sumaryczną liczbą drugich rejestrów;
    co najmniej jedną sekcję maskującą (1000, 1005) do maskowania wartości ai pierwszego rejestru przesuwnego pierwszym zestawem wartości Ki maski do generowania trzeciego m-ciągu, gdzie i = 0 do c-1; oraz 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 albo 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.
    PL 234 297 Β1
  7. 7. Urządzenie według zastrz. 6, w którym K jest liczbą głównego kodu szyfrującego i 1<K<512.
  8. 8. Urządzenie według zastrz. 6, obejmujące 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.
  9. 9. Urządzenie według zastrz. 6, w którym 1<L<M, gdzie M jest sumaryczną liczbą wtórnych kodów szyfrujących przypadających na każdy główny kod szyfrujący.
  10. 10. Urządzenie według zastrz. 6, w którym sekcja maskująca jest opisana wyrażeniem Σ(Κ x ai).
    Rysunki
    100
    101
    110 i_J20
    130 s
    N
    Generator grupy kodów szyfrujących
    Kod ortogonalny
    102
    104
    Skrambler
    128
    E
    CU w
    en
    114
    Kod ortogonalny
    124—
    Skrambler
    Skrambler
    118
    Kod ortogonalny
    N+1
    115
    119
    Fig. 1
    PL 234 297 Β1
    201
    Informacja sterująca
    Generator ciągu Golda
    201
    Element ' opóźniający 203
    Informacja sterująca
    Informacja sterująca
    Element _____ opóźniający — 203
    Element opóźniając;
    PL 234 297 Β1
    401
    Informacja sterująca —> Generator ciągu Golda 1
    Informacja sterująca
    401 —-> Generator ciągu Golda 2
    Element opóźniając
    Element opóźniając
    403
    Fig. 5
    21=262144 bitów
    Główny kod szyfrujący
    1-szy wtórny kod szyfrujący
    5-ty wtórny kod szyfrujący
    8400 bitów >
    <—38400 bitów >
    <—38400 bitów ->
    Fig. 6
    PL 234 297 Β1
    PL 234 297 Β1
    PL 234 297 B1
    -262143 bitów
    Fig. 9
    PL 234 297 Β1
    Fig. 10
    PL 234 297 Β1
    1100
PL406392A 1999-07-07 2000-07-07 Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS PL234297B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR19990027279 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
PL406392A1 PL406392A1 (pl) 2014-03-17
PL234297B1 true PL234297B1 (pl) 2020-01-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 After (1)

Application Number Title Priority Date Filing Date
PL346620A PL232813B1 (pl) 1999-07-07 2000-07-07 Urządzenie i sposób 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) CN100440766C (pl)
AT (4) ATE557487T1 (pl)
AU (1) AU752300B2 (pl)
BR (1) BRPI0006898B1 (pl)
CA (3) CA2526112C (pl)
DE (4) DE20023092U1 (pl)
DK (2) DK1351421T3 (pl)
ES (4) ES2290399T3 (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 엘지전자 주식회사 이동통신시스템에서의 스크램블링 코드 생성 장치 및 방법
EP1343265B1 (en) * 2002-03-07 2006-05-31 STMicroelectronics S.r.l. A process for generating codes for CDMA communications, system and computer program
US7193609B2 (en) 2002-03-19 2007-03-20 America Online, Inc. Constraining display motion in display navigation
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
WO2006131022A1 (en) * 2005-06-07 2006-12-14 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 上海宣普实业有限公司 一种解扰解扩的方法与装置
US8582592B2 (en) 2006-06-21 2013-11-12 Qualcomm Incorporated Wireless resource allocation methods and apparatus
JP5295955B2 (ja) 2006-06-21 2013-09-18 クゥアルコム・インコーポレイテッド 干渉情報を測定、通信、および/または使用する方法および装置
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
US8553877B2 (en) * 2007-10-01 2013-10-08 Blackberry 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
US6738411B1 (en) * 1997-11-19 2004-05-18 Ntt Mobile Communications Network Inc. Simultaneous plural code series generator and CDMA radio receiver using same
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
EP1343265B1 (en) * 2002-03-07 2006-05-31 STMicroelectronics S.r.l. A process for generating codes for CDMA communications, system and computer program

Also Published As

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

Similar Documents

Publication Publication Date Title
PL234297B1 (pl) Urządzenie do generowania kodu szyfrującego w systemie łączności ruchomej UMTS
CA2305264C (en) Method and apparatus for generating a stream cipher
EP0983647B1 (en) Device and method for generating PN sequence in CDMA communication system
US4755987A (en) High speed scrambling at lower clock speeds
JP2536718Y2 (ja) スペクトラム拡散通信装置
Mahalakshmi et al. Review on codes for multiple access communications