Scrambling Code in WCDMA
Let's
suppose you are a NodeB. You will getting various signals from many different
users (UEs) all at the same time. Then how would you differentiate the incoming
signals into separate users at the very low level of your hardware ?. Of course
you can figure out exactly which user you are dealing with at higher layer with
various type of user ID (UE ID), but my question is how to figure out each user
at PHY layer ?
Now let's assume that you are a UE. You may be hearing many
signals from multiple NodeBs simultaneously. Then how would you differentiate
the incoming signals into separate NodeB at the very low level of your
hardware ?
The answer to both of the question is same. It is "Scrambling
Code". By using the scrambling code, NodeB can separate signals coming
simultaneously from many different UEs and UE can separate signals coming
simultaneously from many different NodeB.
Now let's look into how/where the scrambling code works. Following
illustration shows the procedure about the data processing in physical layer.
As you see in the following diagram, "Scrambling" happens at
the chip rate of the signal processing. Since the chip rate of the scrambling
code is the same as the chip rate of the chanelization code scrambling does not
change the signal data rate.
A specific bit sequence which is used for scrambling is called
'Scrambling code'.
There are two types of scrambling codes : long scrambling code and
short scrambling code. Long scrambling code(38400 chips) derived from Gold
codes and short codes (256 chips) derived from S(2) codes.
Then which type of scrambling code we use ?.
In downlink, only long codes are used.
In uplink direction long codes are used for node B using Rake
reciever and short codes are used for NodeB using multiuser detection or
interference cancellation recievers. With short codes the implementation of
cyclic processing structure is simpler.