FEC code explanation -Convolutional Encoder for encoding data bits

Thread Starter

JimmyCho

Joined Aug 1, 2020
109
I got the Kindle Version of Sklar for $11.90. I have not seen any references to "codeword" so I have no idea what you are referring to. Chapter 7 appears to be where the bulk of the relevant discussion takes place. They do identify the 1/2, K=7 encoder and I know a few more things.
  1. When you shift zeros into the encoder you clear it or flush it out.
  2. The XOR gates affect only the output, the data bits go through the seven stages of the shift register without modification and fall off the right hand edge.
  3. In operation there is no need for a RESET on the Flip-Flops because shifting 0's accomplishes the same function
  4. In your code it could never hurt to set the register to zero, even if you know it is already clear
A couple of other things are clear:
  1. In a program, you can operate the shift register and the XOR gates independently.
  2. The only external results that need to be visible are the outputs A₀ and A₁
The flow of your program should look like:
  1. Shift a data bit into the shift register
  2. Compute A₀ and A₁
Don't forget to shift some zeros into the register when you are done with the data.
That's it
But my problem is how do I compute A0 and A1? not how to program, How do I compute?
 

Papabravo

Joined Feb 24, 2006
21,159
Follow the chain of Exclusive OR gates in the diagram I posted or in the TI application note. The Exclusive OR operator is identical to modulo 2 addition. The Exclusive OR operator is also commutative and associative; so can you write the required expressions by inspection or not?

Using ^ as the Exclusive OR operator the truth table looks like

0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

Does that help?
 

Papabravo

Joined Feb 24, 2006
21,159
I really appreciate your effort to help me, I will try my best to get help from my company members but because I have max one week to finish at least the understanding of the fec encoder that's why Im in a pressure and not having time and I know you're doing your best for me , appreciated ofcourse.

I've read about fec encoder on internet also, all its algorithms are using what's called "codeword" and according to it they encode the data, I understand the scheme of mapping before encoding to after encoding (output encoder), what's confusing me that I dont have the codeword in my case ( still not having the book so I guess the code word found on the book ..) , is there a way could I obtain the codeword of encoding in my fec encoder in my case? according to codeword I can easily understand and map the input data !

the codeword is a scheme that decide if the input to encoder is 0 then mapping it to 0011 for instance, if 1 then mapping it to 1100 ...so all depend on the codeword of my fec given encoder.
I found before three hours the book online finally!!!! it's here free online edition:
https://www.pdfdrive.com/digital-communication-fundamentals-and-application-e186245452.html
at page 381
-note that in my case as what the texas attached document said that our encoder is having K=7 .

Maybe by the hardware implementation code we decide the codeword of our fec encoder? I really didn't understand what's written there and if I was having time then I will more and more read it but sorry Im really stuck and need a boost with current time I have.

What I understand from the book, my fec encoder is work according to hamming distance we choose the minimum hamming distance across all possibilities and the corresponded pattern to the minimum is the output of the encoder..right?

appreciated for any effort
The page you are referring to has absolutely NOTHING to do with the problem you are looking at. Why is that? It is because the output of the convolutional encoder depends not only on the present input bits, but ALSO the 7 bits that proceeded the current one. Codewords are simply inappropriate in this context. Please refer to page p.412 in the pdf (382 on the printed page) Chapter 7 on Convolutional Encoding.
 

Papabravo

Joined Feb 24, 2006
21,159
the code word that I'm meaning is shown in chapter 6 page 552 at the book that I linked it to you above(it's free download) , here it's:
View attachment 215517

Im now trying to understand what you wrote about the encoder k=7
page 552 is Chapter 9, not chapter 6. The (8,2) Code has nothing to do with what we are talking about!!

PS. what you downloaded for free was the first edition. It may not make a difference, but the TI paper referred to the 2nd Edition
 

Thread Starter

JimmyCho

Joined Aug 1, 2020
109
page 552 is Chapter 9, not chapter 6. The (8,2) Code has nothing to do with what we are talking about!!

PS. what you downloaded for free was the first edition. It may not make a difference, but the TI paper referred to the 2nd Edition
Appreciate your effort , really appreciate ! (so I dont have the second 2nd edition and it's hard for me - I hope because you've it to get helped by what you have or even by your knowledge )

