/signal-generator

A MATLAB script that generates signals based on user-input parameters, with the ability to manipulate it further with operations.

Primary LanguageMATLABMIT LicenseMIT

Signal Generator

This is MATLAB implementation of a general signal generator that has the following specifications:

  1. When the program starts the program asks the user for the following parameters: a. Sampling frequency of signal. b. Start and end of time scale c. Number of the break points and their positions (i.e. the points that the signal definition rule changes). Example: The signal is defined from -2:0 as a DC signal and from 0:2 as ramp the user will enter that the number of break points = 1 and the position at t = 0.

  2. According to the number of break points the program asks the user at each region to enter the specifications of the signal at this region which are: a. DC signal: Amplitude. b. Ramp signal: slope – intercept. c. General order polynomial: Amplitude-power – intercept. d. Exponential signal: Amplitude – exponent. e. Sinusoidal signal: Amplitude – frequency – phase.

  3. Display the resulting signal in time domain

  4. The program asks the user if he wants to perform any operation on the signal a. Amplitude Scaling: scale value. b. Time reversal. c. Time shift: shift value. d. Expanding the signal: expanding value e. Compressing the signal: compressing value f. None

  5. Display the new signal in time domain

This project was developed as part of the course Signals and Systems in the Fall 2020 semester at the Faculty of Engineering, Alexandria University, under the Computer and Communications Engineering department, supervised by Dr. Hassan Elragal.

Prerequisites

This project was developed using MATLAB.

Installing

1- Clone the repository to your local machine:

git clone https://github.com/MohEsmail143/signal-generator.git

2- Open MATLAB

3- Load the script main.m and run it.

License

This project is licensed under the MIT License - see the LICENSE.md file for details