2

As far as I know, memoryless systems are causal systems. But why aren't systems with memory necessarily causal?

Since the system with memory is affected by past input and current input, I think that this property is the same as causality.

Peter K.
  • 25,714
  • 9
  • 46
  • 91
  • 1
    Please be more careful when choosing tags. This has nothing to do with the FFT. – Rodrigo de Azevedo Oct 05 '21 at 09:30
  • I have never seen "memoryful system", but "memory" or "non-memoryless". Do you have a reference? – Laurent Duval Oct 05 '21 at 11:16
  • @LaurentDuval It is my update. I think "memory system" is silly. Better use an adjective. – Rodrigo de Azevedo Oct 05 '21 at 12:46
  • Gramatically, ok. Yet did you try to find "memoryful system" in a DSP related text, book, page? I did not. Let us stick to the field denomination – Laurent Duval Oct 05 '21 at 13:07
  • @LaurentDuval Why stick to the field denomination when it's a stupid concatenation of two nouns? Some of the big names in DSP are not even native speakers of English. I know PhD's in STEM who cannot tell the difference between the contraction of "it is" and "its". – Rodrigo de Azevedo Oct 05 '21 at 13:23
  • 1
    Its true :) Yet.. Modifying a question with a grammatical form that some of us (please, colleagues, tell me if I am wrong) have never seen in legit DSP book (and that I could not find over the Internet so far) seems extreme to me, and not useful to the community. Do not hesitate to invest in terminology groups, and please tell us when you unstandardize "transfer function" or "block convolution" – Laurent Duval Oct 05 '21 at 13:44
  • @LaurentDuval I see no reason to topple terminology that is grammatically correct. Moreover, it's obvious what the term means. Lastly, I do not object to non-memoryless. It is a bit strange — as non-memorylessness is arguably the norm — but at least it's an adjective. Much of the DSP community is already a bit too relaxed when it comes to mathematical rigor. Should it be too relaxed grammar-wise, too? – Rodrigo de Azevedo Oct 05 '21 at 13:46
  • 2
    "System with memory" is grammatically correct, and flows nicely. Yes, "memoryless system" and "system with memory" may not be perfectly grammatically symmetrical -- but they still work, and should avoid arguments with pedants. – TimWescott Oct 05 '21 at 16:57
  • @TimWescott Grammar is not pedantry, it is convention. If you do not wish to adhere to convention, then exit society. – Rodrigo de Azevedo Oct 05 '21 at 17:00
  • 1
    "Memoryless system" or "instantaneous system" vs. "system with memory" or "dynamic system". Enough accepted and grammatically as well as technically correct terms, so no need to invent new ones. – Matt L. Oct 13 '21 at 09:17

3 Answers3

3

A system is memoryless if its output at a given time is dependent only on the input at that same time (and potentially the time itself). The converse is called a system with memory ("memory system" or "non-memoryless"): it can use past or future information. A causal system only on past inputs and outputs.

Nota: the notion of "future" here is relative to the system. To me, it amount to getting/buffering future samples prior to computing something on the present sample. One example is the decoding on images in video. The compression principle being based on predicting motions from one frame to the others, standards use intra pictures (coded independently), and others in a "GoP" (group of picture) can be coded using past or past and future images, resulting in a non causal transmissions, but with memory.

video coding and pictures transmission in a gop

There other pointers:

Laurent Duval
  • 31,850
  • 3
  • 33
  • 101
2

A system with memory might depend its output at older input.

It doesn't say it can't also depend on future input.

So, "having memory" and "being causal" are simply two different things.

Marcus Müller
  • 30,525
  • 4
  • 34
  • 58
  • I'm trying to decide if one would want to characterize a non-causal system as "remembering" stuff that happened in the future ("premembering"?), or if just leaving it as "depending on future inputs" would avoid time spent making sense out of nonsensical things. – TimWescott Oct 05 '21 at 17:00
  • yeah, nothing's harder than unambigously naming things :) That's why I settled on "If someone tells you a system has memory, simply make no assumptions but that it has memory". I'd personally go with your idea – and consider "memory" as "has state that spans more than a single point in time", but, it's not really there in the word... – Marcus Müller Oct 05 '21 at 17:59
0

Having memory and being causal are two different things. However, there is some correlation between the two, because a memoryless (also called instantaneous) system must be causal because it only depends on the current input, not on any past or future inputs.

A system with memory (also called dynamic) can be either causal or non-causal. This is simply the case because any system that is not instantaneous must be dynamic, i.e., have memory, which, by definition, must include causal and non-causal systems.

E.g., the system with input-output relation

$$y(t)=\int_{t-T}^{t+T}x(\tau)d\tau\tag{1}$$

is certainly not memoryless, hence it is dynamic. It depends on past inputs as well as on future inputs, making it a non-causal system.

Matt L.
  • 89,963
  • 9
  • 79
  • 179