EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: tec5c on October 15, 2015, 12:36:46 pm

Title: Orthogonal Waveform Coding
Post by: tec5c on October 15, 2015, 12:36:46 pm
I'm having some difficulty in understanding how to go from the data set to the orthogonal codeword set. Is there any formal method happening here that I'm not seeing or is it simply just a "rule" that you need to memorise?

Here's an example for a 3-bit data set.

(http://i59.tinypic.com/9uvix0.png)
Title: Re: Orthogonal Waveform Coding
Post by: mikerj on October 15, 2015, 09:16:21 pm
Have a read of the attached document (MIT lecture 24: Introduction to Digital Communication)
Title: Re: Orthogonal Waveform Coding
Post by: coppice on October 16, 2015, 12:27:20 am
Have a read of the attached document (MIT lecture 24: Introduction to Digital Communication)
If you are interested in digital comms, don't stop with that document. Study the entire set of lectures it comes from. They were given by a real pioneer in the field.
Title: Re: Orthogonal Waveform Coding
Post by: tec5c on October 16, 2015, 01:07:28 am
Have a read of the attached document (MIT lecture 24: Introduction to Digital Communication)
If you are interested in digital comms, don't stop with that document. Study the entire set of lectures it comes from. They were given by a real pioneer in the field.

I've had a brief look at the MIT lectures, while some of them are relevant to the material I'm covering in my course there is some deviation where they tend to include the (first exposure to) underlying mathematical concepts (i.e., inner products etc) in the digi comms lectures. I covered these topics in dedicated mathematics and statistic subjects.

Nonetheless, the document provided by mikerj essentially contains the same material that I've found in textbooks and given in my lecture notes.

Here's a snippet from said lecture notes on how each entry of the Hadamard matrix is calculated:

(http://i61.tinypic.com/2wrgo6x.png)

I'm clearly not interpreting this correctly... Being Friday, I'll have a better chance to go through it more thoroughly shortly which I'll be sure to update this thread once I figure out where I'm going wrong.
Title: Re: Orthogonal Waveform Coding
Post by: coppice on October 16, 2015, 05:48:23 am
The orthogonal coding scheme takes b bits, which have m = 2b possible states. It codes each of these m states as an m bit long pattern, which is orthogonal to all the other (m - 1) patterns in the set of bit patterns. How the original b bit long patterns map to the m bit long patterns is arbitrary. As long as the coder and decoder use the same mapping everything will be OK. Orthogonal in this context means half the bits should be different between any two bit patterns in the set. Hadamard matrices are one way to produce a set of m orthogonal m bit long patterns. The smallest Hadamard matrix
Code: [Select]
0 0
0 1
contains orthogonal patterns. If you make a larger matrix from four of these, like so
Code: [Select]
0 0  0 0
0 1  0 1

0 0  1 1
0 1  1 0
you have four orthogonal patterns. Do the same again
Code: [Select]
0 0  0 0    0 0  0 0
0 1  0 1    0 1  0 1
0 0  1 1    0 0  1 1
0 1  1 0    0 1  1 0

0 0  0 0    1 1  1 1
0 1  0 1    1 0  1 0
0 0  1 1    1 1  0 0
0 1  1 0    1 0  0 1
and now you have 8 orthogonal patterns. In the original posting these patterns are assigned to incrementing binary values of the 3 bit input field.
Title: Re: Orthogonal Waveform Coding
Post by: tec5c on October 16, 2015, 07:05:31 am
@coppice, thank you kindly for your explanation. The penny has now dropped  :-+