Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Register Log in

OFDM Carrier Frequency Recovery

Status
Not open for further replies.

ReComm

Member level 2
Joined
Aug 26, 2010
Messages
46
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Egypt
Activity points
1,640
The following code is used to estimate and correct the frequency offset errors for a single carrier system
Code:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
freqOffset = 0; phaseOffset = 0;
hPFO = comm.PhaseFrequencyOffset('FrequencyOffset', freqOffset, ... 'PhaseOffset', phaseOffset, ... 'SampleRate', samplesPerSymbol/Ts);
rx_signal1l = step(hPFO,tx_signal);
 rx_signal = rx_signal1l.';
hDelayInstFreq = dsp.Delay;
hMovAve = dsp.DigitalFilter('TransferFunction','FIR (all zeros)', ... 'Numerator', ones(1,100)/100);
hCumSum = dsp.CumulativeSum('Dimension','Channels (running sum)', ... 'FrameBasedProcessing', true);
%% Calculate the frequency shift estimate
P = 2;
currInstFreq = rx_signal.^(2*P);
prevInstFreq = step(hDelayInstFreq, currInstFreq);
freqShiftEst1 = currInstFreq .* conj(prevInstFreq);
% Average over 1 frame
freqShiftEst = mean(freqShiftEst1);
% Moving average over 100 frames
freqShiftEst = step(hMovAve, freqShiftEst);
freqShiftEst = angle(freqShiftEst) / (2*P);
% Convert digital frequency to Hertz
freqShiftEst = freqShiftEst / (2*pi*Ts);
%% Apply frequency correction
freqCorr = repmat(-freqShiftEst*Ts, samplesPerFrame, 1);
% Calculate cumulative phase shift
freqCorr = step(hCumSum, freqCorr);
% Apply frequency shift correction
rxSym = rx_signal .* exp(1i*2*pi*freqCorr);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
How can i adapt it for OFDM System?
 
Last edited by a moderator:

ReComm

Member level 2
Joined
Aug 26, 2010
Messages
46
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Egypt
Activity points
1,640
OFDM Carrier frequency estimation and compensation (correction) References

Dear Friends,

I want some references on OFDM estimation and compensation (correction) techniques for carrier frequency offset (CFO) to help me understand and implement them by Matlab

Thanks in advance.
 

Status
Not open for further replies.
Toggle Sidebar

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top