Python for Signal Processing, Communication and Cryptography
Ami Munshi (~AmiMunshi) |
MATLAB has been and still is a very popular software to simulate algorithms, systems and processes pertaining to Signal Processing, Analog and Digital Communication, Multimedia Compression, Cryptography, etc. This is mainly because it is easy to understand and implement codes. Moreover there are many inbuilt libraries, packages and function which aid in implementing complex projects.
However there has been a gradual but evident shift towards Python in industry as well as academia. There are many advantages like compact code, simpler code readability, powerful data structure etc that are attached to Python. However, personally, the one of the main advantage that Python comes with is - It is FREE, OPEN SOURCE. This feature of Python has its exponential evolution. It has also helped many budding programmers to enhance and display their creativity through programming using Python.
During my journey of shifting from MATLAB to Python, primarily to implement lab experiments pertaining to the courses that I am teaching, I realized that the transition was not smooth. Ample of help is available from Matlab community online. However, I feel that there is still a gap that needs to be bridged through comprehensive tutorials to implement Signal Processing and Communication algorithms.
In this talk, I propose to showcase various algorithms of Signal Processing, Digital Communication, Multimedia Signal Compression and Cryptography in Python using mainly Numpy, Scipy, Matplotlib and Pandas with the use of intuitive tools like Google Colab/Jupyter Notebook.
The following topics will be covered in the talk:
- Introduction (2 minutes)
- Generation of basic signals- sinusoidal, Discrete Time Signals like Unit Step, Ramp, Impulse (4 minutes)
- Implementing digital modulation techniques like BPSK, BASK, BFSK-(4 minutes)
- Image Processing techniques like histogram processing, spatial domain filtering, point processing techniques, edge detection-(5 minutes)
- Multimedia Signal Compression techniques like RLE, Golomb Code, Simple adaptive dictionary compression-(5 minutes)
- Cryptography techniques like Substitution Cipher, Affine Cipher, Chinese Remainder Theorem (5 minutes)
- Question Answer (5 minutes)
Beginner level appreciation of Python or any other programming language. Essentially - Basic Data Types in Python - Basic Data Structures in Python
- This presentation which is still being curated can be accessed from here
- The lines of code implemented and their corresponding results can be accessed from https://github.com/AmiMunshi (It is still under progress)
- Articles on some of these algorithms are published in https://auth.geeksforgeeks.org/user/amimunshi/articles
Ami Munshi is an Assistant Professor with MPSTME, Mumbai (NMIMS University) with the Electronics and Telecommunications specialization with total teaching experience of over 13 years. Focus areas on Application of Python3 libs for Data/Image compression, Encryption, Signal Processing, Cryptography, Digital Communication, Data Science and Analytics applications.
Linked in profile: https://in.linkedin.com/in/ami-munshi-6b170a8
GitHub repositories can be found on https://github.com/AmiMunshi
Aritcles published in GeeksForGeeks can be found on https://auth.geeksforgeeks.org/user/amimunshi/articles