DSP (Digital Signal Processing) code in Python
- This repo is for my personal study of some DSP (digital signal processing) conceps and to study scipy.signal library
- Jupyter Notebooks have some markdown cells which contain explanations in LaTeX which are sometimes rendered incorrectly by GitHub. So, it is sometimes better to study locally
- Example notebooks start with: /examples/freq_domain/fft_intro.ipynb
- Following examples are linked to the beginning cell of the former notebook
- All code and all examples are prone to all kinds of errors
- Any corrections, suggestions, improvements, etc. are welcome
- /examples/freq_domain/fft_intro.ipynb
- Write complex equations in markdown cells
- FFT math
- Simulate a sinusoid together with its time vector
- Take the FFT
- Plot the signal, plot the FFT, or together
- Effect of removing the offset from a signal on the FFT
- Relation between the signal amplitudes and the size of the FFT peaks
- /examples/freq_domain/fft_index_freq_match.ipynb
- Effect of the size of the FFT
- /examples/freq_domain/spectrogram.ipynb
- Generate chirp with signal.chirp
- Different kinds of chirp signals: linear, quadratic, logarithmic, hyperbolic
- Plot spectrogram together with the signal power
- /examples/lti_filters/filter_bank.ipynb
- Create a filter object with signal.dlti
- Design IIR filters with signal.iirdesign
- Create a filter bank consisting of IIR filters
- Draw the bode plot
- Use the filter bank with signal.dlsim which simulates the output of a discrete-time linear system
- /examples/lti_filters/phase_response.ipynb
- Design FIR filter with signal.firwin
- Display filter equation in LaTeX
- Plot filter coefficients
- Plot impulse and step responses
- Simulate superposition of sinusoids
- Given numerator, denumerator, and the input signal, calculate the output of an LTI filter with signal.lfilter
- Compare similar FIR and IIR filters in terms of phase responses
- /examples/lti_filters/speed.ipynb
- Use timers to measure execution time
- Compare similar FIR and IIR filters in terms of speed
- /examples/lti_filters/fir
- /examples/lti_filters/fir/params
- /examples/lti_filters/iir
- /examples/lti_filters/iir/params
- /examples/lti_filters/convolution.ipynb
- Caclulate the impulse response using signal.dimpulse
- Calculate the LTI filter output using the impulse response and the convolution operation with signal.convolve
- Compare signal.lfilter with signal.convolve
- /functions/fft.py
- Functions related to FFT with numpy and matplotlib
- /functions/lti.py
- Functions related to LTI systems with numpy, matplotlib, and scipy.signal
- Display LaTeX equations with from IPython.display import Latex, display
- Study and demonstrate wavelet basics. Find a popular and stable library if any exists. Implement yourself otherwise
- Study and demonstrate wavelet scattering basics
- Linear algebra review. Study a popular and stable library
Written by serhatsoyer