What is Orthogonal Variable Spreading Factors? (A note about OVSF Codes)

With the advancement in the cellular technology and convergence of wireless technologies, now it is the need to combine two messages having different data rates in an orthogonal manner. Take an example, the date rate of user 1 is r1 and of user 2 is r2 and we have to spread the user 1 message by spreading factor s1 and that of user 2 by s2, so that we can produce and overall chip rate of ρ. we can use Walsh Hadamard sequences if the spreading factors are powers of 2. The result so obtained is referred to as Orthogonal Variable Spreading factor and is showed in figure 1.

 

Orthogonal Variable Spreading Factor - An Illustration

Orthogonal Variable Spreading Factor - An Illustration

 

For OVSF the orthogonality requirement can be stated mathematically as (for the given figure)

 

ovsf orthogonality requirement

ovsf orthogonality requirement

 

 

This is, code 1, of duration T1 is orthogonal to all subsequences of code 2, of the same length, and offset by a multiple of T1, the length of code 1.

Now, as we know, OVSF is important in terms of WCDMA and LTE, the question is how we will generate OVSF codes? We can generate OVSF codes by following algorithm.

Suppose we want to generate OVSF codes of length n1 and n2, where n1 < n2, then:

  1. Construct Hn1 by usual Walsh-Hadamard algorithm.
  2. Choose one row of matrix Hn1 as the code length of 2n1. Let Hn1 represent the Hadamard matrix with the selected row removed.
  3. Continue the Walsh- Hadamard algorithm with Hn1: that is

 

Modified Matrix for OVSF

Modified Matrix for OVSF

 

 

Then continue until desired Hn2 is constructed.

  1. Choose any row of Hn2 as the spreading code of length 2n2
  2. If a third code is needed, then continue in a similar manner.

A matlab function can be downloaded from the given below links. The usage is given below.

Usage

% x = ovsf(y,z)

%x, the output cell array having required OVSF codes

%y, number of codes required

%z, array having length of each code to the base 2 i.e. 2.^2 = 4

%example y = 3 z = [4 2 3]

%this will give a cell array with [1x4] [1x8] [1x16]

%length = 2.^n , enter n in length of array

%The code is not optimized yet, user is free to optimize

%do not forget to leave a comment

 

Download Links:

Resource Center
Matlab File Exchange

================

Author : Ashwini Patankar

Data Rates of Wireless Technologies – A Glance !

There are many technologies, and so as generations, and also questions. This post provides a comparative description of various wireless technologies (cellular and data) available so far with their respective links (not necessary you will get links for all). The data provided here is taken from the various sources available on the net and if the subject matter experts found something inaccurate and then please let us know.

This post contains the uplink and downlink rate for different wireless technologies along with their download link (standards) and also modulation type is given for some of them.

Data Networks:

WLAN Standards

WLAN Standards

 

WiMax 802.16e WiFi 802.11 WiFi 802.11a

 

 

WiFi 802.11b WiFi 802.11g WiFi 802.11n

Cellular Networks:

CDMA Family

CDMA Family

CDMA Family Bar Graph

CDMA Family Bar Graph

CDMA 1x RTT CDMA HSD Rev 0

CDMA HSD Rev A CDMA HSD Rev B

GSM Family

GSM Family

GSM Family Bar Graph

GSM Family Bar Graph

UMTS Family

UMTS Family

HSDPA

HSDPA

HSUPA

HSUPA

HSPA +

HSPA +

UMTS FAMILY

LTE

LTE

LTE SISO LTE 2×2 MIMO LTE 4×4 MIMO

We have not included LTE Advance.

We request subject matter experts or the experts of the fields to review it once and suggest neccessary changes.

Some Good references:

 

====================

Author: Ashwini Patankar

How to read 3GPP Specifications?

So guys are you wondering how to read specifications, as I was. Here is something which I explored. First I will like to tell you the importance of these specifications then how to read or how to search the one which you need.

Specifications are very important for any engineering standard. For every standard different parameter like modulation techniques, channel characteristics etc are defined in their specification set. So by going through this specification we can figure out how a particular standard is implemented and what is presently going on with that standard like issues, research areas, practical values, constraints etc.

3GPP is the body which defines standards for 3G and 3G+ . All specification numbers for 3G and above are 4 or 5 digits. Eg. 09.02, 29.002 etc.

Take them as

    XX.YY

Or     XX.YYY

XX denotes series number

YY will be used when 01 < XX < 13

& YYY will be used when 21 < XX < 55

Every specification has title and specification group to define them. All the details related to specification groups, and abbreviations related to 3GPP can be found in specification no 21.905 (Vocabulary)

These specifications can be downloaded from the ftp site which is located here

Technical Reports are of two classes:

 

  • Those intended to be transposed and issued by the Organizational Partners as their own publications; and

     

  • Those not intended for publication but which are simply 3GPP internal working documents, used, for example, for documenting planning and scheduling of work, or for holding the interim results of feasibility studies.

     

The first category has numbers of the form: xx.9xx

 

The second category has numbers of the form: xx.8xx (feasibility study reports, etc) or, more rarely, 30.xxx / 50.xxx (planning and scheduling)

 

The filenames have the following structure:

 

SM[-P[-Q]]-V.zip

 

Where the character fields have the following significance …

 

S = series number – 2 characters (see the table above) M = mantissa (the part of the spec number after the series number) – 2 or 3 characters (see above) P = optional part number – 1 or 2 digits if present Q = optional sub-part number – 1 or 2 digits if present V = version number, without separating dots – 3 digits

 

So for example:

  • 21900-320.zip is 3GPP TR 21.900 version 3.2.0
  • 0408-6g0.zip is 3GPP TS 04.08 version 6.16.0
  • 32111-4-410 is 3GPP TS 32.111 part 4 version 4.1.0
  • 29998-04-1-100 is 3GPP TS 29.998 part 4 sub-part 1 version 1.0.0

 

One can go through the matrix which tells which number is associated with which title also one can go through another matrix which defines specifications title according to technology and numbers

To know about the freeze and release dates refer here

Specifications also tell the definitions and equations so do not miss them as they can be helpful while working with projects, just choose the specification number and download it from the server extract and read.

I will like to update the post with my studies, hope you will comment to fix the errors in this post and help me and others to learn.

====================

Author: Ashwini Patankar