A DFT “periodic inputs” question
I hope I won't repeat what you already know...
It's not the DFT/FFT algorithm &quot;who&quot; views (or &quot;assumes&quot;, or &quot;interprets&quot;) it being periodic, rather it's the &quot;mathematician's mindset&quot; which assumed periodic signals at the input of the algorithm, and designed the algorithm that way.
It's exactly on par with saying that &quot;Newton's laws assume that space &amp; time are absolute...&quot;; laws of mechanics do not have a &quot;brain&quot; to assume such a thing, rather Newton himself made that assumption that the time &amp; space were absolute, and then formulated his laws accordingly, which compute dynamical quantities based on that assumption.
Today we know (believe) that those assumptions are not valid (Special Relativity), yet if you use Newton's laws to compute high-speed phenomena, you may end up objects having speeds larger than speed of light; this inconsistency is due to fact that the &quot;assumptions of the law&quot; are not validated. Here the assumptions are reflected into the mathematical structure of the formulation of the law.
Moving to DSP; in essence, Discrete Fourier Transform (DFT) is by definition one period of the Discrete Fourier Series (DFS); and very naturally DFS works with periodic sequences. I don't know who defined it that way, but it's the case.
So, you cannot compute the DFS of a single rectangular pulse, for example. If you try to find the DFS/DFT coefficients of such a nonperiodic pulse, internally, the mathematical algorithm treats it as if it were periodically extended, and computes the coefficients that way; by fitting periodic sine waves to the periodically extending waveform. Then, when you want to synthesize back the input waveform with the given DFT/DFS coefficients, and evaluating the formula for all n, then you will get not a single pulse but a periodic extension of that pulse. So the zeros outside of the pulse duration are not naturally generated by the inverse DFS/DFT (synthesis) formula.
You must externally force your output to be zero for those out of duration samples. And that's typically what's done with the DFT block length definition.