It takes a smart person to explain a complicated thing in a complicated way, but it takes a real genius to explain a complicated thing in a simple way. Thanks for sharing, and great video!
To everyone using 1 = +1V and 0 = -1V, use logical XNOR not XOR. Logical XNOR is: if bits are same output = 1, if not output = 0. Example of XNOR logic 1010 0000 0011 1101 =0110 0010
Two codes are said to be orthogonal if when they are multiplied together the result is added over a period of time they sum to zero. For example a codes 1 -1 -1 1 and 1 -1 1 -1 when multiplied together give 1 1 -1 -1 which gives the sum zero. An example of an orthogonal code set is the Walsh codes
I don't know how often you check the comments but this was terrific! I needed to understand this for a blog I am writing and I can completely get it now. :-) Thank you so much!!
+Chantuay McCoy Hi, did you get the excercise right for User#2 & 3 ? I did not get them right (see my post below). If you got, could you please help me on those. Thanks.
you forgot to mention that the codes of other users should be orthorgonal to each other, which is why they don't come up (=zero) at integration aka decoding.
Wouldn't all the codes need to be mutually orthogonal? Meaning it's not just my code against your code, its has to be every code in a user group can never be zero against any combination of data in the user group. How does that work?
Fascinating. Glad to finally get a basic understanding of this concept instead of being shoved a million acronyms to memorize. (Looking at you, CompTIA!)
This kind of explanations are genuinely fantastic. CDMA, OFDM, and all digital modern signal processing are a sort of magic. the video is simple and effective straight to the point fot an initial understanding. Everyone aged remember the landline equipment to transfer data through a physical line up to 64kbps(if good cabling was fitted at home). At some point xDSL lines and clever modulation techniques arrived and now on the same cable you can transfer dozen of megabits, maybe 100mbit without to change the cabling at home. At some point the miniaturized electronics gone further and the WiFi in a similar manner skyrocketed the capability to provide network connections at cheap price.
An excellent video. I have seen very mathematical explanation of this simple beautiful theory that makes you go nuts. This is so wonderful an explanation. Good Luck.
+DizzyVixen Hi, did you get the excercise right for User#2 & 3 ? I did not get them right (see my post below). If you got, could you please help me on those. Thanks.
Very useful and clear explanation! Thanks a lot! Since the example you gave is synchronous, how to decode the asynchronous signals mixed up by different users?
This question bugs me as well. The phone tower output is an aggregate signal. But the cellphone output to the tower is a bunch of random devices concurrently broadcasting non synchronous signals. How the hell does the tower work out the time difference in radio waves?
To be more precise, the example you explained Sir concerns DS-CDMA. There still another version of CDMA used in Bluetooth for instance which is FH-CDMA.
Explaining it in such a simple way, absolutely useful. But just think about whoever came up with this idea the first in the last cubical at Qualcomm offices.
+Carl Oliver when you are using -1V as 1 bit and +1V as 0 bit your spread massage sm = code XOR data, but when you are using -1V as 0 and +1V as 1 your spread massage should be sm = code XNOR data. That way all problems with switching bits voltage are gone. Am I right?
Thank you this definitely cleared up confusion. I have some questions though. Does CDMA rely on the fact that the spreading codes do not interfere? I assume you can't just choose any spreading code for each user. How does CDMA account for power loss of an EM signal over the air? Amplitude decreases has the distance a signal travels increases. So +2V, +3V may look like +1V, +1.5V for someone far away. How do they account for that?
I have been wondering about this too. The math makes sense in terms of a phone decoding the output of a cell tower, but surely it's more complicated for the cell tower to decode all the phone's concurrent output.
Awesome explanation especially the last part which ties it together - that really demonstrates "orthogonality"... So now, can someone, anyone, add to this the Public Long Code Mask (Long PN Code) as well as the PN Offset (Short PN Code), and talk about how CDMA 2000 uses 3 codes simultaneous to achieve channel access? How do the PN Codes work, and how do they prevent them from interfering with the Walsh Code process?
Why we use spread code ? And how to choose the spread code ? For example : We used spread code 0101 for the 1st user While used spread code 0011 for the 2nd user While used spread code 0000 for the 3rd user
I didn't know CDMA used amplitude modulation. That might be the cause weak signals are poor to be amplified well. The threshold for identifying to which user the data packed in the waveform belongs should not be distinguised well when a signal is not good enough
Thanks for the good video. Here is a question: Why do we use the MULTIPLICATION (and not another mathematical or logical operation) of the composite signal and the code of the n-th user?
Thanks for the nice video. I tried out the exercise for User #2 & #3: - so for User#1, we got -1.3.1.1.1.1.-1.3 => Data 00 But on similar lines : - for User#2, I got 1.3.1.-1.1.-1.1.3 => Data 00 and - for User#3, I got 1.3.-1.1.-1.1.1.3 => Data 00 Could you please hint what I am missing ?
+Siddhartha Chatterjee I got the same result as well. Even tried out with different code and data but still getting (4/4=1) for both side, DATA 00 And I'm preparing this for exam, I've ask my lecturer and he just gave me this youtube video URL instead of teaching me. LOL!
When working this out in google sheets, my user 2 comes out as "-0.25, 0", and my user3 data comes out as "-0.25, 0.25". Why is it +/- 0.25 instead of +/-1? Is it presumed in decoding that if it's a non-zero result, then it is a 1 result (there for -0.25 or +0.25 is converted to 1)?
So... the combined signal has 4 x the bits of the original data. So your transceiver needs 4 x the data-rate that would be needed to transmit the original data. So that's extra cost in terms of data-rate. At what point does this extra cost pay off?
This is a very cool video. At the same time, if you just use -1 instead of 0, then you don't have to go through the awkward numerical manipulations of saying 0= +1 V and 1= -1 V. You can just say -1 = -1 V and 1 = +1 V. At least, it seems to work out that way if I haven't blundered in my calculations (always a possibility). Is there any particular reason to go through the artificial manipulations when it seems like there is a straight-forward way to do it?
Dear Carl Oliver, Thank you for nice tutorial. My small confusion is in your graph instead of +3, +2, +1, 0, -1, -2, -3 there should be +3, +2, +1 -1, -2.. I mean there should not be 0. If you could comment up on it, it would be great !
In this specific example there are 3 users, which makes a 0 impossible. But imagine there are only 2 users (or any even number), then you could very well have +1 -1 = 0.
Suppose User-1 wants to transmit his message to a user [say user-k]. Then to decode the transmitted message, user-k will be required the signature code i.e. pn-sequence or spreading code of user-1. How will he get that?
I find the accent with which you transfer information very pleasing. For educational purposes: Where are you from? Otherwise, a very helpful video. Thanks!
What are the different codes (other than Walsh codes) which can be used for this type of coding at transmitting end. The procedure of analysis(like the one which you have shown in your video), if we use a different coding scheme, will remain same or vary from code to code?
Little confused here...let the three codes equal C1 C2 C3 and sequence codes equal A B C respectively. Also, CC equal the resulting composite code. So CC = C1(A)+C2(B)+C3(C). How does ((C1(A)+C2(B)+C3(C))(A))/3=C1? Can someone please explain this to me in the simplest terms possible, keep in mind the furthest i've got in mathematics is calculus 1.
It takes a smart person to explain a complicated thing in a complicated way, but it takes a real genius to explain a complicated thing in a simple way. Thanks for sharing, and great video!
i start with nothing ,ends with how signal spreading works.thank u again
This is brilliant, love the sounds effects. You can really tell you enjoy teaching people
"tshuid, tshuid, tshuid.." waveforms
"what's this guy on about?", gets half way through the video, "ahhhh!"
To everyone using 1 = +1V and 0 = -1V, use logical XNOR not XOR.
Logical XNOR is: if bits are same output = 1, if not output = 0.
Example of XNOR logic
1010 0000
0011 1101
=0110 0010
Thanks
I was repeatedly making that mistake.
So XOR, it... Then invert the result.
What is the logic between using XNOR for a different line code representation?
Thanks a lot mate👏 your comment is really helpful🙂
now it makes sense for me , thanks a lot.
This is such a good video! I didn't know what I was doing until I watched your video!!!
Looking forward for more videos. It was so easy to understand, every step was crystal clear, superbly explained.
Two codes are said to be orthogonal if when they are multiplied together the result is added over a period of time they sum to zero. For example a codes 1 -1 -1 1 and 1 -1 1 -1 when multiplied together give 1 1 -1 -1 which gives the sum zero. An example of an orthogonal code set is the Walsh codes
Above was taken from radio-electronics.com
I don't know how often you check the comments but this was terrific! I needed to understand this for a blog I am writing and I can completely get it now. :-) Thank you so much!!
+Chantuay McCoy Hi, did you get the excercise right for User#2 & 3 ? I did not get them right (see my post below). If you got, could you please help me on those. Thanks.
you forgot to mention that the codes of other users should be orthorgonal to each other, which is why they don't come up (=zero) at integration aka decoding.
Wouldn't all the codes need to be mutually orthogonal? Meaning it's not just my code against your code, its has to be every code in a user group can never be zero against any combination of data in the user group. How does that work?
Thank you, I came here to find out what a "chip" was and you showed me. Cool exercise.
same here!
me 2
You have no idea how you just save my life!
Wow! That is what people need. This is called "explaining"! Thank you!
Fascinating. Glad to finally get a basic understanding of this concept instead of being shoved a million acronyms to memorize. (Looking at you, CompTIA!)
This kind of explanations are genuinely fantastic. CDMA, OFDM, and all digital modern signal processing are a sort of magic. the video is simple and effective straight to the point fot an initial understanding.
Everyone aged remember the landline equipment to transfer data through a physical line up to 64kbps(if good cabling was fitted at home). At some point xDSL lines and clever modulation techniques arrived and now on the same cable you can transfer dozen of megabits, maybe 100mbit without to change the cabling at home.
At some point the miniaturized electronics gone further and the WiFi in a similar manner skyrocketed the capability to provide network connections at cheap price.
Comcast is rolling out a newish specification that allows 2Gbps up/download speeds on existing coax infrastructure.
Thanks very much Carl you helped me unbend my mind.
Watch it all the way through before you thumbs down folks.
Its explained in very simple manner !! I liked it !
An excellent video. I have seen very mathematical explanation of this simple beautiful theory that makes you go nuts. This is so wonderful an explanation. Good Luck.
loved it tomorrow is my midterm this helped me allot.
tomorrow is my midterm and it helped me a lot! life is funny!
I used to work on a CDMA2000 Rev. A network. Nicely done!
Amazing CDMA, amazing explanation, amazing video! Thanks!
This helped me understand CDMA so much more! Thanks for posting!
+DizzyVixen Hi, did you get the excercise right for User#2 & 3 ? I did not get them right (see my post below). If you got, could you please help me on those. Thanks.
I am going to pass my exam because of you. thank you so much
VERY THANKS.for helped me to study cdma technology...for my university exams
such a great person you are,a follower from IRAQ
best explanation in the whole youtube and i love ur waveforms ishukk ishukk sounds
Thank you so much for the demonstration. I have struggled with CDM, but not anymore :D
Amazingly well explained. Thanks for your effort.
Finally understood this subject! Many thanks!
Best video out there for this topic! Thank you. Legendary.
cdma,networks
Very useful and clear explanation! Thanks a lot!
Since the example you gave is synchronous, how to decode the asynchronous signals mixed up by different users?
This question bugs me as well. The phone tower output is an aggregate signal. But the cellphone output to the tower is a bunch of random devices concurrently broadcasting non synchronous signals. How the hell does the tower work out the time difference in radio waves?
Excellent! I would add some discussion on the need for codes to be "orthogonal" and the way to generate codes
Super sir. Very good explanation
You nailed it man
thankx man ur a legend
Really well-explained and clear. Thanks a lot!
Thanks For This. Been Really looking for a good detailed video!! Thumbs Up!!
To be more precise, the example you explained Sir concerns DS-CDMA. There still another version of CDMA used in Bluetooth for instance which is FH-CDMA.
Very good explanation, great video
I like the color of your pen, makes me feel like i have wasted my life.
Good stuff Carl. Easy to understand. thanks
Explaining it in such a simple way, absolutely useful. But just think about whoever came up with this idea the first in the last cubical at Qualcomm offices.
Man you are my hero.God Bless you!!!
+Carl Oliver when you are using -1V as 1 bit and +1V as 0 bit your spread massage sm = code XOR data, but when you are using -1V as 0 and +1V as 1 your spread massage should be sm = code XNOR data. That way all problems with switching bits voltage are gone. Am I right?
Thank you this definitely cleared up confusion. I have some questions though.
Does CDMA rely on the fact that the spreading codes do not interfere? I assume you can't just choose any spreading code for each user.
How does CDMA account for power loss of an EM signal over the air? Amplitude decreases has the distance a signal travels increases. So +2V, +3V may look like +1V, +1.5V for someone far away. How do they account for that?
+FoShizzle713 The output power of every phone is adjusted so the signal strength of each one is the same at the receiver/tower
good
I have been wondering about this too. The math makes sense in terms of a phone decoding the output of a cell tower, but surely it's more complicated for the cell tower to decode all the phone's concurrent output.
Thanks for sharing very comprehensive explanation , Can we expect something like this for OFDMA ?
Awesome explanation especially the last part which ties it together - that really demonstrates "orthogonality"... So now, can someone, anyone, add to this the Public Long Code Mask (Long PN Code) as well as the PN Offset (Short PN Code), and talk about how CDMA 2000 uses 3 codes simultaneous to achieve channel access? How do the PN Codes work, and how do they prevent them from interfering with the Walsh Code process?
Thank you my teacher after now i give respect
Great explanation. Thanks!
If too many signals are combined together, does it mean the voltage would be very high or it should have a way to accurately measure the voltage?
There is obviously a hard limit in terms of how many users a local area can support with this type of system.
🎉 extremely good explanation
FN brilliant explanation and presentation! Thank you so much
Very good example. Thanks.
Why we use spread code ? And how to choose the spread code ?
For example :
We used spread code 0101 for the 1st user
While used spread code 0011 for the 2nd user
While used spread code 0000 for the 3rd user
Nice explaination Sir Thank you very much
Hui everyone preparing for WN sem exam tomorrow
We meet again..yeay soe jindabad
thank you, you saved me a lot of time. hope to complete the way for ofdma. thanks a lot
I expect more videos regarding wireless communications n related technologies... I have subscribed to ur channel
nicely explained Oliver!
Still helpful 9 years later
Very good explanation!
Genius lies is simplifying the concept without altering it's meaning. Take a Bow, Carl
How does uplink works in CDMA? Does 3 transmitters of their chips naturally mixed over the air to the combined signal?
very detailed and clear explanation
It is really great ! Thank you !
Thank you for making it so simple
Carl Oliver Im confused when do we use the XOR operation vs the AND( same bit output =1) operation.
I didn't know CDMA used amplitude modulation. That might be the cause weak signals are poor to be amplified well. The threshold for identifying to which user the data packed in the waveform belongs should not be distinguised well when a signal is not good enough
Oh the irony.
Thanks buddy . also im getting asmr vibes from this video
thnku so much......its very easy to understand the concept
where were you all these year
Thanks for the good video. Here is a question:
Why do we use the MULTIPLICATION (and not another mathematical or logical operation) of the composite signal and the code of the n-th user?
Awesome explanation
How is the transmit code and received codes synchronized? And what happens when you the users themselves want to send data that is not synchronized?
what a magical stuff !!! i adore it :).
Hui everyone preparing for WN exam tomorrow
Soe jindabaad
soe zindabad
amazing explanation!
oh tankyou, i dont unbderstabd the documets of eriksson but you make understand so easy
Thanks for the nice video.
I tried out the exercise for User #2 & #3:
- so for User#1, we got -1.3.1.1.1.1.-1.3 => Data 00
But on similar lines :
- for User#2, I got 1.3.1.-1.1.-1.1.3 => Data 00 and
- for User#3, I got 1.3.-1.1.-1.1.1.3 => Data 00
Could you please hint what I am missing ?
+Siddhartha Chatterjee I got the same result as well. Even tried out with different code and data but still getting (4/4=1) for both side, DATA 00
And I'm preparing this for exam, I've ask my lecturer and he just gave me this youtube video URL instead of teaching me. LOL!
+Yi Chun Any luck ?
Just multiply COMPOSITE WAVEFORM(i) by USER#n(i).
for user#2, i got -1(-1x1).-3(-3x1).-1(1x-1).1(-1x-1)= (-4/4) and so on.
I've got right result.
Evg Ver Thanks for replying, I corrected myself.
For User 3 i got 4/4 and 4/4 00... can you help me please?
When working this out in google sheets, my user 2 comes out as "-0.25, 0", and my user3 data comes out as "-0.25, 0.25". Why is it +/- 0.25 instead of +/-1? Is it presumed in decoding that if it's a non-zero result, then it is a 1 result (there for -0.25 or +0.25 is converted to 1)?
Wow, very clear. Thanks a lot
good video for signal spreading, thanks.
Good Job, pretty well explained! Thanks.
So... the combined signal has 4 x the bits of the original data. So your transceiver needs 4 x the data-rate that would be needed to transmit the original data. So that's extra cost in terms of data-rate. At what point does this extra cost pay off?
This is a very cool video. At the same time, if you just use -1 instead of 0, then you don't have to go through the awkward numerical manipulations of saying 0= +1 V and 1= -1 V. You can just say -1 = -1 V and 1 = +1 V. At least, it seems to work out that way if I haven't blundered in my calculations (always a possibility). Is there any particular reason to go through the artificial manipulations when it seems like there is a straight-forward way to do it?
good video!! tanks for explain CDMA Signal Spreading
Dear Carl Oliver, Thank you for nice tutorial. My small confusion is in your graph instead of +3, +2, +1, 0, -1, -2, -3 there should be +3, +2, +1 -1, -2.. I mean there should not be 0. If you could comment up on it, it would be great !
In this specific example there are 3 users, which makes a 0 impossible. But imagine there are only 2 users (or any even number), then you could very well have +1 -1 = 0.
extremely useful video, thanks Sir!
I was trying to use this method for my assignment but it doesn't work for 0 bit =-1volt and bit 1 =+1 volt
May the Lord Jesus Christ bless you for teaching the people.
Amen.
Is that possible to predict the maximum and minimum magnitude of the composite signal?
Very very very clear. Thank you!
Absolute legend!
Suppose User-1 wants to transmit his message to a user [say user-k]. Then to decode the transmitted message, user-k will be required the signature code i.e. pn-sequence or spreading code of user-1. How will he get that?
I find the accent with which you transfer information very pleasing. For educational purposes: Where are you from?
Otherwise, a very helpful video. Thanks!
What are the different codes (other than Walsh codes) which can be used for this type of coding at transmitting end. The procedure of analysis(like the one which you have shown in your video), if we use a different coding scheme, will remain same or vary from code to code?
Great video, thanks!
Excellent video
Little confused here...let the three codes equal C1 C2 C3 and sequence codes equal A B C respectively. Also, CC equal the resulting composite code. So CC = C1(A)+C2(B)+C3(C). How does ((C1(A)+C2(B)+C3(C))(A))/3=C1? Can someone please explain this to me in the simplest terms possible, keep in mind the furthest i've got in mathematics is calculus 1.
Mercii Oliver , it was so helpful