Example HDL QAM : changing QAM 64 to QAM 256

조회 수: 7 (최근 30일)
Vaibhav BHATNAGAR
Vaibhav BHATNAGAR 2023년 3월 10일
답변: Kiran Kintali 2023년 4월 23일
Hello,
I am trying to change the constellation type from 64 to 256 in this example.
I have adapted the commqamtxrxhdl_init.m script as shown in attached image.
Moreover, I have adapted the model as per my understanding the constellation type and grouping and degrouping the bits at tx and rx.
But the amplitude of my signal is very low at the receiver aftrer frequency correction, it works but by reduing the threshold and the constellation seems to be not corrected at all.
It seems to me that it requires some other adaptation in frequency and timing correction blocks.
Thanks for any reply in advance.
Regards,

답변 (3개)

Karthik Akula
Karthik Akula 2023년 3월 14일
Please find the attached snapshot.
When the 1 and 0 of the preamble sequence is mapped to (1,1) and (-1,-1) , the sequence has good correlation properties, which is generally done in case of BPSK or QPSK as computed to the variable 'b' in the snapshot
By choosing [4 32] preamble map for 64 QAM, the preamble sequence in complex version is same as the sequence that is obtained for BPSK or QPSK case.
For 256 QAM, we dont have exact (1,1) and (-1,-1) mapping, but you can try [8 128]. This map to constellation points which are attenuated versions of (1,1) and (-1,-1). so you may see a small attenutation in the peak but the main lobe to side lobe ratio should remain same.
With this conceptual understanding, please modify the script to match with 256 QAM instead of 64 QAM.
NOTE: Make sure the total bits, preamble+databits is a multiple of 8 not 6.
Thanks,
Karthik.
  댓글 수: 3
Vaibhav BHATNAGAR
Vaibhav BHATNAGAR 2023년 3월 21일
Hello,
Now adaptation is done everywhere in the model.
In brief:
Mapping is adapted with 8 and 128 instead of 4 and 32.
Now:
Pramble bits = 14Symbol x 8bitsPerSymbol = 112.
Correlation with Tx and Rx preable sequence seems precise with little distortion in lower band.
Data bits = 42Symbols x 8bitsPerSymbol= 336 that does 48characters decoded in 7 bit binary.
But the constellation 256 looks like the attached snapshot seems like CFO estimation is not correct.
Hence, ascii2binary decoding is not working at all.
Thanks in advance for your comments.
Vaibhav BHATNAGAR
Vaibhav BHATNAGAR 2023년 3월 23일
Hello,
It is working now. The major issue is adaptation of constellation scaling between tx and rx.
in the init.m file the preamble mapping needs to be adapted to the modulator minimum distance between constellation points that is 0.125 for QAM-256 so that the constellation points stay between -1 to 1. Then the maximum positive amplitude is 0.975 hence preambleRxMap should be multiplied with 0.93.
SimParams.preambleRx = 0.93 * preambleRxMap(preambleBits+1);
This is for tx side, now for Rx side sine the demodulator support minimum distance 2, it is neccessary to scale by 16 (2/0.125) for QAM-256. It was 8 for QAM-64 before.
After doing this the example works as QAM-64 but the constellation is noisy however, the AWGN is removed completely. BER stays 0.1526.
I see some improvements needs to be done at CFO and timing recovery.
Any suggestions if there are some visible changes for QAM-256, there are so many constant and delays in the model.

댓글을 달려면 로그인하십시오.


Vaibhav BHATNAGAR
Vaibhav BHATNAGAR 2023년 4월 7일
It has been long time that the question remains open.
Always no answer???
May be with number of questions you receive everyday I understand that it is not possible to answer each and every question.
I hope this space will catch your attention. We have a full enterprise license but without your help we can not understand your examples.
The idea was to understand your example for certain industrial applications.
As usual, there are so many hard-coded constants in the model without any comments, with referenced papers the algorithms do not match exactly.
We are trying to analyse but loosing lots of time, that could be faster with your comments.
Hope to have your reply.

Kiran Kintali
Kiran Kintali 2023년 4월 23일
It looks like you are stuck modifying the existing to QAM 256. Please reach out to tech support for additional guidance. They can help point you to the training resources necessary to build such a custom QAM example.

카테고리

Help CenterFile Exchange에서 QAM에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by