OFDM modulation how to apply in real application
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am looking to generate and QAM-16 OFDM signal and apply it to a LED to control the amplitude.
When I create the OFDM modulated signal as follows, it outputs complex numbers in modData. Can I simply take the real portion of this complex value to convert to a voltage to amplitude modulate the diode? Or is there some other way to convert the modulated data into a summation of sinusoids?
On the receiving end, I have a detector attached to a scope which will change the sampling rate. Can I use the corresponding demodulator with this signal or will I have to adjust the sampling rate, assuming I can find the correct start of the signal or will it fail because I don't have a complex input?
FFTlen = 256;
Guard = [28;28];
DC = false;
pilotIdx = [-88,-63,-38,-13,13,38,63,88]';
pilotIdx = pilotIdx+129;
CP = FFTlen * 0.25;
nSymb = 30;
%QAM
M = 16;
%PILOT
p1 = [0 1 0 1 1 1 0 0];
p2 = [1 0 1 0 0 0 1 1];
pilot1 = pskmod(p1,2)';
pilot2 = pskmod(p2,2)';
%OFDM MOD
ofdmMOD = comm.OFDMModulator('FFTLength',FFTlen,'NumGuardBandCarriers',Guard, ...
'InsertDCNull',DC, 'CyclicPrefixLength', CP, ...
'PilotInputPort', true, 'PilotCarrierIndices', pilotIdx,...
'NumSymbols',nSymb);
modDim = info(ofdmMOD);
%DATA
inSig = randi([0 M-1],modDim.DataInputSize(1),modDim.DataInputSize(2));
dataIn = qammod(inSig,M,'UnitAveragePower',true);
pilotIn = [repmat(pilot1,1,8), repmat(pilot2,1,9), ...
repmat(pilot1,1,2), repmat(pilot2,1,7), ...
repmat(pilot1,1,4)];
modData = step(ofdmMOD,dataIn,pilotIn);
2 commentaires
Akira Agata
le 29 Mar 2019
Before jumping into a solution, I would recommend learning a basics on IQ modulator, such like the following page.
Regards,
Akira
Réponses (0)
Voir également
Catégories
En savoir plus sur PHY Components dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!