|
1 | 1 | # Signal Processing Library (SignalProcesserCPP) |
2 | 2 |
|
3 | | -This project provides a set of classes for signal generation, processing, file I/O, and visualization using GnuPlot. It is designed for handling basic signal processing tasks, managing signal parameters, and visualizing signals in a clear and flexible way. |
| 3 | +This project provides a set of classes for signal generation, processing, file |
| 4 | +I/O, and visualization using GnuPlot. It is designed for handling basic signal |
| 5 | +processing tasks, managing signal parameters, and visualizing signals in a clear |
| 6 | +and flexible way. |
4 | 7 |
|
5 | 8 | ## Features |
6 | 9 |
|
7 | | -- **Signal Generation**: Generate customizable signal lines with adjustable frequency, amplitude, phase, and more. |
8 | | -- **Signal Line Manipulation**: Modify and retrieve individual points of the signal. |
9 | | -- **File I/O**: Save generated signal lines to files and load them for further processing. |
10 | | -- **GnuPlot Visualization** (must be pre-installed): Easily visualize signal data using GnuPlot with configurable axis and graph labels. |
| 10 | +- **Signal Generation**: Generate customizable signal lines with adjustable |
| 11 | + frequency, amplitude, phase, and more. |
| 12 | +- **Signal Line Manipulation**: Modify and retrieve individual points of the |
| 13 | + signal. |
| 14 | +- **File I/O**: Save generated signal lines to files and load them for further |
| 15 | + processing. |
| 16 | +- **GnuPlot Visualization** (must be pre-installed): Easily visualize signal |
| 17 | + data using GnuPlot with configurable axis and graph labels. |
11 | 18 |
|
12 | 19 | ## Installation |
13 | 20 |
|
14 | 21 | 1. Clone the repository: |
15 | 22 |
|
16 | | - ```bash |
17 | | - git clone https://github.com/ilvoron/SignalProcesserCPP |
18 | | - cd SignalProcesserCPP |
19 | | - ``` |
| 23 | + ```bash |
| 24 | + git clone https://github.com/ilvoron/SignalProcesserCPP |
| 25 | + cd SignalProcesserCPP |
| 26 | + ``` |
20 | 27 |
|
21 | | -2. Build the project (assuming a C++ compiler, `cmake` and `make` are installed): |
| 28 | +2. Build the project (assuming a C++ compiler, `cmake` and `make` are |
| 29 | + installed): |
22 | 30 |
|
23 | | - ```bash |
24 | | - cd "_build_folder_" |
25 | | - cmake -G "_generator_name_" "_path_to_main_cmake_lists_file_" |
26 | | - make |
27 | | - ``` |
| 31 | + ```bash |
| 32 | + cd "_build_folder_" |
| 33 | + cmake -G "_generator_name_" "_path_to_main_cmake_lists_file_" |
| 34 | + make |
| 35 | + ``` |
28 | 36 |
|
29 | | -3. Ensure you have [GnuPlot](http://www.gnuplot.info/) installed on your system for visualization functionality. |
| 37 | +3. Ensure you have [GnuPlot](http://www.gnuplot.info/) installed on your system |
| 38 | + for visualization functionality. |
30 | 39 |
|
31 | 40 | ## Usage |
32 | 41 |
|
@@ -71,25 +80,37 @@ int main() { |
71 | 80 |
|
72 | 81 | ## Dependencies |
73 | 82 |
|
74 | | -- **C++20** or higher |
75 | | -- **GnuPlot**: Required for signal visualization |
76 | | -- **CMake** & **Make**: For building the project |
| 83 | +- **C++20** or higher |
| 84 | +- **GnuPlot**: Required for signal visualization |
| 85 | +- **CMake** & **Make**: For building the project |
77 | 86 |
|
78 | 87 | ## License |
79 | 88 |
|
80 | | -This project is licensed under the MIT License. See the [LICENSE.md](./LICENSE.md) file for details. |
| 89 | +This project is licensed under the MIT License. See the |
| 90 | +[LICENSE.md](./LICENSE.md) file for details. |
81 | 91 |
|
82 | 92 | ## Contributing |
83 | 93 |
|
84 | | -Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. |
85 | | -Feel free to adjust this template to better reflect your project's structure and the specific functionality you offer. |
| 94 | +Pull requests are welcome. For major changes, please open an issue first to |
| 95 | +discuss what you would like to change. Feel free to adjust this template to |
| 96 | +better reflect your project's structure and the specific functionality you |
| 97 | +offer. |
86 | 98 |
|
87 | 99 | --- |
88 | 100 |
|
89 | 101 | ## Classes Overview |
90 | 102 |
|
91 | | -- **SignalProcesserException** - Custom exception class for handling errors during signal processing. It includes additional details like the function name where the error occurred. |
92 | | -- **TSignalLine** - Represents a signal line made up of multiple points. Parameters such as frequency, amplitude, and phase can be customized. You can set, retrieve, and manipulate individual points in the signal. |
93 | | -- **TGenerator** - Generates a signal line based on given parameters. The class supports execution of the signal generation process and provides access to the generated signal line. |
94 | | -- **TFileWriter** - Responsible for writing signal data to a file. Accepts a signal line and a file path and saves the signal data in a specified format. |
95 | | -- **TGnuPlotViewer** - Visualizes the signal data using GnuPlot. You can configure the file path, axis labels, and graph labels, and execute GnuPlot to render the graph. |
| 103 | +- **SignalProcesserException** - Custom exception class for handling errors |
| 104 | + during signal processing. It includes additional details like the function |
| 105 | + name where the error occurred. |
| 106 | +- **TSignalLine** - Represents a signal line made up of multiple points. |
| 107 | + Parameters such as frequency, amplitude, and phase can be customized. You can |
| 108 | + set, retrieve, and manipulate individual points in the signal. |
| 109 | +- **TGenerator** - Generates a signal line based on given parameters. The class |
| 110 | + supports execution of the signal generation process and provides access to the |
| 111 | + generated signal line. |
| 112 | +- **TFileWriter** - Responsible for writing signal data to a file. Accepts a |
| 113 | + signal line and a file path and saves the signal data in a specified format. |
| 114 | +- **TGnuPlotViewer** - Visualizes the signal data using GnuPlot. You can |
| 115 | + configure the file path, axis labels, and graph labels, and execute GnuPlot to |
| 116 | + render the graph. |
0 commit comments