0

I want to implement Least Square (LS) channel estimation method in the presense of AWGN noise in MATLAB.

$y(n) = x(n) * h(n)$

$Y(k) = X(k)H(K)$

Y(k) is the received signal in frequency domain. According to LS algorithm, to estimate the channel

$H_{estimate} = Y(k)/X(k)$

Mean square error (MSE) is used to measure the performance of the estimator. MSE is defined as

MSE = $E(|H(k) - H_{estimate}|^2)$

Question is, how to get the value of $H(k)$ of white noise?

I wrote the following code in matlab, but it doesn't produce constant values in frequency.

 white_noise_time_domain = sqrt(1/2)*(randn(N,1)+1i*randn(n,1));
 white_noise_freq_response = fftshift(fft(white_noise_time_domain));

white_noise_freq_response doesn't give flat response. I guess this is not the right way to calculate the frequency responce of white noise. Could someone explain me how to get frequency response of white noise in MATLAB?

spectre
  • 565
  • 1
  • 8
  • 15
  • You seem to be saying that $h(n)$ is white noise, and that $y(n)$ is the convolution of the transmitted signal and the noise. If I understand correctly, you have a misconception: the noise is never convolved with the transmitted signal. – MBaz Mar 06 '20 at 21:59
  • 1
    please see this post including code for a common approach for channel estimation: https://dsp.stackexchange.com/questions/63141/how-determine-the-delay-in-my-signal-practically/63221#63221 – Dan Boschen Mar 07 '20 at 14:51
  • @MBaz, Why do you say input signal is not convolved with white noise. In general, input signal is convoluted with channel response, assuming any channel. Why the same reasoning cannot be extended in white noise case? I'm aware that AWGN noise is added in time domain. Can you please elaborate what is it that i'm missing? – spectre Mar 08 '20 at 07:47
  • @spectre The discrete-time model of a communications system is $r = s \ast h + n$, where $r$ is the received signal, $s$ the transmitted signal, $h$ the (FIR) channel model, and $n$ the noise. There is no convolution with the noise anywhere. Of course, you can convolve with noise if you want to, but why would you do it? – MBaz Mar 08 '20 at 18:38
  • @MBaz, the reason I want to write it in convolution form is because, convolution becomes multiplication in freq domain. To compare the performance of channel estimator using MSE, I need frequency response of noise/awgn channel. MSE = E(H(k)-Hestimate(k)).^2 – spectre Mar 08 '20 at 21:06
  • You need $H$, the DFT of the channel, not $N$, the frequency response of the noise. – MBaz Mar 08 '20 at 22:05
  • @MBaz, that's exactly my question. I know how to generate time domain awgn noise. I'm still looking how to get DFT of the channel response? – spectre Mar 09 '20 at 08:38
  • @spectre That was not your question. Quoting you: "Question is, how to get the value of H(k) of white noise?", implying that $H$ is noise. – MBaz Mar 09 '20 at 14:14
  • @MBaz, yes, i'm aware how to get white noise samples in time domain, is there any way to get frequency response of white noise using them? or is there any way in general? – spectre Mar 09 '20 at 20:07
  • Frankly, I don't understand what you're asking in this question. You sometimes mention noise, and sometimes channel coefficients, as if they were the same thing?? – MBaz Mar 09 '20 at 21:55
  • I want to calculate H(k) , frquency response of white noise. That's the question in one sentence. I'm aware how to generate time domain white noise samples, second part of the question is, is there any way to get H(k) , frquency response of white noise from time domain white noise samples? – spectre Mar 10 '20 at 10:21

0 Answers0