Comments (8)
Hello Hyanki,
The goal of soft decoding is to limit the quantization error of IQ demodulation so that the Viterbi decoder will make a better estimate during the decoding process.
Furthermore, at any given constellation point and modulation scheme (i.e. BPSK, QPSK, 16QAM, 64QAM), only a single bit per phase (I.e in-phase, quadrature) will experience quantization error. You can check it yourself on the constellation diagram (https://openofdm.readthedocs.io/en/latest/_images/mod.png).
This means, we only need to save the soft decoding information for two bits and the position within the constellation diagram. Now the Viterbi decoder from Xilinx by default uses 3-bit width for soft-decoding representation and that makes the total bits 6 = 2*3.
So for your question, yes the number of bits in soft and hard decoding is the same but they have a different meaning
from openwifi-hw.
Hi mmehri
In 64QAM we are packing 6 bit in one symbol then modulate. In receiver we demodulate it and feeded to viterbi but i think viterbi is giving one bit output.
Here how these packed bits are reterved using viterbi?
Regards
hyanki
from openwifi-hw.
In hard decoding mode, the Viterbi decoder accepts two bits and produces 1 bit. Whereas in the soft decoding mode, the Viterbi decoder accepts 6 bits (2*3) and produces 1 bit.
Inside openofdm, the Viterbi decoder from Xilinx was always enabled to work in soft decoding mode but the original author @jhshi has not made the module to take advantage of this. That means, the module was working in hard decoding mode and that is what we have updated in our development.
As to the principle of working of the Viterbi decoder, you can look at the following youtube movies
https://www.youtube.com/watch?v=kRIfpmiMCpU
https://www.youtube.com/watch?v=dKIf6mQUfnY
from openwifi-hw.
from openwifi-hw.
Where did you get the information that 16QAM uses convolution rate 2/3?`
from openwifi-hw.
from openwifi-hw.
First of all, we haven't implemented the Viterbi decoder, except using the IP core from Xilinx.
Second, the Viterbi decoder works on a sequence of inputs before producing an output, rather than 4bits in the case of 16 QAM. The operation of the Viterbi decoder does not depend on the modulation schemes. All it cares about is the bits.
So I would advise you to watch the youtube videos I have attached previously.
from openwifi-hw.
from openwifi-hw.
Related Issues (20)
- Modify the rate or modulation mode of tx HOT 1
- Vivado - critical warning HOT 1
- Extracting samples after CFO correction HOT 3
- May I ask which licenses Vivado needs besides Xilinx Viterbi Decoder license, because the Bitstream and HDF files we often compile cannot be used, thank you
- How to expand the data bit width of Side_Info from 64bit to 128bit? HOT 2
- fail to build bitstream for zc702+fmcs4 HOT 1
- porting open-wifi to ad9375 HOT 1
- some questions about "phase_offset" in module sync_short HOT 2
- Question on the retransmission HOT 5
- rssi issue HOT 2
- openwifi compatible with vivado 2021 ML edition HOT 6
- no openwifi ssid WARNING: Tx Quadrature Calibration failed
- question HOT 12
- Hello,Dr.jiao. I have a question about the contention window of the csma code. I know that the traditional backoff window CWmin for CSMA/CA is 16, but the random number generation section in the csma_ca code starts from 2. How is this section defined? Or that I misunderstand the meaning of the source code? HOT 4
- Couldn't find the Ubuntu 18/20/22 LTS release on the Ubuntu download website. HOT 1
- Couldn't find the openofdm_tx_pre_def.v file for openofdm_tx verilog files.
- PCF mode HOT 1
- antsdr e310v2 pull request HOT 4
- ofdm direct-to-receive simulation and psdu modification
- Questions about tx_intf 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 openwifi-hw.