Instructions for Matt Herman's Java demo on Sampling and Aliasing in One Dimension

    Click here for the Java demo.
    Scroll down to the bottom of the demo. You'll see some buttons.
    (Note, you can start over at any time by clicking on the button "Reset.")

    Click on the button "Show x(t)." You should see the graph of a function (or signal) x in time.
    Click on the button "Show |X(f)|." You should see the graph (red triangle) of the Fourier Transform X of the function x.

    Click on the button "Show Delta Train." Look at the time axis [t] and drag the little green circle to the left or right.
    This will change the sample rate in time (i.e., the spacing of the delta train's periodicity).
    You should see the corresponding change of delta train's periodicity along frequency axis [f].

    Click on the button "Sample x(t)."
    By dragging the green dot to the left and right you can see how the sample rate in the time domain affects aliasing in the frequency domain.

    Move the green dot so that there is no aliasing (i.e., so that the red triangles do not overlap).
    Click on the button "LPF" (LPF stands for "Low-Pass Filter"). You should see the shape of an ideal LPF in the frequency domain.

    Click on the button "Filter?". This simulates filtering the sampled function.
    You should now see the original function x and its Fourier Transform X.

    Anti-Aliasing Filter

    Go back to the beginning and repeat these steps, however, before the sampling step click on the button "AntiAlias."
    You should see the shape of an ideal LPF with smaller bandwidth (less support in the frequency domain).

    Click on the button "Chop?". This simulates prefiltering the signal x with an Anti-Aliasing filter.
    Essentially, we have chopped the sidelobes of X. The result is a signal with smaller bandwidth.

    The sidelobes contain the high frequency content of the original signal.
    Using the anti-aliasing filter eliminates these frequencies.
    Notice that the signal x in the time domain is less oscillatory (i.e., it wiggles less) now.

    You can return the signal to its original state by clicking on the button "UnChop?".
    You can also cycle through the "AntiAlias", "Chop?", "UnChop?" buttons to see their effect on the the signal and its Fourier Transform.

    After anti-aliasing the signal (with its narrower bandwidth) click on the button "Sample x(t).
    Now you can slide the green button further to the right which simulates a slower sample rate in time.
    Notice that the chopped Fourier Transforms can be grouped closer together without overlapping.

    Again click on the button "LPF." You should see the shape of the ideal Anti-Aliasing filter.
    Click on the button "Filter?". You should now see the original anti-aliased function x and its chopped Fourier Transform.

    (There are a few minor bugs, but if you get stuck, you can always click on the "Reset" button.)