{"id":19593251,"url":"https://github.com/mohammadshaad/doa-music-algo","last_synced_at":"2026-06-12T08:32:35.307Z","repository":{"id":212648920,"uuid":"731993797","full_name":"mohammadshaad/DOA-MUSIC-ALGO","owner":"mohammadshaad","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-17T17:57:43.000Z","size":1272,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T14:16:47.973Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mohammadshaad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-15T11:23:56.000Z","updated_at":"2024-01-10T07:25:21.000Z","dependencies_parsed_at":"2024-02-21T18:49:37.303Z","dependency_job_id":"07b4dbd5-f652-43f5-a2db-0fd50fe6407c","html_url":"https://github.com/mohammadshaad/DOA-MUSIC-ALGO","commit_stats":null,"previous_names":["mohammadshaad/doa-music-algo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mohammadshaad/DOA-MUSIC-ALGO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadshaad%2FDOA-MUSIC-ALGO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadshaad%2FDOA-MUSIC-ALGO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadshaad%2FDOA-MUSIC-ALGO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadshaad%2FDOA-MUSIC-ALGO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohammadshaad","download_url":"https://codeload.github.com/mohammadshaad/DOA-MUSIC-ALGO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohammadshaad%2FDOA-MUSIC-ALGO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34236550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T08:38:51.790Z","updated_at":"2026-06-12T08:32:35.285Z","avatar_url":"https://github.com/mohammadshaad.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"This demo project shows how using raw IQ samples obtained from the Minew Aoa Locator, you can get the azimuth and elevation angles at which the beacon is located. Using these angles, we also get the position of the beacon in XY coordinates (knowing the location of the locator in the same coordinate system). This project is based on our [AoA article](https://navigine.com/blog/using-angle-of-arrival-for-direction-finding-with-bluetooth/) in which we determined the azimuth angle using 2 adjacent elements of the linear antenna array of the locator.\n\n## Getting started\nTo start the project, you need to submit raw IQ samples to the algorithm input:\n\n```\n cd src/\n cat ../data/static.json | python3 aoa_demo.py \n```\n\nAt the output, we get the calculated angles and coordinates:\n\n```\nx_beacon:9.232542418733246, y_beacon:5.490652286174913\nazimuth_angle:43.0, elevation_angle:-17.0\nx_beacon:9.25956555622026, y_beacon:5.517626370851988\nazimuth_angle:42.0, elevation_angle:-19.0\nx_beacon:9.089259754493328, y_beacon:5.665581413837454\nazimuth_angle:46.0, elevation_angle:-15.0\nx_beacon:9.533823456356725, y_beacon:5.396157120924992\nazimuth_angle:46.0, elevation_angle:-14.0\nx_beacon:9.653014740958174, y_beacon:5.272770867998707\nazimuth_angle:44.0, elevation_angle:-16.0\nx_beacon:9.374720054161077, y_beacon:5.44537787620972\nazimuth_angle:45.0, elevation_angle:-16.0\nx_beacon:9.402449692489892, y_beacon:5.47492352570238\nazimuth_angle:45.0, elevation_angle:-16.0\nx_beacon:9.402449692489892, y_beacon:5.47492352570238\nazimuth_angle:42.0, elevation_angle:-18.0\nx_beacon:9.156849906593791, y_beacon:5.5825730485361875\nazimuth_angle:46.0, elevation_angle:-14.0\nx_beacon:9.653014740958174, y_beacon:5.272770867998707\nazimuth_angle:44.0, elevation_angle:-15.0\nx_beacon:9.475271358924696, y_beacon:5.333235601052133\n...\n```\n\nThe input data is located in the file: `dynamic.json`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadshaad%2Fdoa-music-algo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohammadshaad%2Fdoa-music-algo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohammadshaad%2Fdoa-music-algo/lists"}