Skip to content

Provides a set of tools for digital signal processing. Designed to facilitate the generation, manipulation, and visualization of signals, as well as the application of filters.

License

Notifications You must be signed in to change notification settings

mrmalvicino/dsp-package

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Signal Processing Package

  The DSP object oriented Python package provides a set of tools for digital signal processing in Python. It is designed to facilitate the generation, manipulation, and visualization of signals, as well as the application of filters and signals processing.

Features

  This package pretends to simplify signal processing by alowing the user to manipulate signals as objects.

  One of the main advantages of representing signals as objects is the clarity and simplicity of code expression. Encapsulating the signal logic in an object makes the code easier to understand because the object's methods and attributes directly reflect the properties and operations associated with the signal, eliminating the need to manage time and amplitude arrays separately.

  Additionally, this methodology promotes code reuse. By defining signals as objects, generic classes can be created that cover a variety of common signals, allowing users to simply instantiate and adjust parameters to their specific needs. This reduces redundancy in the code and encourages modular and clean programming.

  Another key advantage lies in the abstraction of complexity. By treating signals as objects, the internal details of their implementation can be hidden from the user, who can focus on using more intuitive methods and attributes without worrying about technical details. This simplifies the workflow and facilitates collaboration, as different users can interact with the signals consistently.

Signal Module

  Signal is the core class of the package, representing a signal in both the time and frequency domain. It allows manipulation of attributes such as fundamental frequency, amplitude, phase, and provides methods to load spectrums from files and modify the signal duration.

Generator Module

  The Generator class is used to create and combine signals. It offers methods to generate sinusoidal waves, unit impulses, and more. It also allows the summation of signals, creating new combinations of waveforms.

Grapher Module

  The Grapher class handles signal visualization. It provides methods to plot waveforms, frequency spectrum, and visualize multiple signals clearly.

Documentation

  The package documentation provides the necessary information to either use the software or contribute developing. All contributions that use the following conventions are welcome. Visit the change log for more details about the development process and future implementations.

License

  This is an open source project developed under the GNU General Public License. See the LICENSE file for more details.

About

Provides a set of tools for digital signal processing. Designed to facilitate the generation, manipulation, and visualization of signals, as well as the application of filters.

Resources

License

Stars

Watchers

Forks