DSPRelated.com
Forums

FSK encoding: alternatives to Manchester and NRZ

Started by howy February 3, 2007
Hi all,
I noticed a lot of FM related questions this month, so here is another
one...

I am transmitting FSK using a MICRF505 transceiver chip. The FSK
modulator in this chip requires a bit encoding scheme to reduce the DC
content of the bit stream to a manageable level.  I am struggling with
the extra bit rate needed in order to meet this requirement.

I figure if I have to increase my bit rate by a factor of 50% or 100%
I might be able to use a set of error correcting codes that have been
designed to result in a reasonably balanced 1 vs. 0 count ratio. This
should offset the effects of multipath interference due to the smaller
symbol period.

Is there a set of FEC codes that are used for this purpose or do I
just have to grin and bear it?

thanks,
-howy


howy wrote:


> I am transmitting FSK using a MICRF505 transceiver chip. The FSK > modulator in this chip requires a bit encoding scheme to reduce the DC > content of the bit stream to a manageable level. I am struggling with > the extra bit rate needed in order to meet this requirement.
You can implement a bit block mapping with exactly zero DC. Depending of the block size, the overhead can be done as small as you want. Perhaps, the simplest mapping is 6 bit to 8 bit. It is easily done with the lookup tables.
> I figure if I have to increase my bit rate by a factor of 50% or 100% > I might be able to use a set of error correcting codes that have been > designed to result in a reasonably balanced 1 vs. 0 count ratio. This > should offset the effects of multipath interference due to the smaller > symbol period.
It depends...
> Is there a set of FEC codes that are used for this purpose or do I > just have to grin and bear it?
There are some codes designed specifically to limit the bandwidth of the modulated signal. However they assume the soft Viterbi decoder. In your case, a straightforward solution could be an RS code in GF(2^6), and then map the 6-bit code symbols into 8 bit bytes. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
howy wrote:
> Hi all, > I noticed a lot of FM related questions this month, so here is another > one... > > I am transmitting FSK using a MICRF505 transceiver chip. The FSK > modulator in this chip requires a bit encoding scheme to reduce the DC > content of the bit stream to a manageable level. I am struggling with > the extra bit rate needed in order to meet this requirement. > > I figure if I have to increase my bit rate by a factor of 50% or 100% > I might be able to use a set of error correcting codes that have been > designed to result in a reasonably balanced 1 vs. 0 count ratio. This > should offset the effects of multipath interference due to the smaller > symbol period. > > Is there a set of FEC codes that are used for this purpose or do I > just have to grin and bear it?
There's no need to have any DC if you can double the bit rate. For example, transmit 1 as a 1/0 pair, and 0 as 0/1 Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
"howy" <howyhowy@gmail.com> writes:

> Hi all, > I noticed a lot of FM related questions this month, so here is another > one... > > I am transmitting FSK using a MICRF505 transceiver chip. The FSK > modulator in this chip requires a bit encoding scheme to reduce the DC > content of the bit stream to a manageable level. I am struggling with > the extra bit rate needed in order to meet this requirement.
It sounds like you have a binary source with an entropy of less than 1 bit. If you know the probabilistic model of the source, you can simultaneously remove the DC and _REDUCE_ the bitrate by source-encoding, e.g., by using a Huffman code. -- % Randy Yates % "How's life on earth? %% Fuquay-Varina, NC % ... What is it worth?" %%% 919-577-9882 % 'Mission (A World Record)', %%%% <yates@ieee.org> % *A New World Record*, ELO http://home.earthlink.net/~yatescr

Randy Yates wrote:

>>I am transmitting FSK using a MICRF505 transceiver chip. The FSK >>modulator in this chip requires a bit encoding scheme to reduce the DC >>content of the bit stream to a manageable level.
> It sounds like you have a binary source with an entropy of less than 1 > bit. If you know the probabilistic model of the source, you can > simultaneously remove the DC and _REDUCE_ the bitrate by > source-encoding, e.g., by using a Huffman code.
Any kind of probabilistic compression does not guarantee against the DC bias as well as all zero or all one sequences at the output. It can only reduce the probability of that. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky <antispam_bogus@hotmail.com> writes:

> Randy Yates wrote: > >>>I am transmitting FSK using a MICRF505 transceiver chip. The FSK >>>modulator in this chip requires a bit encoding scheme to reduce the DC >>>content of the bit stream to a manageable level. > >> It sounds like you have a binary source with an entropy of less than 1 >> bit. If you know the probabilistic model of the source, you can >> simultaneously remove the DC and _REDUCE_ the bitrate by >> source-encoding, e.g., by using a Huffman code. > > Any kind of probabilistic compression does not guarantee against the > DC bias as well as all zero or all one sequences at the output. It can > only reduce the probability of that.
Correct, and if the probability is, say, 0.000001? -- % Randy Yates % "...the answer lies within your soul %% Fuquay-Varina, NC % 'cause no one knows which side %%% 919-577-9882 % the coin will fall." %%%% <yates@ieee.org> % 'Big Wheels', *Out of the Blue*, ELO http://home.earthlink.net/~yatescr

Randy Yates wrote:

>>>>I am transmitting FSK using a MICRF505 transceiver chip. The FSK >>>>modulator in this chip requires a bit encoding scheme to reduce the DC >>>>content of the bit stream to a manageable level. >> >>>It sounds like you have a binary source with an entropy of less than 1 >>>bit. If you know the probabilistic model of the source, you can >>>simultaneously remove the DC and _REDUCE_ the bitrate by >>>source-encoding, e.g., by using a Huffman code. >> >>Any kind of probabilistic compression does not guarantee against the >>DC bias as well as all zero or all one sequences at the output. It can >>only reduce the probability of that. > > > Correct, and if the probability is, say, 0.000001?
This would be too impractical to achieve. What does matter is the probability that the DC is going to exceed X over the window size of N bits. The probabilistic coder produces a random stream of bits, and the distribution of the DC can be assumed to be Gaussian with the dispersion of ~ sqrt(N). Now run the numbers. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
> It sounds like you have a binary source with an entropy of less than 1 > bit. If you know the probabilistic model of the source, you can
The data is already severely compressed audio. Although I think the main point may have been missed here. Stated in a different way: If I /have/ to double the bitrate in order to guarantee no DC (not actually true since some DC is tolerated), what's the "best possible" way to do it? For example maybe I can remap the Golay codes by adding 10 to 20% more dummy bits to insure certain low frequency response characteristics. Then, when decoding, I essentially unmap the "bloated" Golay code back to the original code. This way I may actually have gained some RF performance rather than degrading it. -howy

howy wrote:

> Although I think the main point may have been missed here. Stated in a > different way: > If I /have/ to double the bitrate in order to guarantee no DC (not > actually true since some DC is tolerated), what's the "best possible" > way to do it? > > For example maybe I can remap the Golay codes by adding 10 to 20% more > dummy bits to insure certain low frequency response characteristics. > Then, when decoding, I essentially unmap the "bloated" Golay code back > to the original code. This way I may actually have gained some RF > performance rather than degrading it.
That way you can gain some performance as well as you can loose it. It depends upon what is your channel error rate and what is the desired error rate after the decoder. It is difficult to get much coding gain on the compressed audio, because the audio itself can tolerate the error rates as high as up to 1%. Golay code is too weak to beat the overhead due to the increased bit rate. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky wrote:

   ...

> then map the 6-bit code symbols into 8 bit bytes.
_Bytes?_ Jerry -- Engineering is the art of making what you want from things you can get. &macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;&macr;