{"id":382,"date":"2017-03-12T23:45:48","date_gmt":"2017-03-13T07:45:48","guid":{"rendered":"http:\/\/wonghoi.humgar.com\/blog\/?page_id=382"},"modified":"2025-09-14T15:00:24","modified_gmt":"2025-09-14T23:00:24","slug":"oversimplified-signals-and-systems-5-time-invariance-linearity-superposition-and-convolution","status":"publish","type":"page","link":"https:\/\/wonghoi.humgar.com\/blog\/oversimplified-signals-and-systems-5-time-invariance-linearity-superposition-and-convolution\/","title":{"rendered":"Oversimplified: Signals and Systems (5) \u2013 Time-Invariance, Linearity (Superposition) and Convolution"},"content":{"rendered":"<p>Convolution is one of the major topics in signal processing.\u00a0It&#8217;s the immediate next step after complex numbers and linear algebra: you won&#8217;t get far without mastering convolution first.<\/p>\n<p>Unfortunately, because the traditional approach\u00a0of teaching signal processing assumed the audience doesn&#8217;t know linear algebra, they\u00a0jumped to the definition of convolution instead of telling you what leads to it, then made you go through a bunch of exercises until you feel &#8216;comfortable&#8217; with it.<\/p>\n<p>Here are the common damages caused by\u00a0teaching convolution as a definition rather than\u00a0a concept:<\/p>\n<ul>\n<li>Many will overlook that any LTI system can be fully described as convolution with an impulse response. Very few can confidently tell you why without whipping out a mathematical proof.<\/li>\n<li>Many cannot tell linearity and time-invariance apart*.<\/li>\n<li>Supposedly &#8216;obvious&#8217; connections between convolution to applications (e.g.\u00a0reverberation and ghosting) won&#8217;t get noticed until explicitly\u00a0taught.<\/li>\n<li>The course worked you through\u00a0the painful and mindless &#8216;flip-and-drag&#8217; method solely because the definition of convolution says so.<\/li>\n<\/ul>\n<p>Understanding\u00a0what ideas lead to the definition of convolution will help you spot intuitive applications and write it down\u00a0correctly each time without hesitation. To prevent confusion caused by the common approach, I&#8217;ll go in the following order:<\/p>\n<ol>\n<li>Time invariance<br \/>\nThe &#8216;machinery&#8217; (system) responds to the input sequence exactly the same way regardless of when they show up: the expected output is only delayed as much as the input is delayed, with no other alterations whatsoever.In laymen&#8217;s terms: if you shout at the cliff 5 minutes later than planned, you will hear the exact same echo exactly 5 minutes later than originally expected.<\/p>\n<p>Mathematically, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-3357e33ab2e6ce7b0367ec6a840508f2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#121;&#40;&#116;&#41;&#61;&#102;&#40;&#120;&#40;&#116;&#41;&#41;&#32;&#92;&#105;&#102;&#102;&#32;&#121;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;&#61;&#102;&#40;&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"330\" style=\"vertical-align: -5px;\"\/>. It looks trivial as you just replaced <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-fd9cb27edab3f0a8a249bc80cc9c6ee2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> with <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-f36be7fa34af53463b9e508a6bed02a3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;&#45;&#92;&#116;&#97;&#117;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"38\" style=\"vertical-align: 0px;\"\/>, but if the system <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-f5844370b6482674a233a3063f762555_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"10\" style=\"vertical-align: -4px;\"\/> changes with <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-fd9cb27edab3f0a8a249bc80cc9c6ee2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> (aka time-variant), you have <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-20b616b499f0b04bdabd88eff8ba1570_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;&#40;&#120;&#40;&#116;&#41;&#44;&#32;&#116;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"68\" style=\"vertical-align: -5px;\"\/>. Responding to delayed input becomes <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-142d53531b540c0ee0d55a1af806231b_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;&#40;&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;&#44;&#32;&#116;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"99\" style=\"vertical-align: -5px;\"\/>, not that <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-7940687b8d014e1921c62d0f7c16b1d9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;&#40;&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;&#44;&#32;&#116;&#45;&#92;&#116;&#97;&#117;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"131\" style=\"vertical-align: -5px;\"\/> you wished for. The relationship is not simple anymore!<\/li>\n<li>Linearity (Superposition)<br \/>\nSuperposition doesn&#8217;t care what kind of inputs you feed into it: It can be genuinely from multiple simultaneous sources, how you imagine the inputs\u00a0could be broken down into, or even a data <strong>point<\/strong> coming from the future or past copy of itself.Superposition simply doesn&#8217;t have the concept of time. It provides the same treatment to each (additive) input components so that the pooled output will\u00a0be the same as if the inputs were lumped (summed) together.<\/p>\n<p>Mathematically, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-e995806008d3c5c3e221cf1de0dd1591_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#102;&#40;&#120;&#95;&#49;&#32;&#43;&#32;&#120;&#95;&#50;&#32;&#43;&#32;&#46;&#46;&#46;&#32;&#43;&#32;&#120;&#95;&#110;&#41;&#32;&#61;&#32;&#102;&#40;&#120;&#95;&#49;&#41;&#32;&#43;&#32;&#102;&#40;&#120;&#95;&#50;&#41;&#32;&#43;&#32;&#46;&#46;&#46;&#32;&#102;&#40;&#120;&#95;&#110;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"368\" style=\"vertical-align: -5px;\"\/>. It doesn&#8217;t care what you have for <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-d7aa45c8899989487fb32dab51a8f7d7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"11\" width=\"16\" style=\"vertical-align: -3px;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-de02251c2c969c17b8633e299d9a2244_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#50;\" title=\"Rendered by QuickLaTeX.com\" height=\"11\" width=\"17\" style=\"vertical-align: -3px;\"\/>, &#8230;, etc. You can have <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-f6dafd20110b391309803b20b2dc1816_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#123;&#49;&#125;&#61;&#92;&#112;&#105;\" title=\"Rendered by QuickLaTeX.com\" height=\"11\" width=\"52\" style=\"vertical-align: -3px;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-d4bf9ce3d31386a43f3eee2038750bde_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#123;&#50;&#125;&#61;&#92;&#115;&#105;&#110;&#40;&#116;&#95;&#48;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"90\" style=\"vertical-align: -5px;\"\/>, <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-3b592700cac742162a09bd9802eb8f07_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#123;&#51;&#125;&#61;&#45;&#55;&#120;&#95;&#123;&#50;&#125;&#40;&#116;&#95;&#48;&#45;&#92;&#116;&#97;&#117;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"140\" style=\"vertical-align: -5px;\"\/>, &#8230; and so on. I used <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-c1a3f4a217f20d31e6f72a2f42a2e7dd_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;&#95;&#48;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"13\" style=\"vertical-align: -3px;\"\/>\u00a0to emphasize that it&#8217;s a snapshot (data point) which doesn&#8217;t generalize across time like <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-fd9cb27edab3f0a8a249bc80cc9c6ee2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/> does.<\/li>\n<li>LTI: Superposition over different delays made possible by time-invariance<br \/>\nBecause linearity by itself doesn&#8217;t have any memory (or any concept of time),\u00a0superposition only applies snapshot-wise (reacting to\u00a0the set of\u00a0input components it sees at the same time).This mean superposition <strong>alone<\/strong> does not apply <strong>across<\/strong> different times.<\/p>\n<p>In other words, the input components are\u00a0<strong>instantaneous points<\/strong> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-88fa4a4bb2d4d36dc1ca94f17176f83f_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#91;&#120;&#95;&#49;&#40;&#116;&#95;&#48;&#41;&#44;&#32;&#120;&#95;&#50;&#40;&#116;&#95;&#48;&#41;&#44;&#32;&#46;&#46;&#46;&#32;&#120;&#95;&#110;&#40;&#116;&#95;&#48;&#41;&#93;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"175\" style=\"vertical-align: -5px;\"\/>, <strong>not functions<\/strong> of time! To generalize superposition to component input functions <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-59e07c322a0483f9403a386962f9cdf6_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#123;&#120;&#95;&#49;&#40;&#116;&#41;&#44;&#32;&#120;&#95;&#50;&#40;&#116;&#41;&#44;&#32;&#46;&#46;&#46;&#32;&#120;&#95;&#110;&#40;&#116;&#41;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"145\" style=\"vertical-align: -5px;\"\/> working across different times <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-fd9cb27edab3f0a8a249bc80cc9c6ee2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#116;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"6\" style=\"vertical-align: 0px;\"\/>, i.e. taking a linear combination of functions instead of just points, you&#8217;ll need the system to stay fixed (time invariant) so the later inputs are treated by the same system as the earlier ones.This is why LTI systems are often desirable:\u00a0the time-invarance property (TI)\u00a0allows a linear system (L) to accept a delayed copy of a function (e.g. <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-7747d39ef3c323a31ce23cb6cdda9f33_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#95;&#50;&#40;&#116;&#41;&#61;&#120;&#95;&#49;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"130\" style=\"vertical-align: -5px;\"\/>) as one of the legitimate inputs\u00a0for superposition.<\/li>\n<li>Express LTI mathematically: convolution<br \/>\nLet&#8217;s call a delayed copy of a function <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-40302ccbeccbc9b10d4717ea9ab0652c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"61\" style=\"vertical-align: -5px;\"\/> an <em>echo.<\/em> For each <em>echo<\/em> (at delay <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-2d0f4e922bf6aa03f0b4a3128b5a72d5_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#116;&#97;&#117;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"10\" style=\"vertical-align: 0px;\"\/>), an LTI system assigns a gain\/attenuation factor <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-43652b6d883b151f356e1cc06fe8b704_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;&#40;&#92;&#116;&#97;&#117;&#41;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"33\" style=\"vertical-align: -5px;\"\/>. The output is all the gained\/attenuated <em>echos<\/em>\u00a0combined (pooled) together by a sum <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-c2ecce116220b700a56254fe67ce9f39_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#115;&#117;&#109;&#95;&#123;&#92;&#116;&#97;&#117;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"18\" width=\"27\" style=\"vertical-align: -5px;\"\/> or an integral <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-df817aa498136071e9f71bd2f66b125c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#105;&#110;&#116;&#95;&#123;&#92;&#116;&#97;&#117;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"20\" width=\"16\" style=\"vertical-align: -6px;\"\/>.<\/p>\n<p>Write it out mathematically:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 41px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-1ebd51c4de13d983255ca2aaa06c2591_l3.png\" height=\"41\" width=\"116\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\"&#92;&#91; &#92;&#105;&#110;&#116;&#95;&#123;&#92;&#116;&#97;&#117;&#125;&#32;&#104;&#40;&#92;&#116;&#97;&#117;&#41;&#32;&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41; &#92;&#93;\" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<p>In linear algebra speak, the output of the LTI is a linear combination of different echos (functions at different shifts <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-fac4d5856b558c5095c4207240e513b2_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#40;&#116;&#45;&#92;&#116;&#97;&#117;&#41;&#44;&#32;&#92;&#102;&#111;&#114;&#97;&#108;&#108;&#92;&#116;&#97;&#117;\" title=\"Rendered by QuickLaTeX.com\" height=\"19\" width=\"90\" style=\"vertical-align: -5px;\"\/>), weighted by the impulse response <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-2ce27f7d2d82e3b238176ec7e7ee9118_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#104;\" title=\"Rendered by QuickLaTeX.com\" height=\"12\" width=\"10\" style=\"vertical-align: 0px;\"\/>.There is no way you can remember the definition of convolution wrong if you think of it as weighting each echo before lumping them together! It&#8217;s immediately obvious that <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/ql-cache\/quicklatex.com-2d0f4e922bf6aa03f0b4a3128b5a72d5_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#116;&#97;&#117;\" title=\"Rendered by QuickLaTeX.com\" height=\"8\" width=\"10\" style=\"vertical-align: 0px;\"\/> is the running variable (to sum over), samples the impulse response, and is the delay offset because it represents (indexes) each echo!<\/li>\n<\/ol>\n<p>At this point, you have already noticed convolution directly represents reverberation (multiple echos in a room) and ghosting (multi-path reflection has multiple copies of the same signal attenuated and arrive at the receiver with different delays).<\/p>\n<hr \/>\n<p>* Bad enough that the pioneers of adaptive filters\u00a0had to debate in their textbooks whether an adaptive (linear combiner) filter (an advanced topic) is linear or not. Adaptive filters are instantaneously linear, but intentionally very time-variant!<\/p>\n<p>If the filter coefficients\u00a0never change with time (time-invariant), superposition still applies!\u00a0The only catch is that with adaptive filters, you cannot consider\u00a0delayed copies as input components for the purpose of superposition because a time-varying system will treat each delayed copy\u00a0differently.<\/p>\n<p>Think of it as 4 different linear systems (one for each time instance): only if all 4 systems are identical, you can pool the results together and pretend it&#8217;s one system. Individually they are linear systems, but without the time-invariant property, you cannot bunch them together and pretend it&#8217;s one system at all times.<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_382\" class=\"pvc_stats all  \" data-element-id=\"382\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Convolution is one of the major topics in signal processing.\u00a0It&#8217;s the immediate next step after complex numbers and linear algebra: you won&#8217;t get far without mastering convolution first. Unfortunately, because the traditional approach\u00a0of teaching signal processing assumed the audience doesn&#8217;t &hellip; <a href=\"https:\/\/wonghoi.humgar.com\/blog\/oversimplified-signals-and-systems-5-time-invariance-linearity-superposition-and-convolution\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_382\" class=\"pvc_stats all  \" data-element-id=\"382\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/wonghoi.humgar.com\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-382","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/pages\/382","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/comments?post=382"}],"version-history":[{"count":41,"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/pages\/382\/revisions"}],"predecessor-version":[{"id":6568,"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/pages\/382\/revisions\/6568"}],"wp:attachment":[{"href":"https:\/\/wonghoi.humgar.com\/blog\/wp-json\/wp\/v2\/media?parent=382"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}