OFDM modulation how to apply in real application
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Akira Agata
2019 年 3 月 29 日
Before jumping into a solution, I would recommend learning a basics on IQ modulator, such like the following page.
Regards,
Akira
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で PHY Components についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!