bastibl / gr-ieee802-11

IEEE 802.11 a/g/p Transceiver
https://wime-project.net/
GNU General Public License v3.0
750 stars 292 forks source link

Low data speed with high bandwidth #164

Closed rcetin closed 5 years ago

rcetin commented 5 years ago

Hi Bastian, I am trying to communicate two N310s. I am using wifi_transceiver.grc. I have made some changes on grc file;

It's working now and i can ping other device. It is shown in below. image

Then i made a speedtest using iperf3 tool. This is the result. image

So, data rate is about 500Kb/s. My bandwidth is 10MHz and modulation is QPSK 3/4. Why is it so slow? Is it related with MTU size? (High MTU sizes causes to crash application)

Best regards.

bastibl commented 5 years ago

I guess this is mainly due to inherent delay/timing limitations of a CPU implementation.

Currently the maximum frame size is hardcoded to 1500 byte. GNU Radio's Tagged Stream block require that the whole frame fits within the input buffer. And a BPSK-1/2 is already quite large. This could be changed if needed, but I don't think that it will make things better.

I assume the main issues are:

If you want to avoid the latter you could try UDP. But I assume the low of transmitted frames per second might be the main issue.

rcetin commented 5 years ago

Hi Bastian, Thank you for your response. So, i think if i try the optimized TX version, it can increase speed significantly. There is also another problem in this context that i mentioned in issue. Long time high bandwidth transmission freezes gnuradio transmitter side. After it freezed i cannot close it and i have to kill the process. This is the case that i produced that issue:

Do you have a idea about what the problem can be in here?

bastibl commented 5 years ago

Can you reproduce this issue with the unmodified version from this repository? Or does that only happen with the "optimized" version?

rcetin commented 5 years ago

I used your version of transmitter. I did not tried optimized version yet. I reproduce that error again. This is my flowgraph of transceiver. image My test conditions:

Transmitter log: image

Regards.

rcetin commented 5 years ago

Hi Bastian, Update: I am sorry, i misunderstood the situation. Actually the stopped side is receiver side. The green LED on receiver USRP is off. This is receiver log when it is stopped;

image

After rebooting RX USRP, system starts working. So, transmitter is okay but receiver is freezes after high throughput data transmission for a while.

bastibl commented 5 years ago

At the moment, I don't have the hardware to reproduce this. And in simulations, I never experienced that. Please check the threads to see if it is in an endless loop, if a thread crashed. Maybe enable debugging for some blocks to understand which block causes the problem etc.