# Orthogonal codes

CDMA Code Division Multiple Access is a communication technique that allows multiple users to communicate simultaneously over one frequency.

This is achieved through the use of spreading codeswhereby a single data bit is "spread" over a longer sequence of transmitted bits. These codes, known as chip sequencesmust be carefully chosen so that the data may be correctly "despread" at the receiver. Such codes are known as orthogonal codes.

This document introduces some fundamentals of CDMA, necessary for understanding of the subsequent material. Each user is assigned a chip sequence. This is simply a sequence of bits chips. The spreading process is shown below, using an example:. Note that when signals arrive at the receiver from different users, they linearly add.

See the example below. The above method makes two key assumptions: code synchronization and chip synchronization. Code synch indicates that the transmitted sequences from each user begin at the same time. Chip synch implies that all users transmit a chip bit at the same time. In a realistic CDMA system, neither assumption is valid. What is orthogonality? Mathematically speaking, if we have n users and n -bit chip sequences, then a set of vectors in n -space are orthogonal if any point in n -space may be expressed as only one linear combination of these vectors.

In a more practical sense, vectors are orthogonal if they allow correct decoding of transmitted data. This definition may sound contrived at first, and slower to calculate, but its usefulness will become apparent later as we investigate chip synchronization issues.

Here is a C program that tests for practical orthogonality. Near the top of the file, the number of users, code lengths, and actual codes are entered. Then compile the program and run it to see if the codes are orthogonal. When testing, it uses the idea that each user has three transmission possibilities: logic high, logic low, and no transmission. All possible combinations are tried. In this section, we will investigate chip sequences that are orthogonal regardless of code asynchrony.

The key idea is to use codes that are longer than n bits for n users. This "wasted" bandwidth will solve code synchronization problems, thus negating the need for other solutions such as a high-power synch carrier. The test for orthogonality despite code synchronization issues is very similar to the basic orthogonality test. However, for every transmission combination, each code must be rotated in all possibilities relative to each other.

However, the run time is still acceptable. The steps for configuring this program are identical to those above: set the number of users and code length, then the chip sequences. Another program finds a set of chip sequences that solve the code synchronization problem above.

To configure, simply choose the desired number of users. Upon initialization, the program begins to try all possible codes, determining orthogonality by the same criteria as above. It begins with codes of length n the number of usersand if necessary, increments the code length until a solution is found. If one solution is found for a particular code length, all solutions of that code length are generated and output before the program finishes.

Unfortunately, due to the number of possible codes, this program is too slow for actual use. Significant optimization i. However, it was written, and is presented here should anyone find a use for it.Categorical variables require special attention in regression analysis because, unlike dichotomous or continuous variables, they cannot by entered into the regression equation just as they are.

Instead, they need to be recoded into a series of variables which can then be entered into the regression model. There are a variety of coding systems that can be used when recoding categorical variables. Regardless of the coding system you choose, the overall effect of the categorical variable will remain the same. Ideally, you would choose a coding system that reflects the comparisons that you want to make. For example, you may want to compare each level of the categorical variable to the lowest level or any given level.

In that case you would use a system called simple coding. Or you may want to compare each level to the next higher level, in which case you would want to use repeated coding. By deliberately choosing a coding system, you can obtain comparisons that are most meaningful for testing your hypotheses. Below is a table listing various types of contrasts and the comparison that they make.

We should note that some forms of coding make more sense with ordinal categorical variables than with nominal categorical variables. Below we will show examples using race as a categorical variable, which is a nominal variable. Because dummy coding compares the mean of the dependent variable for each level of the categorical variable to the mean of the dependent variable at for the reference group, it makes sense with a nominal variable.

However, it may not make as much sense to use a coding scheme that tests the linear effect of race. As we describe each type of coding system, we note those coding systems with which it does not make as much sense to use a nominal variable.

Within SPSS there are two general commands that you can use for analyzing data with a continuous dependent variable and one or more categorical predictors, the regression command and the glm command. If using the regression command, you would create k-1 new variables where k is the number of levels of the categorical variable and use these new variables as predictors in your regression model.

The values for these new variables will depend on coding system you choose. From this point we will refer to a coding scheme when used with the regression command as regression coding.

We will refer to this type of coding scheme as contrast coding. So, if you are using the regression command, be sure to choose the regression coding scheme and if you are using the glm command be sure to choose the contrast coding scheme. The examples in this page will use dataset called hsb2. Although our example uses a variable with four levels, these coding systems work with variables that have more categories or fewer categories.Analysis expert Conrad Carlberg discusses the use of regression analysis to analyze the influence of nominal variables such as make of car or type of medical treatment on interval variables such as gas mileage or levels of indicators in blood tests.

This is a book about regression analysis. When you use regression analysis, your predicted or outcomeor dependent variable is nearly always measured on an interval or ratio scale, one whose values are numeric quantities. Your predictor or independentor regressor variables are also frequently measured on such numeric scales.

However, the predictor variables can also represent nominal or category scales. The system you choose has major implications for the information you get back from the analysis. It will also be helpful to cover some terminology issues early on. There are a couple of reasons for that:.

Discussing interval variables only allows us to wait until now to introduce the slightly greater complexity of using regression to assess differences between groups. Most people who have heard of regression analysis at all have heard of it in connection with prediction and explanation: for example, predicting weight from known height.

That sort of usage tends to imply interval or ratio variables as both the predicted variable and the predictor variables. With this chapter we move into the use of regression analysis to analyze the influence of nominal variables such as make of car or type of medical treatment on interval variables such as gas mileage or levels of indicators in blood tests.

That sort of assessment tends to focus on the effects of belonging to different groups upon variables that quantify the outcome of group membership gas mileage for different auto makes or cholesterol levels after different medical treatments. Lots of theorists and writers prefer terms other than outcome variablebecause it implies a cause-and-effect relationship, and inferring that sort of situation is a job for your experimental design, not your statistical analysis.

Perhaps the simplest approach to coding a nominal variable is termed dummy coding. For example, I prefer dummy coding in logistic regression, where it can clarify the interpretation of the coefficients used in that method. Dummy coding can also be useful in standard linear regression when you want to compare one or more treatment groups with a comparison or control group.

Figures 7. Figure 7. In ANOVA jargon, a variable whose values constitute the different conditions to which the subjects are exposed is called a factor. In this example, the factor is Treatment. The different values that the Treatment factor can take on are called levels. Here, the levels are the three treatments: Medication, Diet, and Placebo as a means of lowering amounts of an undesirable component in the blood.

To operate correctly, the data set must be arranged as in the range B2:C8 of Figure 7. Or it may be turned 90 degrees, to have different factor levels in different rows and different subjects in different columns.

The Data Analysis tool helpfully provides descriptive statistics as shown in BF When you use any sort of coding there are a couple of rules to follow. These are the rules that apply to dummy coding:. You need to reserve as many columns for new data as the factor has levels, minus 1. Notice that this is the same as the number of degrees of freedom for the factor. Each vector represents one level of the factor. In Figure 7.

Similarly, every subject receives a 0 on Vector 2 except those who are treated by Diet—they get a 1 on Vector 2. Subjects in one level, which is often a control group, receive a 0 on all vectors. With the data laid out as shown in the range A2:D22 in Figure 7. The arguments are as follows:. The first argument, the range A2:A22, is the address that contains the outcome variable.In telecommunicationsorthogonal frequency-division multiplexing OFDM is a type of digital transmission and a method of encoding digital data on multiple carrier frequencies.

OFDM has developed into a popular scheme for wideband digital communicationused in applications such as digital television and audio broadcasting, DSL internet accesswireless networkspower line networksand 4G mobile communications.

It was introduced by Chang of Bell Labs in OFDM was improved by Weinstein and Ebert in with the introduction of a guard intervalproviding better orthogonality in transmission channels affected by multipath propagation. This maintains total data rates similar to conventional single-carrier modulation schemes in the same bandwidth.

The main advantage of OFDM over single-carrier schemes is its ability to cope with severe channel conditions for example, attenuation of high frequencies in a long copper wire, narrowband interference and frequency-selective fading due to multipath without complex equalization filters.

