AN2254 Freescale Semiconductor / Motorola, AN2254 Datasheet
![no-image](/images/no-image-200.jpg)
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 ...