Hi, I need to build a Viterbi for 16FSK. 1/2 with K=7. In the case of BFSK, Soft Decision is not a problem for me, I compare the correlation for a symbol '0' and for a symbol '1' and i know the confidence for '0' o for '1'. In the case of 16FSK, i am lost, because a symbol has 4 bits that belong to a same frecuency. For example: "0000" belong to a tone of 1000 Hz For example: "0001" belong to a tone of 1015 Hz For example: "0010" belong to a tone of 1030 Hz Etc....... Thats four bits arrived joined in the same symbol. How i do for programming the soft decision in this case? Help, please

# Viterbi Soft Decision for 16FSK

Started by ●May 8, 2006

Reply by ●May 8, 20062006-05-08

You can calculate some uncertainty bits for the symbol and then assign the same uncertainty bits to all four data bits for decoding. I guess it depends on how your symbols are numbered. For example, if they are numbered from 0 to 15 in proportion to frequency and you detect that a 0000 was sent you can probably assign the 2 MSBs a zero uncertainty since it would take a very large frequency error for them to be wrong. Similiary, if they were grey coded then maybe you would assign the bits that don't change with the neighbors a zero uncertainty. As for the certainity for the symbol decision maybe you can calculate a ratio of the energy in the selected symbol versus the energy in all the other tones. "JAlbertoDJ" <nietorosdj@yahoo.es> wrote in message news:adSdnWcChYgyvsLZnZ2dnUVZ_tSdnZ2d@giganews.com...> Hi, > > I need to build a Viterbi for 16FSK. 1/2 with K=7. > > In the case of BFSK, Soft Decision is not a problem for me, I compare the > correlation for a symbol '0' and for a symbol '1' and i know the > confidence for '0' o for '1'. > > In the case of 16FSK, i am lost, because a symbol has 4 bits that belong > to a same frecuency. > > For example: "0000" belong to a tone of 1000 Hz > For example: "0001" belong to a tone of 1015 Hz > For example: "0010" belong to a tone of 1030 Hz > Etc....... > > Thats four bits arrived joined in the same symbol. > > How i do for programming the soft decision in this case? > > Help, please > > > >

Reply by ●May 8, 20062006-05-08

Hi, Why don't you use Reed-Solomon codes in your application? The problem with Convolutional codes and the Viterbi decoder is that these codes do not like burst errors, which is what will typically happen when a symbol is incorrectly demodulated by the MFSK decoder. There are a few papers where MFSK and Reed-Solomon codes are used, and the soft-decision values are used to declare erasures. There is even a Viterbi measure defined to determine whether an erasure should be declared. Two papers that I can think of is one by Matache (www.ee.ucla.edu/~matache/MA4_3.pdf), and the other by Stark (www.eecs.umich.edu/~stark/2002B.pdf). Anonymous wrote:> You can calculate some uncertainty bits for the symbol and then assign the > same uncertainty bits to all four data bits for decoding. I guess it depends > on how your symbols are numbered. For example, if they are numbered from 0 > to 15 in proportion to frequency and you detect that a 0000 was sent you can > probably assign the 2 MSBs a zero uncertainty since it would take a very > large frequency error for them to be wrong. Similiary, if they were grey > coded then maybe you would assign the bits that don't change with the > neighbors a zero uncertainty. As for the certainity for the symbol decision > maybe you can calculate a ratio of the energy in the selected symbol versus > the energy in all the other tones. > > > "JAlbertoDJ" <nietorosdj@yahoo.es> wrote in message > news:adSdnWcChYgyvsLZnZ2dnUVZ_tSdnZ2d@giganews.com... > > Hi, > > > > I need to build a Viterbi for 16FSK. 1/2 with K=7. > > > > In the case of BFSK, Soft Decision is not a problem for me, I compare the > > correlation for a symbol '0' and for a symbol '1' and i know the > > confidence for '0' o for '1'. > > > > In the case of 16FSK, i am lost, because a symbol has 4 bits that belong > > to a same frecuency. > > > > For example: "0000" belong to a tone of 1000 Hz > > For example: "0001" belong to a tone of 1015 Hz > > For example: "0010" belong to a tone of 1030 Hz > > Etc....... > > > > Thats four bits arrived joined in the same symbol. > > > > How i do for programming the soft decision in this case? > > > > Help, please > > > > > > > >

Reply by ●May 8, 20062006-05-08

You can assign the symbol confidence to all four bits. John JAlbertoDJ wrote:> Hi, > > I need to build a Viterbi for 16FSK. 1/2 with K=7. > > In the case of BFSK, Soft Decision is not a problem for me, I compare the > correlation for a symbol '0' and for a symbol '1' and i know the > confidence for '0' o for '1'. > > In the case of 16FSK, i am lost, because a symbol has 4 bits that belong > to a same frecuency. > > For example: "0000" belong to a tone of 1000 Hz > For example: "0001" belong to a tone of 1015 Hz > For example: "0010" belong to a tone of 1030 Hz > Etc....... > > Thats four bits arrived joined in the same symbol. > > How i do for programming the soft decision in this case? > > Help, please

Reply by ●May 8, 20062006-05-08

Thank you for answer. I am thinking one thing. For example, in the Viterbi Algorith, if i need to know confidence for two bits into a supposed block of 4 bits i can add correlations of all symbols that have that bits in that positions. For example, What would be the confidence for "10" into the block of 4 bits: "XX10 XXXX XXXX......"? Confidence("10")= Correlation(0010)+Correlation(0110)+ +Correlation(1010)+Correlation(1110)+ That 4 symbols have in common that third bit is "1" and Fouth bit is "0" For each two bits that i compare in Viterbi, I add Correlation of 4 frecuencies. One of that correlations will be very high (correlation with recieved symbol), the other 3 correlations will be very low (correlation with Noise). I am not sure if this is the correct form for apply Viterbi to my 16FSK. About burst noise, i will do interleaving with the bits. Also, i will apply Spread Spectrum. In fact, a symbol will be compound of 4 frecuencies scattered. But that is other questions. About Reed-Solomon Codes, i know they are a good option for burst noise. In fact, my aplication is for ionosphere communications, where burst noise is very common. But in a first moment i want do it with convolucional code (1/2, k=7), and see how works. In a second moment, i would like do something like codes for CD-ROMS. I think that it use Reed-Solomon into a Convolucional Code or so. I am not sure. I wait for your cooments