currently im creating an application capable of generating QAM and OFDM signal to be transmitted using SDR. The whole application is implemented in MATLAB Simulink using only code generateable functions to deploy later on.
To sum up the problem: I generate signals at a fixed FrameSize (8192) and a fixed StepTime (0.01s) which results in a sampling frequency of 819200Hz. The problem is: whatever QAM-order I choose (64, 128, 16 etc.), it seems like the symbols are spread over the whole nyquist spectrum which is ~[-40kHz - 40kHz]. I will attach an example picture using 128-QAM with given sampleRate, FrameSize etc:
However, I must admit I do not really know how to interpret this spectrum. I can see that the amount of spikes I am getting equals to Framesize/QAM-Order -> $ \frac{8192}{128} = 64$.
I also tried to increase the spectrum resolution by increasing the NFFT parameter in Simulink Spectrum Analyzer which gives me this when i zoom in:
Here i realized that the all of these sidelobes sum up to be exactly 128 between the two big main lobes (which equals the QAM-order).
I am struggling to interpret the spectrum correctly so maybe someone could explain how to understand the findings I described.
Also if anyone has experience using MATLAB for these type of things i would greatly appreciate if anyone knows how to limit the bandwidth that the QAM signal is taking. I know that the Bandwidth is calculated like $\frac{1}{symbol rate}$. However in MATLAB the spectrum takes the whole available bandwidth which is greater than when calculating it.
I know there are a lot of questions here but i would appreciate every answer and every little piece of help i can get and I am happy to add more information on the problem if needed.
Thank you very much and best regards