Question

Prove that, if every user code is orthogonal to every other user code in CDMA, unwanted...

Prove that, if every user code is orthogonal to every other user code in CDMA, unwanted signals can easily be filtered out. Note: you have to show me a generalize proof. Showing me examples of three or more instances or examples is NOT a proof!

Homework Answers

Answer #1

A code for a certain user should have a good autocorrelation and should be orthogonal to other codes in CDMA.

Orthogonal in code space has the same meaning as in standard space (i.e., the three dimensional space),
Think of a system of coordinates and vectors starting at the origin, i.e., in (0,0,0). Two vectors are called orthogonal if their inner product is 0, as is the case for the
two vectors (2, 5,0) and (0, 0, 17): (2,5, 0)*(0, 0, 17) = 0 + 0 + 0 = 0. But also vectors like (3,-2, 4) and (-2, 3, 3) are orthogonal: (3,-2, 4)*(-2, 3, 3) = -6 -6 + 12 = 0. By
contrast, the vectors (1,2,3) and (4,2,-6) are not orthogonal (the inner product is -10).

Example

Two senders, A and B, want to send data. CDMA assigns the following unique and orthogonal key sequences: key Ak = 010011 for sender A, key Bk = 110101 for sender B. Sender A wants to send the bit Ad = 1, sender B sends Ba= 0. To illustrate this example, let us assume that we code a binary 0 as -1, a binary 1 as +1. We can then apply the standard addition and multiplication rules. Both senders spread their signal using their key as chipping sequence (the term 'spreading here refers to the simple multiplication of the data bit with the whole chipping sequence). In reality, parts of a much longer chipping
sequence are applied to single bits for spreading. Sender A then sends the signal A, = A *Ak = +1*(-1, +1, -1, -1, +1, +1) = (-1, +1,-1,-1, +1, +1).
Sender B does the same with its data to spread the signal with the code:
B, = B.*B = -1*(+1, +1,-1, +1,-1, +1) = (-1,-1, +1,-1, +1, -1).

Both signals are then transmitted at the same time using the same fre-quency, so, the signals superimpose in space (analog modulation is neglected in this example). Discounting interference from other senders and environmental noise from this simple example, and assuming that the signals have the same strength at the receiver, the following signal C is received at a receiver: C = A + B = (-2,0,0,-2, +2,0). The receiver now wants to receive data from sender A and, therefore,
tunes in to the code of A, i.e., applies A's code for despreading: C*A = (-2, 0, 0, -2, +2, 0)*(-1, +1,-1,-1, +1, +1) = 2 + 0 + 0 + 2 + 2 + 0 = 6.
As the result is much larger than 0, the receiver detects binary 1. Tuning in to sender B, i.e., applying B's code gives C*Bx = (-2, 0, 0, -2, +2, 0)*(+1, +1,-1, +1,-1, +1) = -2 +0+0 - 2 - 2 + 0 = -6. The result is negative, soa 0 has been detected.

Know the answer?
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for?
Ask your own homework help question
Similar Questions
Please do it in Python Write the simplest program that will demonstrate iteration vs recursion using...
Please do it in Python Write the simplest program that will demonstrate iteration vs recursion using the following guidelines - Write two primary helper functions - one iterative (IsArrayPrimeIter) and one recursive (IsArrayPrimeRecur) - each of which Take the array and its size as input params and return a bool. Print out a message "Entering <function_name>" as the first statement of each function. Perform the code to test whether every element of the array is a Prime number. Print out...
Prelab: Week of September 9th You’ve created a general-purpose function for allocating an array with elements...
Prelab: Week of September 9th You’ve created a general-purpose function for allocating an array with elements of any data type: array = createArray(numElems, elemSize); Now we want to generalize the function so that the result secretly stores the size (number of elements) with the array so that we can implement the following function size = getArraySize(array); which allows the user to determine the number of elements in a given array whenever its needed. You’ll want to declare the parameter to...
C++. Write a program that draws a rocket shape on the screen based on user input...
C++. Write a program that draws a rocket shape on the screen based on user input of three values, height, width and stages. The type of box generated (i.e.. a hollow or filled-in) is based on a check for odd or even values input by the user for the box height (or number of rows). Here is the general specification given user input for the height of the box..... Draw a hollow box for each stage if the value for...
Quip was founded to prove that good design would have a bigger impact on oral health...
Quip was founded to prove that good design would have a bigger impact on oral health than quick fix gimmicks. Quip's journey began at a neighborhood dentist in New York, and a suggestion to use "the cheapest electric brush available" to fight the common, and damaging, habit of brushing too hard. It turned out that years of toothbrush "innovation" had barely improved the humble toothbrush and, instead, had only served to overshadow the far more damaging, habitual problems that still...
Problem: Our Armstrong number Please write code for C language So far we have worked on...
Problem: Our Armstrong number Please write code for C language So far we have worked on obtaining individual digits from 4 digits or 5 digit numbers. Then added them to find the sum of digits in various examples and assignments. However, the process of extracting individual digits is actually can be solved using a loop as you were doing a repetitive task by using mod operation and division operation. Now, we know how loops work and we can remove the...
What would the pseudocode be for this? The code for this has already been answered. I...
What would the pseudocode be for this? The code for this has already been answered. I need the pseudocode. Credit card numbers typically consist of 13, 15, or 16 digits. For example, 4690 3582 1375 4657 is a hypothetical credit card number. The first digit designates the system. In (3.1.1), the first digit, 4, shows that the card would be a Visa card. The following digits specify other information such as the account number and bank number. (The precise meaning...
Instructions: Step 1: Create UNF Relation from a User View. The goal here is to create...
Instructions: Step 1: Create UNF Relation from a User View. The goal here is to create a single relation for the data found in the user view. The method used is: •   Examine the user view •   Identify all attributes •   Describe the user view using DBDL Here is an example of a user view. This reports lists the customers of the Premiere Corporation. Premiere Corporation Customer List CustNo   Name   Street   City   State   ZipCode   SalesRepNo 124    Sally Adams   482...
Program Behavior Each time your program is run, it will prompt the user to enter the...
Program Behavior Each time your program is run, it will prompt the user to enter the name of an input file to analyze. It will then read and analyze the contents of the input file, then print the results. Here is a sample run of the program. User input is shown in red. Let's analyze some text! Enter file name: sample.txt Number of lines: 21 Number of words: 184 Number of long words: 49 Number of sentences: 14 Number of...
Note: Do not use classes or any variables of type string to complete this assignment Write...
Note: Do not use classes or any variables of type string to complete this assignment Write a program that reads in a sequence of characters entered by the user and terminated by a period ('.'). Your program should allow the user to enter multiple lines of input by pressing the enter key at the end of each line. The program should print out a frequency table, sorted in decreasing order by number of occurences, listing each letter that ocurred along...
Part A. Input Validation (Name your C program yourLastName_yourFirstName_Lab4a.c) 1. Place the code you developed in...
Part A. Input Validation (Name your C program yourLastName_yourFirstName_Lab4a.c) 1. Place the code you developed in Lab 2 to obtain a diameter value from the user and compute the volume of a sphere (we assumed that to be the shape of a balloon) in a new program, and implement the following restriction on the user’s input: the user should enter a value for the diameter which is at least 8 inches but not larger than 60 inches. Using an if-else...