AN2254 Freescale Semiconductor / Motorola, AN2254 Datasheet

no-image

AN2254

Manufacturer Part Number
AN2254
Description
Scrambling Code Generation for WCDMA
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
© Freescale Semiconductor, Inc., 2002, 2004. All rights reserved.
Freescale Semiconductor
Application Note
In a Wideband Code Division Multiple Access (WCDMA)
environment, each user is assigned a unique complex
scrambling sequence to encode its information-bearing signal.
The receiver has the scrambling code of the user, unscrambles
the received signal, and recovers the original data [1]. This
application note presents a method for complex pseudo-random
sequence (PN code) generation and complex scrambling of an
I/Q code multiplexed signal on a StarCore
signal processor (DSP). The PN codes in this application note
are generated for a WCDMA Universal Mobile
Telecommunications Systems (UMTS) uplink (signal from
handset to base station) according to the third-generation
partnership project (3GPP) specifications.
This application note provides practical information to help
users understand PN code generation and complex scrambling,
which are required in the WCDMA standards. Typically, these
operations are performed on Architecture-Specific Integrated
Circuits (ASICs), but here we explore the use of the Freescale
StarCore™-based DSPs to accomplish the same task.
Scrambling Code Generation for
WCDMA on the StarCore™
SC140/SC1400 Cores
By Imran Ahmed
®
SC140 digital
CONTENTS
1
1.1
1.2
2
2.1
2.2
3
3.1
3.2
3.3
3.4
4
5
Pseudo-Random Sequences ....................................2
Randomness Properties ........................................... 2
Generating Pseudo-Random Sequences ..................2
Scrambling Codes for WCDMA .............................2
Generating Long Complex Scrambling Codes ....... 3
Scrambling an I-Q/Code Multiplexed Sign ......... al 6
Software Implementation on the StarCore
SC140/SC1400 Cores ............................................. 6
Allocating Memory Space ...................................... 6
Binary PN Code and Complex Scrambling
Sequences................................................................ 7
Forming the Complex Scrambling Sequences ........9
Complex Scrambling of an IQ/Code
Multiplexed Signal ................................................ 13
Results ...................................................................16
References .............................................................19
Rev. 1, 11/2004
AN2254

Related parts for AN2254

AN2254 Summary of contents

Page 1

... Scrambling an I-Q/Code Multiplexed Sign ......... Software Implementation on the StarCore ® SC140 digital SC140/SC1400 Cores ............................................. 6 3.1 Allocating Memory Space ...................................... 6 3.2 Binary PN Code and Complex Scrambling Sequences................................................................ 7 3.3 Forming the Complex Scrambling Sequences ........9 3.4 Complex Scrambling of an IQ/Code Multiplexed Signal ................................................ 13 4 Results ...................................................................16 5 References .............................................................19 AN2254 Rev. 1, 11/2004 ...

Page 2

Pseudo-Random Sequences 1 Pseudo-Random Sequences Pseudo-random sequences or PN codes are sequences of 1s and 0s generated by an algorithm so that the resulting numbers look statistically independent and uniformly distributed. A random signal differs from a pseudo-random signal in ...

Page 3

Because scrambling is used on top of spreading as shown Figure 1, it does not change the bandwidth of the signal, but only makes the signals from different users separable from each other [3]. ...

Page 4

Scrambling Codes for WCDMA MSB Figure 3. Uplink Long Scrambling Code Generator These 25-degree generator polynomials are truncated to the 10 ms frame length that results in 38400 chips at the rate of 3.84 Mcps. The long scrambling sequences, c ...

Page 5