Channel equalization is simplified because OFDM may be viewed as using many slowly modulated narrowband signals rather than one rapidly modulated wideband signal. The low symbol rate makes the use of a guard interval between symbols affordable, making it possible to eliminate intersymbol interference ISI and use echoes and time-spreading in analog television visible as ghosting and blurring, respectively to achieve a diversity gaini. This mechanism also facilitates the design of single frequency networks SFNs where several adjacent transmitters send the same signal simultaneously at the same frequency, as the signals from multiple distant transmitters may be re-combined constructively, sparing interference of a traditional single-carrier system.

This is done to overcome errors in mobile communication channels affected by multipath propagation and Doppler effects. The following list is a summary of existing OFDM-based standards and products. For further details, see the Usage section at the end of the article.

The advantages and disadvantages listed below are further discussed in the Characteristics and principles of operation section below. Conceptually, OFDM is a specialized frequency-division multiplexing FDM method, with the additional constraint that all subcarrier signals within a communication channel are orthogonal to one another. In OFDM, the subcarrier frequencies are chosen so that the subcarriers are orthogonal to each other, meaning that cross-talk between the sub-channels is eliminated and inter-carrier guard bands are not required.

This greatly simplifies the design of both the transmitter and the receiver ; unlike conventional FDM, a separate filter for each sub-channel is not required. This stipulates that each carrier frequency undergoes k more complete cycles per symbol period than the previous carrier.

The orthogonality also allows high spectral efficiencywith a total symbol rate near the Nyquist rate for the equivalent baseband signal i.

## Orthogonal frequency-division multiplexing

Almost the whole available frequency band can be used. OFDM generally has a nearly 'white' spectrum, giving it benign electromagnetic interference properties with respect to other co-channel users. OFDM requires very accurate frequency synchronization between the receiver and the transmitter; with frequency deviation the subcarriers will no longer be orthogonal, causing inter-carrier interference ICI i.

Frequency offsets are typically caused by mismatched transmitter and receiver oscillators, or by Doppler shift due to movement. While Doppler shift alone may be compensated for by the receiver, the situation is worsened when combined with multipathas reflections will appear at various frequency offsets, which is much harder to correct.

This effect typically worsens as speed increases,  and is an important factor limiting the use of OFDM in high-speed vehicles. In order to mitigate ICI in such scenarios, one can shape each subcarrier in order to minimize the interference resulting in a non-orthogonal subcarriers overlapping. The orthogonality allows for efficient modulator and demodulator implementation using the FFT algorithm on the receiver side, and inverse FFT on the sender side.What is the difference between a continuous variable and a categorical variable?

Give a concrete example of each. Why might I choose one model rather than another that is, choose either dummy, effect or orthogonal coding to analyze my data?

What effect does unbalanced unequal cell size have on the interpretation of dummy [effect, orthogonal] coded regression slopes and intercepts? What we are doing here is ANOVA with regression techniques; that is, we are analyzing categorical nominal variables rather than continuous variables.

There are some advantages to doing this, especially if you have unequal cell sizes. The computer will be doing the work for you. However, I want to show you what happens with the 3 kinds of coding so you will understand it.

We are going to cover lots of ground quickly here. This is designed merely to familiarize you with the correspondence between regression and analysis of variance. Both methods are specific cases of a larger family called the general linear model.

With this kind of coding, we put a '1' to indicate that a person is a member of a category, and a '0' otherwise. Category membership is indicated in one or more columns of zeros and ones.

If we did, we would have a column variable indicating status as male or female. Ordinarily if we wanted to test for group differences, we would use a t -test or an F -test. But we can do the same thing with regression. Let's suppose we want to know whether people in general are happier if they are married or single.

### Select a Web Site

So we take a small sample of people shopping at University Square Mall and promise them some ice cream if they fill out our life satisfaction survey, which some do.

The sum of squared deviations from the grand mean is To test for the difference we find the ratio of the two mean squares:. And if we square this result, we get Formula Status Status2 We can apply dummy coding to categorical variables with more than two levels. We can keep the use of zeros and ones as well. However, we will always need as many columns as there are degrees of freedom. With two levels, we need one column; with three levels, we need two columns.

