Guest User

Untitled

a guest
Dec 15th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. y = w'*x;
  2. yd(i)=y;
  3. e(i) = y^2 - 1;
  4. w = w - mu * e(i) * y * x;
  5.  
  6. N = 20000; % # symbols
  7. h = [1,.45,-.2]; % channel impulse response
  8. h = h/norm(h);
  9. Le = 20; % equalizer length
  10. mu = .001; % step size
  11. snr = 30; % snr in dB
  12.  
  13. s0 = round( rand(N,1) )*2 - 1; % BPSK signal
  14. s = filter(h,1,s0); % filtered signal
  15.  
  16. % add Gaussian noise at desired snr
  17. n = randn(N,1);
  18. vs = var(s);
  19. vn = vs*10^(-snr/10);
  20. n = sqrt(vn)*n;
  21. r = s + n; % received signal
  22.  
  23. e = zeros(N,1); % error
  24. w = zeros(Le,1); % equalizer coefficients
  25. w(Le)=1; % actual filter taps are flipud(w)!
  26.  
  27. yd = zeros(N,1);
  28.  
  29. for i = 1:N-Le,
  30. x = r(i:Le+i-1);
  31. y = w'*x;
  32. yd(i)=y;
  33. e(i) = y^2 - 1;
  34. w = w - mu * e(i) * y * x;
  35. end
Add Comment
Please, Sign In to add comment