Skip to main content

A Python package for fundamental signal processing operations

Project description

Signal Processing Package - ICT Department

A comprehensive Python package for fundamental signal generation and operations, developed for the Programming with Python course (01CT1309) at Marwadi University, Faculty of Engineering and Technology.

📋 Package Overview

This package demonstrates core concepts of Signals and Systems through three modular components:

  • Unitary Signals: Unit step, impulse, and ramp signal generation
  • Trigonometric Signals: Sine wave, cosine wave, and exponential signal generation
  • Signal Operations: Time shifting, scaling, addition, and multiplication operations

🏗️ Package Structure

``` signal_ICT_MeetSenjaliya_92510133027/ ├── init.py # Package initialization and exports ├── unitary_signals.py # Unit step, impulse, and ramp signals ├── trigonometric_signals.py # Sine, cosine, and exponential signals ├── operations.py # Signal manipulation operations ├── main.py # Demonstration script ├── setup.py # Package setup and distribution └── README.md # This documentation file ```

🚀 Installation

Method 1: Install from Wheel (Recommended)

```bash

Install from local wheel file

pip install dist/signal_ICT_MeetSenjaliya_92510133027-1.0.0-py3-none-any.whl ```

Method 2: Install from TestPyPI

```bash

Install from TestPyPI (after upload)

pip install -i https://test.pypi.org/simple/ signal_ICT_MeetSenjaliya_92510133027 ```

📦 Dependencies

  • NumPy (>=1.19.0): For numerical array operations
  • Matplotlib (>=3.3.0): For signal visualization and plotting

🎯 Usage Examples

Basic Signal Generation

```python import numpy as np from signal_ICT_MeetSenjaliya_92510133027 import unit_step, sine_wave

Generate unit step signal

n = np.arange(-10, 10) step_signal = unit_step(n)

Generate sine wave

t = np.linspace(0, 1, 1000) sine_signal = sine_wave(A=2, f=5, phi=0, t=t) ```

Signal Operations

```python from signal_ICT_MeetSenjaliya_92510133027 import signal_addition, time_shift

Add two signals

result = signal_addition(signal1, signal2)

Time shift a signal

shifted = time_shift(signal, k=5) ```

Complete Demonstration

```python

Run the complete demonstration

python main.py ```

🔧 Module Documentation

1. unitary_signals.py

Functions:

  • unit_step(n): Generates unit step signal u[n]
  • unit_impulse(n): Generates unit impulse signal δ[n]
  • ramp_signal(n): Generates ramp signal r[n]

2. trigonometric_signals.py

Functions:

  • sine_wave(A, f, phi, t): Generates sine wave with amplitude A, frequency f, phase phi
  • cosine_wave(A, f, phi, t): Generates cosine wave with specified parameters
  • exponential_signal(A, a, t): Generates exponential signal A*e^(at)

3. operations.py

Functions:

  • time_shift(signal, k): Shifts signal by k units in time
  • time_scale(signal, k): Scales signal in time by factor k
  • signal_addition(signal1, signal2): Adds two signals point-wise
  • signal_multiplication(signal1, signal2): Multiplies two signals point-wise

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signal_ict_meetsenjaliya_92510133027-1.0.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file signal_ict_meetsenjaliya_92510133027-1.0.0.tar.gz.

File metadata

File hashes

Hashes for signal_ict_meetsenjaliya_92510133027-1.0.0.tar.gz
Algorithm Hash digest
SHA256 35a01f57eb304d3ef1590a38b5f93a20c9af3cfb428ab5dcd33a05b2702d855d
MD5 80061a7160b17ec6c2346c25a624458e
BLAKE2b-256 7f18219186a55f175317e532874996bef36bbb8bd1d88ba420dd41bf3c2c8d7b

See more details on using hashes here.

File details

Details for the file signal_ict_meetsenjaliya_92510133027-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for signal_ict_meetsenjaliya_92510133027-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c1e3a23e6c428f8f38fdd1d17d95f10266214b596c68f939c49bc35e8bf4710
MD5 28c017243cd52d2bb653234a1b5305f3
BLAKE2b-256 c98f3a7794954e5aa298619c977e3afb13f7ae2bec60a2768214ff3cda85d179

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page