With C levels, we need C-1 columns. Suppose we have three groups of people, single, married, and divorced, and we want to estimate their life satisfaction. Note how the first vector selects identifies the single group, and the second identifies the married group. The divorced folks are left over. The overall results will be the same, however, no matter which groups we select. The significance of this is found by:. Note that there are three groups and thus two degrees of freedom between groups.

There are 15 people and thus 12 df for error. The group that gets all zeros is the base group or comparison group. The regression coefficients present a contrast or difference between the group identified by the vector and the base or comparison group.

For our example, the comparison group is the divorced group. The first b weight corresponds to the single group and the b represents the difference between the means of the divorced and single groups.Documentation Help Center.

Generate orthogonal variable spreading factor OVSF code from set of orthogonal codes. OVSF codes were first introduced for 3G communication systems. OVSF codes are primarily used to preserve orthogonality between different channels in a communication system.

Define C 2N by. Note that C N is only defined for N a power of 2. It follows by induction that the rows of C N are orthogonal. The OVSF codes can also be defined recursively by a tree structure, as shown in the following figure. Note that two OVSF codes are orthogonal if and only if neither code lies on the path from the other code to the root. Since codes assigned to different users in the same cell must be orthogonal, this restricts the number of available codes for a given cell. For example, if the code C 41 in the tree is assigned to a user, the codes C 10C 20C 82C 83and so on, cannot be assigned to any other user in the same cell.

You specify the code the OVSF Code Generator block outputs by two parameters in the block's dialog: the Spreading factorwhich is the length of the code, and the Code indexwhich must be an integer in the range [0, 1, If the code appears at depth r in the preceding tree, the Spreading factor is 2 r.

The Code index specifies how far down the column of the tree at depth r the code appears, counting from 0 to N - 1. You can recover the code from the Spreading factor and the Code index as follows. Convert the Code index to the corresponding binary number, and then add 0s to the left, if necessary, so that the resulting binary sequence x 1 x This sequence describes the path from the root to the code.

To reconstruct the code, recursively define a sequence of codes C i for as follows. Let C 0 be the root . The code C N has the specified Spreading factor and Code index. For example, to find the code with Spreading factor 16 and Code index 6do the following:. The code C 4 has Spreading factor 16 and Code index 6.Code-division multiple access CDMA is a channel access method used by various radio communication technologies. CDMA is an example of multiple accesswhere several transmitters can send information simultaneously over a single communication channel.

## CDMA Orthogonal Spreading Codes

This allows several users to share a band of frequencies see bandwidth. To permit this without undue interference between the users, CDMA employs spread spectrum technology and a special coding scheme where each transmitter is assigned a code. CDMA is used as the access method in many mobile phone standards. The technology of code-division multiple access channels has long been known. The technology of CDMA was used inwhen the young military radio engineer Leonid Kupriyanovich in Moscow made an experimental model of a wearable automatic mobile phone, called LK-1 by him, with a base station. InKupriyanovich made the new experimental "pocket" model of mobile phone. This phone weighed 0. To serve more customers, Kupriyanovich proposed the device, which he called "correlator. It was placed in the trunk of the vehicles of high-ranking officials and used a standard handset in the passenger compartment.

CDMA is a spread-spectrum multiple-access technique.

### Using Regression to Test Differences Between Group Means

A spread-spectrum technique spreads the bandwidth of the data uniformly for the same transmitted power. A spreading code is a pseudo-random code that has a narrow ambiguity functionunlike other narrow pulse codes. In CDMA a locally generated code runs at a much higher rate than the data to be transmitted. The figure shows how a spread-spectrum signal is generated. Each user in a CDMA system uses a different code to modulate their signal. Choosing the codes used to modulate the signal is very important in the performance of CDMA systems.

The best performance occurs when there is good separation between the signal of a desired user and the signals of other users.

The separation of the signals is made by correlating the received signal with the locally generated code of the desired user. If the signal matches the desired user's code, then the correlation function will be high and the system can extract that signal.