summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-tfest.spec180
-rw-r--r--sources1
3 files changed, 182 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c0882de 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tfest-0.2.3.tar.gz
diff --git a/python-tfest.spec b/python-tfest.spec
new file mode 100644
index 0000000..27dc621
--- /dev/null
+++ b/python-tfest.spec
@@ -0,0 +1,180 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tfest
+Version: 0.2.3
+Release: 1
+Summary: Transfer function estimation based on frequency response.
+License: MIT
+URL: https://github.com/giuliovv/tfest
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1f/a0/da6d054ac6130931f8a48d977ab9e44d55cdbcee6da520884f34f809e491/tfest-0.2.3.tar.gz
+BuildArch: noarch
+
+
+%description
+# Tfest
+Transfer function estimation with frequency response.
+Python equivalent of MATLAB tfest (but the algorithm is not exactly the same)
+
+Only works wuth SISO systems for now.
+
+
+### Installation:
+```shell
+pip install tfest
+```
+
+### Example:
+To get a scipy transfer function:
+```python
+import tfest
+# u: input
+# y: output
+te = tfest.tfest(u, y)
+# n_zeros, n_poles
+te.estimate(3, 4, time=1)
+te.get_transfer_function()
+```
+"time" is simulation length in seconds.
+To plot its bode diagram:
+```python
+te.plot_bode()
+```
+Default method to calculate the frequency response Y/U is H1 estimator, if you want to use H2 or frequency/frequency just set the method to "h2" or "fft" and specify the time length of the simulation (in seconds, default is 1):
+```python
+te.estimate(3, 4, method="h2", time=1)
+te.estimate(3, 4, method="fft", time=1)
+```
+To use L1 normalization set the value of lambda l1 (default l1=0):
+```python
+te.estimate(3, 4, time=1, l1=0.1)
+```
+
+%package -n python3-tfest
+Summary: Transfer function estimation based on frequency response.
+Provides: python-tfest
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tfest
+# Tfest
+Transfer function estimation with frequency response.
+Python equivalent of MATLAB tfest (but the algorithm is not exactly the same)
+
+Only works wuth SISO systems for now.
+
+
+### Installation:
+```shell
+pip install tfest
+```
+
+### Example:
+To get a scipy transfer function:
+```python
+import tfest
+# u: input
+# y: output
+te = tfest.tfest(u, y)
+# n_zeros, n_poles
+te.estimate(3, 4, time=1)
+te.get_transfer_function()
+```
+"time" is simulation length in seconds.
+To plot its bode diagram:
+```python
+te.plot_bode()
+```
+Default method to calculate the frequency response Y/U is H1 estimator, if you want to use H2 or frequency/frequency just set the method to "h2" or "fft" and specify the time length of the simulation (in seconds, default is 1):
+```python
+te.estimate(3, 4, method="h2", time=1)
+te.estimate(3, 4, method="fft", time=1)
+```
+To use L1 normalization set the value of lambda l1 (default l1=0):
+```python
+te.estimate(3, 4, time=1, l1=0.1)
+```
+
+%package help
+Summary: Development documents and examples for tfest
+Provides: python3-tfest-doc
+%description help
+# Tfest
+Transfer function estimation with frequency response.
+Python equivalent of MATLAB tfest (but the algorithm is not exactly the same)
+
+Only works wuth SISO systems for now.
+
+
+### Installation:
+```shell
+pip install tfest
+```
+
+### Example:
+To get a scipy transfer function:
+```python
+import tfest
+# u: input
+# y: output
+te = tfest.tfest(u, y)
+# n_zeros, n_poles
+te.estimate(3, 4, time=1)
+te.get_transfer_function()
+```
+"time" is simulation length in seconds.
+To plot its bode diagram:
+```python
+te.plot_bode()
+```
+Default method to calculate the frequency response Y/U is H1 estimator, if you want to use H2 or frequency/frequency just set the method to "h2" or "fft" and specify the time length of the simulation (in seconds, default is 1):
+```python
+te.estimate(3, 4, method="h2", time=1)
+te.estimate(3, 4, method="fft", time=1)
+```
+To use L1 normalization set the value of lambda l1 (default l1=0):
+```python
+te.estimate(3, 4, time=1, l1=0.1)
+```
+
+%prep
+%autosetup -n tfest-0.2.3
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-tfest -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..3dfccaf
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e82cde676238d055e0e505779558becb tfest-0.2.3.tar.gz