if I was having 3 shift registers, this means K=3 , this means the initial states possibilities are 2^2 (2^(3-1)) give me the number of initial states possibilities. so the output codewords are for K=3 : (attaching my state table for k=3 encoder over rate 1/2)
1.jpg

I understand this and every thing is fine for K=3 ! , about K=7 my biggest problem, this means there's 7 shift registers and the initial state possibilities are 2^(7-1) = 2^6 = 64 possibilities , this means to build the state table is finishing it after one week (too long to take all possibilities)
May you please attach me/help me to build the state table for K=7 encoder like what I've done above over K=3 encoder? thanks alot.

Output Code word (last column in the table) is actually the output A0 A1 of my encoder.

it's 64 state and for every state I want to take 0/1 inputs possibilities ..so it's too long state table !
 
Last edited:

Papabravo

Joined Feb 24, 2006
21,159
Appreciate your effort , really appreciate ! (so I dont have the second 2nd edition and it's hard for me - I hope because you've it to get helped by what you have or even by your knowledge )

if I was having 3 shift registers, this means K=3 , this means the initial states possibilities are 2^2 (2^(3-1)) give me the number of initial states possibilities. so the output codewords are for K=3 : (attaching my state table for k=3 encoder over rate 1/2)
View attachment 215530

I understand this and every thing is fine for K=3 ! , about K=7 my biggest problem, this means there's 7 shift registers and the initial state possibilities are 2^(7-1) = 2^6 = 64 possibilities , this means to build the state table is finishing it after one week (too long to take all possibilities)
May you please attach me/help me to build the state table for K=7 encoder like what I've done above over K=3 encoder? thanks alot.

Output Code word (last column in the table) is actually the output A0 A1 of my encoder.

it's 64 state and for every state I want to take 0/1 inputs possibilities ..so it's too long state table !
You have it ALL WRONG!
There is only ONE shift register.
It is SEVEN BITS long
Stop thinking in terms of codewords -- they don't apply.
I'm philosophically opposed to writing the code for you because you won't learn anything if I do that.
You really need to struggle with this, and I'm done answering on this thread.
 

Thread Starter

JimmyCho

Joined Aug 1, 2020
109
You have it ALL WRONG!
There is only ONE shift register.
It is SEVEN BITS long
Stop thinking in terms of codewords -- they don't apply.
I'm philosophically opposed to writing the code for you because you won't learn anything if I do that.
You really need to struggle with this, and I'm done answering on this thread.
Im sorry but that's what I understand (Im not making myself that I dont know ..that what I understand and Im not proficient in RF understandings), I dont want you to write me the code because it's not a good way to learn.
but may you please for example make a code for k=3 and not 7? just to understand what's going on.
the code could be any language you want even if it's pseuodo code language "English language" to understand.

I said 2^6 states because I have 7 D-flip flops and now you're saying I have just one register(one flip flop) .., Im not getting you, sorry and Im stuck what I do? if I didn't tell you the truth of what I understand then what should I tell you? really I appreciate your effort for any step to help me.

Even though to just let you believe that Im not looking for the code :) and I want to implement it ..just enough for me to give me the equation for
A0 A1 outputs of my fec K=7 encoder.
A0=F(inputs)
A1=G(inputs)
F,G is a functions of the inputs or currents states of D-flip flops ..so it's enough for me to attach me what those functions are? thanks alot


if you can hand me the code of k=7 encoder and ofcourse ask questions about it and I will answer it, if I didn't answer then feel free to report to ban me from this forum, because even if you attaching me the code for k=7 encoder (in any language your prefer) I will manage myself to understand it and not copy it!
 
Last edited:

Deleted member 115935

Joined Dec 31, 1969
0
refer to my original statement,
your drowning , and grabbing at anything you can, then blaming us for trying to save you.

You need to learn to swim,
read and understand the book from the beginning would be a good start ,

have fun, its a long road, but once you can swim its a great feeling,
and if you can't swim,

you could always go into snr management,

http://www.gluckman.com/harry/engineermanager.htm
 
Top