Hi Daniel, Any help would be greatly appreciated :) Maybe I can poke at the time synchronization code also.
It seems as though the decoder's inability to detect some of the short preambles might be due to the scrambler. If I make my own "preamble" that uses 7 bytes of scrambled 1s instead of 7 bytes of scrambled 0s (as specified), the receiver is able to detect all 50 preambles. If I use 7 bytes of 0s, it can only detect 44 preambles. Digging... - George On Mon, Nov 30, 2009 at 4:43 PM, Daniel Sumorok <dsumo...@bbn.com> wrote: > I remember I had the same problem with the crc error on the short preamble > when I wrote the code, but I never figured out what the problem was. > However, I did receive an email from someone who claimed to have fixed the > problem (I think) a couple of years ago. If you want I can email him. > Also, I don't know how much the code has changed. but there is a bug in the > time synchronization code that will cause some packets to be dropped. > > -Dan > > On Nov 30, 2009, at 4:14 PM, George Nychis wrote: > > > Hi all, > > > > I'm in the progress of implementing the 802.11 short preamble on the TX > side. There is code on the RX side (based on yesterday's discussion) to > handle a short preamble, but I am positive there is no code on the TX side > to transmit using a short preamble. Of course, I'd like to implement it as > an option. > > > > The main crux of it is ensuring that only the preamble is modulated at > 1Mbps, and that the PLCP header is actually modulated at 2Mbps. This is > unlike the long preamble where both are modulated at 1Mbps. > > > > Right now, I have the loopback detecting the short preamble, but the CRCs > fail. If you want to try it: > > svn co > https://www.cgran.org/svn/projects/bbn_80211/branches/usrp2_version > > > > Build, etc, and then go to gr-bbn/src/examples and run > ./bbn_80211b_sptest.py ... you will see this, for example: > > Recieved (short) header! > > signal: 0xCA > > service: 0xA0 > > length: 0x52FA > > crc: 0xB86C > > Calculated crc: 0xE491 > > *** BAD CRC *** > > > > To explain my changes a bit, I implemented a small option (which we can > add to the command line) here: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L166 > > > > If using a short preamble, we use 7 bytes of scrambled 0's and the > reversed SFD: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L175 > > > > During modulation, I make sure to split the preamble and the PLCP header, > and modulate them according to the preamble option: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L257 > > > > xpsk_mod_header_1 is to modulate the header at 1Mbps and > xpsk_mod_header_2 at 2Mbps: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L103 > > > > Again, when encoding, ensure we modulate based on the preamble option: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L272 > > > > One last time, for prepending to the payload: > > > https://www.cgran.org/browser/projects/bbn_80211/branches/usrp2_version/gr-bbn/src/examples/bbn_80211b_pkt.py?rev=383#L331 > > > > ... and that's it. If anyone pokes at it to pass the CRC with any > success, let me know... I'll keep working on it. > > > > - George > > > > > > > > _______________________________________________ > > Discuss-gnuradio mailing list > > Discuss-gnuradio@gnu.org > > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio >
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio