├── aoa_est_linear_array.m ├── README.md ├── find_doa_peaks.m ├── samv.m └── 1.dat /aoa_est_linear_array.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/milkytipo/AOA_estimation/HEAD/aoa_est_linear_array.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AOA_estimation 2 | AOA estimation algorithm(CB MUSIC MVDR SAMV) for linear array 3 | 4 | 1.dat is the demo database, it fetched from the TI SDK which contains the I/Q value of the bluetooth 5 | 6 | NOTICE: 7 | This version only care about the linear esatimation, with 1 Aarry used 2 or 3 antennas; 8 | -------------------------------------------------------------------------------- /find_doa_peaks.m: -------------------------------------------------------------------------------- 1 | function doa = find_doa_peaks(spec,theta,N) 2 | 3 | [pks,loc] = findpeaks(spec); 4 | [V,I] = sort(pks,'descend'); 5 | if ~isempty(pks) 6 | doa = sort(theta(loc(I(1:N))),'ascend'); 7 | else 8 | [mv,mi] = max(spec); 9 | doa = theta(mi); 10 | end 11 | end -------------------------------------------------------------------------------- /samv.m: -------------------------------------------------------------------------------- 1 | function spec = samv(A, Rs, N) 2 | 3 | M = size(A,1); 4 | %sigma = norm(x,'fro')^2 /size(A,1)/N; 5 | sigma = norm(Rs,'fro') /M/N; 6 | 7 | for k=1:size(A,2) % initialization 8 | p(k) = real(A(:,k)'*Rs*A(:,k)) / norm(A(:,k))^4; 9 | end 10 | 11 | for iter=1:50 12 | R = A*diag(p)*A' + sigma*eye(M); 13 | R1 = R^(-1); 14 | R2 = R^(-2); 15 | R3 = R1*Rs*R1; 16 | 17 | sigma = trace(R2*Rs)/trace(R2); 18 | 19 | for k=1:size(A,2) 20 | p(k) = real(p(k)*A(:,k)'*R3*A(:,k) / ( A(:,k)'*R1*A(:,k) )); 21 | end 22 | 23 | %iter 24 | %semilogy(theta,p/max(p),'r-','linewidth',2);grid;xlim([-80 80]);ylim([1e-5 1]); 25 | %pause(0.2) 26 | end 27 | 28 | spec = p'; 29 | -------------------------------------------------------------------------------- /1.dat: -------------------------------------------------------------------------------- 1 | 1651 9 20003100 0 400 9 2 | 6596 3 | 8192 4 | -16 5 | -29 6 | -29 7 | -25 8 | -37 9 | -16 10 | -41 11 | -2 12 | -37 13 | 12 14 | -28 15 | 25 16 | -14 17 | 36 18 | -2 19 | 40 20 | 9 21 | 38 22 | 18 23 | 29 24 | 24 25 | 15 26 | 28 27 | -2 28 | 29 29 | -14 30 | 26 31 | -22 32 | 16 33 | -28 34 | 2 35 | -31 36 | -14 37 | -30 38 | -29 39 | -23 40 | -36 41 | -11 42 | -36 43 | 4 44 | -32 45 | 19 46 | -26 47 | 26 48 | -19 49 | 29 50 | -5 51 | 27 52 | 10 53 | 25 54 | 23 55 | 22 56 | 31 57 | 17 58 | 31 59 | 10 60 | 25 61 | 0 62 | 17 63 | -13 64 | 10 65 | -20 66 | 1 67 | -22 68 | -9 69 | -16 70 | -17 71 | -8 72 | -21 73 | -1 74 | -22 75 | 1 76 | -19 77 | 3 78 | -15 79 | 5 80 | -11 81 | 9 82 | -4 83 | 14 84 | 7 85 | 18 86 | 21 87 | 18 88 | 30 89 | 16 90 | 35 91 | 10 92 | 34 93 | 1 94 | 30 95 | -7 96 | 24 97 | -16 98 | 17 99 | -25 100 | 9 101 | -31 102 | -2 103 | -32 104 | -15 105 | -28 106 | -27 107 | -21 108 | -36 109 | -10 110 | -40 111 | 3 112 | -36 113 | 15 114 | -26 115 | 26 116 | -10 117 | 35 118 | 5 119 | 36 120 | 18 121 | 32 122 | 28 123 | 23 124 | 32 125 | 12 126 | 30 127 | -1 128 | 22 129 | -16 130 | 12 131 | -29 132 | 1 133 | -38 134 | -9 135 | -41 136 | -17 137 | -37 138 | -26 139 | -28 140 | -35 141 | -16 142 | -39 143 | -4 144 | -35 145 | 7 146 | -23 147 | 18 148 | -10 149 | 25 150 | 1 151 | 27 152 | 10 153 | 23 154 | 16 155 | 16 156 | 22 157 | 6 158 | 27 159 | -5 160 | 28 161 | -12 162 | 24 163 | -17 164 | 14 165 | -20 166 | 4 167 | -21 168 | -5 169 | -20 170 | -14 171 | -15 172 | -21 173 | -9 174 | -25 175 | -2 176 | -24 177 | 6 178 | -19 179 | 14 180 | -12 181 | 20 182 | -4 183 | 26 184 | 1 185 | 28 186 | 7 187 | 28 188 | 15 189 | 22 190 | 23 191 | 12 192 | 27 193 | -1 194 | 27 195 | -16 196 | 21 197 | -27 198 | 13 199 | -33 200 | 0 201 | -36 202 | -12 203 | -35 204 | -23 205 | -30 206 | -30 207 | -19 208 | -31 209 | -6 210 | -30 211 | 7 212 | -26 213 | 20 214 | -21 215 | 29 216 | -12 217 | 33 218 | 2 219 | 32 220 | 15 221 | 26 222 | 25 223 | 17 224 | 27 225 | 7 226 | 25 227 | -4 228 | 21 229 | -17 230 | 14 231 | -28 232 | 6 233 | -33 234 | -6 235 | -30 236 | -18 237 | -24 238 | -30 239 | -15 240 | -38 241 | -3 242 | -37 243 | 7 244 | -29 245 | 17 246 | -16 247 | 25 248 | -6 249 | 27 250 | 2 251 | 28 252 | 7 253 | 24 254 | 11 255 | 20 256 | 16 257 | 13 258 | 23 259 | 3 260 | 28 261 | -6 262 | 29 263 | -13 264 | 20 265 | -17 266 | 7 267 | -20 268 | -9 269 | -20 270 | -24 271 | -17 272 | -31 273 | -11 274 | -32 275 | -2 276 | -27 277 | 10 278 | -19 279 | 21 280 | -10 281 | 29 282 | -3 283 | 35 284 | 2 285 | 37 286 | 6 287 | 34 288 | 14 289 | 26 290 | 23 291 | 15 292 | 30 293 | 3 294 | 31 295 | -9 296 | 26 297 | -18 298 | 18 299 | -24 300 | 7 301 | -28 302 | -3 303 | -28 304 | -13 305 | -24 306 | -24 307 | -15 308 | -32 309 | -3 310 | -35 311 | 10 312 | -32 313 | 23 314 | -23 315 | 32 316 | -9 317 | 37 318 | 8 319 | 37 320 | 21 321 | 32 322 | 30 323 | 22 324 | 33 325 | 9 326 | 30 327 | -2 328 | 25 329 | -13 330 | 17 331 | -22 332 | 8 333 | -26 334 | -3 335 | -29 336 | -17 337 | -25 338 | -28 339 | -15 340 | -34 341 | -3 342 | -33 343 | 10 344 | -26 345 | 16 346 | -15 347 | 18 348 | -2 349 | 16 350 | 8 351 | 14 352 | 15 353 | 12 354 | 18 355 | 9 356 | 19 357 | 3 358 | 19 359 | -3 360 | 17 361 | -12 362 | 15 363 | -19 364 | 11 365 | -23 366 | 4 367 | -24 368 | -5 369 | -21 370 | -14 371 | -18 372 | -21 373 | -10 374 | -23 375 | -2 376 | -21 377 | 8 378 | -18 379 | 20 380 | -14 381 | 30 382 | -10 383 | 34 384 | -2 385 | 33 386 | 6 387 | 27 388 | 15 389 | 19 390 | 22 391 | 9 392 | 24 393 | -1 394 | 25 395 | -12 396 | 21 397 | -25 398 | 15 399 | -34 400 | 6 401 | -39 402 | -7 403 | -38 404 | -19 405 | -31 406 | -29 407 | -18 408 | -35 409 | -2 410 | -31 411 | 12 412 | -19 413 | 26 414 | -7 415 | 33 416 | 7 417 | 37 418 | 20 419 | 36 420 | 28 421 | 31 422 | 31 423 | 23 424 | 29 425 | 9 426 | 24 427 | -6 428 | 17 429 | -20 430 | 8 431 | -31 432 | 1 433 | -34 434 | -7 435 | -31 436 | -16 437 | -23 438 | -23 439 | -15 440 | -26 441 | -6 442 | -27 443 | 2 444 | -24 445 | 9 446 | -19 447 | 15 448 | -11 449 | 20 450 | -2 451 | 22 452 | 8 453 | 23 454 | 16 455 | 17 456 | 21 457 | 7 458 | 22 459 | -4 460 | 20 461 | -12 462 | 16 463 | -16 464 | 12 465 | -17 466 | 6 467 | -18 468 | 0 469 | -18 470 | -7 471 | -17 472 | -17 473 | -12 474 | -26 475 | -5 476 | -33 477 | 4 478 | -33 479 | 14 480 | -27 481 | 21 482 | -17 483 | 26 484 | -3 485 | 27 486 | 9 487 | 25 488 | 21 489 | 19 490 | 32 491 | 11 492 | 36 493 | 3 494 | 34 495 | -6 496 | 26 497 | -17 498 | 18 499 | -26 500 | 9 501 | -33 502 | -2 503 | -36 504 | -12 505 | -32 506 | -22 507 | -23 508 | -28 509 | -9 510 | -29 511 | 6 512 | -26 513 | 20 514 | -18 515 | 33 516 | -9 517 | 38 518 | 1 519 | 36 520 | 14 521 | 27 522 | 25 523 | 16 524 | 32 525 | 4 526 | 35 527 | -8 528 | 33 529 | -17 530 | 25 531 | -25 532 | 11 533 | -31 534 | -4 535 | -34 536 | -17 537 | -32 538 | -26 539 | -24 540 | -28 541 | -14 542 | -23 543 | -2 544 | -14 545 | 12 546 | -5 547 | 22 548 | 3 549 | 30 550 | 11 551 | 30 552 | 17 553 | 25 554 | 20 555 | 14 556 | 23 557 | 0 558 | 22 559 | -10 560 | 20 561 | -15 562 | 16 563 | -17 564 | 10 565 | -17 566 | 2 567 | -19 568 | -8 569 | -23 570 | -17 571 | -26 572 | -26 573 | -24 574 | -30 575 | -13 576 | -31 577 | -1 578 | -26 579 | 12 580 | -16 581 | 22 582 | -6 583 | 27 584 | 6 585 | 31 586 | 18 587 | 32 588 | 26 589 | 27 590 | 30 591 | 18 592 | 30 593 | 4 594 | 26 595 | -8 596 | 20 597 | -18 598 | 10 599 | -27 600 | -1 601 | -31 602 | -15 603 | -30 604 | -26 605 | -25 606 | -31 607 | -14 608 | -30 609 | -1 610 | -26 611 | 10 612 | -21 613 | 19 614 | -13 615 | 27 616 | -3 617 | 32 618 | 8 619 | 33 620 | 19 621 | 26 622 | 26 623 | 14 624 | 31 625 | 0 626 | 31 627 | -12 628 | 26 629 | -21 630 | 17 631 | -30 632 | 5 633 | -35 634 | -4 635 | -36 636 | -10 637 | -30 638 | -15 639 | -18 640 | -20 641 | -5 642 | -24 643 | 5 644 | -25 645 | 13 646 | -21 647 | 16 648 | -10 649 | 18 650 | 3 651 | 17 652 | 13 653 | 15 654 | 18 655 | 11 656 | 20 657 | 6 658 | 19 659 | 0 660 | 17 661 | -7 662 | 14 663 | -16 664 | 9 665 | -25 666 | 2 667 | -34 668 | -8 669 | -38 670 | -16 671 | -35 672 | -24 673 | -25 674 | -30 675 | -10 676 | -33 677 | 1 678 | -32 679 | 10 680 | -25 681 | 18 682 | -13 683 | 24 684 | 0 685 | 28 686 | 13 687 | 28 688 | 21 689 | 21 690 | 26 691 | 12 692 | 28 693 | -1 694 | 26 695 | -12 696 | 21 697 | -21 698 | 10 699 | -29 700 | -2 701 | -33 702 | -14 703 | -30 704 | -24 705 | -19 706 | -30 707 | -5 708 | -33 709 | 9 710 | -30 711 | 22 712 | -25 713 | 30 714 | -15 715 | 34 716 | 1 717 | 35 718 | 15 719 | 30 720 | 27 721 | 21 722 | 33 723 | 10 724 | 35 725 | 0 726 | 31 727 | -9 728 | 25 729 | -19 730 | 16 731 | -26 732 | 3 733 | -28 734 | -11 735 | -24 736 | -21 737 | -16 738 | -25 739 | -8 740 | -24 741 | -1 742 | -19 743 | 4 744 | -12 745 | 8 746 | -3 747 | 12 748 | 6 749 | 15 750 | 13 751 | 14 752 | 19 753 | 12 754 | 20 755 | 7 756 | 18 757 | 1 758 | 17 759 | -7 760 | 15 761 | -16 762 | 14 763 | -24 764 | 9 765 | -31 766 | 3 767 | -33 768 | -8 769 | -31 770 | -22 771 | -25 772 | -34 773 | -16 774 | -42 775 | -6 776 | -42 777 | 7 778 | -34 779 | 17 780 | -20 781 | 24 782 | -4 783 | 28 784 | 6 785 | 29 786 | 16 787 | 28 788 | 24 789 | 19 790 | 30 791 | 8 792 | 33 793 | -6 794 | 30 795 | -20 796 | 21 797 | -30 798 | 7 799 | -36 800 | -7 801 | -36 802 | -18 803 | -31 804 | -26 805 | -21 806 | -30 807 | -10 808 | -32 809 | 1 810 | -30 811 | 13 812 | -24 813 | 22 814 | -15 815 | 28 816 | 0 817 | 30 818 | 13 819 | 27 820 | 24 821 | 21 822 | 30 823 | 11 824 | 28 825 | 1 826 | 21 827 | -9 828 | 11 829 | -18 830 | 4 831 | -23 832 | 0 833 | -25 834 | -6 835 | -22 836 | -12 837 | -16 838 | -19 839 | -9 840 | -25 841 | -2 842 | -26 843 | 4 844 | -23 845 | 10 846 | -15 847 | 16 848 | -8 849 | 20 850 | 0 851 | 22 852 | 9 853 | 18 854 | 18 855 | 12 856 | 26 857 | 4 858 | 32 859 | -5 860 | 33 861 | -13 862 | 30 863 | -20 864 | 22 865 | -27 866 | 10 867 | -30 868 | -3 869 | -31 870 | -19 871 | -25 872 | -31 873 | -16 874 | -37 875 | -6 876 | -35 877 | 5 878 | -28 879 | 13 880 | -18 881 | 21 882 | -7 883 | 31 884 | 3 885 | 37 886 | 15 887 | 38 888 | 29 889 | 29 890 | 37 891 | 12 892 | 37 893 | -8 894 | 29 895 | -27 896 | 17 897 | -34 898 | 6 899 | -33 900 | -6 901 | -27 902 | -17 903 | -21 904 | -28 905 | -13 906 | -37 907 | -2 908 | -42 909 | 7 910 | -40 911 | 15 912 | -27 913 | 23 914 | -10 915 | 30 916 | 7 917 | 35 918 | 23 919 | 36 920 | 31 921 | 30 922 | 34 923 | 18 924 | 30 925 | 2 926 | 24 927 | -9 928 | 16 929 | -17 930 | 7 931 | -21 932 | 0 933 | -23 934 | -7 935 | -22 936 | -15 937 | -19 938 | -19 939 | -13 940 | -18 941 | -5 942 | -15 943 | 2 944 | -13 945 | 6 946 | -12 947 | 9 948 | -8 949 | 14 950 | 1 951 | 20 952 | 12 953 | 26 954 | 23 955 | 28 956 | 28 957 | 20 958 | 29 959 | 5 960 | 27 961 | -15 962 | 23 963 | -28 964 | 15 965 | -33 966 | -1 967 | -30 968 | -16 969 | -25 970 | -28 971 | -19 972 | -34 973 | -12 974 | -34 975 | -5 976 | -29 977 | 5 978 | -20 979 | 16 980 | -10 981 | 23 982 | 2 983 | 25 984 | 16 985 | 21 986 | 28 987 | 14 988 | 35 989 | 5 990 | 38 991 | -4 992 | 38 993 | -12 994 | 32 995 | -22 996 | 23 997 | -27 998 | 10 999 | -31 1000 | -6 1001 | -30 1002 | -20 1003 | -26 1004 | -29 1005 | -19 1006 | -33 1007 | -8 1008 | -32 1009 | 2 1010 | -28 1011 | 12 1012 | -23 1013 | 22 1014 | -15 1015 | 29 1016 | -3 1017 | 31 1018 | 14 1019 | 27 1020 | 28 1021 | 19 1022 | 36 1023 | 9 1024 | 37 1025 | -4 1026 | --------------------------------------------------------------------------------