Fourier’(’Cálculo’en’Matlab’lucamartino.altervista.org/Tema4_resumido.pdfTema 4:...
Transcript of Fourier’(’Cálculo’en’Matlab’lucamartino.altervista.org/Tema4_resumido.pdfTema 4:...
Fourier -‐ Cálculo en Matlab
Periodicidad – Fourier -‐ señales a 7empo discreto
Esto es siempre cierto (cuando transformamos una señal x[n] en 7empo discreto).
Xk = ak =) perıodo N
X(⌦) =) perıodo 2⇡<latexit sha1_base64="4T9jG5PWch+yCajqd9YFUwoVs14=">AAACTnicjVHPTxNBGJ0toqWIVDx6mdiIcGl2C4leSIheOBjFxEKTTrP5dvp1O+n82MzMAs2mf6EX440/gwsHjNFp6UGBgy+Z5OW97+WbeZMVUjgfx5dRbeXR6uMn9bXG+tONZ5vN51snzpSWY5cbaWwvA4dSaOx64SX2CougMomn2eTD3D89Q+uE0V/9tMCBglyLkeDgg5Q2sZdODiCd0G320ejcinzswVpzTpnKzEVVoK3YGzEzQ0Nn9BNlrNHbYZ8V5rD7f5kOK0TabMXteAF6nyRL0iJLHKfNH2xoeKlQey7BuX4SF35QgfWCS5w1WOmwAD6BHPuBalDoBtWijhl9HZQhHRkbjvZ0of6dqEA5N1VZmFTgx+6uNxcf8vqlH70bVEIXpUfNbxeNSkm9ofNu6VBY5F5OAwFuRbgr5WOwwH34gUYoIbn75PvkpNNO9tqdL/utw/fLOurkJXlFdkhC3pJDckSOSZdw8o1ckRvyM/oeXUe/ot+3o7VomXlB/kGt/gcMUrRV</latexit>
ak = ak+N<latexit sha1_base64="oKr7dd2nFqUauo2p0bp+n/HxEBY=">AAACLnicbVBbSxtBGJ3VauPWS9RHX4bGgNAadq2gCEKwCH0SSxsVsssyO/lihp3LMjMrhiW/yBf/ij4UVIqv/gwncR9a9cDA4XyXOd9Jc86MDYI7b2r6w8zsx9qc/2l+YXGpvrxyYlShKXSo4kqfpcQAZxI6llkOZ7kGIlIOp2n2fVw/vQBtmJK/7TCHWJBzyfqMEuukpH7YjESqLkv8C/D6ZVfG6xgMdhv4VzwAoQy+cCbU3gg3o8hvkiTbJ0m5mY38imZfjkZ+Um8ErWAC/JaEFWmgCsdJ/TbqKVoIkJZyYkw3DHIbl0RbRjmM/KgwkBOakXPoOiqJABOXk3OdE6f0cF9p96TFE/XfiZIIY4YidZ2C2IF5XRuL79W6he3vxiWTeWFB0peP+gXHVuFxdrjHNFDLh44QqpnziumAaEKtS3gcQvj65LfkZKsVfmtt/dxutA+qOGpoDX1GGyhEO6iNfqBj1EEUXaEbdI8evGvvj/fXe3xpnfKqmVX0H7ynZw5Hph0=</latexit>
X(⌦) = X(⌦ + 2⇡)<latexit sha1_base64="aZZ6LHq/xZcHQ4pDwUO7z9Uz1j0=">AAACR3icbZDNaxNBGMZnY9W6fqV69DI0DbRUw24UKkKh6MWTbdG0gey6vDt5kww7H8vMbGlY8t958erNf8FLDxXx6CSNYj9eGPjxPO87886Tl4JbF0Xfg8atldt37q7eC+8/ePjocXPtyZHVlWHYY1po08/BouAKe447gf3SIMhc4HFevJv7xydoLNfqk5uWmEoYKz7iDJyXsubndiJzfVrTj0g3Tgcq3aBoqb9BPKcTlNrSE7+EfjOj7SQJ25AVu5DVL4rZPy62P8zC/mayL3EMW7t/abublHwra7aiTrQoeh3iJbTIsg6y5rdkqFklUTkmwNpBHJUurcE4zgTOwqSyWAIrYIwDjwok2rRe5OBX9MqQjrTxRzm6UP+fqEFaO5W575TgJvaqNxdv8gaVG71Oa67KyqFiFw+NKkGdpvNQ6ZAbZE5MPQAz3O9K2QQMMOejD30I8dUvX4ejbid+2ekevmrtvV3GsUqekXWySWKyQ/bIe3JAeoSRL+QHOSc/g6/BWfAr+H3R2giWM0/JpWoEfwAkW63o</latexit>
Periodicidad -‐ Fourier -‐ señales a 7empo discreto
Como consecuencia:
<latexit sha1_base64="QrKKUNyAnMyMGLt7HacSnLGUvQ8=">AAACYnicbVFdaxNBFJ1drdZV29Q+6sNgGmipDbuxUCkUin3xSSuaNpBdlruTm2TY+VhmZkvDkj/pm0+++EOcfCjaemHgzLkfc+6ZohLcujj+HoQPHm48erz5JHr67PnWdmvnxZXVtWHYZ1poMyjAouAK+447gYPKIMhC4HVRXizy1zdoLNfqq5tVmEmYKD7mDJyn8task8pC3zb0C9K926HK9iha6ieIN3SKUlt640Xo0zntpGnUgbw8g7w5Kud/cHn40V8G++kniRM4OPuNDntpxQ+i1fgLLTVlWllkNSrG4XSet9pxN14GvQ+SNWiTdVzmrW/pSLNaonJMgLXDJK5c1oBxnAmcR2ltsQJWwgSHHiqQaLNmaZFX75kRHWvjj3J0yf7d0YC0diYLXynBTe3d3IL8X25Yu/G7rOGqqp1fbPXQuBbUabrwm464QebEzANghnutlE3BAHP+VyJvQnJ35fvgqtdN3nZ7n4/b5+/XdmySl+Q12ScJOSHn5AO5JH3CyI9gI9gKtoOfYRTuhLur0jBY9+ySfyJ89QssfrMN</latexit>
ak = ak+N<latexit sha1_base64="oKr7dd2nFqUauo2p0bp+n/HxEBY=">AAACLnicbVBbSxtBGJ3VauPWS9RHX4bGgNAadq2gCEKwCH0SSxsVsssyO/lihp3LMjMrhiW/yBf/ij4UVIqv/gwncR9a9cDA4XyXOd9Jc86MDYI7b2r6w8zsx9qc/2l+YXGpvrxyYlShKXSo4kqfpcQAZxI6llkOZ7kGIlIOp2n2fVw/vQBtmJK/7TCHWJBzyfqMEuukpH7YjESqLkv8C/D6ZVfG6xgMdhv4VzwAoQy+cCbU3gg3o8hvkiTbJ0m5mY38imZfjkZ+Um8ErWAC/JaEFWmgCsdJ/TbqKVoIkJZyYkw3DHIbl0RbRjmM/KgwkBOakXPoOiqJABOXk3OdE6f0cF9p96TFE/XfiZIIY4YidZ2C2IF5XRuL79W6he3vxiWTeWFB0peP+gXHVuFxdrjHNFDLh44QqpnziumAaEKtS3gcQvj65LfkZKsVfmtt/dxutA+qOGpoDX1GGyhEO6iNfqBj1EEUXaEbdI8evGvvj/fXe3xpnfKqmVX0H7ynZw5Hph0=</latexit>
ak = a⇤�k<latexit sha1_base64="N6k3M5P5KNGieeXGeYvix/rxOOI=">AAACZXicbVFNb9NAEF2br2AopAVx4cCK1FI/ILIDUqtKlar2wgmKIG2k2FjrzSRZeT+s3XXVyPhPcuPKhb/RTWokaBlppbdvZnbmvc1LzoyNop+ef+fuvfsPOg+DR4/Xnjztrm+cGVVpCkOquNKjnBjgTMLQMsthVGogIudwnhcny/z5BWjDlPxqFyWkgswkmzJKrKOy7vcwEbm6rPEXwJuXY5luYjDYvcDf4DkIZfCFW0IdNDgMkyQgWXFIsvpt0XzbCcL2Vux+bIJwtJV8EjAj24d/0O4gKdl20E44UUJhqqQBWoGkjBw0WbcX9aNV4NsgbkEPtXGadX8kE0UrAdJSTowZx1Fp05poyyiHJkgqAyWhBZnB2EFJBJi0XrnkBDhmgqdKuyMtXrF/d9REGLMQuasUxM7NzdyS/F9uXNnpflozWVbWCbseNK04tgovLccTpoFavnCAUM3crpjOiSbUuo8JnAnxTcm3wdmgH7/rDz6/7x0dt3Z00Ev0Gm2hGO2hI/QBnaIhouiX1/HWvQ3vt7/mP/dfXJf6XtvzDP0T/qsrD2qz2A==</latexit>
ak = a⇤�k<latexit sha1_base64="N6k3M5P5KNGieeXGeYvix/rxOOI=">AAACZXicbVFNb9NAEF2br2AopAVx4cCK1FI/ILIDUqtKlar2wgmKIG2k2FjrzSRZeT+s3XXVyPhPcuPKhb/RTWokaBlppbdvZnbmvc1LzoyNop+ef+fuvfsPOg+DR4/Xnjztrm+cGVVpCkOquNKjnBjgTMLQMsthVGogIudwnhcny/z5BWjDlPxqFyWkgswkmzJKrKOy7vcwEbm6rPEXwJuXY5luYjDYvcDf4DkIZfCFW0IdNDgMkyQgWXFIsvpt0XzbCcL2Vux+bIJwtJV8EjAj24d/0O4gKdl20E44UUJhqqQBWoGkjBw0WbcX9aNV4NsgbkEPtXGadX8kE0UrAdJSTowZx1Fp05poyyiHJkgqAyWhBZnB2EFJBJi0XrnkBDhmgqdKuyMtXrF/d9REGLMQuasUxM7NzdyS/F9uXNnpflozWVbWCbseNK04tgovLccTpoFavnCAUM3crpjOiSbUuo8JnAnxTcm3wdmgH7/rDz6/7x0dt3Z00Ev0Gm2hGO2hI/QBnaIhouiX1/HWvQ3vt7/mP/dfXJf6XtvzDP0T/qsrD2qz2A==</latexit>
Si x[n] es real, hemos visto que:
<latexit sha1_base64="0RTjSgdmPNJcjWcZb9ne45cPAL0=">AAACaHicbVFba9RAFJ7EW029pF4Q8WXoNtBauySroBQKxb74pBXddmGThsns2d0hc4kzk9IlBP+jb/4AX/wVzl4UbT0w8J3vnI9zzjdFxZmxcfzd869dv3Hz1trtYP3O3Xv3w40HJ0bVmkKfKq70oCAGOJPQt8xyGFQaiCg4nBbl0bx+eg7aMCU/21kFmSATycaMEuuoPPyaikJdNJ8Y3roYymwLg8FOz1/gKQhl8LlbQeEvNey3OIrSNIhIXh6QvNkr27Pnf7Jy930bRIPt9IOACdk5+I12e2nFdoJoOeVICYWpkgZoDZIyst/mYSfuxovAV0GyAh20iuM8/JaOFK0FSEs5MWaYxJXNGqItoxzaIK0NVISWZAJDByURYLJmYZS7wDEjPFbaPWnxgv1b0RBhzEwUrlMQOzWXa3Pyf7VhbcdvsobJqrbusOWgcc2x827uOh4xDdTymQOEauZ2xXRKNKHW/U3gTEgun3wVnPS6yctu7+OrzuHblR1r6BnaRNsoQa/RIXqHjlEfUfTDW/ceeY+9n37oP/GfLlt9b6V5iP4Jf/MXJl21RQ==</latexit>
Pk = |ak|! Pk = P�k<latexit sha1_base64="iE2ry+4dJan1riCLL2+oNC8mbZM=">AAACfnicbVHLbtNAFB2bVzGvFJZsBtKgltBgBySqSpUqumEFQZA2UmxZ48lNMvI83JlxaeT6M/gxdnwLG8apkaDlSiOdOfd9blZwZmwY/vT8Gzdv3b6zcTe4d//Bw0edzcfHRpWawpgqrvQkIwY4kzC2zHKYFBqIyDicZPlR4z85A22Ykl/tqoBEkIVkc0aJdVTa+d6LRabOqy8Mb51PZbKFwWBXgL/CSxDK4DM3g8KnJezXuNeL42CU5gcXJK3y+gLHmi2WlmitvuGGH6XVbl4HPeJwE9L/6D6T7fiTgAXZOfiD+sO4YDtB2/pICYWpkgZoCZIysl+nnW44CNeGr4OoBV3U2ijt/IhnipYCpKWcGDONwsImFdGWUQ51EJcGCkJzsoCpg5IIMEm1ls+t5ZgZnivtnrR4zf6dURFhzEpkLlIQuzRXfQ35P9+0tPO9pGKyKK1b7LLRvOTYCdrcAs+YBmr5ygFCNXOzYrokmlDrLhY4EaKrK18Hx8NB9GYw/Py2e/i+lWMDPUXP0TaK0Dt0iD6gERojin55z7yXXt9H/gt/1399Gep7bc4T9I/5e78BxNe9zw==</latexit>
genera una simetria par<latexit sha1_base64="X6aZlNPt9FFGYI+dS0NtoK7KEoM=">AAADDXicbVJNb9NAEF2brxI+msKRy4gkUqAkJKESqFKkSr1wKkGQNlIcrPFmk6xs75rddWnk+g9w4a9w4QBCXLlz49+wSUwUWkay9Oa9mdnn2Q2SiGvTav123CtXr12/sXWzdOv2nbvb5Z17x1qmirI+lZFUgwA1i7hgfcNNxAaJYhgHETsJwsOFfnLKlOZSvDXzhI1inAo+4RSNpfwdp1Ib1L1XMZvio+7g3eN6o0hKNS8O5Fn2hkP1bChGVWAa7OToCcxYLDWcWnMS3qdsP4dazfNKtd560Pl65jl4ik9nBpWSH2CjpLd50iSSUmW5HeFnYcNTMhXjvGuTRmhJ9MMuWmH3yCYbbgu02/ESvvZ7KGMJVArNaMoE5bifl1bKlAmmEFKBoHnMjOIICaoc/rbaBKHa88MqUBwjHD3tQNNG7pcrrWZrGXAZtAtQIUX0/PIvbyxpGjNhaIRaD9utxIwyVIbTiFlDqWYJ0hCnbGihwJjpUba8TbtMy4xhIpX9hIElu9mRYaz1PA5sZYxmpi9qC/J/2jA1kxejjIskNXYzq4MmaQT2GhdPA8ZcMWqiuQVIFbdegc7sTqixD6hkl9C++MuXwXGn2X7W7LzeqxzsFevYIg/IQ1InbfKcHJCXpEf6hDofnc/OV+eb+8n94n53f6xKXafouU/+CffnH2jc7oQ=</latexit>
para Pk cada N/2 ....<latexit sha1_base64="goui9jV0jKBA3xd8tfj+WcVI7AE=">AAADDXicbVJNbxMxEN1dvsry0RSOXEYkkQIlIQmVQJUiVeqFUwmCtJGyYTVxnMTatb3Y3tJou3+AC3+FCwcQ4sqdG/8GJ1mi0DKSpTfvjcfjZ4+SmGnTbP52vStXr12/sXXTv3X7zt3t0s69Yy1TRWiPyFiq/gg1jZmgPcNMTPuJoshHMT0ZRYcL/eSUKs2keGvmCR1ynAo2YQSNpcIdt1zt14JXnE7xUaf/7nGtXiR+NeAjeZa9YVA5G4hhBagG2zl+AjPKpYZTO5yE9yndz6FaDQK/2l03Ol/3PIdAsenMoFLyA2yUdDdPmsRSqiy3LcIsqgdKpmKcd2xSjyyJYdRBK+we2WRj2gLttoOErec9lFwCkUJTklJBGO7nf6UpFVQhpAJBM06NYggJqhz8lW4xQqUbRhUgOEY4etqGho08LJWbjeYy4DJoFaDsFNENS7+CsSQpp8KQGLUetJqJGWaoDCMxzf0g1TRBEuGUDiwUyKkeZsvXtGZaZgwTqewSBpbs5o4MudZzPrKVHM1MX9QW5P+0QWomL4YZE0lqrDOrgyZpDPYZF18DxkxRYuK5BUgUs7MCmVlPiLEfyLcmtC5e+TI4bjdazxrt13vlg73Cji3ngfPQqTkt57lz4Lx0uk7PIe5H97P71f3mffK+eN+9H6tSzy323Hf+Ce/nH2GR7oQ=</latexit>
Periodicidad -‐ Fourier -‐ señales a 7empo discreto
Como consecuencia:
<latexit sha1_base64="QrKKUNyAnMyMGLt7HacSnLGUvQ8=">AAACYnicbVFdaxNBFJ1drdZV29Q+6sNgGmipDbuxUCkUin3xSSuaNpBdlruTm2TY+VhmZkvDkj/pm0+++EOcfCjaemHgzLkfc+6ZohLcujj+HoQPHm48erz5JHr67PnWdmvnxZXVtWHYZ1poMyjAouAK+447gYPKIMhC4HVRXizy1zdoLNfqq5tVmEmYKD7mDJyn8task8pC3zb0C9K926HK9iha6ieIN3SKUlt640Xo0zntpGnUgbw8g7w5Kud/cHn40V8G++kniRM4OPuNDntpxQ+i1fgLLTVlWllkNSrG4XSet9pxN14GvQ+SNWiTdVzmrW/pSLNaonJMgLXDJK5c1oBxnAmcR2ltsQJWwgSHHiqQaLNmaZFX75kRHWvjj3J0yf7d0YC0diYLXynBTe3d3IL8X25Yu/G7rOGqqp1fbPXQuBbUabrwm464QebEzANghnutlE3BAHP+VyJvQnJ35fvgqtdN3nZ7n4/b5+/XdmySl+Q12ScJOSHn5AO5JH3CyI9gI9gKtoOfYRTuhLur0jBY9+ySfyJ89QssfrMN</latexit>
Si x[n] es real, hemos visto que:
<latexit sha1_base64="0RTjSgdmPNJcjWcZb9ne45cPAL0=">AAACaHicbVFba9RAFJ7EW029pF4Q8WXoNtBauySroBQKxb74pBXddmGThsns2d0hc4kzk9IlBP+jb/4AX/wVzl4UbT0w8J3vnI9zzjdFxZmxcfzd869dv3Hz1trtYP3O3Xv3w40HJ0bVmkKfKq70oCAGOJPQt8xyGFQaiCg4nBbl0bx+eg7aMCU/21kFmSATycaMEuuoPPyaikJdNJ8Y3roYymwLg8FOz1/gKQhl8LlbQeEvNey3OIrSNIhIXh6QvNkr27Pnf7Jy930bRIPt9IOACdk5+I12e2nFdoJoOeVICYWpkgZoDZIyst/mYSfuxovAV0GyAh20iuM8/JaOFK0FSEs5MWaYxJXNGqItoxzaIK0NVISWZAJDByURYLJmYZS7wDEjPFbaPWnxgv1b0RBhzEwUrlMQOzWXa3Pyf7VhbcdvsobJqrbusOWgcc2x827uOh4xDdTymQOEauZ2xXRKNKHW/U3gTEgun3wVnPS6yctu7+OrzuHblR1r6BnaRNsoQa/RIXqHjlEfUfTDW/ceeY+9n37oP/GfLlt9b6V5iP4Jf/MXJl21RQ==</latexit>
P (⌦) = |X(⌦)|! P (⌦) = P (�⌦)<latexit sha1_base64="YCW7UCm3yW4VyWcUs1v8EgLf5+k=">AAADAnicbVJNbxMxEPUuX2X5SuGCxMUiWSnQJiQBCVQpUkUvnMoiSBspG1azjpNYu7YX21sabSMu/BUuHECIK7+CG/8GJ11CaBnJ0pv3xuPxs+MsZdq0Wr8c98LFS5evbFz1rl2/cfNWZfP2gZa5IrRHZCpVPwZNUyZozzCT0n6mKPA4pYdxsrfQD4+o0kyKN2aW0SGHiWBjRsBYKtp07vr9eviS0wk86PbfPqw3ysTzQx7L4+I1w7XjgRjWMNXYdk638ZRyqfGRHU7idzndmWPfD0MvWPU5WbU8waFik6kBpeR7/LciWD9nnEqpirnnB1GRNEIlczGad23SSCwJUdIFK2zt22Rt1hJtdcKMrabdk1xiIoWmJKeCMNiZ/5EmVFAFOBeANePUKAY4A8vUgiipYez5BEaA9x91cNPGPKpUW83WMvB50C5BFZURRJWf4UiSnFNhSApaD9qtzAwLUIaRlM69MNc0A5LAhA4sFMCpHhbLJ7QOWmaEx1LZJQxesus7CuBaz3hsKzmYqT6rLcj/aYPcjJ8NCyay3FhDTg8a5ym2b7f4D3jEFCUmnVkARDE7KyZTawsx9td41oT22SufBwedZvtxs/PqSXX3eWnHBrqH7qM6aqOnaBe9QAHqIeJ8cD45X5yv7kf3s/vN/X5a6jrlnjvon3B//AYcMemy</latexit>
X(⌦) = X(⌦ + 2⇡)<latexit sha1_base64="aZZ6LHq/xZcHQ4pDwUO7z9Uz1j0=">AAACR3icbZDNaxNBGMZnY9W6fqV69DI0DbRUw24UKkKh6MWTbdG0gey6vDt5kww7H8vMbGlY8t958erNf8FLDxXx6CSNYj9eGPjxPO87886Tl4JbF0Xfg8atldt37q7eC+8/ePjocXPtyZHVlWHYY1po08/BouAKe447gf3SIMhc4HFevJv7xydoLNfqk5uWmEoYKz7iDJyXsubndiJzfVrTj0g3Tgcq3aBoqb9BPKcTlNrSE7+EfjOj7SQJ25AVu5DVL4rZPy62P8zC/mayL3EMW7t/abublHwra7aiTrQoeh3iJbTIsg6y5rdkqFklUTkmwNpBHJUurcE4zgTOwqSyWAIrYIwDjwok2rRe5OBX9MqQjrTxRzm6UP+fqEFaO5W575TgJvaqNxdv8gaVG71Oa67KyqFiFw+NKkGdpvNQ6ZAbZE5MPQAz3O9K2QQMMOejD30I8dUvX4ejbid+2ekevmrtvV3GsUqekXWySWKyQ/bIe3JAeoSRL+QHOSc/g6/BWfAr+H3R2giWM0/JpWoEfwAkW63o</latexit>
X(⌦) = X⇤(�⌦)<latexit sha1_base64="MK7QKRi2ybBHqGHmeHr9G8Tbhd8=">AAAC7nicbVJNb9NAEF2bAsV8pXDksiKJVCgJSUACVapU0QunEgRpI8UhGm8mycreXbO7Lo1c/wguHECIK7+HG/+GdWqq0jKSpbfvzY6f3zhKE25sp/Pb86+sXb12ff1GcPPW7Tt3axv3DozKNMMBU4nSwwgMJlziwHKb4DDVCCJK8DCK90r98Ai14Uq+t8sUxwLmks84A+uoyYa3NtwM3wicw6Od4YfHm63qEDRDEanj/B2njeORHDcoGuoGJ0/oAoUy9Mh5U/RjhtsFbTbDMGj2J/HOCUzyuDihoebzhQWt1Sda8v1J3ooLN3SWKKXzouzO41aoVSanxZkMrrWcsLXvDueMVWirF6b8zNqeEooyJQ2yDCXjsF38leYoUQPNJFDDBVrNgabgmIYz06A0aDKYAt1/2qNtV8WkVu+0O6uil0G3AnVSVX9S+xVOFcsESssSMGbU7aR2nIO2nCVYBGFmMAUWwxxHDkoQaMb5al0uLsdM6Uxp90hLV+z5GzkIY5Yicp0C7MJc1Eryf9oos7OX45zLNLMukNMXzbKEukWVu6dTrpHZZOkAMM2dV8oWLhZm3R8SuBC6Fz/5MjjotbvP2r23z+u7r6o41skD8pBski55QXbJa9InA8K82PvsffW++an/xf/u/zht9b3qzn3yT/k//wBKIeOz</latexit>
X(⌦) = X⇤(�⌦)<latexit sha1_base64="MK7QKRi2ybBHqGHmeHr9G8Tbhd8=">AAAC7nicbVJNb9NAEF2bAsV8pXDksiKJVCgJSUACVapU0QunEgRpI8UhGm8mycreXbO7Lo1c/wguHECIK7+HG/+GdWqq0jKSpbfvzY6f3zhKE25sp/Pb86+sXb12ff1GcPPW7Tt3axv3DozKNMMBU4nSwwgMJlziwHKb4DDVCCJK8DCK90r98Ai14Uq+t8sUxwLmks84A+uoyYa3NtwM3wicw6Od4YfHm63qEDRDEanj/B2njeORHDcoGuoGJ0/oAoUy9Mh5U/RjhtsFbTbDMGj2J/HOCUzyuDihoebzhQWt1Sda8v1J3ooLN3SWKKXzouzO41aoVSanxZkMrrWcsLXvDueMVWirF6b8zNqeEooyJQ2yDCXjsF38leYoUQPNJFDDBVrNgabgmIYz06A0aDKYAt1/2qNtV8WkVu+0O6uil0G3AnVSVX9S+xVOFcsESssSMGbU7aR2nIO2nCVYBGFmMAUWwxxHDkoQaMb5al0uLsdM6Uxp90hLV+z5GzkIY5Yicp0C7MJc1Eryf9oos7OX45zLNLMukNMXzbKEukWVu6dTrpHZZOkAMM2dV8oWLhZm3R8SuBC6Fz/5MjjotbvP2r23z+u7r6o41skD8pBski55QXbJa9InA8K82PvsffW++an/xf/u/zht9b3qzn3yT/k//wBKIeOz</latexit>
genera una simetria par<latexit sha1_base64="X6aZlNPt9FFGYI+dS0NtoK7KEoM=">AAADDXicbVJNb9NAEF2brxI+msKRy4gkUqAkJKESqFKkSr1wKkGQNlIcrPFmk6xs75rddWnk+g9w4a9w4QBCXLlz49+wSUwUWkay9Oa9mdnn2Q2SiGvTav123CtXr12/sXWzdOv2nbvb5Z17x1qmirI+lZFUgwA1i7hgfcNNxAaJYhgHETsJwsOFfnLKlOZSvDXzhI1inAo+4RSNpfwdp1Ib1L1XMZvio+7g3eN6o0hKNS8O5Fn2hkP1bChGVWAa7OToCcxYLDWcWnMS3qdsP4dazfNKtd560Pl65jl4ik9nBpWSH2CjpLd50iSSUmW5HeFnYcNTMhXjvGuTRmhJ9MMuWmH3yCYbbgu02/ESvvZ7KGMJVArNaMoE5bifl1bKlAmmEFKBoHnMjOIICaoc/rbaBKHa88MqUBwjHD3tQNNG7pcrrWZrGXAZtAtQIUX0/PIvbyxpGjNhaIRaD9utxIwyVIbTiFlDqWYJ0hCnbGihwJjpUba8TbtMy4xhIpX9hIElu9mRYaz1PA5sZYxmpi9qC/J/2jA1kxejjIskNXYzq4MmaQT2GhdPA8ZcMWqiuQVIFbdegc7sTqixD6hkl9C++MuXwXGn2X7W7LzeqxzsFevYIg/IQ1InbfKcHJCXpEf6hDofnc/OV+eb+8n94n53f6xKXafouU/+CffnH2jc7oQ=</latexit>
para P (⌦) cada ⇡ ....<latexit sha1_base64="x7YMgdAGMt9GKvOjUwn0WN4jqNM=">AAADNnicbVJNb9NAEF2brxK+UjhyGRFHCpSEJFQCVYpUqRcOqARB2khxsNabTbKyd9fsrksj17+KC7+DWy8cQIgrP4FN4kRpy0iW3rz3dmY8u2ESM22azXPHvXb9xs1bW7dLd+7eu/+gvP3wSMtUEdojMpaqH2JNYyZozzAT036iKOZhTI/D6GCuH59QpZkUH80soUOOJ4KNGcHGUsG287bar/nvOJ3gp53+p2e1epGUqj4P5Wn2gYF3OhBDD6gGWzl+DlPKpYYTO5yEzyndy6Fa9f1StbsudLaueQa+YpOpwUrJL7Bh6W52GsdSqiy3JYIsqvtKpmKUd2xSjyyJg6iDrbBzaJONaQu00/YTtp73QHIJRApNSUoFYXgvX0kTKqjCkAoMmnFqFMOQYJXDymATDF43iDwgeITh8EUbGjby0gV9NUHh8mx7b+kLypVmo7kIuApaBaigIrpB+bs/kiTlVBgSY60HrWZihhlWhpGY2r6ppgkmEZ7QgYUCc6qH2eLa7dYtM4KxVPYTBhbs5okMc61nPLROjs1UX9bm5P+0QWrGr4cZE0lq7AqXjcZpDPa+528IRkxRYuKZBZgoZmcFMrW7Ica+tJJdQuvyL18FR+1G62Wj/X63sr9brGMLPUZPUA210Cu0j96gLuoh4nx1zp2fzi/3m/vD/e3+WVpdpzjzCF0I9+8/mvP8Zw==</latexit>
2⇡<latexit sha1_base64="69S/zugeEiLmYcQU3L8Uuu8wz/o=">AAADPHicbVJLbxMxEPYur7K8UjhyGZGNFCgJSagEqhSpUi+cSnikjZQNkddxEmvX9mJ7S6Pt/jAu/AhunLhwACGunHGSTZWmjGTpm2++eXjsMImZNo3GN8e9cvXa9RtbN71bt+/cvVfavn+kZaoI7RIZS9ULsaYxE7RrmIlpL1EU8zCmx2F0MI8fn1ClmRTvzSyhA44ngo0ZwcZSw23nbStImFfpVYPXnE7w43bvw5NqrXC8SsBDeZq9Y+Cf9sXAB6rBlo+fwpRyqeHETijhY0r3cqhUgsCrdM4LnZ3XPINAscnUYKXkJ1iTdNY7jWMpVZbbEsMsqgVKpmKUt61TiyyJh1Eb28DOYX5h2gLtzK9xPu+B5BKIFJqSlArC8F6+Ck2ooApDKjBoxqlRDEOCVQ4rgXUw+J1h5APBIwyHz1pQt5ZvCFYjFDLf9veXwmGp3Kg3FgaXQbMAZVRYZ1j6GowkSTkVhsRY636zkZhBhpVhJKa5F6SaJphEeEL7FgrMqR5ki8e3a7fMCMZS2SMMLNj1jAxzrWc8tEqOzVRvxubk/2L91IxfDjImktTYHS4bjdMY7IPPfxKMmKLExDMLMFHMzgpkandDjP1vnl1Cc/PKl8FRq958Xm+92S3v7xbr2EIP0SNURU30Au2jV6iDuog4n53vzk/nl/vF/eH+dv8spa5T5DxAF8z9+w8zyv45</latexit>
�2⇡<latexit sha1_base64="TJXeEEojvk7S3ntq9wYJbLGzN0Y=">AAADPXicbVJLbxMxEPYur7K8UjhyschGCpSEJFQCVYpUqRdOJaikjZQNq4njJNau7cX2lkbb/WNc+A/cuHHhAEJcueIkmyhtGcnSN9988/DYwyRm2jQa3xz32vUbN29t3fbu3L13/0Fp++GxlqkitEtkLFVvCJrGTNCuYSamvURR4MOYngyjg3n85JQqzaR4b2YJHXCYCDZmBIylwm3nqNYKEuZVetXgLacTeNrufXhWrRWOVwn4UJ5lRwz7Z30x8DHV2NaPn+Mp5VLjUzuixB9TupfjSiUIvEpnXeh8XfMcB4pNpgaUkp/whqSz2WkcS6my3JYIs6gWKJmKUd62Ti2yJIRRG2xg5zC/MG2BdubXWM97ILnERApNSUoFYbCXr0ITKqgCnArAmnFqFAOcgMrxSmAdwH4njHxMYAT48EUL163llwSrEQqZb/v7S2FYKjfqjYXhq6BZgDIqrBOWvgYjSVJOhSExaN1vNhIzyEAZRmKae0GqaQIkggntWyiAUz3IFq9v126ZER5LZY8weMFuZmTAtZ7xoVVyMFN9OTYn/xfrp2b8epAxkaTG7nDZaJzG2D74/CvhEVOUmHhmARDF7KyYTO1uiLEfzrNLaF6+8lVw3Ko3X9Zb73bL+7vFOrbQY/QEVVETvUL76A3qoC4izmfnu/PT+eV+cX+4v90/S6nrFDmP0AVz//4D2g/+cA==</latexit> �⇡
<latexit sha1_base64="VMlGdSaW7Xafy4hV1VZg4g6fTjo=">AAADPHicbVJLbxMxEPYur7K8UjhyGZGNFCgJSagEqhSpUi+cSnikjZQNkddxEmvX9mJ7S6Pt/jAu/AhunLhwACGunHGSTZWmjGTpm2++eXjsMImZNo3GN8e9cvXa9RtbN71bt+/cvVfavn+kZaoI7RIZS9ULsaYxE7RrmIlpL1EU8zCmx2F0MI8fn1ClmRTvzSyhA44ngo0ZwcZSw23nbS1ImFfpVYPXnE7w43bvw5NqrXC8SsBDeZq9Y+Cf9sXAB6rBlo+fwpRyqeHETijhY0r3cqhUgsCrdM4LnZ3XPINAscnUYKXkJ1iTdNY7jWMpVZbbEsMsqgVKpmKUt61TiyyJh1Eb28DOYX5h2gLttOw1zuc9kFwCkUJTklJBGN7LV6EJFVRhSAUGzTg1imFIsMphJbAOBr8zjHwgeITh8FkL6tbyDcFqhELm2/7+UjgslRv1xsLgMmgWoIwK6wxLX4ORJCmnwpAYa91vNhIzyLAyjMQ094JU0wSTCE9o30KBOdWDbPH4du2WGcFYKnuEgQW7npFhrvWMh1bJsZnqzdic/F+sn5rxy0HGRJIau8Nlo3Eag33w+U+CEVOUmHhmASaK2VmBTO1uiLH/zbNLaG5e+TI4atWbz+utN7vl/d1iHVvoIXqEqqiJXqB99Ap1UBcR57Pz3fnp/HK/uD/c3+6fpdR1ipwH6IK5f/8BJaH+NA==</latexit> ⇡<latexit sha1_base64="RtLlHqbewjCQUYB5gCm9eDKULbM=">AAADO3icbVJLbxMxEPYur7K8UjhyschGCpSEJFQCVYpUqRdOJRWkjZQNq4njJNau7cX2lkbb/V9c+BPcuHDhAEJcueMk2yhNGcnSN9988/DYwyRm2jQa3xz32vUbN29t3fbu3L13/0Fp++GxlqkitEtkLFVvCJrGTNCuYSamvURR4MOYngyjg3n85JQqzaR4b2YJHXCYCDZmBIylwm3nKEiYV+lVg7ecTuBpu/fhWbVWOF4l4EN5lr1j2D/ri4GPqca2evwcTymXGp/aASX+mNK9HFcqQeBVOqtC56ua5zhQbDI1oJT8hNcknfVO41hKleW2RJhFtUDJVIzytnVqkSUhjNpgAzuH+aVpC7TTstdYzXsgucRECk1JSgVhsJdfhCZUUAU4FYA149QoBjgBleMLgXUA+50w8jGBEeDDFy1ct5ZvCC5GKGS+7e8vhWGp3Kg3FoavgmYByqiwTlj6GowkSTkVhsSgdb/ZSMwgA2UYiWnuBammCZAIJrRvoQBO9SBbvL1du2VGeCyVPcLgBbuekQHXesaHVsnBTPVmbE7+L9ZPzfj1IGMiSY3d4bLROI2xffD5R8Ijpigx8cwCIIrZWTGZ2t0QY7+bZ5fQ3LzyVXDcqjdf1ltHu+X93WIdW+gxeoKqqIleoX30BnVQFxHns/Pd+en8cr+4P9zf7p+l1HWKnEfokrl//wF/fP39</latexit>
Tenemos también una simetría cada pi…
Xk = ak =1N
X(k⌦0) =1N
X
✓k
2⇡
N
◆
<latexit sha1_base64="zl1Y3vc3EsgP7Lfxi1iwT5Irwdc=">AAACMXicbZDJSgNBEIZ74hbjFvXoZTAIySXMREE9CAEvOWkEs0AmDD2dmqRJz0J3jRCGvJIX30S85KCIV1/CznLQxIKCn++vort+LxZcoWVNjMza+sbmVnY7t7O7t3+QPzxqqiiRDBosEpFse1SB4CE0kKOAdiyBBp6Alje8nfqtJ5CKR+EjjmLoBrQfcp8zihq5+VrbHd5Q3Y4vKUvtcXo3bheHzn0AfepapT/cEeCjNmeo4sR8Sh3J+wMsufmCVbZmZa4KeyEKZFF1N//q9CKWBBAiE1Spjm3F2E2pRM4EjHNOoiCmbEj70NEypAGobjq7eGyeadIz/UjqDtGc0d8bKQ2UGgWengwoDtSyN4X/eZ0E/atuysM4QQjZ/CE/ESZG5jQ+s8clMBQjLSiTXP/VZAOq80Adck6HYC+fvCqalbJ9Xq48XBSq14s4suSEnJIiscklqZIaqZMGYeSZvJF38mG8GBPj0/iaj2aMxc4x+VPG9w94yKpi</latexit>
Decidimos por ejemplo N=15
Tenemos también una simetría cada N/2…
En Matlab ! Nos llega un vector (claramente, una secuencia de números finita). Digamos de longitud L.
! Si recordáis las formulas de la Serie de Fourier de una señal discreta y periódica (dos sumas; análisis y síntesis), se puede entender que lo mas fácil (computacionalmente) es interpretar que es un periodo de una señal periódica de periodo N>=L.
! Decimos N>=L porque podemos siempre rellenar con ceros.
! Esta operación se suele llamar “Discrete Fourier Transform” (DFT), pero coincide CASI exactamente la serie de Fourier de una señal discreta y periódica.
En Matlab – DFT ! Esta operación se suele llamar “Discrete Fourier Transform” (DFT), pero coincide CASI exactamente la serie de Fourier de una señal discreta y periódica.
! EN LA DFT, EL FACTOR 1/N PASA A ESTAR EN LA ECUACIÓN DE SÍNTESIS (Y SE QUITA DE LA ECUACIÓN DE ANÁLISIS)
! Son muy parecidas: por esto valen exactamente los mismos resultados que ya hemos obtenidos.
Este factor pasa arriba en la DFT
En Matlab – DFT
! EN LA DFT, EL FACTOR 1/N PASA A ESTAR EN LA ECUACIÓN DE SÍNTESIS (Y SE QUITA DE LA ECUACIÓN DE ANÁLISIS)
! Hay una razón para hacer esto…. (pensad a la formula que relaciona la SF con TF….)
Este factor pasa arriba en la DFT
PRIMERA PARTE -‐ Definición DFT
-‐ Fast Fourier Transform (FFT= approx DFT) -‐ Relación DFT con SF de una señal discreta -‐ Relación DFT con TF de una señal discreta
! En esta primera parte, se interpretan las muestras como como una señal discreta (como muestras de una señal discreta).
! En la segunda parte, se interpretarán las muestras como obtenidas a través de un muestreo en el 7empo de una señal con7nua.
DFT
STD
1
Ubicándonos ! Tema 1: Señales y sistemas discretos en el dominio del tiempo ! Tema 2: Señales y sistemas discretos en el dominio de la frecuencia ! Tema 3: Muestreo ! Tema 4: Fundamentos de la Transformada Discreta de Fourier
" 4.1 Definición: la DFT como el muestreo de la Transformada de Fourier " 4.2 Propiedades " 4.3 Convolución circular: definición y relación con la DFT " 4.4 La DFT en Matlab
! Tema 5: Transformada Z ! Tema 6: Introducción al diseño de filtros discretos
# Comentarios: ! Tema muy importante (el más difícil de entender) ! Resumen: los ordenadores sólo pueden calcular DFTs, la DFT puede interpretarse
como el muestreo de la TF (no siempre la TF de la señal original, sino la de una versión enventanada de la señal original)
! Trabajo previo: relación entre la TF de una SD y la TF de un segmento de esa SD
ESQUEMA
DFT
STD
4
Definición de la DFT # ¿Se utiliza sobre SC o sobre SD? ¿periódicas o aperiódicas? # ¿Ecuaciones de análisis y síntesis?
# La DFT es una transformación discreto a discreto, toma señales discretas de longitud finita y devuelve una señal discreta de longitud finita
! x[n] tiene longitud N (ya veremos qué pasa si no es así), XN[k] tiene longitud N
! La definición no es única, depende de N $ Deberemos decir “DFT de longitud N” ! En ocasiones se utiliza la notación:
DEFINICIÓN DE LA DFT
Ec. de síntesis de la DFT
Ec. de análisis de la DFT
DFT
STD
5
Cálculo de la DFT
# Son parecidas a las ecuaciones de la TF, pero más fáciles de calcular
! ¿Cuánto vale la DFT en 0?
! Supongamos que N=4 ¿cuánto vale la DFT en 0, 1, 2, 3?
DEFINICIÓN DE LA DFT
Suma de valores de
x[n]!!
DFT
STD
6
Cálculo de la DFT
! Supongamos que N=4 ¿cuánto vale la DFT de cualquier señal en 0, 1, 2, 3?
DEFINICIÓN DE LA DFT
Cada punto de la DFT se obtiene realizando N sumas y N multiplicaciones $ En total necesitamos N2 sumas y N2 multiplicaciones
DFT
STD
7
Cálculo de la DFT: Ejemplos
! DFT de longitud 4 de las siguientes señales:
# a)
# b)
DEFINICIÓN DE LA DFT
DFT
STD
8
Cálculo de la DFT: Ejemplos
! DFT de longitud 4 de las siguientes señales:
# c)
# d)
DEFINICIÓN DE LA DFT
DFT
STD
9
Cálculo de la DFT
! Cada valor de la DFT N sumas y N multiplicaciones $ Se puede calcular a través de una matriz $ Matriz de DFT (¡es una matriz de Vandermonde!)
DEFINICIÓN DE LA DFT
Para el caso de N=4
Para el caso de N genérico
¡¡La DFT es muy fácil de calcular en un ordenador!!
DFT
STD
10
Cálculo de la DFT
! ¿Se puede calcular también con “papel y lápiz” (simbólicamente)? $ Para casos fáciles sí
# a)
# b)
DEFINICIÓN DE LA DFT
¿Qué pasa con el numerador si N es impar? ¿Y si es par?
DFT
STD
11
Cálculo de la DFT ! Papel y lápiz…
# c)
# d)
DEFINICIÓN DE LA DFT
Más ejemplos: hojas de transformadas y propiedades
DFT
STD
12
Ubicándonos # Tema 4: Fundamentos de la Transformada Discreta de Fourier
! 4.1 Definición: la DFT como el muestreo de la TF " 4.1.0 Introducción " 4.1.1 Definición y ejemplos " 4.1.2 La DFT como el muestreo de la TF " 4.1.3 Problemas y aspectos prácticos
! 4.2 Propiedades ! 4.3 Convolución circular: definición y relación con la DFT ! 4.4 La DFT en Matlab
ESQUEMA
DFT
STD
13
Relacionando la DFT con la TF
# La DFT se parece a la TF de secuencias, comparemos Ecs. Análisis
# Diferencias: ! La TF es continua y la DFT es discreta; la TF es de longitud infinita y la DFT es de
longitud finita; la TF es periódica y la DFT es aperiódica ! ¿Qué pasa si tomamos N muestreas equiespaciadas de la TF en el intervalo [0,2π)?
DFT COMO TF MUESTREADA
La DFT es algo parecido a la TF muestreada ! estudiaremos esto con
mayor detalle
DFT
STD
14
Relacionando la DFT con la TF
# Vamos a estudiar la relación entre DFT y TF para tres casos: ! a) Secuencias de longitud finita definidas entre 0 y N-1
! b) Secuencias de longitud infinita
! c) Secuencias de longitud finita pero definidas fuera del intervalo [0,N-1]
# Vamos a ver que: ! Si tenemos “cuidado”, en los casos a) y c) la DFT puede utilizarse para obtener
muestras de la TF ! En el caso b) sólo podremos obtener los valores de forma aproximada (estaremos
muestreando una TF que no es exactamente la de la señal, pero que sí está relacionada con la TF original)
DFT COMO TF MUESTREADA
DFT
STD
15
Relacionando la DFT con la TF # a) Secuencias de longitud finita definidas entre 0 y N-1
! Si utilizamos el hecho de que la secuencia es finita
! Muestreando en los valores:
DFT COMO TF MUESTREADA
¡¡La DFT es la TF muestreada!!
DFT
STD
16
DFT como TF muestrada: Ejemplo
# Ej. 1:
DFT COMO TF MUESTREADA
La hemos calculado antes
Calculo de la a_k con DFT
! Si pensamos que nuestra señal es realmente periódica y queremos los a_k que tenemos que hacer?
DIVIDIR LO QUE NOS DA LA DFT POR N !
ak =1N
XN [k]<latexit sha1_base64="ciQzP5gqMYd8CMkC+FA+esdYUI0=">AAAB/nicbVDLSsNAFL2pr1pfUXHlZrAIrkpSBd0IRTeuSgX7gDSEyXTSDp08mJkIJQT8FTcuFHHrd7jzb5y2WWjrgQuHc+7l3nv8hDOpLOvbKK2srq1vlDcrW9s7u3vm/kFHxqkgtE1iHouejyXlLKJtxRSnvURQHPqcdv3x7dTvPlIhWRw9qElC3RAPIxYwgpWWPPMIe+PrfiAwyew8a+Y9r+mMXc+sWjVrBrRM7IJUoUDLM7/6g5ikIY0U4VhKx7YS5WZYKEY4zSv9VNIEkzEeUkfTCIdUutns/BydamWAgljoihSaqb8nMhxKOQl93RliNZKL3lT8z3NSFVy5GYuSVNGIzBcFKUcqRtMs0IAJShSfaIKJYPpWREZYZ6F0YhUdgr348jLp1Gv2ea1+f1Ft3BRxlOEYTuAMbLiEBtxBC9pAIINneIU348l4Md6Nj3lryShmDuEPjM8f8BmVeA==</latexit>
DFT
STD
17
DFT como TF muestrada: Ejemplo
# Ej. 2:
DFT COMO TF MUESTREADA
La hemos calculado antes
La hemos calculado antes
Ser consciente de la variable del eje
horizontal correspondiente a cada gráfica es fundamental
DFT
STD
18
DFT como TF muestrada: Ejemplo
# Ej. 3:
DFT COMO TF MUESTREADA
La hemos calculado antes
La hemos calculado antes
¡Ojo, la condición no se cumple!
La condición no se cumple ! la DFT no se corresponde con el muestreo de la TF
DFT
STD
19
DFT como TF muestrada: Ejemplo
# Ej. 4:
DFT COMO TF MUESTREADA
La hemos calculado antes
DFT
STD
38
Problemas: complejidad computacional # Hemos visto que la DFTN puede calcularse a como el producto de un
vector de longitud N por una matriz de tamaño N x N ! Coste computacional: N2 sumas y N2 multiplicaciones complejas ! Si N es muy grande (e.g. 10.000) es demasiado costoso
# Solución: FFT (Fast Fourier Transform) ! Es un algoritmo que permite calcular la DFT de forma más eficiente ! ¿Cómo? Aprovechando la estructura de la matriz de DFT ! N tiene que ser una potencia de 2 ! Coste computacional: log2(N)·N sumas y log2(N/2)·N multiplicaciones complejas
# Comparación: N=8192 $ 134 millones (DFT) vs. 0.2 millones (FFT)
# En la práctica N de hasta 216=65536, las DFT siempre suelen hacerse de potencias de 2 (telefonía celular 4G, telescopios, etc.)
PROBLEMAS E IMPLEMENTACIÓN
DFT
STD
61
Ubicándonos # Tema 4: Fundamentos de la Transformada Discreta de Fourier
! 4.1 Definición: la DFT como el muestreo de la TF ! 4.2 Propiedades ! 4.3 Convolución circular: definición y relación con la DFT ! 4.4 La DFT en Matlab
# Comentarios: ! Bibliografía básica y complementaria: [BB2: Opp&Sch] Cap. 8, Secs. 8.0-8.5; [BB3:
McC&Sch&Yod] Cap. 13, Secs. 13.0-13.5
ESQUEMA
DFT
STD
62
Función en Matlab que calcula la DFT # No existe ni la función dft (idft), sino la función fft (ifft)
FFT(x,N) is the N-point FFT, padded with zeros if x has less than N points and truncated if it has more.
For length N input vector x, the DFT is a length N vector X, with elements N X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N. n=1 The inverse DFT (computed by IFFT) is given by N x(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <= N. k=1
# Le damos el valor de las amplitudes y nos devuelve valor de las amplitudes ! ¿En qué intervalo de tiempo supone Matlab que está definida la señal x? ! ¿Cuáles son los ejes de las amplitudes que nos devuelve fft?
DFT en MATLAB
DFT
STD
63
Función en Matlab que calcula la DFT # ¿Cuáles son los ejes?
N X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N. n=1
N-1 X[k] = sum x[n]*exp(-j*2*pi*k*n/N), 0 <= k <= N-1. n=0
! x=[1 1 1 1 1 zeros(1,15)]; ! X=fft(x,N); ! k=0:(N-1); ! figure; stem(k,abs(X));
DFT en MATLAB
FFT
x = X=fft(x)=
n = k =
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
! Matlab
! Form. teórica
! Conclusión
DFT
STD
64
Estimando la TF de una señal discreta # Asumimos que la señal está definida en [0,N-1] (If not ! enventanado)
! La DFT equivale a tomar N muestras equiespaciadas en el intervalo [0,2π)
! Por tanto: " X=fft(x,N); " Omega=(0:(N-1))*(2*pi/N); " figure; plot(Omega,abs(X));
! ¿Qué pasa si queremos dibujar varios periodos? " X=fft(x,N); X_per=[X, X, X, X] " Omega=(-N:(3*N-1))*(2*pi/N); " figure; plot(Omega,abs(X_per));
DFT en MATLAB
%Utilizamos plot
(continua) y no stem
DFT
STD
65
Estimando la TF de una señal discreta
! ¿Qué pasa si queremos dibujarla en el intervalo [-π,π)? " X=fft(x,N); X_cent=fftshift(X); " Omega = ((-N/2):(N/2-1))*(2*pi/N); " figure; plot(Omega,abs(X_cent));
DFT en MATLAB
SEGUNDA PARTE
! En esta segunda parte, se interpretarán las muestras como obtenidas a través de un muestreo en el 7empo de una señal con7nua.
DFT
STD
66
Estimando la TF de una señal continua # ¿Y qué ocurre con la TF de señales continuas?
! Paso 1: Utilizamos tema muestreo para relacionar TF de señal continua con TF de señal discreta $ 3 efectos: 1) amplitud modificada por 1/Ts, 2) expansión por Ts del eje de frecuencias, 3) réplicas cada 2π
! Paso 2: Utilizamos las transparencia anteriores para relacionar TF de señal discreta con DFT de señal discreta (misma amplitud, eje frec. muestreado)
# Por tanto:
! A) Eje vertical (amplitud): Paso 1 multiplica por 1/Ts, Paso 2 no hace nada $ Hay que multiplicar la amplitud de la DFT por Ts
! B) Eje horizontal (frecuencia): " Paso 1: al muestrear las frecuencias entre 0 y ωs/2 pasan a estar entre 0 y π " Paso 2: Al hacer la DFT las frecuencias entre 0 y π constituyen los primeros N/2
puntos de la DFT " Paso 1 + 2: las N/2 primeros puntos de la DFT corresponden a tomar N/2
muestras de la TF de la señal continua entre 0 y ωs/2
DFT en MATLAB
FFT en Matlab (T, sampling period)
N = 51<latexit sha1_base64="yP0Lu1Pki5v0+yvHqNiGIfgTzS8=">AAACG3icbVDLSsNAFJ3UV42vqks3wVJwFZK0optCwY2rUsE+IAlhMp20QyYPZiZCCf0PN/6KGxeKuBJc+DdO2iy09cCFwzn3cu89fkoJF4bxrVQ2Nre2d6q76t7+weFR7fhkwJOMIdxHCU3YyIccUxLjviCC4lHKMIx8iod+eFP4wwfMOEniezFLsRvBSUwCgqCQklezuu1LU204AYMot5yUzPPuvG3optW01Ab0wvbSMgt95HXt0PVqdUM3FtDWiVmSOijR82qfzjhBWYRjgSjk3DaNVLg5ZIIgiueqk3GcQhTCCbYljWGEuZsvfptrDamMtSBhsmKhLdTfEzmMOJ9FvuyMoJjyVa8Q//PsTATXbk7iNBM4RstFQUY1kWhFUNqYMIwEnUkCESPyVg1NocxCyDhVGYK5+vI6GVi62dStu1a90yrjqIIzcA4ugAmuQAfcgh7oAwQewTN4BW/Kk/KivCsfy9aKUs6cgj9Qvn4A5rme2w==</latexit>
FFT en Matlab (T, sampling period)
2⇡<latexit sha1_base64="plEd4ytRxhc1HJi72CrfdvRliEY=">AAACBHicbVDLSsNAFJ3UV42vqMtuBkvBVUmqoBuh6MZVqWAfkIQwmU7aIZMHMxOhhCzc+CtuXCji1o9w5984bbPQ1gMXDufcy733+CmjQprmt1ZZW9/Y3Kpu6zu7e/sHxuFRXyQZx6SHE5bwoY8EYTQmPUklI8OUExT5jAz88GbmDx4IFzSJ7+U0JW6ExjENKEZSSZ5Razkp1RvIC6+cgCOcW0XeKYZexw5dz6ibTXMOuEqsktRBia5nfDmjBGcRiSVmSAjbMlPp5ohLihkpdCcTJEU4RGNiKxqjiAg3nz9RwIZSRjBIuKpYwrn6eyJHkRDTyFedEZITsezNxP88O5PBpZvTOM0kifFiUZAxKBM4SwSOKCdYsqkiCHOqboV4glQWUuWmqxCs5ZdXSb/VtM6arbvzevu6jKMKauAEnAILXIA2uAVd0AMYPIJn8AretCftRXvXPhatFa2cOQZ/oH3+AFyxl0o=</latexit>
⇡<latexit sha1_base64="K8c9jhQwxmgI2bf6u5sgJ/WO+v4=">AAACA3icbVDLSsNAFJ3UV42vqDvdDJaCq5JUQTdC0Y2rUsE+IAlhMp20QyYPZiZCCQE3/oobF4q49Sfc+TdO2yy09cCFwzn3cu89fsqokKb5rVVWVtfWN6qb+tb2zu6esX/QE0nGMenihCV84CNBGI1JV1LJyCDlBEU+I30/vJn6/QfCBU3iezlJiRuhUUwDipFUkmccOSnV68gLr5yAI5xbRd4uBl7bDl3PqJkNcwa4TKyS1ECJjmd8OcMEZxGJJWZICNsyU+nmiEuKGSl0JxMkRThEI2IrGqOICDef/VDAulKGMEi4qljCmfp7IkeREJPIV50RkmOx6E3F/zw7k8Glm9M4zSSJ8XxRkDEoEzgNBA4pJ1iyiSIIc6puhXiMVBZSxaarEKzFl5dJr9mwzhrNu/Na67qMowqOwQk4BRa4AC1wCzqgCzB4BM/gFbxpT9qL9q59zFsrWjlzCP5A+/wB5pGXDg==</latexit>
2⇡
N= 0.1232
<latexit sha1_base64="wq14RBoCS+b3JyKTYsac6dfJWcs=">AAACFXicbVDLSsNAFJ3UV62vqks3wVJwISFJC7opFNy4KhXsA5oQJtNJO3QyCTMToYT8hBt/xY0LRdwK7vwbJ20W2nrgwuGce7n3Hj+mREjT/NZKG5tb2zvl3cre/sHhUfX4pC+ihCPcQxGN+NCHAlPCcE8SSfEw5hiGPsUDf3aT+4MHzAWJ2L2cx9gN4YSRgCAoleRVL52AQ5TaTkyytJO1TMOyG3alDr1Za2lZuT70OqOZ61VrpmEuoK8TqyA1UKDrVb+ccYSSEDOJKBRiZJmxdFPIJUEUZxUnETiGaAYneKQogyEWbrr4KtPrShnrQcRVMakv1N8TKQyFmIe+6gyhnIpVLxf/80aJDK7dlLA4kZih5aIgobqM9DwifUw4RpLOFYGIE3WrjqZQZSFVkBUVgrX68jrp24bVMOy7Zq3dLOIogzNwDi6ABa5AG9yCLugBBB7BM3gFb9qT9qK9ax/L1pJWzJyCP9A+fwAc4p1/</latexit>
Entre dos puntos hay:
FFT en Matlab (T, sampling period)
2⇡
NT= 0.6160
<latexit sha1_base64="ktHKTyS0ren5VICHJqkXBJPtdxQ=">AAACHHicbVDLSsNAFJ3UV42vqEs3wVJwVZK2VjeFghtXpUJbC0kIk+mkHTJ5MDMRSsiHuPFX3LhQxI0Lwb9x2mahrQcuHM65l3vv8RJKuDCMb6W0sbm1vVPeVff2Dw6PtOOTIY9ThvAAxTRmIw9yTEmEB4IIikcJwzD0KL73gpu5f/+AGSdx1BezBDshnETEJwgKKblao9ptX5qq7TOIsrqdkDzr9vO2UWuZLUOtQjdoLz1TGvnI7VqB42oVo2YsoK8TsyAVUKDnap/2OEZpiCOBKOTcMo1EOBlkgiCKc9VOOU4gCuAEW5JGMMTcyRbP5XpVKmPdj5msSOgL9fdEBkPOZ6EnO0MopnzVm4v/eVYq/GsnI1GSChyh5SI/pbqI9XlS+pgwjASdSQIRI/JWHU2hzELIPFUZgrn68joZ1mtmo1a/a1Y6zSKOMjgD5+ACmOAKdMAt6IEBQOARPINX8KY8KS/Ku/KxbC0pxcwp+APl6wejvp8+</latexit>
Entre dos puntos hay:
!s
2=
⇡
T= 15.7080
<latexit sha1_base64="kdYl5JcBX45EHkA18/eYFJCLo9E=">AAACRnicbZDNS8MwGMbfzu/6NfXopTgGnkozddtlMPDiaSg4N9hKSbN0hqUfJKkwSv86L569+Sd48aCIV7OtB50+EHh4fu9LksdPOJPKcV6M0srq2vrG5pa5vbO7t18+OLyTcSoI7ZKYx6LvY0k5i2hXMcVpPxEUhz6nPX9yOeO9Byoki6NbNU2oG+JxxAJGsNKRV3aHgcAkG8YhHWNP5lktbxVRwvLsNm+hC7vhNB2z2mldILO6gLU57Wjs2HVU1xR7k2IRaZD3vc5g4nrlimM7c1l/DSpMBQpde+Xn4SgmaUgjRTiWcoCcRLkZFooRTnNzmEqaYDLBYzrQNsIhlW42ryG3qjoZWUEs9ImUNU9/bmQ4lHIa+noyxOpeLrNZ+B8bpCpouhmLklTRiCwuClJuqdiadWqNmKBE8ak2mAim32qRe6y7ULp5U5eAlr/819zVbHRm127OK+3zoo5NOIYTOAUEDWjDFVxDFwg8wiu8w4fxZLwZn8bXYrRkFDtH8Esl+AaEEa6x</latexit>
FFT en Matlab (T, sampling period)
2⇡
NT= 0.6160
<latexit sha1_base64="ktHKTyS0ren5VICHJqkXBJPtdxQ=">AAACHHicbVDLSsNAFJ3UV42vqEs3wVJwVZK2VjeFghtXpUJbC0kIk+mkHTJ5MDMRSsiHuPFX3LhQxI0Lwb9x2mahrQcuHM65l3vv8RJKuDCMb6W0sbm1vVPeVff2Dw6PtOOTIY9ThvAAxTRmIw9yTEmEB4IIikcJwzD0KL73gpu5f/+AGSdx1BezBDshnETEJwgKKblao9ptX5qq7TOIsrqdkDzr9vO2UWuZLUOtQjdoLz1TGvnI7VqB42oVo2YsoK8TsyAVUKDnap/2OEZpiCOBKOTcMo1EOBlkgiCKc9VOOU4gCuAEW5JGMMTcyRbP5XpVKmPdj5msSOgL9fdEBkPOZ6EnO0MopnzVm4v/eVYq/GsnI1GSChyh5SI/pbqI9XlS+pgwjASdSQIRI/JWHU2hzELIPFUZgrn68joZ1mtmo1a/a1Y6zSKOMjgD5+ACmOAKdMAt6IEBQOARPINX8KY8KS/Ku/KxbC0pxcwp+APl6wejvp8+</latexit>
Entre dos puntos hay:
!s
2=
⇡
T= 15.7080
<latexit sha1_base64="kdYl5JcBX45EHkA18/eYFJCLo9E=">AAACRnicbZDNS8MwGMbfzu/6NfXopTgGnkozddtlMPDiaSg4N9hKSbN0hqUfJKkwSv86L569+Sd48aCIV7OtB50+EHh4fu9LksdPOJPKcV6M0srq2vrG5pa5vbO7t18+OLyTcSoI7ZKYx6LvY0k5i2hXMcVpPxEUhz6nPX9yOeO9Byoki6NbNU2oG+JxxAJGsNKRV3aHgcAkG8YhHWNP5lktbxVRwvLsNm+hC7vhNB2z2mldILO6gLU57Wjs2HVU1xR7k2IRaZD3vc5g4nrlimM7c1l/DSpMBQpde+Xn4SgmaUgjRTiWcoCcRLkZFooRTnNzmEqaYDLBYzrQNsIhlW42ryG3qjoZWUEs9ImUNU9/bmQ4lHIa+noyxOpeLrNZ+B8bpCpouhmLklTRiCwuClJuqdiadWqNmKBE8ak2mAim32qRe6y7ULp5U5eAlr/819zVbHRm127OK+3zoo5NOIYTOAUEDWjDFVxDFwg8wiu8w4fxZLwZn8bXYrRkFDtH8Esl+AaEEa6x</latexit>
POR NYQUIST ESTO NO TIENE VALOR !!! NO TIENEN “SENTIDO” !!
SI EL MUESTREO EL TIEMPO ESTA BIEN HECHO, PODEMOS “VER” SOLO HASTA LA FRECUENCIA !!! !s
2=
⇡
T= 15.7080
<latexit sha1_base64="kdYl5JcBX45EHkA18/eYFJCLo9E=">AAACRnicbZDNS8MwGMbfzu/6NfXopTgGnkozddtlMPDiaSg4N9hKSbN0hqUfJKkwSv86L569+Sd48aCIV7OtB50+EHh4fu9LksdPOJPKcV6M0srq2vrG5pa5vbO7t18+OLyTcSoI7ZKYx6LvY0k5i2hXMcVpPxEUhz6nPX9yOeO9Byoki6NbNU2oG+JxxAJGsNKRV3aHgcAkG8YhHWNP5lktbxVRwvLsNm+hC7vhNB2z2mldILO6gLU57Wjs2HVU1xR7k2IRaZD3vc5g4nrlimM7c1l/DSpMBQpde+Xn4SgmaUgjRTiWcoCcRLkZFooRTnNzmEqaYDLBYzrQNsIhlW42ryG3qjoZWUEs9ImUNU9/bmQ4lHIa+noyxOpeLrNZ+B8bpCpouhmLklTRiCwuClJuqdiadWqNmKBE8ak2mAim32qRe6y7ULp5U5eAlr/819zVbHRm127OK+3zoo5NOIYTOAUEDWjDFVxDFwg8wiu8w4fxZLwZn8bXYrRkFDtH8Esl+AaEEa6x</latexit>
FFT en Matlab (T, sampling period)
!s
2=
⇡
T= 15.7080
<latexit sha1_base64="Lm0uK5lILLMUya82L/DpOho9+L8=">AAACU3icbVHNS8MwHE3r16xOpx69FMfAU2nq1y6DgRdPY8I2B10paZZucekHSSqM0v9RBA/+I148aLb1oJsPAo/3fo/88hKkjApp2x+avrW9s7tX2TcODqtHx7WT04FIMo5JHycs4cMACcJoTPqSSkaGKScoChh5Cmb3C//phXBBk7gn5ynxIjSJaUgxkkrya8+NUcgRzjtF7hTGio+SiEyQLxZSq5RSWuS9ogVvrDu7aRuNTusGGmXWWbodZdvWLbxVLvJnZRAqoxj6HXfm+bW6bdlLmJsElqQOSnT92ttonOAsIrHEDAnhQjuVXo64pJgRtW0mSIrwDE2Iq2iMIiK8fNlJYTaUMjbDhKsTS3Op/k7kKBJiHgVqMkJyKta9hfif52YybHo5jdNMkhivLgozZsrEXBRsjiknWLK5IghzqnY18RSpLqT6BkOVANefvEkGjgWvLOfxut6+LuuogHNwAS4BBHegDR5AF/QBBq/gE3xrQHvXvnRd316N6lqZOQN/oFd/AL8CsM0=</latexit>
2⇡
NT= 0.6160
<latexit sha1_base64="ktHKTyS0ren5VICHJqkXBJPtdxQ=">AAACHHicbVDLSsNAFJ3UV42vqEs3wVJwVZK2VjeFghtXpUJbC0kIk+mkHTJ5MDMRSsiHuPFX3LhQxI0Lwb9x2mahrQcuHM65l3vv8RJKuDCMb6W0sbm1vVPeVff2Dw6PtOOTIY9ThvAAxTRmIw9yTEmEB4IIikcJwzD0KL73gpu5f/+AGSdx1BezBDshnETEJwgKKblao9ptX5qq7TOIsrqdkDzr9vO2UWuZLUOtQjdoLz1TGvnI7VqB42oVo2YsoK8TsyAVUKDnap/2OEZpiCOBKOTcMo1EOBlkgiCKc9VOOU4gCuAEW5JGMMTcyRbP5XpVKmPdj5msSOgL9fdEBkPOZ6EnO0MopnzVm4v/eVYq/GsnI1GSChyh5SI/pbqI9XlS+pgwjASdSQIRI/JWHU2hzELIPFUZgrn68joZ1mtmo1a/a1Y6zSKOMjgD5+ACmOAKdMAt6IEBQOARPINX8KY8KS/Ku/KxbC0pxcwp+APl6wejvp8+</latexit>
Entre dos puntos hay: N
2= 25.5
<latexit sha1_base64="CIf0DshN8PXaUtophUvhf2RQBtg=">AAACWHicbZHNS8MwGMbT+rXVr6lHL8Ux8FSauqmXwcCLp6GwzcFWSpqlMyxtSpIKo/SfFDzov+LFrKugzhcCD8/vfXmTJ2HKqFSu+26YW9s7u3u1urV/cHh03Dg5HUmeCUyGmDMuxiGShNGEDBVVjIxTQVAcMvIULu5W/OmFCEl5MlDLlPgxmic0ohgpbQUNPo0Ewnm/yL2i63WcjtVaO1MekzkKZAkqK6VFPii6sOPcuLeu1ep3O/C73ytpX2PXuYbXmqJgUQ1CDYpx0J8s/KDRdB23LHtTwEo0QVUPQeN1OuM4i0miMENSTqCbKj9HQlHMSGFNM0lShBdoTiZaJigm0s/LYAq7pZ2ZHXGhT6Ls0v05kaNYymUc6s4YqWf5l63M/9gkU9Gtn9MkzRRJ8HpRlDFbcXuVsj2jgmDFllogLKi+q42fkc5C6b+wdAjw75M3xchz4JXjPbabvXYVRw2cgwtwCSC4AT1wDx7AEGDwBj6NbWPH+DCBuWfW162mUc2cgV9lnn4BN9OwCA==</latexit>
Numero de puntos:
(26; en esta figura falta un punto)
DFT
STD
67
Estimando la TF de una señal continua # Si queremos estimar la TF de la señal continua
! Ts=.001; t=0:Ts:.999; N=length(t); x=sinc((t-.5)/.01);
! X=fft(x,N); ! Omega=(0:(N-1))*(2*pi/N); ! %Esta sería la frec. discreta
! Fs=1/Ts; Ws=2*pi*Fs; ! X_m = Ts*X(1:N/2); ! omega = Omega(1:N/2)/Ts; ! %También omega = Omega(1:N/2)*fs; ! %También omega = (0:(N/2-1))*Ws/N;
! figure; ! subplot(2,1,1); plot(omega,abs(X_m)); ! subplot(2,1,2); plot(omega,angle(X_m)); ! %Ojo, pintamos la mitad
DFT en MATLAB
Resolución espectral (rads/seg)
DFT
STD
68
Estimando la TF de una señal continua # Si queremos estimar también la parte negativa de la TF
! Ts=.001; t=0:Ts:.999; N=length(t); x=sinc((t-.5)/.01);
! X=fft(x,N); X_c = fftshift(X); ! Omega=(-N/2:(N/2-1))*(2*pi/N); ! %También Omega=–pi:(2*pi/N):pi; ! %(sigue) Omega=Omega(1:end-1);
! X_c = Ts*X_c; omega = Omega/Ts; ! %También omega = -(Ws/2):(Ws/N):(Ws/2); ! % (sigue) omega=omega(1:end-1);
! figure; ! subplot(2,1,1); ! plot(omega,abs(X_c)); ! subplot(2,1,2); ! plot(omega,angle(X_c));
DFT en MATLAB
DFT
STD
69
Estimando la TF de una señal continua # Si queremos que las unidades de la TF sean Hz
! Ts=.001; t=0:Ts:.999; N=length(t); x=sinc((t-.5)/.01);
! X=fft(x,N); ! X_c = Ts*fftshift(X);
! Fs=1/Ts;
! f=(-Fs/2):(Fs/N):(Fs/2); ! f=f(1:end-1);
! figure; ! subplot(2,1,1); ! plot(f,abs(X_c)); ! axis([-Fs/2 Fs/2 0 max(abs(X_m))]) ! subplot(2,1,2); ! plot(f,angle(X_c)); ! axis([-Fs/2 Fs/2 -pi pi])
DFT en MATLAB
DFT
STD
70
DFT en Matlab: otros apectos # ¿Qué ocurre si tenemos una señal fuera del intervalo [0,N-1]?
! Tenemos que corregirlo nosotros, desplazándola para llevarla al intervalo [0,N-1] ! La TF cambia (desplazar en tiempo = multiplicar por una exponencial en frecuencia)
! n=-6:6; x=n.^2; N=1000; Omega=0:(2*pi/N):(2*pi-2*pi/N); ! X=fft(x,N); %Matlab siempre asume que empieza en 0 (no hay que hacer nada) ! X_correg = X.*exp(j*6*Omega); %Como no empieza en 0 sino en ==> corregimos
! figure; subplot(2,1,1); plot(abs(X)); ! subplot(2,1,2); plot(angle(X)); ! figure; subplot(2,1,1); plot(abs(X_correg)); ! subplot(2,1,2); plot(angle(X_correg));
DFT en MATLAB
¿Cuál es X y cuál es X_correg ?