srcsicon.m
上传用户:loeagle
上传日期:2013-03-02
资源大小:1236k
文件大小:3k
源码类别:

通讯编程文档

开发平台:

Matlab

  1. function [x,y] = srcsicon(fla)
  2. %   Copyright 1996-2001 The MathWorks, Inc.
  3. %       $Revision: 1.11 $
  4. % fla == 1 sin
  5. % fla == 2 pulse
  6. % fla == 3 noise
  7. % fla == 4 interger
  8. % fla == 5 binary
  9. % fla == 6 from file
  10. % fla == 7 from wkspace
  11. % fla == 8 to file
  12. % fla == 9 to wkspace
  13. % fla == 10 eye pattern diagram.
  14. x1 = [95  5 10 10 10];
  15. y1 = [75 75 75 70 95];
  16. N = 30;
  17. if fla == 1
  18.     x2 = [0:1/N:1];
  19.     y2 = sin(x2*pi*2)*10+85;
  20.     x2 = (100-15)*x2+10;
  21. elseif fla == 2
  22.     N = ceil(N/2);
  23.     x2 = [0:N, N:-2:0 0];
  24.     y2 = [(rem(x2(1:N+1), 2) == 0) (rem(ceil(x2(N+2:length(x2))/2), 2) == 0)+2];
  25.     y2 = y2 * 5 + 80;
  26.     x2 = x2 / N;
  27.     N = length(x2);
  28.     x2= [x2(1:N-1)' x2(2:N)']';
  29.     x2 = (100-15)*x2(:)'+ 10;
  30.     y2 = [y2(1:N-1)' y2(1:N-1)']';
  31.     x2 = x2(:)';
  32.     x2 = 100-x2;
  33.     y2 = y2(:)';
  34.     x1 = find(x2==min(x2));
  35.     x1=x1(1);
  36.     x2 = [x2(1:x1) x2(x1) x2(x1) x2(x1) x2(x1)-5 x2(x1)+85 x2(x1) x2(x1) x2(x1+1:length(x2))];
  37.     y2 = [y2(1:x1) 98     70     75     75       75        75     y2(x1) y2(x1+1:length(y2))];
  38.     x2=x2+5;
  39.     x1=[];y1=[];
  40. elseif fla == 3
  41.     y2 = rand(1,N+1)*20+75;
  42.     x2 = (100-15)*[0:1/N:1]+10;
  43. elseif (fla == 4) | (fla == 5)
  44.     N = ceil(N/2);
  45.     y2 = rand(1,N+1)*20 + 75;
  46.     if fla == 5
  47.         y2 = (rand(1,N+1) > .5)*10 + 80;
  48.     end;
  49.     x2 = (100-15)*[0:1/N:1]+10;
  50.     x2= [x2(1:N)' x2(2:N+1)']';
  51.     y2 = [y2(1:N)' y2(1:N)']';
  52.     x2 = x2(:)';
  53.     y2 = y2(:)';
  54. elseif fla == 6
  55.     x2 = [0:1/N:1];
  56.     z = exp(j*pi*([0:20]/10+1/2));
  57.     x = [25 25 05 05 25 25 05 13 13 17 17 17 15];
  58.     y = [85 95 95 75 75 89 89 89 95 95 89 89 89];
  59.     x1 = [x real(z)*3.5+15 15 25 25];
  60.     y1 = [y imag(z)*3.5+85 89 89 85];
  61.     y2 = sin(x2*pi*2)*10+y(1);
  62.     x2 = (100-x(1)-5)*x2+x(1); 
  63. %    x = [x x2];
  64. %    y = [y y2];
  65. elseif fla == 7
  66.     x2 = [0:1/N:1];
  67.     x1 = [25 25 05 05 07 12 07 12 07 12 17 12 17 12 25 25];
  68.     y1 = [85 95 95 75 75 83 91 83 75 75 83 91 83 75 75 85];
  69.     y2 = sin(x2*pi*2)*10+y1(1);
  70.     x2 = (100-x1(1)-5)*x2+x1(1); 
  71. elseif fla == 8
  72.     x2 = [0:1/N:1];
  73.     z = exp(j*pi*([0:20]/10+1/2));
  74.     x = [25 25 05 05 25 25 05 13 13 17 17 17 15];
  75.     y = [85 95 95 75 75 89 89 89 95 95 89 89 89];
  76.     x1 = [x real(z)*3.5+15 15 25 25];
  77.     y1 = [y imag(z)*3.5+85 89 89 85];
  78.     y2 = -sin(x2*pi*2)*10+y(1);
  79.     x2 = 100-((100-x(1)-5)*x2+x(1));
  80.     x1 = 100-x1;
  81. elseif fla == 9
  82.     x1 = [0:1/N:1];
  83.     y1 = sin(x1*pi*2)*10+85;
  84.     x1 = 70*x1+5; 
  85.     x2 = [75 75 95 95 75 75 77 82 77 82 77 82 87 82];
  86.     y2 = [85 75 75 95 95 75 75 83 91 83 75 75 83 91];
  87. elseif fla == 10
  88.     x1 = [5  95 95 5  5  5];
  89.     y1 = [35 35 95 95 35 65];
  90.     x2 = [0:1/N:1];
  91.     y2 = sin(x2*pi*2)*25+65;
  92.     x2 = 90*x2+5;
  93.     x2 = [x2 x2(length(x2):-1:1)];
  94.     y2 = [y2 y2];
  95. end;
  96. x = [x1 x2];
  97. y = [y1 y2];
  98. %plot(0,0,100,100,x, y)