I am trying to simulate an OFDM based system in MATLAB where the estimated channel in the reciever is fed back to transmitter. As a proof of concept I wanted to return the ideal channel. I used the following barebones code (not considering pilots, nulls or gaurdbands etc.,)
pathGains = 10.^(-(0:2:19)/10); % 10 taps channel g = (randn(1,10) + 1i*randn(1,10)).*sqrt(pathGains*0.5); % Rayleigh Xf = complex(randn(1,16),randn(1,16)); % random input for the ofdm xt = ifft(ifftshift(Xf),16); yt = conv(g,xt); % really not sure about this Yf = fftshift(fft(xt,16)); H = Yf./Xf; % estimated channel G = fftshift(fft(g,16)); % ideal channel
My question is whether the above approach is correct. Especially regarding the convolution since
fft essentially implies circular convolution.
(When running the above code I get an all ones for
G is different. Hence my doubt about the correctness.)
The above channel model assumes no doppler (the channel is LTI). If considering doppler I understand that each sample will have varying values for the taps (An $n\times 16$ matrix, $n$ being the number of samples). The channel output would be a superposition over the corrresponding input values. How would I consider the ideal channel for this case? (from the above $n\times 16$ matrix)