CS 294-73 Software Engineering for Scientific Computing Guest Lecture: The Discrete Fourier Transform Doru Thom Popovici
<latexit sha1_base64="1GldZPDeBE6r6p2cTSilwsFl3Y=">ACRnicbVBNaxsxFHzrfiXul9scxE1hR5as5uGfkADobnkZBKok8BqY7Ty21isVruRtCVG7K/Lpefe+hNySGh9BqtbUrbdEAwzMzjPU1aSWFsGP4IOnfu3rv/YGW1+/DR4ydPe8+eH5iy1hxHvJSlPkqZQSkUjqywEo8qjaxIJR6m+U7rH35FbUSpvthZhUnBTpTIBGfWS+NecharhGwRmnGXdS4YUNXRy74ZuoGbt8K2wInTLrzpo4TwgeO7GIbtBKtGmSE9W8plmpmZT0tGYTElKJp0R9IsNxrx8OwjnIbRItSR+W2Bv3vtNJyesCleWSGRNHYWUTx7QVXGLTpbXBivGcnWDsqWIFmsTNa2jIS69MiL/EP2XJXP1zwrHCmFmR+mTB7NT867Xi/7y4tmHxAlV1RYVXyzKaklsSdpOyURo5FbOPGFcC38r4VPmW7K+e68hI8t3v3+8m1ysDGI3g429zf725+XdazAOryAVxDBe9iGXdiDEXA4hwu4guvgW3AZ/Ax+LaKdYDmzBn+hAzewebFl</latexit> <latexit sha1_base64="YGj54hj8biR3Jivrlx3Jby2/lZU=">ACPnicbVBNaxRBEO2JX3H92ujRS+EieDLTBI0gkLQi6clgpsEpidLTW9Ntpmenkl3j2Rp5pd58Td48+jFgyJePdq7WUSNDxpev1dFVb28UdK6OP4UrV26fOXqtfXrvRs3b92+09+4e2Dr1gai1rV5ihHS0pqGjvpFB01hrDKFR3m5auFf/iOjJW1fuvmDWUVnmhZSIEuSJP+mM/Q+bMuLTN4Ady21bEfbSbdxOvwjzs4S3UGdOw3JfDCoPBbvJGdH3VQgu4e86I2qBQ/bXEKMVd0CuXz0aQ/iIfxEnCRJCsyYCvsT/of+bQWbUXaCYXWpkncuMyjcVIo6nq8tdSgKPGE0kA1VmQzvzy/g4dBmUJYJDztYKn+2eGxsnZe5aGyQjez/3oL8X9e2rpiN/NSN60jLc4HFa0CV8MiS5hKQ8KpeSAojAy7gphCMmFxHvLEJ4t8OT3yRfJwdYw2R7uvNkZ7L1cxbHO7rMH7BFL2FO2x16zfTZmgr1n9lX9i36EH2Jvkc/zkvXolXPfYXop+/AEAprho=</latexit> <latexit sha1_base64="XOABTpY1U4xvcE3evEjtmvulCDI=">AB63icbVDLSsNAFL2pr1pfVZduBovgqiRafOyKblxWsA9IQ5lMJ+3QmUmYmYgl9BfcuFDErT/kzr8xSYOo9cCFwzn3cu89fsSZNrb9aZWldW18rlY3Nre2d6u5eR4exIrRNQh6qno815UzStmG016kKBY+p1/cp353XuqNAvlnZlG1BN4JFnACDaZ9OBKb1Ct2XU7B1okTkFqUKA1qH70hyGJBZWGcKy169iR8RKsDCOczir9WNMIkwkeUTelEguqvS/dYaOUmWIglClJQ3K1Z8TCRZaT4Wfdgpsxvqvl4n/eW5sgsvYTKDZVkviIOTIhyh5HQ6YoMXyaEkwUS29FZIwVJiaNp5KHcJnh7PvlRdI5qTun9cZto9a8KuIowEcwjE4cA5NuIEWtIHAGB7hGV4sYT1Zr9bvLVkFTP78AvW+xcuVo54</latexit> The Discrete Fourier Transform • Given a continuous function , its Fourier transform is defined as x [ n ] N − 1 x [ n ] e − i 2 π X N kn , ∀ x [ k ] = ˆ 0 ≤ k < N n =0 The inverse Fourier transform is defined as • N − 1 x [ n ] = 1 x [ k ] e i 2 π X N kn , ∀ ˆ 0 ≤ n < N N k =0 1
<latexit sha1_base64="hwkoM3v5ocBQP7G+OxFZ9HIWAoE=">ACLnicbVDLSsQwFE3H9/gadekmOAhuHFodfCwEUQRXouDoQFuHNJM6oWlaklQcQr/Ijb+iC0F3PoZp1BfB0IHM45l5t7gpRqWz72aqMjI6NT0xOVadnZufmawuLFzLJBCYtnLBEtAMkCaOctBRVjLRTQVAcMHIZRIeFf3lDhKQJP1f9lPgxuY0pBgpI3VqR7cu9+Ee9EKBsHZyfZJ7Mouv9Mm6k3d0tGfn0OshpW9zN/IhudJ0EN3wUlqkYQR53qnV7YZdAv4lzpDUwRCndqj101wFhOuMENSuo6dKl8joShmJK96mSQpwhG6Jq6hHMVE+ro8N4erRunCMBHmcQVL9fuERrGU/TgwyRipnvztFeJ/npupcMfXlKeZIhwPFoUZgyqBRXewSwXBivUNQVhQ81eIe8i0oUzD1bKE3QJbXyf/JRcbDWez0Txr1vcPhnVMgmWwAtaA7bBPjgGp6AFMLgD+AFvFr31pP1Zr0PohVrOLMEfsD6+ATsuKk/</latexit> <latexit sha1_base64="AbEnM6/Ty6HhApZSZF3NVYSw+fc=">ACJ3icbVDLSgMxFM3UV62vqks3wSK4scxo8bFQim5ciYK1hZlpyaQZG5rJDElGWsL8jRt/xY2gIr0T8zUIr4OXDg515y7wkSRqWy7TerMDE5NT1TnC3NzS8sLpWXV65knApMGjhmsWgFSBJGOWkoqhpJYKgKGCkGfRPcr95Q4SkMb9Uw4T4EbrmNKQYKSN1ykdeDyk9yNy+Dw+hJ9Oorc+2nKyjuXnbGRy43Iekrbco9EKBsN72Eprpswz2Ic865YpdtUeAf4kzJhUwxnmn/Oh1Y5xGhCvMkJSuYyfK10goihnJSl4qSYJwH10T1COIiJ9PbozgxtG6cIwFqa4giP1+4RGkZTDKDCdEVI9+dvLxf8N1Xhvq8pT1JFOP78KEwZVDHMQ4NdKghWbGgIwoKaXSHuIZOGMtGWRiEc5Nj9OvkvudquOjvV2kWtUj8ex1Ea2AdbAIH7IE6OAXnoAEwuAX34Ak8W3fWg/VivX62FqzxzCr4Aev9A1FopSI=</latexit> <latexit sha1_base64="XOABTpY1U4xvcE3evEjtmvulCDI=">AB63icbVDLSsNAFL2pr1pfVZduBovgqiRafOyKblxWsA9IQ5lMJ+3QmUmYmYgl9BfcuFDErT/kzr8xSYOo9cCFwzn3cu89fsSZNrb9aZWldW18rlY3Nre2d6u5eR4exIrRNQh6qno815UzStmG016kKBY+p1/cp353XuqNAvlnZlG1BN4JFnACDaZ9OBKb1Ct2XU7B1okTkFqUKA1qH70hyGJBZWGcKy169iR8RKsDCOczir9WNMIkwkeUTelEguqvS/dYaOUmWIglClJQ3K1Z8TCRZaT4Wfdgpsxvqvl4n/eW5sgsvYTKDZVkviIOTIhyh5HQ6YoMXyaEkwUS29FZIwVJiaNp5KHcJnh7PvlRdI5qTun9cZto9a8KuIowEcwjE4cA5NuIEWtIHAGB7hGV4sYT1Zr9bvLVkFTP78AvW+xcuVo54</latexit> <latexit sha1_base64="+l/DcmlgqPQjZ+7+nbJhahKkfOs=">AB8XicbVDLSsNAFL2pr1pfVZduBovgqiRafOyKblxWsA9MQ5lMJ+3QySTMTMQS+hduXCji1r9x5984SYP4OnDhcM693HuPH3OmtG1/WKWFxaXlfJqZW19Y3Orur3TUVEiCW2TiEey52NFORO0rZnmtBdLikOf064/ucz87h2VikXiRk9j6oV4JFjACNZGu2PsU7vZ+7EG1Rrdt3Ogf4SpyA1KNAaVN/7w4gkIRWacKyU69ix9lIsNSOczir9RNEYkwkeUdQgUOqvDS/eIYOjDJEQSRNCY1y9ftEikOlpqFvOkOsx+q3l4n/eW6igzMvZSJONBVkvihIONIRyt5HQyYp0XxqCaSmVsRGWOJiTYhVfIQzjOcfL38l3SO6s5xvXHdqDUvijKsAf7cAgOnEITrqAFbSAg4AGe4NlS1qP1Yr3OW0tWMbMLP2C9fQL7kpFC</latexit> The Discrete Fourier Transform – Change of Basis • It maps a signal/function from the time/space domain to the frequency domain N − 1 x [ k ] ˆ x [ n ] x [ n ] e − i 2 π X N kn x [ k ] = ˆ n =0 N − 1 x [ n ] = 1 x [ k ] e i 2 π X N kn ˆ N k =0 Time domain Frequency domain 2
The Circular Convolution 3 12
<latexit sha1_base64="IAw6GuUSDg+3BwtjQ8vJpCWmxfo=">AB8XicbVDLSsNAFJ3UV62vqks3g0VwVRItPnZFNy4r2AemoUymk3boZBJmboQS+hduXCji1r9x5984SYOo9cCFwzn3cu89fiy4Btv+tEpLyura+X1ysbm1vZOdXevo6NEUdamkYhUzyeaCS5ZGzgI1osVI6EvWNefXGd+94EpzSN5B9OYeSEZSR5wSsBI9/0xgXQ8cyfeoFqz63YOvEicgtRQgdag+tEfRjQJmQqiNauY8fgpUQBp4LNKv1Es5jQCRkx1BJQqa9NL94ho+MsRBpExJwLn6cyIlodbT0DedIYGx/utl4n+em0Bw4aVcxgkwSeLgkRgiHD2Ph5yxSiIqSGEKm5uxXRMFKFgQqrkIVxmOPt+eZF0TurOab1x26g1r4o4yugAHaJj5KBz1EQ3qIXaiCKJHtEzerG09WS9Wm/z1pJVzOyjX7DevwDjEpEy</latexit> <latexit sha1_base64="+l/DcmlgqPQjZ+7+nbJhahKkfOs=">AB8XicbVDLSsNAFL2pr1pfVZduBovgqiRafOyKblxWsA9MQ5lMJ+3QySTMTMQS+hduXCji1r9x5984SYP4OnDhcM693HuPH3OmtG1/WKWFxaXlfJqZW19Y3Orur3TUVEiCW2TiEey52NFORO0rZnmtBdLikOf064/ucz87h2VikXiRk9j6oV4JFjACNZGu2PsU7vZ+7EG1Rrdt3Ogf4SpyA1KNAaVN/7w4gkIRWacKyU69ix9lIsNSOczir9RNEYkwkeUdQgUOqvDS/eIYOjDJEQSRNCY1y9ftEikOlpqFvOkOsx+q3l4n/eW6igzMvZSJONBVkvihIONIRyt5HQyYp0XxqCaSmVsRGWOJiTYhVfIQzjOcfL38l3SO6s5xvXHdqDUvijKsAf7cAgOnEITrqAFbSAg4AGe4NlS1qP1Yr3OW0tWMbMLP2C9fQL7kpFC</latexit> <latexit sha1_base64="DN73jmH109VNIai4aPtTfXB2Es=">AB8XicbVDLSsNAFJ3UV62vqks3g0VwVItPnZFNy4r2AemoUymk3boZBJmboQ+hduXCji1r9x5984SYOo9cCFwzn3cu89XiS4Btv+tEpLyura+X1ysbm1vZOdXevq8NYUdahoQhV3yOaCS5ZBzgI1o8UI4EnWM+bXmd+74EpzUN5B0nE3ICMJfc5JWCk+8GEQJrMnKk7rNbsup0DL5JGQWqoQHtY/RiMQhoHTAIVRGunYUfgpkQBp4LNKoNYs4jQKRkzx1BJAqbdNL94ho+MsJ+qExJwLn6cyIlgdZJ4JnOgMBE/Uy8T/PicG/cFMuoxiYpPNFfiwhDh7H4+4YhREYgihiptbMZ0QRSiYkCp5CJcZzr5fXiTdk3rjtN68bdZaV0UcZXSADtExaqBz1EI3qI06iCKJHtEzerG09WS9Wm/z1pJVzOyjX7DevwD9GpFD</latexit> The Circular Convolution ˆ x [ k ] ˆ h [ k ] y [ k ] ˆ 4 12
<latexit sha1_base64="+l/DcmlgqPQjZ+7+nbJhahKkfOs=">AB8XicbVDLSsNAFL2pr1pfVZduBovgqiRafOyKblxWsA9MQ5lMJ+3QySTMTMQS+hduXCji1r9x5984SYP4OnDhcM693HuPH3OmtG1/WKWFxaXlfJqZW19Y3Orur3TUVEiCW2TiEey52NFORO0rZnmtBdLikOf064/ucz87h2VikXiRk9j6oV4JFjACNZGu2PsU7vZ+7EG1Rrdt3Ogf4SpyA1KNAaVN/7w4gkIRWacKyU69ix9lIsNSOczir9RNEYkwkeUdQgUOqvDS/eIYOjDJEQSRNCY1y9ftEikOlpqFvOkOsx+q3l4n/eW6igzMvZSJONBVkvihIONIRyt5HQyYp0XxqCaSmVsRGWOJiTYhVfIQzjOcfL38l3SO6s5xvXHdqDUvijKsAf7cAgOnEITrqAFbSAg4AGe4NlS1qP1Yr3OW0tWMbMLP2C9fQL7kpFC</latexit> <latexit sha1_base64="DN73jmH109VNIai4aPtTfXB2Es=">AB8XicbVDLSsNAFJ3UV62vqks3g0VwVItPnZFNy4r2AemoUymk3boZBJmboQ+hduXCji1r9x5984SYOo9cCFwzn3cu89XiS4Btv+tEpLyura+X1ysbm1vZOdXevq8NYUdahoQhV3yOaCS5ZBzgI1o8UI4EnWM+bXmd+74EpzUN5B0nE3ICMJfc5JWCk+8GEQJrMnKk7rNbsup0DL5JGQWqoQHtY/RiMQhoHTAIVRGunYUfgpkQBp4LNKoNYs4jQKRkzx1BJAqbdNL94ho+MsJ+qExJwLn6cyIlgdZJ4JnOgMBE/Uy8T/PicG/cFMuoxiYpPNFfiwhDh7H4+4YhREYgihiptbMZ0QRSiYkCp5CJcZzr5fXiTdk3rjtN68bdZaV0UcZXSADtExaqBz1EI3qI06iCKJHtEzerG09WS9Wm/z1pJVzOyjX7DevwD9GpFD</latexit> <latexit sha1_base64="IAw6GuUSDg+3BwtjQ8vJpCWmxfo=">AB8XicbVDLSsNAFJ3UV62vqks3g0VwVRItPnZFNy4r2AemoUymk3boZBJmboQS+hduXCji1r9x5984SYOo9cCFwzn3cu89fiy4Btv+tEpLyura+X1ysbm1vZOdXevo6NEUdamkYhUzyeaCS5ZGzgI1osVI6EvWNefXGd+94EpzSN5B9OYeSEZSR5wSsBI9/0xgXQ8cyfeoFqz63YOvEicgtRQgdag+tEfRjQJmQqiNauY8fgpUQBp4LNKv1Es5jQCRkx1BJQqa9NL94ho+MsRBpExJwLn6cyIlodbT0DedIYGx/utl4n+em0Bw4aVcxgkwSeLgkRgiHD2Ph5yxSiIqSGEKm5uxXRMFKFgQqrkIVxmOPt+eZF0TurOab1x26g1r4o4yugAHaJj5KBz1EQ3qIXaiCKJHtEzerG09WS9Wm/z1pJVzOyjX7DevwDjEpEy</latexit> The Circular Convolution ˆ x [ k ] ˆ h [ k ] y [ k ] ˆ g n i h t y n a e b n a c ] ! 𝒍 [ 𝒊 Precomputed Values/Closed Form Function 5 12
Recommend
More recommend