Advertisement
zz4fap

MMSE Receiver Capacity

Jun 23rd, 2018
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.02 KB | None | 0 0
  1. clear all;close all;clc;
  2.  
  3. syms M K p d(x) l m v0 v1 v2 k f1 f2 f3
  4.  
  5. L = 1;
  6.  
  7. cellRadius = 1000;
  8.  
  9. cellHole = 100;
  10.  
  11. sshadow = 8; % dB
  12.  
  13. gamma = 3.8;
  14.  
  15. M = 100;
  16.  
  17. K = 10;
  18.  
  19. p = 10;
  20.  
  21. start = 2;
  22.  
  23. d = randn(1,K); %GenerateRandomBetav4(L,K,cellRadius,cellHole,sshadow,gamma);
  24.  
  25. f1 = 1./( M.*p.*d.*(1 - ((K-1)./M) + ((K-1)./M).*m ) + 1 );
  26. v0 = (1/(K-1))*sum(f1(start:K));
  27.  
  28. f2 = (p.*d)./(( M.*p.*d.*(1 - ((K-1)./M) + ((K-1)./M).*m ) + 1 ).^2);
  29. v1 = k*( 1 + sum(f2(start:K)) );
  30.  
  31. f3 = (p.*d.*m + 1)./(( M.*p.*d.*(1 - ((K-1)./M) + ((K-1)./M).*m ) + 1 ).^2);
  32. v2 = sum(f3(start:K));
  33.  
  34. eqns = [m == v0, v1 == v2];
  35. vars = [m k];
  36. %[solv, solu] = solve(eqns, vars);
  37. [solv, solu] = vpasolve(eqns, vars, [-Inf Inf]);
  38. solutions = [solv solu];
  39.  
  40. m = eval(solutions(1,1));
  41.  
  42. k = eval(solutions(1,2));
  43.  
  44. v0_eval = eval(v0);
  45.  
  46. v1_eval = eval(v1);
  47.  
  48. v2_eval = eval(v2);
  49.  
  50.  
  51. alpha = ((M - K + 1 + (K-1)*m)^2) / (M - K + 1 + (K-1)*k);
  52.  
  53. theta = ((M - K + 1 + (K-1)*k) / (M - K + 1 + (K-1)*m))*p*d(1);
  54.  
  55. R = log2(1 + (alpha-1)*theta);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement