Comments (7)
yes, checkout the development branch and see the LS equalizer.
from gr-ieee802-11.
Thanks.
I am trying to run wifi_loopback in the development branch. Here, I first see the grc has some missing connections.
I tried two things to fix the connections:
- To connect the WiFi PHY Hier carrier output to a null sink and disabling the PDU to Tagged and Scope sinks
I see the following error
Using Volk machine: avx_64_mmx_orc
MAPPER: encoding: 5
set_min_output_buffer on block 18 to 397056
set_min_output_buffer on block 20 to 397056
set_min_output_buffer on block 22 to 397056
set_min_output_buffer on block 23 to 397056
set_min_output_buffer on block 25 to 397056
set_min_output_buffer on block 38 to 96000
Traceback (most recent call last):
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 301, in
main()
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 295, in main
tb = top_block_cls()
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 230, in init
self.connect((self.wifi_phy_hier_0, 1), (self.blocks_null_sink_0, 0))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 47, in wrapped
func(self, src, src_port, dst, dst_port)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 110, in connect
self.primitive_connect(*args)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 5331, in primitive_connect
return _runtime_swig.top_block_sptr_primitive_connect(self, *args)
ValueError: port number 1 exceeds max of 0
Next, I tried connecting the scope directly to the WifiPhyHier block, and I see a similar output.
Using Volk machine: avx_64_mmx_orc
MAPPER: encoding: 5
set_min_output_buffer on block 30 to 397056
set_min_output_buffer on block 32 to 397056
set_min_output_buffer on block 34 to 397056
set_min_output_buffer on block 35 to 397056
set_min_output_buffer on block 37 to 397056
set_min_output_buffer on block 50 to 96000
Traceback (most recent call last):
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 315, in
main()
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 309, in main
tb = top_block_cls()
File "/Users/avinash/usrp/gr-ieee802-11-development/gr-ieee802-11/examples/wifi_loopback.py", line 245, in init
self.connect((self.wifi_phy_hier_0, 1), (self.wxgui_scopesink2_0, 0))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 47, in wrapped
func(self, src, src_port, dst, dst_port)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/hier_block2.py", line 110, in connect
self.primitive_connect(*args)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/runtime_swig.py", line 5331, in primitive_connect
return _runtime_swig.top_block_sptr_primitive_connect(self, *args)
ValueError: port number 1 exceeds max of 0
Could you please let me know how I might be able to fix the connections to get the development branch running ?
Thanks!
from gr-ieee802-11.
The PHY flow graph changed in develop. You have to open and rebuild it. Then refresh or restart GRC.
from gr-ieee802-11.
I had rebuilt the PHY flowgraph, but restarting GRC fixed it. Thanks!
I am trying to understand the estimator code in ls.cc. I notice by looking at stdout, that the value of n is monotonically increasing to 38. What does "n" here mean ?
The 64 here represents the 64 sub-carriers ?
Thanks!
from gr-ieee802-11.
n is the OFDM symbol. 64 is for the 64 subcarriers.
from gr-ieee802-11.
Thanks a few other quick questions.
I am guessing d_H[i] here for each sub-carrier contains the CSI of the sub-carrier. Why is this calculated on n=1 ?
Could you also please let me know what the granularity of the CSI calculation is - i.e. how often is the CSI calculated and on what data ?
Thanks!
from gr-ieee802-11.
it's calculated after the second (n==1) symbol, i.e., after the long preamble.
The second point depends on the channel estimation algorithm. LS is the simplest one, which estimates the channel after the long preamble and keeps it constant for the rest of the frame.
See the other algorithms for more complex algorithms.
from gr-ieee802-11.
Related Issues (20)
- GrSwig Missing HOT 7
- no data packet, just ack packets HOT 3
- static assertion failed HOT 6
- Tx is router,Rx is USRP HOT 4
- Readme has bad instruction for git clone HOT 1
- Port is not connected HOT 3
- wifi_loopback.grc - flowgraph stops with warning messages "Could not find port out in" and "system" HOT 2
- capturing only 2 out of 4 in handshake HOT 4
- Need help in generating wifi Becons using HackRF (wifi_tx.grc) HOT 9
- Filtering IQ samples using MAC address HOT 2
- Becacon and eapol receive error HOT 5
- gr-ieee802-11for bladerf? HOT 5
- Estimating Angle of arrival and distance from CSI values in Frame Equalizer HOT 1
- How to use this repo to view WiFi Halow (802.11ah)? HOT 1
- Other wireless packet attributes aside CSI
- GNU Radio install methods to be updated in README HOT 1
- [Feature request] Support others SDR hardware devices HOT 1
- Failed to receive 802.11g wireless signal HOT 2
- updation needed for IEEE 802.11n packet capturing HOT 3
- An error in block <chunks_to_symbols> HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gr-ieee802-11.