Binary Gold sequence z Real-valued Gold sequence ( The real-valued long scrambling sequences c a. c1,n(i) = Zn(i), i=0, ..., 225-2 c 2,n ( (i+16777232) modulo (2 25 –1), i=0, ..., 2 ...

Page 6

Software Implementation on the StarCore SC140/SC1400 Cores 2.2 Scrambling an I-Q/Code Multiplexed Signal Figure 2 shows that before the data signal is QPSK modulated, the I-Q/code multiplexed data signal is multiplied with the complex scrambling code. In this step, the ...

Page 7

Global Variable Name CODE_IQ Points to the interleaved complex scrambling code. This scrambling code is stored as a real-valued code scaled down by a factor of 2 (+ -0.5). Since the code length for a ...

Page 8

Software Implementation on the StarCore SC140/SC1400 Cores c1 = ( X18 ^ Y17) ;//16-stacked bit c2 according to figure 3 configuration } Now, the formation of the complex ...

Page 9

D6 (X7-instruction set ‘d’) — 18-bit shifted D6 (X18-instruction set ‘h’) — 4-bit shifted D7 (Y4-instruction set ‘d’) — 6-bit shifted D7 (Y6-instruction set ‘e’) — 17-bit shifted D7 (Y17-instruction set ‘i’) The first 16-bit sample for ...

Page 10

Software Implementation on the StarCore SC140/SC1400 Cores sample. Moreover, before the multiplication to calculate the complex part of the scrambling sequence, the c2 used is a decimated version of the original Decimation factor ...

Page 11

PN codes (c1 & c2) starts here-----------------a ...

Page 12

Software Implementation on the StarCore SC140/SC1400 Cores ] d1,d6 lsrr #10,d7 eor d7, tfr d6,d1 tfr d6,d0 or d9,d7 lsrr #2, eor d6,d8 lsr d6 tfr d7,d9 lsr ...

Page 13

] loopstart1 mappingloop [ tfrf d14,d11 and #MASKONE,d12,d2 asr d12,d12 ] [ moves.2f d10:d11,(r0)+ increment tsteq d2 tfr d13,d10 value 1, and #MASKONE,d8,d3 asr d8, tfrf d14,d10 1, tsteq d3 tfr d13,d11 ] loopend1 tfrf d14,d11 moves.2f d10:d11,(r0)+ ...

Page 14

Software Implementation on the StarCore SC140/SC1400 Cores Read the I and Q, input signal data from memory, 1-word sample at a time. 3. Perform the scrambling of the input data signal, according to Equation 16. 4. Store the I-Q/code interleaved ...

Page 15

move.l #INPUT_IQ,r0 move.l #CODE_IQ,r4 move.l #OUTPUT_IQ,r2 move.f #INV_SQRT2,d15 the dosetup1 mainloop [ move.4f (r0)+,d0:d1:d2:d3 move.4f (r4)+,d4:d5:d6: mpy d0,d4,d8 mpy d0,d5,d9 mpy d2,d6,d10 mpy d2,d7,d11 ] [ mac -d1,d5,d8 mac d1,d4,d9 mac -d3,d7,d10 mac d3,d6,d11 ] ;-------------------code and ...

Page 16

Results mpy d0,d4,d8 mpy d0,d5,d9 mpy d2,d6,d10 mpy d2,d7,d11 ] [ mac -d1,d5,d8 mac d1,d4,d9 mac -d3,d7,d10 mac d3,d6,d11 move.4f (r0)+,d0:d1:d2:d3 move.4f (r4)+,d4:d5:d6: ;-------------------code and scaling to preserve the energy of the constellation---------- ------ [ mpy d15,d8,d8 mpy ...

Page 17

Figure 4. Real Part of the Complex Scrambled Signal (Chips 19150–19250) 2 1.5 1 0.5 0 −0.5 −1 −1.5 −2 1.915 1.916 1.917 Figure 5. Imaginary Part of ...

Page 18

Results signal before complex scrambling, and Figure 7 shows the signal constellation after the complex scrambling operations. The I-Q/code multiplexed signal with complex scrambling results in a rotated QPSK constellation. Figure 7 shows the resulting constellation achieved by both the ...

Page 19

Function pn_generation 1 cmplx_scrambling NOTES scaling to preserve the energy of the constellation before and after complex scrambling is included, it requires 7.6 MIPS with a code size of 180 bytes. 5 References [1] R. Prasad, “An Overview ...

Page 20

... P.O. Box 5405 Denver, Colorado 80217 1-800-441-2447 or 303-675-2140 Fax: 303-675-2150 LDCForFreescaleSemiconductor@hibbertgroup.com AN2254 Rev. 1 11/2004 Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document ...

Related keywords