National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance
NIT Rourkela Inside Page Banner

Syllabus

Course Details

Subject {L-T-P / C} : EE6175 : Advanced Signal Processing Lab { 0-0-3 / 2}

Subject Nature : Practical

Coordinator : Supratim Gupta

Syllabus

Module 1 :

Task I: Tool and Signal Practice Session [3 hr.]
• Familiarization with MATLAB/Python environment for signal processing.
• Basic operations: signal creation, plotting, loading and processing real-world signals.
• Practice: Basic vector and matrix operations relevant to signal processing.

Task II: Linear Algebra and Probability Methods for Signal Processing [9 hr.]
1. Implement and visualize vector projections and orthogonalization in Python/MATLAB.
2. Solve linear system Ax=bAx = bAx=b and Ax=0Ax = 0Ax=0 via QR and SVD decompositions.
3. Compute eigenvalues/eigenvectors for sample signal matrices and interpret.
4. Simulate and analyze least squares fitting of signals.
5. Generate random signals and analyze mean, variance, and correlation.
6. Simulate stationary and ergodic random processes.
7. Estimate parameters (mean, variance) and verify ergodicity.
8. Pass random signals through LTI systems and observe output properties.
9. Code orthonormal transforms (e.g., DFT) for signal sets.

Task III: Adaptive Filters and Applications [6 hr.]
1. Implement and simulate a basic LMS adaptive filter on synthesized data.
2. Apply steepest descent-based Wiener filter; analyze convergence and stability.
3. Simulate colored noise/process generation for adaptive filtering.
4. System identification using adaptive filtering: generate and recover unknown systems.
5. Use adaptive filtering for linear prediction and inverse system modeling.
6. Simulate active noise cancellation using adaptive filter structure.
7. Estimate Power Spectral Density (PSD) of signals using periodogram and AR methods.

Task IV: Deep Learning and Convolutional Networks for Signal Data [6 hr.]
1. Construct and train a shallow neural network for basic classification of signal features.
2. Implement logistic regression for binary classification; interpret results.
3. Build a multi-layer deep neural network (DNN) for signal pattern classification.
4. Design and test a simple Convolutional Neural Network (CNN) for 1D/2D signal or image datasets.
5. Experiment: Compare and report performance of shallow vs. deep networks.

Task V: Software-Based Realization of Adaptive Systems [9 hr.]
1. Signal processing algorithm modularization using Object-Oriented Programming (OOP) in Python/MATLAB.
2. Develop software modules for solving matrix eigenvalue problems.
3. Simulate generation and processing of different random processes.
4. Develop, simulate, and test adaptive filter modules for real data applications.
5. Analyze and report the computational complexity (time, memory) of implemented algorithms.
6. Mini project: Build and demonstrate an end-to-end adaptive signal processing workflow tailored for an application (e.g., speech enhancement, biomedical signal denoising).

Course Objective

1 .

1. Learn to implement and simulate advanced signal processing algorithms using MATLAB/Python environments.
2. Learn coding of linear algebra and statistical methods for signal modeling and random process analysis.
3. Learn to design, code, and analyze adaptive filters including LMS, Wiener, and spectral estimation algorithms.
4. Learn to develop and apply deep learning and convolutional neural network models for signal classification and feature extraction.
5. Learn object-oriented programming techniques for modular and scalable signal processing software development.
6. Learn to evaluate computational complexity and optimize signal processing algorithms for practical applications.
7. Develop the ability to integrate mathematical modeling, simulation, and algorithm implementation in end-to-end adaptive signal processing projects.

Course Outcome

1 .

After completing the course the students will be able to:
CO1: Implement and simulate discrete-time signals and basic signal operations using MATLAB/Python environments.

CO2: Apply linear algebra and statistical methods to analyse, model, and process random and deterministic signals computationally.

CO3: Design, implement, and analyse adaptive filters (such as LMS and Wiener filters) for applications including system identification, prediction, and noise cancellation.

CO4: Develop and train deep and convolutional neural networks for signal classification and feature extraction using real-world signal datasets.

CO5: Develop modular, object-oriented software solutions for advanced signal processing applications, evaluating their computational complexity and performance.

CO6: Integrate mathematical modelling, simulation, and coding to realize and demonstrate complete adaptive signal processing systems for real-world applications.

Essential Reading

1 .

G. Strang, Linear Algebra and its Applications, THE , 2006 or latest Ed.

2 .

D. G. Manolakis, V. K. Ingle, and S. M. Kogon, Statistical and Adaptive Signal Processing: Spectral Estimation, Signal Modeling, Adaptive Filtering and Array Processing, Artech House , 2005 or latest Ed.

3 .

François Chollet, Deep Learning with Python, Manning Publications , 2017 or latest Ed.

Supplementary Reading

1 .

Dr. Ana Bell Prof. Eric Grimson Prof. John Guttag, INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING IN PYTHON, Massachusetts Institute of Technology , https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/video_galleries/lecture-videos/

Journal and Conferences

1 .