DTW is a method to quantify the similarity between two time series or sequences exhibiting a certain likeness but may vary in speed and amplitude.
DTW can be used to calculate the similarites between 2 times series.
But here i'm showing how to use it to calculate the dynamic lags between two time series signals.
![image](https://private-user-images.githubusercontent.com/90979621/298451886-b3a56f5c-e114-4a4c-9148-af851cae5327.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTE4ODYtYjNhNTZmNWMtZTExNC00YTRjLTkxNDgtYWY4NTFjYWU1MzI3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYwM2I3YjVlYWRjZGJkZWMwMzAyNDU4Zjg4YjM5YzA3NWJiNDg4MTRjYTQ0MTIxMjdjNGI3MDM4ZDIzMzI2ODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DBSYnU6n7D94eapuIhzgKep0fQeRjJWqQrl8_IEyls4)
Like the image shown above, dynamic lags give information on wether a current sample is leading of lagging correspoinding to it's counterpart in the other signal.
![image](https://private-user-images.githubusercontent.com/90979621/298452448-9ca6e348-90da-45f0-b5ce-3ec96053f729.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTI0NDgtOWNhNmUzNDgtOTBkYS00NWYwLWI1Y2UtM2VjOTYwNTNmNzI5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTljMDBjMTY1OWVkMTk3ZDVmYTUzNWNiN2I5OWUyMmIzNWY4NzUwYWVjMTg2Yzg4ZGQ4NDUyZGM1ZWE2ZmZlODYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.1IKU64KNugK4pnV5aj8JxDMm_XIgX24qnYyZYuLR_OI)
![image](https://private-user-images.githubusercontent.com/90979621/298452538-46ffd419-f076-4dc9-903b-7f0215745e23.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTI1MzgtNDZmZmQ0MTktZjA3Ni00ZGM5LTkwM2ItN2YwMjE1NzQ1ZTIzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWExODNmYmI5ODE1ODU4OGQ2NTE4OTZmMWZlOWZlODcwZmNjOTRjY2RjMzI4ZDFkMjdlMjMyYjAyOWI5NzlhZWEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.iGg6iWcKHel1lxwLCeF_2QPaOVyJiNh5m6PuD-p_pJE)
![image](https://private-user-images.githubusercontent.com/90979621/298452595-3c779546-38b8-4b57-ada7-31596e189fb6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTI1OTUtM2M3Nzk1NDYtMzhiOC00YjU3LWFkYTctMzE1OTZlMTg5ZmI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0ZjM3MDllOTg5ZjJkYTQyNzliODZlZjM2NmY0NjY5N2U2MWIxMDFmODNjOGNiODAyZDM2ZmM2YTBmNjlmNTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.HIeeREecwj4WmkQJ0njH9owL2M6kdAcMdRzlLJdepR4)
![image](https://private-user-images.githubusercontent.com/90979621/298452875-5eddf71f-ea42-4189-9569-dfc02279401c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTI4NzUtNWVkZGY3MWYtZWE0Mi00MTg5LTk1NjktZGZjMDIyNzk0MDFjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRmNWI4ZmUzYTZjYWYzOWM4NDI4NzUxZGQ5YzNhNTNjYzAxMjMyY2ZlODQ1NDYwYTgwODNiZWZhY2M2OWNiNmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.LnQ1KeJ0dqu6IRY9D4nC0GAdwcnyqsVpaMKEP3QbBag)
![image](https://private-user-images.githubusercontent.com/90979621/298452934-647ba077-2101-4609-a88a-9df0e7e52d57.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTI5MzQtNjQ3YmEwNzctMjEwMS00NjA5LWE4OGEtOWRmMGU3ZTUyZDU3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEzYTA4OGYxOTM0ZjVlZTJjYjJiM2M2ZjQ3ZDExMWVjNGYzNjFjZjEyMGM4MTU0ZDQzYmNmMjI0NDE5YmFjNDImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.trvV5uMrUEkpG0ZW-VawHt9e_nc0eEJs3kqk3rHHQQQ)
![image](https://private-user-images.githubusercontent.com/90979621/298453082-dc639c55-14f2-4b15-9753-258b45a90255.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTMwODItZGM2MzljNTUtMTRmMi00YjE1LTk3NTMtMjU4YjQ1YTkwMjU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkwYzNiOGMwM2Y4OTY5NDUxYjE0NjVhZDdiNmVlMDJiZTQwM2RhNjE3MjE3ZjhkZjJjMDE0NGZhOTdkNWI4N2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.TuMXK6ufEChz48fDnU6sIPH9jGO4Izg0pC6PQ8ZlekM)
the red arrow shows the way we backtrack
![image](https://private-user-images.githubusercontent.com/90979621/298453577-b815efca-3040-4993-93bf-013657d7e92d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1MDk1ODgsIm5iZiI6MTcxODUwOTI4OCwicGF0aCI6Ii85MDk3OTYyMS8yOTg0NTM1NzctYjgxNWVmY2EtMzA0MC00OTkzLTkzYmYtMDEzNjU3ZDdlOTJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjE2VDAzNDEyOFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ1N2YwMjNkN2ZkYzdmOGFiODgwMDUyZmJiYzI1NTkzZWZlYWIwNDczNWMxZGE1MjdjODU1NmQ2MzdhYjM2NTMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WWqAwpeGWsLsDq2h54I9IV7bG7FFoOoHRF1ZxcG97po)
this wave form means: 1. For positive values of lag waveform, signal 1 is leading in respect to signal 2 2. For negative values of lag waveform, signal 1 is lagging in respect to signal 2
Happy coding...!!!