There are certain functionalities of SymPy such as solving differential 
equations, transform calculus, integral calculus etc. that a user may use 
in order to use SymPy for Signal Processing (SP) as well as Control System 
(CS) applications, however he/she has to entirely code a new method or 
function that is specific to his/her domain. Moreover, it would require a 
person with a decent amount of coding knowledge in order to implement the 
application they want. In addition to that a researcher or a student would 
just want to enter an expression and get the output he/she wants. Hence I 
propose the following:

Phase 1: The goal of Phase 1 would be to use SymPy's own existing methods 
for simple SP and CS applications. 
We update the existing packages such as plotter, transform calculus, 
solvers etc . in order to cater to SP and CS needs. For example, we'd have 
to add pole zero plots, magnitude response plots, phase response plots to 
the plotter package. The alternative would be to create a new package that 
caters specifically to the needs of SP and CSA. This package would have 
methods that compute the magnitude response, phase responses, bode plots, 
phase plots, magnitude plots etc. 
The developments in this phase would target an intermediate student or a 
novice researcher for basic functionalities. 


Phase 2: We develop new functionalities for SP and CS applications.  
We would be implementing DFT, Z Transform, Wavelet Transform, Fourier 
Bessel Transform etc which can be calculated using the calculus as well as 
transform libraries.
In addition to that solving differential equations could be done in the 
Laplace, Fourier or Z Domain (depending on the application), and  the steps 
could also be displayed (which would help a student a lot).
The developments in this phase would target an intermediate researcher for 
advanced functionalities. 


Phase 3: Add GUI functionalities as well as simulators
We could add a GUI Bond Graph Tool that would help researchers define a 
system easily and obtain the response. 
Moreover we could also add a simulator that correctly simulates the output, 
given certain boundary value conditions. 

This is just a rough outline of what I believe would be the ideal approach. 
All suggestions are welcome, and these phases would be tweaked after the 
discussion.

I had already started working on Phase 1: The link to the PR is click here. 
<https://github.com/sympy/sympy/pull/18419>





On Thursday, January 23, 2020 at 10:46:08 AM UTC+5:30, Chanakya Ajit Ekbote 
wrote:
>
> I feel that a new package that focuses on signal processing is required in 
> SymPy as there are a lot of functionalities that SymPy provides that are 
> not present in other conventional signal processing libraries. Please refer 
> to the discussion: 
> https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/sympy/bRmTmiPYe5I/Wu7FABFtAwAJ
>  
> as well as the PR #18419: https://github.com/sympy/sympy/pull/18419. 
>
> ------------------------------
> *Disclaimer: *This email and any files transmitted with it are 
> confidential and intended solely for the use of the individual or entity to 
> whom they are addressed. If you have received this email in error please 
> notify the system manager. This message contains confidential information 
> and is intended only for the individual named. If you are not the named 
> addressee you should not disseminate, distribute or copy this e-mail. 
> Please notify the sender immediately by e-mail if you have received this 
> e-mail by mistake and delete this e-mail from your system. If you are not 
> the intended recipient you are notified that disclosing, copying, 
> distributing or taking any action in reliance on the contents of this 
> information is strictly prohibited.


-- 
*Disclaimer: *This email and any files transmitted with it are confidential 
and intended solely for the use of the individual or entity to whom they 
are addressed. If you have received this email in error please notify the 
system manager. This message contains confidential information and is 
intended only for the individual named. If you are not the named addressee 
you should not disseminate, distribute or copy this e-mail. Please notify 
the sender immediately by e-mail if you have received this e-mail by 
mistake and delete this e-mail from your system. If you are not the 
intended recipient you are notified that disclosing, copying, distributing 
or taking any action in reliance on the contents of this information is 
strictly prohibited.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/e07bb5d9-2e46-4281-9312-74506dd182c0%40googlegroups.com.

Reply via email to