필터 지우기
필터 지우기

How to modify this MMSE channel estimation code to accommodate optical OFDM

조회 수: 2 (최근 30일)
function H_MMSE = MMSE(RxP,TxP,N,pilotFrequency,h_CIR,SNR)
noiseVar = 10^(SNR*0.1);
Np=N/pilotFrequency; % Number of Pilots
H_LS = RxP./TxP; % LS estimate
k=0:length(h_CIR)-1;
hh = h_CIR*h_CIR';
% tmp = h_CIR.*conj(h_CIR).*k;
r = sum(h_CIR.*conj(h_CIR).*k)/hh;
r2 = (h_CIR.*conj(h_CIR).*k)*k.'/hh;
t_rms = sqrt(r2-r^2); % rms delay
D = 1j*2*pi*t_rms/N; % Denomerator of Eq. (6.16) page 192
K1 = repmat([0:N-1].',1,Np);
K2 = repmat([0:Np-1],N,1);
rf = 1./(1+D*(K1-K2*pilotFrequency));
K3 = repmat([0:Np-1].',1,Np);
K4 = repmat([0:Np-1],Np,1);
rf2 = 1./(1+D*pilotFrequency*(K3-K4));
Rhp = rf;
Rpp = rf2 + eye(length(H_LS),length(H_LS))/noiseVar;
H_MMSE = transpose(Rhp*inv(Rpp)*H_LS); % MMSE channel estimate
  댓글 수: 3
Hanojhan Rajahrajasingh
Hanojhan Rajahrajasingh 2023년 1월 30일
N is the length of each OFDM symbol and in this context used as an integer.
Omar Dhawahir
Omar Dhawahir 2023년 1월 31일
편집: Omar Dhawahir 2023년 2월 1일
Do you mean time (3.2 us)or subcarriers(52) in Wifi 802.11g?
I'm trying to apply MMSE channel estimation for WiFi 802.11g, i still don't know how to calculate that Np=N/pilotFrequency;
what is the pilotFrequency ? is that number of pilots ?
H_LS = fft(LT)./ Tx_LT;
h_CIR = ifft(H_LS);
SNR = calculate it in signal filed
pilotFrequency = ?
N = 52/ ?
Can you post link for this (Denomerator of Eq. (6.16) page 192) ?

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

답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by