{"id":18076196,"url":"https://github.com/scivision/signal_subspace","last_synced_at":"2025-09-07T03:40:43.425Z","repository":{"id":57467105,"uuid":"53774969","full_name":"scivision/signal_subspace","owner":"scivision","description":"vector and ensemble signal analysis w/ subspace methods such as Esprit and RootMusic","archived":false,"fork":false,"pushed_at":"2024-05-10T03:20:00.000Z","size":369,"stargazers_count":26,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-12T08:12:53.297Z","etag":null,"topics":["esprit","f2py","frequency-estimation","modern-fortran","music","root-music"],"latest_commit_sha":null,"homepage":"","language":"Python","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/scivision.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-13T08:30:35.000Z","updated_at":"2025-01-05T00:22:45.000Z","dependencies_parsed_at":"2023-01-22T07:01:25.257Z","dependency_job_id":null,"html_url":"https://github.com/scivision/signal_subspace","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scivision%2Fsignal_subspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scivision%2Fsignal_subspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scivision%2Fsignal_subspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scivision%2Fsignal_subspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scivision","download_url":"https://codeload.github.com/scivision/signal_subspace/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248537144,"owners_count":21120711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["esprit","f2py","frequency-estimation","modern-fortran","music","root-music"],"created_at":"2024-10-31T11:09:12.065Z","updated_at":"2025-04-12T08:13:04.004Z","avatar_url":"https://github.com/scivision.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Signal Subspace\n\n![ci_python](https://github.com/scivision/signal_subspace/workflows/ci_python/badge.svg)\n![ci_cmake](https://github.com/scivision/signal_subspace/workflows/ci_cmake/badge.svg)\n\n[![PyPi Download stats](http://pepy.tech/badge/signal_subspace)](http://pepy.tech/project/signal_subspace)\n\n1-D and ensemble signal subspace analysis with methods such as Esprit\nand RootMusic in Fortran, C, and Python\n\nbased in part upon the\n[Spectral Analysis Lib public domain code](https://github.com/vincentchoqueuse/spectral_analysis_project)\n\nThe core subspace code is written in Fortran 2008 and is called from other languages (Python, C).\nSince the programs are Fortran / Python based, they should compile and run in virtually any platform from embedded to supercomputer.\n\n```sh\ncmake -B build\n\ncmake --build build\n```\n\nIf Lapack is not available, it is built automatically.\n\nIn 2023-2024, F2PY and Numpy are going through a transition of build systems.\n[CMake script build the f2py bindings](https://numpy.org/doc/stable/f2py/buildtools/cmake.html)\nare used to build the f2py targets that allow Python use of this library.\n\n```sh\ncmake -B build -Dpython=yes\n\ncmake --build build\n```\n\nIn the examples below, observe the frequency estimates printed along with their corresponding eigenvalues.\nA larger eigenvalue is increased confidence in that particular frequency estimate.\n\n## ESPRIT examples\n\nAll example use a noisy sinusoid.\nSome are \"complex\" using complex numbers, while others use real numbers.\n\nThere are two versions of the complex program, one a full accuracy using `double complex` numbers, and the other using `single real` numbers as input.\nThe single real (4 bytes/number) runs about 4 times faster than the double complex (16 bytes/number) program.\n\n```sh\nbuild/f_esprit_cmpl\n\nbuild/f_esprit_real\n```\n\nCall Fortran Esprit from C using real single precision float:\n\n```sh\nbuild/c_esprit\n```\n\nCall Fortran Esprit from C++ using real single precision float:\n\n```sh\nbuild/cpp_esprit\n```\n\n---\n\nPlots comparing real vs. complex ESPRIT:\n\n```sh\npython BasicEspritExample.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscivision%2Fsignal_subspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscivision%2Fsignal_subspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscivision%2Fsignal_subspace/lists"}