# Solutions HW #5 PHYS 160 Fall # Travis Hoppe restart: with(plots): signal := (N1,N2,t) -> sum(term(2*k-1,t),k=N1..N2); term := (n,t) -> a(n)*sin(2*Pi*n*t/TP); a := (n) -> 4/(Pi*n); TP := 1.125: Zio2JUkjTjFHNiJJI04yR0YlSSJ0R0YlRiU2JEkpb3BlcmF0b3JHRiVJJmFycm93R0YlRiUtSSRzdW1HRiU2JC1JJXRlcm1HRiU2JCwmSSJrR0YlIiIjISIiIiIiOSYvRjI7OSQ5JUYlRiVGJQ== Zio2JEkibkc2IkkidEdGJUYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlKiYtSSJhR0YlNiM5JCIiIi1JJHNpbkdGJTYjLCQqKkkjUGlHJSpwcm90ZWN0ZWRHRi9GLkYvOSVGL0kjVFBHRiUhIiIiIiNGL0YlRiVGJQ== Zio2I0kibkc2IkYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLCQqJkkjUGlHJSpwcm90ZWN0ZWRHISIiOSRGLSIiJUYlRiVGJQ== plot( signal(1,50,t), t=0..2*TP, title="Two full cycles of the signal"); NictJSdDVVJWRVNHNiQ3W1tsNyQkIiIhISIiJCIiISEiIjckJCIwdlZCUzdFYCIhIzwkIjEkR2ZnaTZCQiYhIzs3JCQiL3ZvL1tBbEkhIzskIjFVKlxmWSlvcyMqISM7NyQkIjBESnE/UHlmJSEjPCQiMm4/UHFONz85IiEjOzckJCIudiQ0J1wvOCchIzokIjJYeTJsWFM5PCIhIzs3JCQiL0QxOVduJj4qISM7JCIxXDthNEwpcHEqISM7NyQkIi52PSMqKjNFNyEjOSQiMVUvVDp6OHciKiEjOzckJCIxdiQ0QDteJHo4ISM8JCIxdVFhbD1BI3kqISM7NyQkIjB2VkJTN0VgIiEjOyQiMksnW2YseSg0LyIhIzs3JCQiMUQieURrdGVvIiEjPCQiMXRmQXpQR201ISM6NyQkIi9EIkcpWzhSPSEjOiQiMlY9JilSZjFaLyIhIzs3JCQiMl8oby9CaFIjKj4hIz0kIjFWIWZZcUVWKCoqISM7NyQkIjBEIkdqdGxYQCEjOyQiMWZXIyo0M2IlZSohIzs3JCQiMltpOk5nPSopSCMhIz0kIjEpRyIpZiczajsmKiEjOzckJCItdlYpekBYIyEjOCQiMVx3YUpWLHQoKiEjOzckJCIxdlYpUjNUYWcjISM8JCIxbU9iWnUlWywiISM6NyQkIjB2PVVLLShlRiEjOyQiMjJpN1QjXGBRNSEjOzckJCIyYDdgV2NqPiJIISM9JCIyOWpIdiEzU001ISM7NyQkIi92by9bQWxJISM6JCIyeVFzJDNDKXorIiEjOzckJCIxdj0jXC8nWz1LISM8JCIvLy5fVGsoeSohIzk3JCQiMERjXkdaPFAkISM7JCIxWU92aEE6aScqISM7NyQkIjFEMVJEJjNdXyQhIzwkIjE6Ml8xPlByKCohIzs3JCQiLkRjd3AjeU8hIzkkIjJVJyoqKikqeVdCKyIhIzs3JCQiMXYkZmUrSjokUSEjPCQiMkNIRSI9UyxDNSEjOzckJCIyL3YkNFlBeiUpUiEjPSQiMTtyWVRDMUc1ISM6NyQkIjFEIkdqW2AhUVQhIzwkIjI0TiwkUVA2ODUhIzs3JCQiL0RjRVpKIkglISM6JCIwX3knXElnLyoqISM6NyQkIjF2b3ptZmRXVyEjPCQiMSJvRil5TTFkKCohIzs3JCQiMiZcNy4ycyR5ZiUhIz0kIjFMWyZIKmViInkqISM7NyQkIjFEY0VaJSk0XlohIzwkIjFoQ0g4TnBdKiohIzs3JCQiLHZvZlYhXCEjNyQiMkFkPEAjZkQ5NSEjOzckJCIvRCJ5RCkpei4oISM6JCIyMF1vOmZELSsiISM7NyQkIjEsXTdHb2hyIiohIzwkIjF6dGcleTlOIyoqISM7NyQkIjIsdm8vYDVyOiIhIzwkIjI4c0ZlRCc+LTUhIzs3JCQiMiwrRCJ5JGZxUiIhIzwkIjJ3T1VsQk95KyIhIzs3JCQiLER3KWZROyEjNiQiMmNEIkcnUihRMjUhIzs3JCQiLnZvOVEsKT0hIzgkIjInKSlIOmM1dyw1ISM7NyQkIjIoKlxpbCM0IzRPIyEjPCQiMS9uI1skZmBNKiohIzs3JCQiL0QieTVvbSFHISM5JCIxRTUmeWUicFIqKiEjOzckJCIyKCpcN2BcOCNvSyEjPCQiMU48JzRbK3ckKiohIzs3JCQiL0RKJlJXYnUkISM5JCIyY24wX3RKPysiISM7NyQkIi92PVVXVyQpUiEjOSQiMkAheU1GM3cxNSEjOzckJCIyJypcaSEqW1c4QSUhIzwkIjI+NHFELTEqMzUhIzs3JCQiMEQxKkdSMG1XISM6JCIycEw7IW8lUUsrIiEjOzckJCIyMStdKG9MdzVaISM8JCIxIkd4M1opPjIqKiEjOzckJCIvRGN3TklFXCEjOSQiMSRbdEomKlxeJioqISM7NyQkIi52VnlWPTkmISM4JCIyKFw7cmg+eTA1ISM7NyQkIjB2JDQnUm5KRSYhIzokIjEuZCZlXDkoPSoqISM7NyQkIi9EInkrIlwlUSYhIzkkIjEuMUAnMzEkcCcqISM7NyQkIjFWdEZma2wqUiYhIzskIjFKIj0rM14iKVwqISM7NyQkIjEoPVUyIj4jW1QmISM7JCIxUjpXPV0lKXAnKiEjOzckJCIxS3E/aXQpKkhhISM7JCIyKSplL0clKXk1LCIhIzs3JCQiMXY9bjhHOlhhISM7JCIxYmc8dV9BYTUhIzo3JCQiMWs6ZztQW3ZhISM7JCIyS0FOPkElKnotIiEjOzckJCIxXjdgPlkiZV0mISM7JCIxSCl6JypSJHklNCohIzs3JCQiMVE0WUFiOU9iISM7JCIxNlhfWzAwOCoqISM7NyQkIjFEMVJEa1ptYiEjOyQiMiVceGtkUlV4NiEjOzckJCIxcGEmbyg9ayJlJiEjOyQiMiM9Y11TZlw+NiEjOzckJCIxNy5LR3Qhb2YmISM7JCIxZl5VQShbPnUpISM7NyQkIjFkXnl6Rig+aCYhIzskIjJqJCpcYW9OeVwlISM8NyQkIjEsK0RKI1FyaSYhIzskITEoUjYiKWYlZSdmKCEjPDckJCIxRWNeYGZPVWMhIzskITBNYCIpUmozJ2UhIzo3JCQiMV43eXZPZmRjISM7JCExJVJiNUopM2MnKiEjOzckJCIxd28vKVJAR24mISM7JCEyJjREXy1kXGE2ISM7NyQkIi9ESj8iXCEpbyYhIzkkITIjPWB3PiZSYzsiISM7NyQkIjFFInlEJW9GLmQhIzskITJyXXQ4IzR2cTUhIzs3JCQiMHZWW2MvJj1kISM6JCExVz5NaUcxNycqISM7NyQkIjF2JDRyR0tQdCYhIzskITFjOVooSFUvMCohIzs3JCQiLnYkNCsnKltkISM4JCExbGgtKmYibzojKiEjOzckJCIxRDFrSng9a2QhIzskITE5ZWMhKXBWUikqISM7NyQkIjBEMVJYOiV6ZCEjOiQhMj4nPWxXYV5XNSEjOzckJCIxdj08d0prJXomISM7JCEyM0ZKYnItaTEiISM7NyQkIi92VikqMygpNGUhIzkkITJWOUMzRW9ALyIhIzs3JCQiMURKcT8nKTREZSEjOyQhMXIpPkFTPHMlKiohIzs3JCQiMHZvSE1FLiVlISM6JCExVyFmTVBGRGQqISM7NyQkIjF2VkJsU2JiZSEjOyQhL0BSMzYiPl8qISM5NyQkIix2eSJ5cWUhIzYkITFgT0hWK1AneSohIzs3JCQiMURjdzQmNGcpZSEjOyQhMkxIW20xJillLCIhIzs3JCQiMERKP0JQNyFmISM6JCExZm9MdyF5KFE1ISM6NyQkIjF2b0hhXFk7ZiEjOyQhMiZmYXldaDNNNSEjOzckJCIvRGN3RXBKZiEjOSQhMkMhWzFBOmoyNSEjOzckJCIxRCJHKSlSP3AlZiEjOyQhMU47XSIpNGIneSohIzs3JCQiMHYkNEAiW0AnZiEjOiQhMWg9dSR6aEBtKiEjOzckJCIxdiRmTCVlUHhmISM7JCExWCV6Rj0pb3AoKiEjOzckJCIuRGNjLkUqZiEjOCQhMjF2WkQjeiY+KyIhIzs3JCQiMUQxKnlHSnkrJyEjOyQhMkI4SkxINFAtIiEjOzckJCIwRGMsLGZJLSchIzokITJFPHNJY0ojRzUhIzs3JCQiMXY9VUtuR1FnISM7JCEyajtfZmlMUSwiISM7NyQkIi92b2FXXmBnISM5JCExby0+aks7OCoqISM7NyQkIjFESiZwPFUob2chIzskITFmKmV3QTsvdyohIzs3JCQiMHY9IyoqKXBSMychIzokITFKTjNSUyZleCohIzs3JCQiMXZWW0B3Pio0JyEjOyQhMWtocDx0YVEqKiEjOzckJCItdlZgVTloISM3JCEyVzw2Ni8wSywiISM7NyQkIjEsK0RjNUFcaiEjOyQhMiVbdl8oUSV5OTUhIzs3JCQiMSwrdm9uLCVlJyEjOyQhMikqekxmN1xCLCIhIzs3JCQiL0RKcTJYNXEhIzkkITJKaydIJVtQTisiISM7NyQkIjFAdWdabkhFcSEjOyQhMiNba1E4dmwzNSEjOzckJCIxVkIhXHNVQC8oISM7JCEyXCQ+djw7UjI1ISM7NyQkIjFrcz4tKCkpejAoISM7JCEyTyMqXGl3cjIrIiEjOzckJCIxKD0jXHpZJFEyKCEjOyQhMVkiXDBUS3EkKiohIzs3JCQiMDYoeWMxbyozKCEjOiQhMSZbTT4rUkwiKiohIzs3JCQiMUo/M01tXzByISM7JCExdG9udi40YCoqISM7NyQkIjFgcFA2RVBAciEjOyQhMWtPJFFqTEUrIiEjOjckJCIxdT1uKWU9czgoISM7JCEyJjMuJio9XyN6KyIhIzs3JCQiMT08RVYwIipvciEjOyQhMjkqZlRLQVgsNSEjOzckJCIxajomeVwtMT8oISM7JCExLiZHZVtWdSIqKiEjOzckJCIxMTlXX1dIS3MhIzskITJyUD9xUjo9KyIhIzs3JCQiMERKcVMnKVJFKCEjOiQhMipvLT4vakoyNSEjOzckJCIxRTFSRFV2IVIoISM7JCExN08kcEAxRSsiISM6NyQkIi12Vj9fPHYhIzckITFiQV5hJFwjbyoqISM7NyQkIi52VikqKkhLeCEjOCQhMUozaTFiIzMrIiEjOjckJCIrRHoyWnohIzUkITFNYnBabj8vNSEjOjckJCIwRDEqR2QicD4pISM6JCExTGR1VWJtZSoqISM7NyQkIi9EIkdgYG5XKSEjOSQhMXBOJ2UjKWVZJSoqISM7NyQkIjEqKioqXDc2MCopKSkhIzskITEpZnROR0ZYJCoqISM7NyQkIjEsRCJ5bEBWUCohIzskITF1TWgqKnlZLjUhIzo3JCQiMSx2VnRSVE8pKiEjOyQhMUs7bjt0RDM1ISM6NyQkIjF3JDRyPV1wJioqISM7JCExZHFMQGVoNDUhIzo3JCQiMUQieStrW3grIiEjOiQhMlIpKUghM187NDUhIzs3JCQiMkVKWDlFLSk+NSEjOyQhL21BYzdtMTUhIzg3JCQiMi1dN0cpZSY9LiIhIzskITFDVTJAdzgtNSEjOjckJCIyX1A0ciZRKlIwIiEjOyQhMSxfeVtlJmUrIiEjOjckJCIwRDE5JD04dzUhIzkkITJaOmxlKD1TNzUhIzs3JCQiMm5BZGhEQ3cyIiEjOyQhMWhlPG5ec0sqKiEjOzckJCIySj8zNG87Ino1ISM7JCExdmVwViVSXHgqISM7NyQkIjIpeiJmYzU0MTMiISM7JCEwQ04hNCMqZmYoKiEjOjckJCIyazo1L2AsQDMiISM7JCExV25fLXRpMSoqISM7NyQkIjJIOGheJlJmJDMiISM7JCExMDpNLml2NzUhIzo3JCQiMiY0QCIqemozJjMiISM7JCEyTzdBMHNueC0iISM7NyQkIjJpM2pZISl5bDMiISM7JCEyTiUqRydHeCZcLSIhIzs3JCQiMkUxOSVINzIpMyIhIzskITJDRz5lPF5bKyIhIzs3JCQiMVJdO2FPYyozIiEjOiQhMW4/alZqZih6KiEjOzckJCIyZCw7KnlnMCI0IiEjOyQhMShIRyEqUnpTbSohIzs3JCQiMkMqcG0uJltENCIhIzskITEiR3E2eS4pXCgqISM7NyQkIjIpb3pURzQvJTQiISM7JCExVmoxamBqLDUhIzo3JCQiMmAlKm9KTkxiNCIhIzskITFXLDE9LCIpSDUhIzo3JCQiMUEqPnp4RHE0IiEjOiQhMk5kNi91Ty0vIiEjOzckJCIyJykqM24tIz0mKTQiISM7JCEyQEhkNWN4UC0iISM7NyQkIjF2PVVGMSwrNiEjOiQhMShlRFRtOXYpKSohIzs3JCQiMjomRzxfSV0sNiEjOyQhMTMnSF9RNkVkKiEjOzckJCIyI0dRI3BaJipINSIhIzskITAoKWZbJypvd14qISM6NyQkIjJbIVtuLHpbLzYhIzskITFkTEUkb3F2eiohIzs3JCQiMjh5RGtLISlmNSIhIzskITI3N2k5REdsLSIhIzs3JCQiMnh2dzZ2c3U1IiEjOyQhMigqZSRSaiFlPjEiISM7NyQkIjJXdEZmPGwqMzYhIzskITJKKyFbYFRzZTUhIzs3JCQiMTYoeTFnZC82IiEjOiQhMikpUWtDLjs7LCIhIzs3JCQiMnZvSGEtXT42IiEjOyQhMWVdUUpSNWElKiEjOzckJCIxazE9XUNXODYhIzokITFBQm0yMEFVISohIzs3JCQiMjFrSlwoWyRcNiIhIzskITFWbDdLImZ4RCohIzs3JCQiMnNoI28qSEZrNiIhIzskITImUnE3M3B6ODUhIzs3JCQiMlBmTFdzPno2IiEjOyQhMVZfVmVXdUM2ISM6NyQkIjBkJT1cQFQ+NiEjOSQhMiNRdnltI3AqeTYhIzs3JCQiMm9hTlJkLzQ3IiEjOyQhMmV6djdXdlA0IiEjOzckJCIyTV8nbykqcFJBNiEjOyQhMGxHPWB3XEIpISM6NyQkIjIqKlxQTVUqKVE3IiEjOyQhMXprKDQuJEhsUSEjOzckJCIyJkhhSkwnUmE3IiEjOyQiMnk6IW8xaCJ6YiIhIzw3JCQiMiNmTD5WKSopcDciISM7JCIwJyl6NyVSPzJtISM6NyQkIjIpKUdySTBTJkc2ISM7JCIyTCczLGRqTzo1ISM7NyQkIjIoPSNcSEUhNEk2ISM7JCIyVyV5Jio9K1ZwNiEjOzckJCIyI3ldcSNvIT5MNiEjOyQiMVUyd2cjZUYvIiEjOjckJCIydiQ0WS02SE82ISM7JCIxMElpWkgkeS0qISM7NyQkIjJuejtBXyJSUjYhIzskIjJtTW5zM1NeKyIhIzs3JCQiMmlscz4lPlxVNiEjOyQiMncnekJtVVNpNSEjOzckJCIyZV5HPE8jZlg2ISM7JCIxSlFXK19ddigqISM7NyQkIjF2VlsieSNwWzYhIzokIjEkbyshKjM6SWcqISM7NyQkIjJFInldZ1c0aDYhIzskIjFSVno/X1MuKiohIzs3JCQiMERKJlJoXHQ2ISM5JCIyJ3BvZGFOMDM1ISM7NyQkIi5EY2AoMyY+IiEjNyQiMXNXYTQ4N3YqKiEjOzckJCIwdj08JCp5bUAiISM5JCIxRihSW0k/OCMqKiEjOzckJCIxRGMsSiMpKipSNyEjOiQiMG5jTVVgKykqKiEjOjckJCIvREpJdkpqNyEjOCQiMkVyMEREW0MrIiEjOzckJCIyKioqKlxpdypcNjghIzskIjJFNStwR0psKyIhIzs3JCQiL0QxJW9PJ2U4ISM4JCIxKHklKlI3YUcqKiohIzs3JCQiMEQieXZTQy85ISM5JCIxdidwZVUqR3MqKiEjOzckJCIvdlYzTClbWCIhIzgkIjJ1c2k4blNIKyIhIzs3JCQiMikqKipcNyJcUSs6ISM7JCIyWkx2QSdlKVwrIiEjOzckJCIyLSt2VmVuKls6ISM7JCIxayRbJipIeU0rIiEjOjckJCIxREpxWCJ6NGQiISM6JCIyS3VWISpIYmsrIiEjOzckJCIwREpxcSEqSGYiISM5JCIxLEYjUiUzODU1ISM6NyQkIjJ1by9CJEgtMDshIzskIjJCUydHWVJ1MTUhIzs3JCQiMUQieXY6YnFoIiEjOiQiMillSWtbdCMzKyIhIzs3JCQiMkVjXkdRKDNIOyEjOyQiMUQnWyVmRjlDKiohIzs3JCQiMiwrRCIzJz42ayIhIzskIjBqTz1ieWQiKSohIzo3JCQiMUw2VCJ5TURrIiEjOiQiMTtBLSRcWVt1KiEjOzckJCIyZUUocGEqXFJrIiEjOyQiMTtnIylcMSVmIykqISM7NyQkIjImKVIkKXo3bGBrIiEjOyQiMiVlIXprKGUjPisiISM7NyQkIjI3YHA3SSF5WTshIzskIjJ6XWolW2VRQDUhIzs3JCQiMWtjYnVhPls7ISM6JCIxXjthOFMvSDUhIzo3JCQiMSh6VHlrNSdcOyEjOiQiMj1QVGVBWCQ+NSEjOzckJCIyKUh6N0BlLV47ISM7JCIxIjNhIkdHYnAqKiEjOzckJCIyRTE5Vyo0V187ISM7JCIxSkp2KUcjeVkoKiEjOzckJCIyYD4reDtjUWwiISM7JCIxTUtua1hwaScqISM7NyQkIjIjR2opNE1yX2wiISM7JCIxO18xXXEuInkqISM7NyQkIjI3WXNVXidvYzshIzskIjJRODptLFxZKyIhIzs3JCQiMlJmZXZvLCJlOyEjOyQiMmQoXEhSLyEzLiIhIzs3JCQiMm1zVzMnb15mOyEjOyQiMkpLJFtwTERTNSEjOzckJCIyJGYzOE0/JDRtIiEjOyQiMlhSPCJ6XlJENSEjOzckJCIxIypwVDJzTWk7ISM6JCIxUjUxJHlhKEcqKiEjOzckJCIxREpxIVFpUG0iISM6JCIxSFgicCpIZjUnKiEjOzckJCIyMlJ2c3MjZm07ISM7JCIxOStUTTVKJnAqISM7NyQkIjFjdyVRMkIlcDshIzokIjEwPC4pZWpBMCIhIzo3JCQiMj0jKj4vVWBBbiIhIzskIjInKUcuLEkxJVE1ISM7NyQkIjJ1PSMqcHckM3Y7ISM7JCIxJjQkW1JQJD5BKiEjOzckJCIxYFdjOFQiem4iISM6JCIxci5AJ3p5I3olKiEjOzckJCIyKD1uOGdXdSFvIiEjOyQiMjtMPCV6PllXNiEjOzckJCIyOiZHVUwnZkBvIiEjOyQiMkAqKTQyKXpPdzYhIzs3JCQiMlUpKjNuIVtkJG8iISM7JCIybCVbNXFSZHM1ISM7NyQkIjE8XioqeioqKVxvIiEjOiQiMDdEI1JgejAhKSEjOjckJCIyKVw3R2BeUydvIiEjOyQiMlgvNCRwSSRHIlEhIzw3JCQiMTEqR3JUJSl5byIhIzokITF6JkgwKkdLajghIzs3JCQiMkNjdzRvaiQqbyIhIzskITEsKHo7WFMuQychIzs3JCQiMic9VSNbJUglM3AiISM7JCExYUs6WHRJNikqISM7NyQkIjJbKD1uM0FLI3AiISM7JCEyJjQpXC42X286IiEjOzckJCIydD1uanQhRyZwIiEjOyQhMlFYIUcmZVdWMiIhIzs3JCQiL0QxayNSIylwIiEjOCQhMTJuanNlIilwISohIzs3JCQiMkIieXYieig+LDwhIzskITFzWXEoKVthUSgqISM7NyQkIjJbN2AlPmo6LzwhIzskITEleUsheiN5ZDEiISM6NyQkIjJ1VltyJVs2MjwhIzskITJVcHMhKWUlUTI1ISM7NyQkIjIpXFAlW1B0K3IiISM7JCExX0s7dktbKVwqISM7NyQkIjIpKipcaSZbMj5zIiEjOyQhMV5YQV4sWSVvKiEjOzckJCIwRDFrZlRQdCIhIzkkITFyWVYyVClHISkqISM7NyQkIjFEMTk0OylvdiIhIzokITEmemlWVFVHIioqISM7NyQkIi52PWlAK3kiISM3JCEwJSkzKCpmU3AoKiohIzo3JCQiMkMxKkdZVjgjeiIhIzskITJfb11neWJNKyIhIzs3JCQiMls3LjIyWlUhPSEjOyQhMmRuJClRME91KyIhIzs3JCQiMnY9PF56ZmoiPSEjOyQhL2k6V2xBNDUhIzg3JCQiMERKJj5EWkc9ISM5JCEyOV0zeGlKKTM1ISM7NyQkIjFEYywxWCE9Jj0hIzokITJjdHQmKipbUDE1ISM7NyQkIjIuKytEXE9eKD0hIzskITJWcVZfQztLKyIhIzs3JCQiL3ZvV3ImRyM+ISM4JCExIj1qJGU0SFUqKiEjOzckJCIyLEQieVhFPXE+ISM7JCEwY01jRGZjJioqISM6NyQkIjFEYyxjaSM+Kj4hIzokITF4M2MzRU9TKiohIzs3JCQiLURtKXBPLCMhIzYkITFBZEopKW9NTSoqISM7NyQkIjB2VnRcIWZRPyEjOSQhMWRpZ2glUkIpKiohIzs3JCQiL3ZWRzZeaj8hIzgkITJlSXFwQF9sKyIhIzs3JCQiLHZ1KjMzQCEjNSQhMjJ3OGpKKnkxNSEjOzckJCIwRCJHYCk+YzojISM5JCEyZCEpUSg+QWQ0NSEjOzckJCItRFRnT3lAISM2JCEyL2lvXE0qcDU1ISM7NyQkIjB2PSNIQTYsQSEjOSQhMiNHZmBUZmg3NSEjOzckJCIyQTE5PjxNTEAjISM7JCEyQnMraEM4LisiISM7NyQkIjF2JDRZNmNiQSMhIzokITBaPDcpZSRbdiohIzo3JCQiMiUqR1l1JlEzRkEhIzskITB3SyYpKilcOl4qISM6NyQkIjJOPyRHKztoR0EhIzskITE0TEdvci8nZiohIzs3JCQiMnY2P0pNUixCIyEjOyQhMUVENkZXXCUqKiohIzs3JCQiMjsuZGYzbjtCIyEjOyQhMnhETXklXD9ZNSEjOzckJCIyYyVSekdbPkxBISM7JCEyO14jSCgpXEJtNSEjOzckJCIyJ2YzanJEc01BISM7JCEyTHkzWTw7JVI1ISM7NyQkIjJQeG5XSl1pQiMhIzskITE3ZSR5ZTRBdyohIzs3JCQiMnhvL3QweXhCIyEjOyQhMUhDMyM+d2E7KiEjOzckJCIxOyZ5SGFMM0MjISM6JCExLipSeTFIYnMqISM7NyQkIjFXQmxHISopUUMjISM6JCEyT2E8JFJWKj48IiEjOzckJCIxZSMqW3JuVFhBISM6JCExT2ZmT2QhNDkiISM6NyQkIjFzaEs5WCVwQyMhIzokITFHS2kqbz9FRCohIzs3JCQiMSczanJEcyVbQSEjOiQhMW8jKilHaUZxQCYhIzs3JCQiJEQjISIjJCIybUVkJD0hPiUqKj4hI0ItJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhISIiJCIiISEiIi0lJVZJRVdHNiQ7JCIiISEiIiQiJEQjISIjJShERUZBVUxURy0lK0FYRVNMQUJFTFNHNictSSNtaUc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkc2IjY1USJ0NiIvJSdmYW1pbHlHUSE2Ii8lJXNpemVHUSMxMDYiLyUlYm9sZEdRJmZhbHNlNiIvJSdpdGFsaWNHUSV0cnVlNiIvJSp1bmRlcmxpbmVHUSZmYWxzZTYiLyUqc3Vic2NyaXB0R1EmZmFsc2U2Ii8lLHN1cGVyc2NyaXB0R1EmZmFsc2U2Ii8lK2ZvcmVncm91bmRHUShbMCwwLDBdNiIvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XTYiLyUnb3BhcXVlR1EmZmFsc2U2Ii8lK2V4ZWN1dGFibGVHUSZmYWxzZTYiLyUpcmVhZG9ubHlHUSZmYWxzZTYiLyUpY29tcG9zZWRHUSZmYWxzZTYiLyUqY29udmVydGVkR1EmZmFsc2U2Ii8lK2ltc2VsZWN0ZWRHUSZmYWxzZTYiLyUscGxhY2Vob2xkZXJHUSZmYWxzZTYiLyU2c2VsZWN0aW9uLXBsYWNlaG9sZGVyR1EmZmFsc2U2Ii8lLG1hdGh2YXJpYW50R1EnaXRhbGljNiJRITYiLSUlRk9OVEc2JSUoREVGQVVMVEclKERFRkFVTFRHIiM1JStIT1JJWk9OVEFMRyUrSE9SSVpPTlRBTEctJSZUSVRMRUc2JC0lKV9UWVBFU0VURzYjUT5Ud29+ZnVsbH5jeWNsZXN+b2Z+dGhlfnNpZ25hbDYiLSUtVFJBTlNQQVJFTkNZRzYjJCIiISEiIi0lJVJPT1RHNictJSlCT1VORFNfWEc2IyQiJGcmISIiLSUpQk9VTkRTX1lHNiMkIiQrIyEiIi0lLUJPVU5EU19XSURUSEc2IyQiJSFSJCEiIi0lLkJPVU5EU19IRUlHSFRHNiMkIiVJUCEiIi0lKUNISUxEUkVORzYi filter := (n) -> (1+exp(n-9))**(-1); filtered_signal := (N1,N2,t) -> sum(term(2*k-1,t)*filter(2*k-1),k=N1..N2); Zio2I0kibkc2IkYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlKiQsJiIiIkYrLUkkZXhwR0YlNiMsJjkkRishIipGK0YrISIiRiVGJUYl Zio2JUkjTjFHNiJJI04yR0YlSSJ0R0YlRiU2JEkpb3BlcmF0b3JHRiVJJmFycm93R0YlRiUtSSRzdW1HNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHRiU2JComLUkldGVybUdGJTYkLCZJImtHRiUiIiMhIiIiIiI5JkY5LUknZmlsdGVyR0YlNiNGNUY5L0Y2OzkkOSVGJUYlRiU= plot( filtered_signal(1,15,t), t=0..TP, title="One full cycle of the filtered signal"); NictJSdDVVJWRVNHNiQ3XXM3JCQiIiEhIiIkIiIhISIiNyQkIi52JDQnXC84JyEjOiQiMkZOJT0lcCg+XT4hIzw3JCQiLnY9IyoqM0U3ISM5JCIyJlJ1LTooKSk+JFEhIzw3JCQiL0QiRylbOFI9ISM6JCIwKHBnbSopKj1lJiEjOjckJCItdlYpekBYIyEjOCQiMV9EV0h4JGU5KCEjOzckJCIwRDEqR1QqKj1OISM7JCIwWG01SCUqKjQkKiEjOjckJCIyMF1pU1QzZWUlISM9JCIyQ29hIj4vJypvNSEjOzckJCIyYzcuS2AhbyY9JiEjPSQiMioqSDNgOHRINiIhIzs3JCQiMjF2VkJsX2J5JiEjPSQiMjcjZjhHMWRONiEjOzckJCIxalMiPnIpWyYzJyEjPCQiMWA0SS9FJSlSNiEjOjckJCIxd1ZbclpVJlEnISM8JCIxTiNRNC9cKzkiISM6NyQkIjEob2E1JDNPJm8nISM8JCIxbDhrbnpvTzYhIzo3JCQiMSxdaSEqb0gmKXAhIzwkIjFSXVgienItOCIhIzo3JCQiLEQiUSpIPikhIzckIjJZQ15wcyIpUTMiISM7NyQkIi52VnQhcCslKiEjOSQiMiIqZXEjeik+cS0iISM7NyQkIjF2JGYkb1pFZzUhIzskIjE4aFc7WjA/KSohIzs3JCQiMipcN0dqL1khPSIhIzwkIjE3Oy46cnIoZSohIzs3JCQiMlxQNEBtPiQzNyEjPCQiMCp6cUhES20mKiEjOjckJCIyKipcUDQnKXloQiIhIzwkIjF0ZWtHWjBjJiohIzs3JCQiMltpbChmIVFTRSIhIzwkIjFwZiJbdWRnYiohIzs3JCQiMHYkZmVzKj1IIiEjOiQiMVQpXChwV01sJiohIzs3JCQiLURjY2haOCEjNyQiMTRVZC0jZnRnKiEjOzckJCIwRDFSME1MUyIhIzokIjFiSVBAcXlzJyohIzs3JCQiMEQieSsvcz06ISM6JCIxUEM9XURjVSkqISM7NyQkIjIqXGlsWm41TTshIzwkIjF6bHUuYDUrNSEjOjckJCIwRGNFWlJNdiIhIzokIjInKVEkSCk9ZjEsIiEjOzckJCIwRGN3PnNGKD0hIzokIjJEOVYlKW9DUywiISM7NyQkIjB2JDRAQXMiKj4hIzokIjJtQCpSLT9zNjUhIzs3JCQiMilcN2BXQW41QCEjPCQiMiRlNiFlPSpmMTUhIzs3JCQiMi4rdlZvIlFiQiEjPCQiMSpHWSlSTSV5KCoqISM7NyQkIi92PSMqPSM0ZCMhIzkkIjFEZiRmLiQ9bioqISM7NyQkIjIuK0RjNnBOIkchIzwkIjFZIillWTs+eSoqISM7NyQkIi52PW43czAkISM4JCIxW1l6VjsubioqISM7NyQkIjIuK3ZWUTM/SCQhIzwkIjFkbTkrNV0jKSoqISM7NyQkIjBEY15RRF9dJCEjOiQiMl41ZFJndWgrIiEjOzckJCIxRGNeLksqPmokISM7JCIydzddIXlpbjY1ISM7NyQkIi52PS1oKGVQISM4JCIxKVxCIWYqNFMsIiEjOjckJCIvdj0jKipcaCdRISM5JCIyLj9yTU5rNCwiISM7NyQkIixEJypRTihSISM2JCIyIj4jMz5Ndj8rIiEjOzckJCIxREpYa3lYKTQlISM7JCIxLFRjKVJLViYpKiEjOzckJCIwRDFrd3dMQSUhIzokIjF5JCpwT0lfcScqISM7NyQkIjJ2PW5RJ1JteVUhIzwkIjE5XWdDXTQxJyohIzs3JCQiMlg3Rzg7XlJMJSEjPCQiMVchelYiXCRcYyohIzs3JCQiMk9mZSt3JWZoViEjPCQiMSo0XllvXWZiKiEjOzckJCIxaSEqeWUkUSMqUSUhIzskIjBiMHNVSWhiKiEjOjckJCIyMWA+diY+KW9UJSEjPCQiMSc0KilIWE9rYyohIzs3JCQiMigqKipcaWJEWFclISM8JCIxTSZRI29NcShlKiEjOzckJCIxRCJ5RD5WZWMlISM7JCIxUjc7PHFGQikqISM7NyQkIjIwRDEqRzM7KG8lISM8JCIxS2hcZFgsRzUhIzo3JCQiMjBdN3khUm8tWyEjPCQiMTIraVRWWiMzIiEjOjckJCIyMXY9bilwPz1cISM8JCIydUMmR0dpLkc2ISM7NyQkIjE+bjhTNU1bXCEjOyQiMXN0VSJRSV84IiEjOjckJCIxKW9hTjR2JXlcISM7JCIyZSQzM3E+W1I2ISM7NyQkIjFkRShwOTQnM10hIzskIjIjcGl4TiNwLTkiISM7NyQkIjFEMVIrS3VRXSEjOyQiMVZzdmRBM1A2ISM6NyQkIjFqbEEyOCwqNCYhIzskIjJpcjklZiZwbzYiISM7NyQkIjEsRDE5JXojZl4hIzskIjIkSFk7ai9UdjUhIzs3JCQiMXdvYSZHcCpwXyEjOyQiMWBqJmY+NT1PKiEjOzckJCIwREpxOmYxUSYhIzokIjFLc3JGPClcNyghIzs3JCQiMTguMlpoTlNhISM7JCIxLih5Z19APGcmISM7NyQkIjF2JDRyOGArXSYhIzskIjJCdmE1aD06IVIhIzw3JCQiMVAlW3I3XShmYiEjOyQiMnk+UHVYeFMyIyEjPDckJCIxKlwoPTxyVz5jISM7JCIyL0AsKlFrJm94IiEjPTckJCIxKG8vQl5iOW8mISM7JCEyeXlKXENkdnoiISM8NyQkIjF2PVUyUllWZCEjOyQhMVAwbXIoUSMzUCEjOzckJCIxaiFSRElzYSFlISM7JCExJzQyQCdwOSlbJiEjOzckJCIwRGN3cCFbbmUhIzokITEjKlIlUlopZiEzKCEjOzckJCIuRCJ5d1Z2ZiEjOCQhMSRvSDQmM2QmRyohIzs3JCQiMHYkZmVZUiQzJyEjOiQhMUtqVS54eW81ISM6NyQkIjFRZiRvIUhwVGghIzskITF4SCdwcU8+NiIhIzo3JCQiMUQieV06IioqKj4nISM7JCExWVR4KT5xWjgiISM6NyQkIjE+Iyo+ei05SGkhIzskITFvNU5EN1tSNiEjOjckJCIxNy5LLiUqR2VpISM7JCExTCg9PyJcR1M2ISM6NyQkIjExOVdGJlF1RychIzskITFub01QYWpQNiEjOjckJCIvRGNed2U7aiEjOSQhMlYqKSo+TTkrSzYhIzs3JCQiMEQxOUNWcVYnISM6JCEyRlN3REpUczMiISM7NyQkIjEqKipcNyQpKVxkbCEjOyQhMUM1XSNvOC8uIiEjOjckJCIxXDd5RDZNdm0hIzskITBzR0xdKWZcKSohIzo3JCQiL0RKP009JHonISM5JCEwL0lJJUcnM2cqISM6NyQkIjE8bjhTISlvQG8hIzskITFLTzZSI2VRZCohIzs3JCQiMU80JypmRT5dbyEjOyQhMSJvRCYpXEUpZSYqISM7NyQkIjFiXnl6c3B5byEjOyQhMW9jJnkxPVxiKiEjOzckJCIxdSQ0JyoqPT8ycCEjOyQhMVIqenhXRDZjKiEjOzckJCIxN3lEUjZAa3AhIzskITFwSWRqdUcqZiohIzs3JCQiMEQxKnkuQUBxISM6JCEwYSp6V0JZaicqISM6NyQkIjF2b2FnJT15OSghIzskITFMeWlnI1EoWykqISM7NyQkIi92PVVsVHVzISM5JCEwbT9oT109KyIhIzk3JCQiMVwoPSNcMDwpUSghIzskITJ1ekNCNig+NjUhIzs3JCQiMSoqKlxpYkM+XSghIzskITIualskKipcLTk1ISM7NyQkIi9EMVI3UUJ3ISM5JCEyTyxyKj06WzY1ISM7NyQkIjEsXSg9I3okW3UoISM7JCEyVkNKXGxyaCsiISM7NyQkIjBEY15gYFwneiEjOiQhMVEiUnhLbjQpKiohIzs3JCQiMSxdaVMhKWYwIykhIzskITE4U3NDcm5uKiohIzs3JCQiMVxpU21kLUslKSEjOyQhMTInNCU9Tj15KiohIzs3JCQiMERKPyl6cW8nKSEjOiQhMEYjPk5Tcm4qKiEjOjckJCIudiQ0IjMsISopISM4JCExMSJRS3c2KnkqKiEjOzckJCIwRGN3ZmlCOSohIzokITJuInA0SzN1MTUhIzs3JCQiMUQieStgQSFmIyohIzskITJ0cVklZSRbPCwiISM7NyQkIjEsK11pQ292JCohIzskITJYKj0hSGhEUywiISM7NyQkIjB2b0g0JSlcXCohIzokITIjZk4lR25cMiwiISM7NyQkIi92VkJkRzknKiEjOSQhMihcP1hRTUgrNSEjOzckJCIxdj08dyUqZksoKiEjOyQhMT1IQmEncDAlKSohIzs3JCQiMV5pISpHSyI0JikqISM7JCExbzJSSTY+bicqISM7NyQkIjEpPSNcYUFGMCoqISM7JCExJDQhM1pRXy8nKiEjOzckJCIxRCJ5K0dKJ2YqKiEjOyQhMFEjNDxAaGsmKiEjOjckJCIxJTRyR3o1bykqKiEjOyQhMXAuKlJCOmZiKiEjOzckJCIyaVNtMC4qUiw1ISM7JCEwZSJcVF4zYyYqISM6NyQkIjJLcVg9KXA2LzUhIzskITFuMiYqeW0ubSYqISM7NyQkIi5ESiRcJG8rIiEjNyQhMVlfYS5kYydlKiEjOzckJCIydFYpKjM0bEksIiEjOyQhMTEoRyVvKj5ubiohIzs3JCQiMXY9bltfSD41ISM6JCExMklfbFlZSCkqISM7NyQkIjJESlhrU0RiLSIhIzskITJlIioqUnooPVUrIiEjOzckJCIwdj1VY2I8LiIhIzkkITE6WCwhR1EvLiIhIzo3JCQiMXZWKSo9LSFILyIhIzokITJlPz0peSs0JDMiISM7NyQkIi12dFsvYTUhIzYkITJhbCEpUioqW3M3IiEjOzckJCIyI0c4TzBiLGQ1ISM7JCEyR15oUXQqZk02ISM7NyQkIjJpbHNwOCcpKmY1ISM7JCEyLSdRdDtaOVI2ISM7NyQkIjJVKVJlb24mSDEiISM7JCEyc3c8WVMkUVM2ISM7NyQkIjJESiY+K3UjZjEiISM7JCExMit0Vl8jeTgiISM6NyQkIjIpb3pUaidvPTIiISM7JCEyXFIwaSVmWT42ISM7NyQkIjFEMWtFKjR5MiIhIzokITEveFVxRHMhMyIhIzo3JCQiMkIiR2p0a1wkMyIhIzskITJ3KUg4Qk09QTUhIzs3JCQiLkQxLSQ9KjMiISM3JCExSF1aYF0xOCUqISM7NyQkIjJ3PTx3Y3BbNCIhIzskITFRWztuRFh5JCkhIzs3JCQiMXYkNFk2YzA1IiEjOiQhMSkqejBOV0pGciEjOzckJCIyNi5kZjNubTUiISM7JCExIypRLGIsLW1iISM7NyQkIjJ2by90MHlGNiIhIzskITBCYSwkUVE/USEjOjckJCIyUk1fJ0chKikpPTYhIzskITIkbyEpNFFUMlc+ISM8NyQkIiVENiEiJCQiMnVndCJRJjMoNDUhI0MtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhISIiJCIiISEiIi0lJVZJRVdHNiQ7JCIiISEiIiQiJUQ2ISIkJShERUZBVUxURy0lK0FYRVNMQUJFTFNHNictSSNtaUc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkc2IjY1USJ0NiIvJSdmYW1pbHlHUSE2Ii8lJXNpemVHUSMxMDYiLyUlYm9sZEdRJmZhbHNlNiIvJSdpdGFsaWNHUSV0cnVlNiIvJSp1bmRlcmxpbmVHUSZmYWxzZTYiLyUqc3Vic2NyaXB0R1EmZmFsc2U2Ii8lLHN1cGVyc2NyaXB0R1EmZmFsc2U2Ii8lK2ZvcmVncm91bmRHUShbMCwwLDBdNiIvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XTYiLyUnb3BhcXVlR1EmZmFsc2U2Ii8lK2V4ZWN1dGFibGVHUSZmYWxzZTYiLyUpcmVhZG9ubHlHUSZmYWxzZTYiLyUpY29tcG9zZWRHUSZmYWxzZTYiLyUqY29udmVydGVkR1EmZmFsc2U2Ii8lK2ltc2VsZWN0ZWRHUSZmYWxzZTYiLyUscGxhY2Vob2xkZXJHUSZmYWxzZTYiLyU2c2VsZWN0aW9uLXBsYWNlaG9sZGVyR1EmZmFsc2U2Ii8lLG1hdGh2YXJpYW50R1EnaXRhbGljNiJRITYiLSUlRk9OVEc2JSUoREVGQVVMVEclKERFRkFVTFRHIiM1JStIT1JJWk9OVEFMRyUrSE9SSVpPTlRBTEctJSZUSVRMRUc2JC0lKV9UWVBFU0VURzYjUUZPbmV+ZnVsbH5jeWNsZX5vZn50aGV+ZmlsdGVyZWR+c2lnbmFsNiItJS1UUkFOU1BBUkVOQ1lHNiMkIiIhISIiLSUlUk9PVEc2Jy0lKUJPVU5EU19YRzYjJCIkZyYhIiItJSlCT1VORFNfWUc2IyQiJCsjISIiLSUtQk9VTkRTX1dJRFRIRzYjJCIlIVIkISIiLSUuQk9VTkRTX0hFSUdIVEc2IyQiJUlQISIiLSUpQ0hJTERSRU5HNiI= slope := (t) -> diff( filtered_signal(1,15,t), t); slope(t); Zio2I0kidEc2IkYlNiRJKW9wZXJhdG9yR0YlSSZhcnJvd0dGJUYlLUklZGlmZkclKnByb3RlY3RlZEc2JC1JMGZpbHRlcmVkX3NpZ25hbEdGJTYlIiIiIiM6OSRGMkYlRiVGJQ== LEAtSSRjb3NHNiQlKnByb3RlY3RlZEdJKF9zeXNsaWJHNiI2IywkSSJ0R0YoJCIrM08wJmUmISIqJCIrKFJFKDNyRi4tRiQ2IywkRiskIisjMztibiIhIikkIis2IUdONChGLi1GJDYjLCRGKyQiKy9vXyN6I0Y2JCIrdCI0SylwRi4tRiQ2IywkRiskIitGdmA0UkY2JCIrIyplV2ppRi4tRiQ2IywkRiskIitZI1tsLSZGNiQiK2JiYmJORi4tRiQ2IywkRiskIitwKmVOOSdGNiQiK0xBbHclKSEjNS1GJDYjLCRGKyQiKypvcDBFKEY2JCIrdiQ+IXo3RlUtRiQ2IywkRiskIis3L2V4JClGNiQiKyspNCRlPCEjNi1GJDYjLCRGKyQiK042ZiVcKkY2JCIrUT9yJVEjISM3LUYkNiMsJEYrJCIrJj1nNjEiISIoJCIrJilHSEdLISM4LUYkNiMsJEYrJCIrZTcnRzwiRlxwJCIrSTM+cFYhIzktRiQ2IywkRiskIitJQmMlRyJGXHAkIispPikzOGYhIzotRiQ2IywkRiskIistTUUnUiJGXHAkIis3L10tISkhIzstRiQ2IywkRiskIit1Vyd6XSJGXHAkIitsMi0kMyJGZ3EtRiQ2IywkRiskIitZYm0+O0ZccCQiK1MjNGRZIiEjPA== plot( slope(t), t=0..TP, title="Slope of filtered_signal" ); NictJSdDVVJWRVNHNiQ3XXQ3JCQiIiEhIiIkIjFAS2pOdC4rSyEjOTckJCIudj0jKiozRTchIzkkIjFtZG4vOkF5SCEjOTckJCItdlYpekBYIyEjOCQiMiNbYy1daTB2QiEjOjckJCIxRCJHailwZSYpSCEjPCQiMU9eZylcR0YuIyEjOTckJCIwRDEqR1QqKj1OISM7JCIyWUQsQ1hRZG0iISM6NyQkIjF2VltyN1NfUyEjPCQiMmgpXGI9XmYiSCIhIzo3JCQiMjBdaVNUM2VlJSEjPSQiMUQjeWplSzBGKiEjOjckJCIyYzcuS2AhbyY9JiEjPSQiMXlxOWBlNnJhISM6NyQkIjIxdlZCbF9ieSYhIz0kIjJgTFcpUSJ6YTojISM7NyQkIjF3VltyWlUmUSchIzwkITEmeitTKVF1U2IhIzs3JCQiMSxdaSEqb0gmKXAhIzwkITI6Vj4rZzo1ZiMhIzs3JCQiMSxEY15gOSplKCEjPCQhMCNmIzMhW15dUiEjOTckJCIsRCJRKkg+KSEjNyQhMFJJKT1NXmJZISM5NyQkIjFcKG9ILz1cXCkhIzwkITFiUk4nKjNFJ3klISM6NyQkIi92VnRBJW96KSEjOiQhMW4/PGxKJWZ5JSEjOjckJCIwRDFSXW0oKTQqISM7JCExJ28iM2NSLXBZISM6NyQkIi52VnQhcCslKiEjOSQhMnZfW2g/JCk0WCUhIzs3JCQiMXYkZiRvWkVnNSEjOyQhMk8oeSdHPzUnKipHISM7NyQkIjIqXDdHai9ZIT0iISM8JCExZGc9RTR6aygqISM7NyQkIjB2JGZlcyo9SCIhIzokIjFRSW9cYDVzWyEjOzckJCIwRDFSME1MUyIhIzokIjA4MFgnbzxGOCEjOTckJCIyKSoqXGlTMT1LOSEjPCQiMmQhUkFBPS5NOSEjOzckJCIwdlZ0QUY1WSIhIzokIjJ1L20ocGkuKVwiISM7NyQkIi9EMTlRKCkqWyIhIzkkIjFLYzpvPSc+XyIhIzo3JCQiMEQieSsvcz06ISM6JCIyeGdyYW4yIzQ6ISM7NyQkIjB2PVVkOGtkIiEjOiQiMWlvQDopKWUqUSIhIzo3JCQiMipcaWxabjVNOyEjPCQiMXA4PD54KFE8IiEjOjckJCIwRGNFWlJNdiIhIzokIjEuLnZrW0MieSYhIzs3JCQiMERjdz5zRig9ISM6JCIxOSZ6d25VaTkqISM9NyQkIjIpKipcUDRzQ0s+ISM8JCEyJXA4PyY+NTEvIyEjPDckJCIwdiQ0QEFzIio+ISM6JCEyRTlfLVEnb1lOISM8NyQkIi9EIkdCKD5ePyEjOSQhMkRleFduanBTJSEjPDckJCIyKVw3YFdBbjVAISM8JCExZEJpJlI4dG0lISM7NyQkIjFESlhrcC1MQSEjOyQhMWhsLDhmV2dQISM7NyQkIjIuK3ZWbyJRYkIhIzwkITJBWCo0ITQ0RSE+ISM8NyQkIi92PSMqPSM0ZCMhIzkkIjEsNjY/RD4sXCEjPDckJCIyLitEYzZwTiJHISM8JCExdFVLQXArSWchIz43JCQiLnY9bjdzMCQhIzgkITImWylmIzRwI3p2JSEjPTckJCIyLit2VlEzP0gkISM8JCIxMTdKPElZZUEhIzs3JCQiMURjdyUpb2gpUiQhIzskIjE3QW9JbE1YUSEjOzckJCIwRGNeUURfXSQhIzokIjImXCpSbTNzKGZZISM8NyQkIjFQZkwlSDQnb04hIzskIjE+NXYvWl5fVyEjOzckJCIxRGNeLksqPmokISM7JCIyTV82ampKP2QkISM8NyQkIjE4YHA3clAmcCQhIzskIjIwRTU/aDYkZj4hIzw3JCQiLnY9LWgoZVAhIzgkITIwNXgsVVNXZyQhIz03JCQiL3Y9IyoqXGgnUSEjOSQhMSUzeFRnJlIqXCYhIzs3JCQiLEQnKlFOKFIhIzYkITJsOylmQ3ZvJjQiISM7NyQkIjJEY3dNVCkqZi4lISM8JCExMyhRPVFjJVw4ISM6NyQkIjFESlhreVgpNCUhIzskITJ6XSUpR0RFKipcIiEjOzckJCIybFNUKiplKG9IVCEjPCQhMi4jZURENURBOiEjOzckJCIydm9IYUo8NDslISM8JCExViZla2U4Q10iISM6NyQkIjIlb3oiNC9aQD4lISM8JCExQktgKnosZ1YiISM6NyQkIjBEMWt3d0xBJSEjOiQhMnMoejA+ZVc+OCEjOzckJCIyWDdHODteUkwlISM8JCExVTZbVjRDI3klISM7NyQkIjIoKioqXGliRFhXJSEjPCQiMWJYUTYqZkV3KiEjOzckJCIxRCJ5RD5WZWMlISM7JCIyJzRsJ1svJipwIkghIzs3JCQiMjBEMSpHMzsobyUhIzwkIjFtb0VxVT5xVyEjOjckJCIxOEdqKWZUZ3IlISM7JCIxJHBRKVE2OnVZISM6NyQkIjJiUGYkb0IjXHUlISM8JCIxJXB4QHpPXnklISM6NyQkIjFRZjNRSiFReCUhIzskIjJETmd1IltnKnklISM7NyQkIjIwXTd5IVJvLVshIzwkIjFAVSRbL2JbbiUhIzo3JCQiMmNpbHNXWC8nWyEjPCQiMHBjSG4zSi8lISM5NyQkIjIxdj1uKXA/PVwhIzwkIjJfRSpwSUtpPEchIzs3JCQiMSlvYU40diV5XCEjOyQiMTk8VmhOP1onKSEjOzckJCIxRDFSK0t1UV0hIzskITIoKT44I0dAdXI8ISM7NyQkIjFqbEEyOCwqNCYhIzskITFSO2wxJVE8LiYhIzo3JCQiMSxEMTkleiNmXiEjOyQhMXgzVj5ZQil6KSEjOjckJCIxKW8vKVxWaTlfISM7JCEyQyw8ISllRGVEIiEjOjckJCIxd29hJkdwKnBfISM7JCEybVZnIj5NIVFrIiEjOjckJCIxayEqR0BVSkRgISM7JCEyQiI+V0d0O0Q/ISM6NyQkIjBESnE6ZjFRJiEjOiQhMiZvakwyPFEhUSMhIzo3JCQiMXYkNHI4YCtdJiEjOyQhMmlRWHRmKCopcEghIzo3JCQiMSpcKD08clc+YyEjOyQhMW86IVE7ciYqPiQhIzk3JCQiMXY9VTJSWVZkISM7JCExPEBXUDFqIypIISM5NyQkIjBEY3dwIVtuZSEjOiQhMl91SzVZUDtSIyEjOjckJCIxRDEqeT1mOSNmISM7JCExb0YqKlFReVk/ISM5NyQkIi5EInl3VnZmISM4JCEyZV07PCgpcGZuIiEjOjckJCIxdiRmJG9oVEhnISM7JCEyYnJxaSdHTShIIiEjOjckJCIwdiRmZVlSJDMnISM6JCEwIipIRFg0SEcqISM5NyQkIjFRZiRvIUhwVGghIzskITEncEVZeU9MZSYhIzo3JCQiMUQieV06IioqKj4nISM7JCExVnBodlNbT0IhIzo3JCQiMTcuSy4lKkdlaSEjOyQiMkMkKkcpSC4oNFYkISM8NyQkIi9EY153ZTtqISM5JCIyQmw7XyIpWzBSIyEjOzckJCIxdVZbWWEib1AnISM7JCIyQmwtTyY9IWUjUSEjOzckJCIwRDE5Q1ZxVichIzokIjE4ayRmbnBJZyUhIzo3JCQiMSk9bilRcjpuayEjOyQiMWovVEBXMm5aISM6NyQkIjFEIkdqLnJzXCchIzskIjEjPiY+KmUoUih6JSEjOjckJCIxaSEqeUxcUUZsISM7JCIxIlwxMkwjMzNaISM6NyQkIjEqKipcNyQpKVxkbCEjOyQiMS1dcyJHeFVeJSEjOjckJCIxXDd5RDZNdm0hIzskIjE7dDIhM3RUMCQhIzo3JCQiL0RKP009JHonISM5JCIyYDpNW3Ijb2w2ISM7NyQkIjF1JDQnKio9PzJwISM7JCExKnliTzoySSNRISM7NyQkIjBEMSp5LkFAcSEjOiQhMi4iR0t5KCopUkgiISM7NyQkIjExa0oqKilwRzAoISM7JCEyeC5lJ29fJTNVIiEjOzckJCIxamxzPiU+WDMoISM7JCEyPEpgISpcNWRcIiEjOzckJCIxPm44UypvaDYoISM7JCEyRSl5cm4jW0BfIiEjOzckJCIxdm9hZyU9eTkoISM7JCEyTCk9JHpmU1ldIiEjOzckJCIxKT1uOF08NkAoISM7JCEyW1dGIXBnLmY4ISM7NyQkIi92PVVsVHVzISM5JCExJjRlTUJZXjUiISM6NyQkIjFcKD0jXDA8KVEoISM7JCExayZ6I29HLHZfISM7NyQkIjEqKipcaWJDPl0oISM7JCIxamFqKT51WmgoISM9NyQkIjBEY3cqR2xpdiEjOiQiMnVGUSY9ZD0vQSEjPDckJCIvRDFSN1FCdyEjOSQiMSdHLClRYHl1TyEjOzckJCIwdm8vZTRUbyghIzokIjFVKikpXGBWWFolISM7NyQkIjEsXSg9I3okW3UoISM7JCIvMEFaMG9mWSEjOTckJCIxRGNeR2QqWyZ5ISM7JCIyJG8mM1AhNCMzIVEhIzw3JCQiMERjXmBgXCd6ISM6JCIxWVRBJyp5U1pAISM7NyQkIjEsXWlTISlmMCMpISM7JCExV2k2KiplJTNJJiEjPDckJCIxXGlTbWQtSyUpISM7JCExeXh6OmhzJzMkISM9NyQkIjBESj8penFvJykhIzokIjFDKTQhcCVRcUsmISM8NyQkIi52JDQiMywhKikhIzgkITIleiVcYyY9VSopPiEjPDckJCIxQ2NeYGBCQCEqISM7JCEyYnJwI1JsQzpRISM8NyQkIjBEY3dmaUI5KiEjOiQhMjpxT1ZiM3NtJSEjPDckJCIxKT1uUWMjcCsjKiEjOyQhMURIPypcWSMqUSUhIzs3JCQiMUQieStgQSFmIyohIzskITIlb1JLSDcmPWAkISM8NyQkIjFqISpHJ1xfdEoqISM7JCEyakplXVosSDAjISM8NyQkIjEsK11pQ292JCohIzskIjJXRyh5L1AjeShHISM+NyQkIjB2b0g0JSlcXCohIzokIjE2WUEjUVAhKnAmISM7NyQkIi92VkJkRzknKiEjOSQiMk06UEByWG87IiEjOzckJCIxKG8vKSpmVU1uKiEjOyQiMTxRYmpgOipRIiEjOjckJCIxdj08dyUqZksoKiEjOyQiMW5nUikzUTBeIiEjOjckJCIxcGFOOXo8aSgqISM7JCIyJ3A1eTFcXkA6ISM7NyQkIjFqIVJETmM8eiohIzskIjIuJFxPXWtsJFwiISM7NyQkIjFkRXMhek04IykqISM7JCIwbDBOUl1MVSIhIzk3JCQiMV5pISpHSyI0JikqISM7JCIxNCZRYkEjcDI4ISM6NyQkIjFEInkrR0onZioqISM7JCIyTHMudUxLKjRaISM8NyQkIi5ESiRcJG8rIiEjNyQhMSZ6K2A6KlwkZSohIzs3JCQiMXY9bltfSD41ISM6JCExRyNHbmwxKyZIISM6NyQkIjB2PVVjYjwuIiEjOSQhMUAkWzYjR3I5WCEjOjckJCIxYywienNUWC4iISM6JCExWHh3W1NHKHAlISM6NyQkIjJEYyw7KnlLUDUhIzskITJYWydHSyF5OHolISM7NyQkIjIqb0hIYlM2UzUhIzskITFkYigzXjlceSUhIzo3JCQiMXZWKSo9LSFILyIhIzokITFfLztWI3psbSUhIzo3JCQiMnc9bmphcyVbNSEjOyQhMVlpZlUkPVgwJSEjOjckJCItdnRbL2E1ISM2JCEyayU9KlExay4qRyEjOzckJCIyaWxzcDgnKSpmNSEjOyQhMTctIUhSKFEsNSEjOjckJCIyREomPit1I2YxIiEjOyQiMXcyaU1AdmA6ISM6NyQkIjIpb3pUaidvPTIiISM7JCIxKGYzJD40QUBaISM6NyQkIjFEMWtFKjR5MiIhIzokIjE3LzAoM2NLUikhIzo3JCQiMkIiR2p0a1wkMyIhIzskIjJBOnU+LGhNQSIhIzo3JCQiLkQxLSQ9KjMiISM3JCIyRm8kejdIekA7ISM6NyQkIjJ3PTx3Y3BbNCIhIzskIjFmISpmVCxIOT8hIzk3JCQiMXYkNFk2YzA1IiEjOiQiMnh0JClIQSh5ekIhIzo3JCQiMnZvL3QweUY2IiEjOyQiMmFLYWB5JWZ6SCEjOjckJCIlRDYhIiQkIjIvQUxjTFArPyQhIzotJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhISIiJCIiISEiIi0lJVZJRVdHNiQ7JCIiISEiIiQiJUQ2ISIkJShERUZBVUxURy0lK0FYRVNMQUJFTFNHNictSSNtaUc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkc2IjY1USJ0NiIvJSdmYW1pbHlHUSE2Ii8lJXNpemVHUSMxMDYiLyUlYm9sZEdRJmZhbHNlNiIvJSdpdGFsaWNHUSV0cnVlNiIvJSp1bmRlcmxpbmVHUSZmYWxzZTYiLyUqc3Vic2NyaXB0R1EmZmFsc2U2Ii8lLHN1cGVyc2NyaXB0R1EmZmFsc2U2Ii8lK2ZvcmVncm91bmRHUShbMCwwLDBdNiIvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XTYiLyUnb3BhcXVlR1EmZmFsc2U2Ii8lK2V4ZWN1dGFibGVHUSZmYWxzZTYiLyUpcmVhZG9ubHlHUSZmYWxzZTYiLyUpY29tcG9zZWRHUSZmYWxzZTYiLyUqY29udmVydGVkR1EmZmFsc2U2Ii8lK2ltc2VsZWN0ZWRHUSZmYWxzZTYiLyUscGxhY2Vob2xkZXJHUSZmYWxzZTYiLyU2c2VsZWN0aW9uLXBsYWNlaG9sZGVyR1EmZmFsc2U2Ii8lLG1hdGh2YXJpYW50R1EnaXRhbGljNiJRITYiLSUlRk9OVEc2JSUoREVGQVVMVEclKERFRkFVTFRHIiM1JStIT1JJWk9OVEFMRyUrSE9SSVpPTlRBTEctJSZUSVRMRUc2JC0lKV9UWVBFU0VURzYjUTlTbG9wZX5vZn5maWx0ZXJlZF9zaWduYWw2Ii0lLVRSQU5TUEFSRU5DWUc2IyQiIiEhIiItJSVST09URzYnLSUpQk9VTkRTX1hHNiMkIiRJJiEiIi0lKUJPVU5EU19ZRzYjJCIkKyMhIiItJS1CT1VORFNfV0lEVEhHNiMkIiU/TSEiIi0lLkJPVU5EU19IRUlHSFRHNiMkIiVJUCEiIi0lKUNISUxEUkVORzYi # Zeros of the slopes == maxima and minima of the orginal function Z := seq(fsolve( slope(t)=0, t=x ),x=0..TP/2, 0.01): Z := [seq(x, x in {Z})]; Ny0kISt0RCkqXDchIzUkIitXbTJdaSEjNiQiK3REKSpcN0YlJCIrKCkqSF0oPUYlJCIrJDRmKipcI0YlJCIrXytdN0dGJSQiKy40L0RKRiUkIistKygqXFBGJSQiK0B1LHZWRiUkIitNQioqKipcRiUkIisqM2ZcNylGJQ== # Plug these values back into the orginal function Y_Z := [seq(filtered_signal(1,15,t), t in Z)]; Ny0kISsiSEpbYiohIzUkIitveVVTNiEiKiQiKyJISltiKkYlJCIrPGQtOTVGKCQiK2kpUl8nKipGJSQiK3c+PnkqKkYlJCIrZClSXycqKkYlJCIrPWQtOTVGKCQiKyNISltiKkYlJCIrbnlVUzZGKCQhK2UpUl8nKipGJQ== # Visually, I like to see the solutions mapped back onto the orginal function (as a check!) P_Z := [seq( [Z[i],Y_Z[i]], i=1..nops(Z) )]: P1 := plot( filtered_signal(1,15,t), t=0..TP/2 ): P2 := plot( P_Z,t=0..TP/2,style=point,symbolsize=20,symbol="circle" ): display([P1,P2]); NictJSdDVVJWRVNHNiQ3aXA3JCQiIiEhIiIkIiIhISIiNyQkIi92by9bQWxJISM7JCIxUl4pW3dLVnoqISM8NyQkIi52JDQnXC84JyEjOiQiMkZOJT0lcCg+XT4hIzw3JCQiL0QxOVduJj4qISM7JCIxaXJrN0N5LkghIzs3JCQiLnY9IyoqM0U3ISM5JCIyJlJ1LTooKSk+JFEhIzw3JCQiMkMxa0pcJHojXCIhIz0kIjJjNitsIylISGglISM8NyQkIjFESlhrcVxmPCEjPCQiMUdOIT4oNDBrYCEjOzckJCIydz1VZGoraS0jISM9JCIxR2BGKGY6NTMnISM7NyQkIjIuREpxPy9ISCMhIz0kIjFtL15EPiUqZm4hIzs3JCQiMkdjLG1FU0dmIyEjPSQiMWBGSSopXCRRWighIzs3JCQiMmAoPTxFangjKkchIz0kIjEnR0IhKUdnODgpISM7NyQkIjEpPVVkUTdGPiQhIzwkIjEvPWRiWVVIKCkhIzs3JCQiMi5dN2BXW0VcJCEjPSQiL3czcWonZUUqISM5NyQkIi1EMXBcJzQlISM4JCIyS2pHOHAkXDo1ISM7NyQkIi92PW5gTStaISM6JCIyTihvJGUmWzl6NSEjOzckJCIxdm96VFFLLGAhIzwkIjJzI2VcTVYhKj02ISM7NyQkIjIlXGlTO0JJLWYhIz0kIjJPWEJ3aFp4OCIhIzs3JCQiMlcob2E1JClmVGchIz0kIjFlQjVESVtSNiEjOjckJCIyJipcKG8vViozPSchIz0kIjE8Zi9oZUtTNiEjOjckJCIxQyJHKSlIIT4/aiEjPCQiMnVjP0FARC45IiEjOzckJCIwdm9ISCdbZmshIzskIjJjOUBsO0omUjYhIzs3JCQiLUQiR3khUW4hIzgkIjJweG1cKG93TjYhIzs3JCQiMERKJnAtbjtxISM7JCIyJ1IzKWY2WCVINiEjOzckJCIwRDFSKy1PZighIzskIjFbbkAuPCs1NiEjOjckJCIxXDdHUVBgcSIpISM8JCIyciI0Z15jI1wzIiEjOzckJCIwRCJHKSk0J1FPKiEjOyQiMW1KeStdbUc1ISM6NyQkIjJcaWxBN09gMCIhIzwkIjEwKmVJNk9YJCkqISM7NyQkIjJEY0VBWzhsNiIhIzwkIjFhMndZY0kjbyohIzs3JCQiMixdKD1VM3B4NiEjPCQiMVtlKFs8IVshZiohIzs3JCQiMkQxayJvTGovNyEjPCQiMUspb14helxvJiohIzs3JCQiMUQxOSUqZWRKNyEjOyQiMWFNayE+PXFiKiEjOzckJCIydz08LFU9JmU3ISM8JCIxOCE+ImVuR2ImKiEjOzckJCIwdiQ0WTRZJkciISM6JCIxODwrcilIQ2MqISM7NyQkIjFESiY+dkFoTSIhIzskIjFCRFxOYillZyohIzs3JCQiMi1dN3liJXkxOSEjPCQiMXVbZTFGUngnKiEjOzckJCIvdiRmTDEnRzohIzkkIjFYeWBqY1VkKSohIzs3JCQiMi1dKD0jPi9nayIhIzwkIjEoZXRWZHE5KyIhIzo3JCQiMUQieURwN0V2IiEjOyQiMih6YXk2N2g1NSEjOzckJCIvdiQ0XiFRej0hIzkkIjJsTjtLIz4tOTUhIzs3JCQiLUQiW3BuKT4hIzckIjInNHB4KT0mKj0sIiEjOzckJCIxREo/JFEpbzZAISM7JCIxIillaWc8YjE1ISM6NyQkIjIpKipcN3lGRUFBISM8JCIyKWYoKWZLX3AsNSEjOzckJCIyYDdgV1QhZVZCISM8JCIxVzonUSgqKT4hKSoqISM7NyQkIjJgUGZMXC4iZkMhIzwkIjFUVVQvJCozbSoqISM7NyQkIjIwREpxcVInekQhIzwkIjF2SUw2bGluKiohIzs3JCQiMURjXnkmSC5wIyEjOyQiMWA9LjFwTnUqKiEjOzckJCIyKFxQZmVOczRHISM8JCIxZGMqW3oqPXkqKiEjOzckJCIxRCJHKVsudUxIISM7JCIxRSY0QGU0VygqKiEjOzckJCIxdm9ISHRwVEkhIzskIjFScXIiKT0jeScqKiEjOzckJCIwRCJ5RFFIZUohIzokIjFvJVtJKlF6bCoqISM7NyQkIjIoKipcaTolXCh5SyEjPCQiMVolKSkpeW1reioqISM7NyQkIjBEYyxyImYnUiQhIzokIjFBZTI8ImU5KyIhIzo3JCQiMURKWCo9NTFeJCEjOyQiMFQqeipwRGsrIiEjOTckJCIwdiQ0ciMzc2okISM6JCIxPU5OXilmPSwiISM6NyQkIjInKipcN3lBJzR2JCEjPCQiMi1fLSc9Yi05NSEjOzckJCIyL11QNCcqPUMoUSEjPCQiMno2UWFPNDEsIiEjOzckJCIxRCJ5dnd3QylSISM7JCIyTE5nc254NSsiISM7NyQkIjIuXTcuLSp6LVQhIzwkIjF3OU8wKjN5JSkqISM7NyQkIjJZNy5LKUcsO1UhIzwkIjA2KFFrJWYubyohIzo3JCQiMldQNHJWJD12VSEjPCQiMWJpPmNCYzQnKiEjOzckJCIxRGMsIipSTk1WISM7JCIxIlxjSzhWWmMqISM7NyQkIjJPZkxwK3pLTyUhIzwkIjEpKTQkbz8qb2ImKiEjOzckJCIyQ2NeRy0vQVIlISM8JCIxQHU+UF90YyYqISM7NyQkIjFKJnAoUSFINlUlISM7JCIxO0duR0IoKm8mKiEjOzckJCIvdm9hUzBdVyEjOSQiMC9QPGJNTGYqISM6NyQkIjE3eXZ3d2g1WCEjOyQiMTg9UlMpKmUnbyohIzs3JCQiMUQiRykpSCI9clghIzskIjAxOjknNDJSKSohIzo3JCQiMjErXTdCVHlvJSEjPCQiMSI0YHEhKj0kRzUhIzo3JCQiMHY9PCdHOTJbISM6JCIwKFJibkNiJTMiISM5NyQkIjJ1JGYzUSgqSG1bISM8JCIyYSkpPk9haS02IiEjOzckJCIyYDdgV2hjYSNcISM8JCIyJmVKVCdwMis4IiEjOzckJCIxJTRZczdPRSZcISM7JCIyMnFuTFJHZzgiISM7NyQkIjJEMVIrazopelwhIzwkIjJfRztMWCVmUjYhIzs3JCQiMVpiVidSME0qXCEjOyQiMiQ+SDwzc0xTNiEjOzckJCIxSj8kRzomKnArJiEjOyQiMUs7blJMS1M2ISM6NyQkIjE7JkcjNFxlP10hIzskIjIkKXo6NU4xJlI2ISM7NyQkIi5EY211VC4mISM4JCIybDAwT2xTeTgiISM7NyQkIjF2JGZMQ3drNCYhIzskIjJQdklhSkUiPTYhIzs3JCQiMHYkNEB5eGVeISM6JCIyIlJSZFs0JmUyIiEjOzckJCIxdj0jXDQsWEAmISM7JCIyTFAiSE4+Yzs1ISM7NyQkIi12b1ZBcV8hIzckIjFWdFZcW2hkJCohIzs3JCQiMSJHaltvSSoqSCYhIzskIjFqdF1ELSl6JCkpISM7NyQkIjFqbCg0K1AnSGAhIzskIjFsZyVmdCNmZCMpISM7NyQkIjFXKSozPExNZmAhIzskIjFWO2BZPVA9dyEjOzckJCIxREo/TCdcISpRJiEjOyQiMT4vRGFqOEJwISM7NyQkIjFpUztvQls8YSEjOyQiMTxtQHJzazNpISM7NyQkIi5ESjU6ZlcmISM4JCIxYyxMc009XWEhIzs3JCQiMVFmM1F5TXVhISM7JCIxQjlPUyRmQmwlISM7NyQkIjF2by90MHktYiEjOyQiMk4lW3J3UVE/USEjPDckJCIxY155SGFMTGIhIzskIjI4JCpbMSoqKnolKkchIzw3JCQiMVBNXydHISpRYyYhIzskIjEwa2UoPXVTJT4hIzs3JCQiMT48RVZeVyVmJiEjOyQiMVlNZSFRL0x3KiEjPDckJCIlRGMhIiUkITFQIW8zcFUmW10hI0MtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhISIiJCIiISEiIi0lJ0NVUlZFU0c2JjctNyQkISt0RCkqXDchIzUkISsiSEpbYiohIzU3JCQiK1dtMl1pISM2JCIrb3lVUzYhIio3JCQiK3REKSpcNyEjNSQiKyJISltiKiEjNTckJCIrKCkqSF0oPSEjNSQiKzxkLTk1ISIqNyQkIiskNGYqKlwjISM1JCIraSlSXycqKiEjNTckJCIrXytdN0chIzUkIit3Pj55KiohIzU3JCQiKy40L0RKISM1JCIrZClSXycqKiEjNTckJCIrLSsoKlxQISM1JCIrPWQtOTUhIio3JCQiK0B1LHZWISM1JCIrI0hKW2IqISM1NyQkIitNQioqKipcISM1JCIrbnlVUzYhIio3JCQiKyozZlw3KSEjNSQhK2UpUl8nKiohIzUtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhISIiJCIiISEiIi0lJ1NZTUJPTEc2JCUnQ0lSQ0xFRyIjPy0lJlNUWUxFRzYjJSZQT0lOVEctJSVWSUVXRzYkOyQiIiEhIiIkIiVEYyEiJSUoREVGQVVMVEctJStBWEVTTEFCRUxTRzYnLUkjbWlHNiMvSSttb2R1bGVuYW1lRzYiSSxUeXBlc2V0dGluZ0dJKF9zeXNsaWJHNiI2NVEidDYiLyUnZmFtaWx5R1EoREVGQVVMVDYiLyUlc2l6ZUdRIzEwNiIvJSVib2xkR1EmZmFsc2U2Ii8lJ2l0YWxpY0dRJXRydWU2Ii8lKnVuZGVybGluZUdRJmZhbHNlNiIvJSpzdWJzY3JpcHRHUSZmYWxzZTYiLyUsc3VwZXJzY3JpcHRHUSZmYWxzZTYiLyUrZm9yZWdyb3VuZEdRKFswLDAsMF02Ii8lK2JhY2tncm91bmRHUS5bMjU1LDI1NSwyNTVdNiIvJSdvcGFxdWVHUSZmYWxzZTYiLyUrZXhlY3V0YWJsZUdRJmZhbHNlNiIvJSlyZWFkb25seUdRJmZhbHNlNiIvJSljb21wb3NlZEdRJmZhbHNlNiIvJSpjb252ZXJ0ZWRHUSZmYWxzZTYiLyUraW1zZWxlY3RlZEdRJmZhbHNlNiIvJSxwbGFjZWhvbGRlckdRJmZhbHNlNiIvJTZzZWxlY3Rpb24tcGxhY2Vob2xkZXJHUSZmYWxzZTYiLyUsbWF0aHZhcmlhbnRHUSdpdGFsaWM2IlEhNiItJSVGT05URzYlJShERUZBVUxURyUoREVGQVVMVEciIzUlK0hPUklaT05UQUxHJStIT1JJWk9OVEFMRy0lJVJPT1RHNictJSlCT1VORFNfWEc2IyQiJGcmISIiLSUpQk9VTkRTX1lHNiMkIiQrIiEiIi0lLUJPVU5EU19XSURUSEc2IyQiJSFSJCEiIi0lLkJPVU5EU19IRUlHSFRHNiMkIiVdUSEiIi0lKUNISUxEUkVORzYi # The second half of the period is clearly a reflection of the first TP/2, thus the solution can be mapped back onto itself if one desired the other zeros.