3GPPFDD_DL_Rake
Description: Downlink receiver
Library: 3GPPFDD, Receiver
Class: SDF3GPPFDD_DL_Rake
Derived From: 3GPPFDD_DL_Receiver_Base
Parameters
Name |
Description |
Default |
Unit |
Type |
Range |
---|---|---|---|---|---|
SpecVersion |
version of specifications: Version_03_00, Version_12_00, Version_03_02 |
Version_12_00 |
|
enum |
|
ScrambleCode |
index of scramble code |
0 |
|
int |
[0:512] for downlink; |
ScrambleOffset |
scramble code offset |
0 |
|
int |
[0:15] |
ScrambleType |
scramble code type: normal, right, left |
normal |
|
enum |
|
SampleRate |
sample rate |
8 |
|
int |
[1:256] |
MaxDelaySample |
maximum delay boundary, in terms of samples |
0 |
|
int |
[0:2559] for RAKE receiver; |
ChannelType |
select the channel type to be processed: CH_GAUSSIAN, CH_FADING |
CH_GAUSSIAN |
|
enum |
|
ChannelInfo |
fading channel information source: Known, Estimated |
Known |
|
enum |
|
ChannelInfoOffset |
offset between spread code and channel information in terms of sample |
0 |
|
int |
[0:MaxDelaySample] |
PathSearch |
path search frequency: EverySlot, Once |
Once |
|
enum |
|
SearchMethod |
path search method: Coherent, NonCoherent, Combined |
Coherent |
|
enum |
|
SearchSlotsNum |
number of slots for path search |
1 |
|
int |
[1:6] |
PathNum |
number of Rake fingers |
1 |
|
int |
[1:6] |
PathDelaySample |
delay for each finger, in terms of samples |
0 |
|
int array |
[0:MaxDelaySample]; |
OutputSNR |
switch for SNR estimation: SNR_Active, SNR_Deactive |
SNR_Deactive |
|
enum |
|
CPICH |
select if CPICH is presented: CPICH_Active, CPICH_Deactive |
CPICH_Deactive |
|
enum |
|
RxDPCH |
select if DPCH is presented: DPCH_Active, DPCH_Deactive |
DPCH_Active |
|
enum |
|
DPCH_SlotFormat |
DPCH slot format |
0 |
|
int |
[0:16] |
DPCH_SpreadCode |
DPCH spread code |
3 |
|
int array |
[0:SpreadFactor-1]; |
RxPCCPCH |
select if PCCPCH is presented: PCCPCH_Active, PCCPCH_Deactive |
PCCPCH_Deactive |
|
enum |
|
RxSCCPCH |
select if SCCPCH is presented: SCCPCH_Active, SCCPCH_Deactive |
SCCPCH_Deactive |
|
enum |
|
SCCPCH_SlotFormat |
SCCPCH slot format |
0 |
|
int |
[0:17] |
SCCPCH_SpreadCode |
SCCPCH spread code |
15 |
|
int |
[0:SpreadFactor-1]; |
SCCPCH_Carrying |
common channel that SCCPCH carries: PCH, NonPCH |
NonPCH |
|
enum |
|
Pin Inputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
1 |
inChip |
input data stream |
complex |
2 |
inChM |
input known channel information |
multiple complex |
Pin Outputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
3 |
PCCPCH |
PCCPCH data stream |
real |
4 |
SCCPCH |
SCCPCH data stream |
real |
5 |
SCHindex |
secondary synchronization code index |
int |
6 |
SlotIndex |
slot index |
int |
7 |
SNR |
signal to noise ratio |
real |
8 |
Delay |
path delay |
int |
9 |
DPCH |
DPCH data stream |
multiple real |
10 |
outChM |
estimated channel information |
multiple complex |
Notes/Equations
- The main function of this model is to demodulate and despread UTRA/WCDMA downlink signals with chip rate at 3.84 MHz. These signals may have multipath fading channel and additive Gaussian noise corruption.
- To despread and demodulate a CDMA signal, the channel information and path delay information must be determined. Errors in channel estimation and path search deteriorate the receiver performance.
- The signal processing flow inside the model is:
- Input data until slots specified by SearchSlotsNum are received
- Slot index identification
- SCH code index identification
- IQ offset correction, to eliminate any DC component
- Multipath search
- Channel estimate for each path
- Decoding and despreading of individual path
- SNR estimate for individual path
- Multipath combining
- SNR estimate after multiple path combining
- Output decoded data, SCHIndex, and SlotIndex to align at the frame boundary
- Output SNR, Delay and channel information (slots delayed are specified by SearchSlotsNum).
- This model can be configured to work under ideal conditions; in other words, the real time channel information can be input from input pin and the path delay information can be set by PathDelaySample. ChannelInfo determines if channel information is pin input or estimated inside the model. The delay for each path is expressed in terms of samples as individual elements in the array.
If path delay is known from the parameter, SearchSlotsNum is 1. - If the first element in PathDelaySample is zero, the search path is performed inside the receiver model. Otherwise, the numbers specified by PathDelaySample are taken as the delays for each path.
- The search path is performed by correlating the received signals with the spreading code specified in a window whose size is set by MaxDelaySample. The correlations at different offsets are ranked; the top ones are assumed to be the offsets where the paths could occur.
- If SearchMethod = Coherent, correlation will be performed at the pilot bits only. If the SearchMethod = NonCoherent, correlation will be performed on the data field. Note that the coherent correlation obtained over pilot bits is unbiased, while the non-coherent correlation is biased. If SearchMethod = Combined, the coherent and non-coherent correlations are summed as the matrix for path resolution.
- Another factor that impacts the correlation is the SearchSlotsNum parameter. This parameter sets the number of slots over which the correlation is accumulated. More slots are necessary for a reliable path resolution for signals with noise contamination. Usually, 6 slots are required if Eb/No is 2 dB. The designer must determine the appropriate slot number and search method for the best trade-off between accuracy and speed.
- The estimated path delay is output from the pin Delay after slots specified by SearchSlotsNum are received.
- If the path delay is fixed, the path search is necessary only at the start of simulation. In this case, set PathSearch=Once to save simulation time. Otherwise, the path search will be performed for each slot received to update the dynamic path delay information.
- Channel estimation varies according to channel type.
- If ChannelType = CH_GAUSSIAN, the channel is assumed to be time-invariant and the IQ phase shift is estimated using the pilot field of the signals received so far.
- If ChannelType = CH_FADING, channel characteristics are assumed to be time-variant and more complicated channel estimation must be used. A simple channel estimation is used that takes the fading characteristic averaged over the pilot field of the current slot as the channel information for the entire slot.
- Channel information that is estimated or known from input pins is output from pin outChM for reference. Each firing, 2560 tokens are produced as the channel information for the chips in the slot indicated by SlotIndex.
- If the PCCPCH is enabled, the SCH index of current slot is identified and output from pin SCHIndex.
- This model estimates the signal to noise power ratio (SNR) of different code channels over different paths if OutputSNR is enabled. The SNR is performed over pilot bits so that the results are unbiased. The SNR is estimated over individual paths and the overall SNR is estimated after multipath combination. The SNR is output in sequence:
CPICH after path combination
CPICH path 1
.
.
.
CPICH path n
DPCH after path combination
DPCH path 1
.
.
.
DPCH path n
SCCPCH after path combination
SCCPCH path 1
.
.
.
SCCPCH path n - All paths are combined assuming that all paths are useful for improving the decoding reliability. In some cases, paths with low SNR are actually harmful to the final SNR improvement. The designer must set PathNum for better decoding performance in multipath conditions.
- The DPCH code channel number must be equal to the array size of DPCH_SpreadCode.
- This model can be used to decode SCCPCH, PCCPCH and multiple DPCHs. These coded channels are assumed to be time-aligned. If decoding of a specific channel is not necessary, it can be disabled by relative parameters to reduce simulation time.
- If SCCPCH_Carrying is PCH, the scramble code for SCCPCH is primary. Otherwise, the secondary scramble code must be used.
- Each firing, the number of input tokens is 2560 × SampleRate. There is a delay in terms of slots associated with the decoded information. The SNR results are output after the number of firings equals SearchSlotsNum. Other outputs are aligned at the frame boundary; for example, if the first received slot index is zero, the decoded bit stream will be output after 15 slots.
- If the path delay is set, the SNR output delay is 1 slot and the other output delay is 15 slots.
- If the 3GPP signal is S(t), this signal may be delayed t1 by some filters (such as the Tx RC filters). So, the delayed signal is S(t-t1) and the signal from 0 to t1 is zero and the real 3GPP signal transmission starts from t1. When the delayed signals pass through a fading channel, the fading factor is applied to the overall signals starting from time 0. The offset t1 must be known if the receiver of the channel information is input from outside; this offset is expressed in terms of samples.
References
- Refer to References.