Skip to content

Properties of the Fourier transform

Delay, squeeze, multiply, convolve and differentiate a signal, and read each change in its spectrum from one rule per operation.

Before this5.3 · 7.2 · 6 more
Chapter 8 · Lesson 2 of 4

First, the picture

I run every operation on this page on one signal, the unit pulse: 1 for ∣t∣<12\lvert t\rvert<\tfrac12 and 0 elsewhere. First I move it 1 s later. Does every frequency turn by the same angle? Watch the size of the spectrum, then the three dials under it.

Property lab: delay

The unit pulse moves 1 s later. Three dials show how far each frequency turns.

No delay yet.

delay t₀
0 s
dial at π/2 rad/s
turned by 0°
dial at π rad/s
turned by 0°
dial at 3π/2 rad/s
turned by 0°
0.00 / 8.00 s
Describe this picture

Two panels: the pulse in time on top, and the size of its spectrum under it, each with a faint copy of the untouched pulse and its spectrum. The pulse moves 1 s later: the delay eases from 0 to 0.5 s, holds for a moment, then eases on to 1 s and holds. A bracket “delay” runs from 0 to t0t_0 on the time panel, and the readout “delay t₀” shows the delay in seconds. Under the spectrum are three dials, “dial at π/2 rad/s”, “dial at π rad/s” and “dial at 3π/2 rad/s”, each showing “turned by” in degrees; each frequency is marked on the size curve by the shape of its dial label, a circle, a square and a triangle. The dials read −45°-45°, −90°-90° and −135°-135° at 0.5 s and −90°-90°, −180°-180° and −270°-270° at 1 s. There is no control.

One signal, five operations

Every operation you can do to a signal in time has a matching change in its spectrum. You can delay a signal, squeeze it, multiply it by another, convolve it, or differentiate it. This page takes the operations one at a time and gives the matching rule for each.

I run all of them on the unit pulse, written rect(t)\mathrm{rect}(t). On the page From series to transform (8.1) you saw that its spectrum is X(jω)=sin⁡(ω/2)ω/2X(j\omega)=\dfrac{\sin(\omega/2)}{\omega/2}, with ω\omega in rad/s. That spectrum is 1 at ω=0\omega=0 and first reaches zero at ω=2π\omega=2\pi rad/s. The width of the pulse, 1 s, times that first zero, 2π2\pi rad/s, is 2π2\pi.

The instruments on this page use one fixed frame: time on top, spectrum under it, with a faint copy of the untouched pulse so you can see what moved. The spectrum panel shows one quantity throughout, the size ∣X(jω)∣\lvert X(j\omega)\rvert. A delay makes XX complex, and a complex number cannot be drawn as one signed curve, so I draw its size.

One rule needs no instrument. The transform is an integral, and an integral of a sum is the sum of the integrals, so the transform of ax(t)+by(t)ax(t)+by(t) is aX(jω)+bY(jω)aX(j\omega)+bY(j\omega). This is linearity. It is why a spectrum can be built, and taken apart, one arrow at a time.

A delay turns every frequency by a different angle

The picture at the top of the page moved the pulse 1 s later. Here is a way to guess what it showed. The same song played a second later has the same notes at the same loudness. Only the timing changed. So I expect the size of the spectrum to stay put, and the angles to carry the delay.

Delay the signal by t0t_0 seconds and its transform becomes

x(t−t0) ↔ e−jωt0X(jω).x(t-t_0)\ \leftrightarrow\ e^{-j\omega t_0}X(j\omega).

To see why, substitute u=t−t0u=t-t_0 inside the integral ∫x(t−t0)e−jωt dt\int x(t-t_0)e^{-j\omega t}\,dt. Then t=u+t0t=u+t_0, and the factor e−jωt0e^{-j\omega t_0} comes out of the integral, leaving X(jω)X(j\omega). The factor e−jωt0e^{-j\omega t_0} has size 1, so ∣X∣\lvert X\rvert is untouched. It turns frequency ω\omega by −ωt0-\omega t_0 radians, so higher frequencies turn further. This is the rule from Fourier series coefficients (7.2): there, line kk turned by −kω0t0-k\omega_0t_0, and now every ω\omega does.

Now look at the picture again. The size curve does not move, and the faint unit pulse’s spectrum stays exactly under the bold curve, while the dials turn. At t0=0.5t_0=0.5 s the dials read −45°-45°, −90°-90° and −135°-135°: the dial at π\pi rad/s has turned twice as far as the one at π/2\pi/2. On to t0=1t_0=1 s, each dial keeps turning in proportion to ω\omega, to −90°-90°, −180°-180° and −270°-270°. Check one with the rule: −ωt0=−π/2-\omega t_0=-\pi/2 rad =−90°=-90° for ω=π/2\omega=\pi/2 and t0=1t_0=1 s.

I chose those three frequencies because the spectrum is positive and nonzero there: 0.9000.900, 0.6370.637 and 0.3000.300. So a dial never sits on a zero or on a sign flip. The readout counts the whole turn, so a turn past −180°-180° is never a jump.

Plotted against ω\omega, the turn −ωt0-\omega t_0 is a straight line with slope −t0-t_0. I come back to that line in Frequency response and Bode plots (8.4).

A squeeze in time stretches the spectrum

Squeeze the pulse to half its length and keep its height at 1. Its spectrum has to change, and the rule says how. For x(at)x(at) with a>0a>0, substitute u=atu=at in the integral. Then dt=du/adt=du/a, and the exponent becomes e−j(ω/a)ue^{-j(\omega/a)u}:

x(at) ↔ 1∣a∣ X ⁣(jωa).x(at)\ \leftrightarrow\ \frac1{\lvert a\rvert}\,X\!\left(j\frac{\omega}{a}\right).

For a<0a<0 the same steps hold with the absolute value in front. With a=−1a=-1 this gives the reversal rule: x(−t)↔X(−jω)x(-t)\leftrightarrow X(-j\omega).

Watch the spectrum as aa eases from 1 to 2, and keep an eye on the product of the width and the first zero.

Property lab: squeeze

The unit pulse squeezed to half its length, height kept at 1.

The unit pulse and its spectrum.

width
1 s
first zero
6.283 rad/s
width × first zero
6.283
0.00 / 6.00 s
Describe this picture

The same two panels, with the faint “unit pulse” and the bold “squeezed pulse”; aa eases from 1 to 2 and then holds. The readouts are “width” in seconds, “first zero” in rad/s and “width × first zero”, and the spectrum’s peak is named “height 1”, “height 0.667” and “height 0.5” as it falls. At a=1.5a=1.5 the readouts are 0.667 s and 3π3\pi; at a=2a=2 they are 0.5 s and 4π4\pi. The product reads 2π2\pi throughout.

Shorter in time means wider in frequency, and lower. Halfway, at a=1.5a=1.5, the width is 0.6670.667 s, the spectrum at ω=0\omega=0 is 0.6670.667 and the first zero is 3π=9.4253\pi=9.425 rad/s. At the end the pulse is half as long, the spectrum is twice as wide and half as tall: width 0.50.5 s, height 0.50.5, first zero 4π=12.5664\pi=12.566 rad/s. Notice that “width × first zero” reads 2π2\pi at every frame.

That steady product is the time–bandwidth trade: a shorter signal needs a wider band of frequencies. It differs slightly from the trade on page 8.1. There I kept the pulse’s area at 1, so the centre of the spectrum stayed at 1. Here I keep the pulse’s height at 1, so its area halves, and the centre of the spectrum halves with it.

You may meet the general form of this trade, with widths measured by spread, under the name uncertainty principle of signals. It is a fact about the shapes of a signal and its spectrum. It is not about measuring badly. The general form is on the reference card at the end.

A sound shows the same thing. A tone burst played at double speed is half as long and an octave higher.

Multiply by a cosine and the spectrum splits in two

First, multiply by one arrow. If you multiply x(t)x(t) by ejω1te^{j\omega_1t}, the integral becomes ∫x(t)e−j(ω−ω1)t dt\int x(t)e^{-j(\omega-\omega_1)t}\,dt, which is XX evaluated at ω−ω1\omega-\omega_1. So the whole spectrum slides up by ω1\omega_1:

ejω1tx(t) ↔ X(j(ω−ω1)).e^{j\omega_1t}x(t)\ \leftrightarrow\ X\bigl(j(\omega-\omega_1)\bigr).

I call this the frequency shift. It is the mirror of the delay: a shift in time multiplies the spectrum by an arrow, and a shift in frequency multiplies the signal by one. Here ω1\omega_1 is the shift frequency. It is not the fundamental ω0\omega_0 of the series pages.

A cosine is two arrows of half size, one at +ω1+\omega_1 and one at −ω1-\omega_1, as on the page Complex exponentials & phasors (3.4). So multiplying by cos⁡ω1t\cos\omega_1t gives two copies of the spectrum, each at half height:

x(t)cos⁡ω1t ↔ 12[X(j(ω−ω1))+X(j(ω+ω1))].x(t)\cos\omega_1t\ \leftrightarrow\ \tfrac12\Bigl[X\bigl(j(\omega-\omega_1)\bigr)+X\bigl(j(\omega+\omega_1)\bigr)\Bigr].

This is modulation. Watch the two half copies of the spectrum as ω1\omega_1 eases from 0 to 4π4\pi rad/s, which is two turns per second.

Property lab: multiply by a cosine

The unit pulse times cos ω₁t, as ω₁ rises from 0 to 4π rad/s.

cos 0 = 1: two half copies sit on top of each other.

ω₁
0 rad/s
size of the sum at ±ω₁
1
0.00 / 8.00 s
Describe this picture

The time panel shows the “unit pulse”, the dotted “cos ω₁t” and, bold, “pulse × cos ω₁t”: the pulse with the carrier inside. The spectrum panel draws “copy at +ω₁” as a dashed outline, “copy at −ω₁” as a dotted one, and “size of the sum” as the bold curve. The frequency ω1\omega_1 eases from 0 to 4π4\pi rad/s and then holds. The readouts are “ω₁” and “size of the sum at ±ω₁”, which reads 0.5 at 2π2\pi and at 4π4\pi.

At the start ω1=0\omega_1=0, and since cos⁡0=1\cos0=1 the two half copies sit on top of each other. Then they move apart. At ω1=2π\omega_1=2\pi rad/s the copies are at ±2π\pm2\pi and the sum reads 0.50.5 there. At the end the copies sit at ±4π\pm4\pi rad/s. The sum reads 0.50.5 at ±4π\pm4\pi and 00 at ω=0\omega=0. Each copy has the pulse’s shape at half the height.

Where the side lobes of the two copies overlap with opposite signs, they partly cancel. So the solid size of the sum can sit below a dashed copy there. At ω1=4π\omega_1=4\pi the tails cancel exactly at the centres, because X(j8π)=0X(j8\pi)=0, which is why the readout is exactly 0.50.5.

A voice multiplied by a carrier cosine is moved up to the carrier’s frequency. That is how a radio signal is made.

Convolution becomes multiplication

On the page Continuous-time convolution (5.3) you slid two unit pulses across each other and got a triangle. That page put its pulses on 0 to 1, so its triangle peaked at t=1t=1. Centred pulses give the same triangle centred at 0. I call it tri(t)=rect∗rect\mathrm{tri}(t)=\mathrm{rect}*\mathrm{rect}. It has its base from −1-1 to 11, a peak of 1, and an area of 1.

rect(t)rect * rect = tri(t)
Fig. Two unit pulses, convolved, give the triangle. Both are centred at 0; the horizontal axis runs from −2 s to 2 s.

Why should the spectrum turn this into a product? The pulse xx is a sum of arrows: that is the inverse transform of 8.1. Each arrow goes through a system with impulse response hh and comes out multiplied by one number, H(jω)H(j\omega), as on the page Fourier series and LTI systems (7.4). So the output is the same sum of arrows, each scaled by H(jω)H(j\omega):

x∗h ↔ X(jω) H(jω).x*h\ \leftrightarrow\ X(j\omega)\,H(j\omega).

This is the convolution rule. Two smoothing filters in a row multiply their responses, point by point. For the triangle, hh is also the pulse, so its spectrum is the pulse’s spectrum times itself.

The curves in the next instrument are different from the earlier ones. It draws the signed X(jω)X(j\omega), which can be negative, as on page 8.1. It does not draw the size. The sign matters here, because the product of two negative values is positive.

A marker moves up in ω\omega, and at each frequency the two values multiply. Watch the product trace a faint curve, the triangle’s own spectrum, which I computed by integrating tri(t)\mathrm{tri}(t) and not from the product.

Multiply point by point

The triangle's spectrum is the pulse's spectrum times itself, one frequency at a time.

At ω = 0: 1 × 1 = 1, the area of the triangle.

ω
0 rad/s
X × X
1 × 1 = 1
0.00 / 8.00 s
Describe this picture

A panel with the finished “triangle = pulse ∗ pulse” as a still. Under it, three strips of the signed spectrum, “X (signal × s), can be negative”, against ω in rad/s from 0 to 4π4\pi: “pulse spectrum X”, “pulse spectrum X, again” and “X × X”, the last with a faint curve, “faint: the triangle’s own spectrum”. A marker eases to π\pi, holds, eases on to 4π4\pi, and holds at the end; the readouts “ω” and “X × X” stamp the product at each frame. Once passed, π\pi and 3π3\pi stay marked with their values, “0.637 × 0.637 = 0.405” and ”(−0.212) × (−0.212) = 0.045”.

At ω=0\omega=0 the product is 1×1=11\times1=1, the area of the triangle. At π\pi rad/s it is 0.637×0.637=0.4050.637\times0.637=0.405, and the faint curve says the same. At 3π3\pi, X=−0.212X=-0.212 and the product is (−0.212)×(−0.212)=0.045(-0.212)\times(-0.212)=0.045. Point by point, the product traces the faint curve, and it never goes negative. Slide-and-add in time is multiply-point-by-point in frequency.

Differentiation multiplies by jω

Each arrow ejωte^{j\omega t} differentiates to jω ejωtj\omega\,e^{j\omega t}, as on page 7.4. So the derivative x˙\dot x has the spectrum jωX(jω)j\omega X(j\omega):

x˙(t) ↔ jω X(jω).\dot x(t)\ \leftrightarrow\ j\omega\,X(j\omega).

Differentiating multiplies frequency ω\omega by jωj\omega. That turns up the high frequencies: a fast wiggle changes quickly, so its derivative is large.

Check it on the pulse. The derivative of rect(t)\mathrm{rect}(t) is two spikes: δ(t+12)−δ(t−12)\delta(t+\tfrac12)-\delta(t-\tfrac12). A spike δ(t−t0)\delta(t-t_0) is an arrow labelled with its area, as on the page Impulse, step and ramp (3.1), and it transforms to e−jωt0e^{-j\omega t_0}. So the two spikes give

ejω/2−e−jω/2=2jsin⁡(ω/2)=jω sin⁡(ω/2)ω/2,e^{j\omega/2}-e^{-j\omega/2}=2j\sin(\omega/2)=j\omega\,\frac{\sin(\omega/2)}{\omega/2},

which is jωX(jω)j\omega X(j\omega). At ω=π\omega=\pi the size is 2=π×0.6372=\pi\times0.637.

The reverse operation, integration, needs a spike at ω=0\omega=0. It belongs to the next page, Transforms of common signals (8.3).

A real signal has a mirrored spectrum

For a real signal, the spectrum at −ω-\omega is the conjugate of the spectrum at ω\omega:

X(−jω)=X∗(jω).X(-j\omega)=X^*(j\omega).

Here z∗z^* is the conjugate, the mirror image across the real axis, as on the page Complex numbers for signals (3.3). So the size at −ω-\omega equals the size at ω\omega, and the angle is the opposite. That is why the instruments draw only positive-frequency dials. A delay turns frequency −ω-\omega the other way by the same amount.

Duality: the roles of time and frequency swap

The pair for the pulse and the pair for its spectrum are the same two shapes with the roles swapped, times 2π2\pi. In symbols, if x(t)↔X(jω)x(t)\leftrightarrow X(j\omega), then X(jt)↔2π x(−ω)X(jt)\leftrightarrow2\pi\,x(-\omega). This is duality. It comes from the symmetry between the transform and its inverse, which differ by the sign in the exponent and the factor 1/2π1/2\pi.

−202t (s)rect(t)−4π04πω (rad/s)sin(ω/2)/(ω/2)−4π04πt (s)sin(t/2)/(t/2)−202ω (rad/s)2π rect(ω)
Fig. Top: the pulse and its spectrum. Bottom: the same two shapes with the roles swapped. The pulse in frequency has height 2π.

Scaling by a=2πa=2\pi, with the rule from the squeeze section, turns the bottom pair into a friendlier one: sin⁡πtπt↔rect ⁣(ω2π)\dfrac{\sin\pi t}{\pi t}\leftrightarrow\mathrm{rect}\!\left(\dfrac{\omega}{2\pi}\right), a spectrum of height 1 for ∣ω∣<π\lvert\omega\rvert<\pi. This is the brick wall of 8.4. Its time zeros at the nonzero integers match its band edge π\pi.

Parseval: energy counted in time or in frequency

The energy of a signal is ∫∣x∣2dt\int\lvert x\rvert^2dt, from How big is a signal (1.3). The unit pulse has energy 1. Counted in frequency, 12π∫∣X∣2dω\tfrac1{2\pi}\int\lvert X\rvert^2d\omega is 1 as well. That is Parseval’s relation for the transform.

The spectrum has a main lobe, ∣ω∣<2π\lvert\omega\rvert<2\pi, and side lobes outside it. The main lobe alone holds 0.9030.903 of the energy. So a band of frequencies only 4π4\pi rad/s wide carries most of the pulse.

The maths behind it · diagonal matrices and rotations

Described by its arrows, a delay only turns each arrow by its own angle and never mixes two arrows. A table of numbers that is zero except on its diagonal is a diagonal matrix, and a delay acts like one. Parseval says that the description by arrows keeps a signal’s total size, up to the factor 1/2π1/2\pi, the way a rotation keeps a vector’s length. The time–bandwidth bound follows from the rule that the overlap of two vectors is never more than the product of their lengths. That rule is the Cauchy–Schwarz inequality.

The maths behind it · characteristic functions

Add two independent random quantities, for example two dice. The curve of likelihoods of the total is the convolution of their two curves. Wound up as on page 8.1, the curves become their characteristic functions, and the convolution becomes a product, as in the convolution section. A narrow likelihood curve winds up into a wide one, which is the trade of the squeeze section.

Worked example

  1. Delay. Delay the unit pulse by t0=0.5t_0=0.5 s. Then X=sin⁡(ω/2)ω/2e−j0.5ωX=\dfrac{\sin(\omega/2)}{\omega/2}e^{-j0.5\omega}. At ω=π\omega=\pi this is 0.6366∠−90°0.6366\angle-90°, which is −0.6366j-0.6366j. At t0=1t_0=1 the dials at π/2\pi/2, π\pi and 3π/23\pi/2 rad/s turn by −90°-90°, −180°-180° and −270°-270°, where XX is 0.90030.9003, 0.63660.6366 and 0.30010.3001.
  2. Squeeze. With a=2a=2 the spectrum is 12X(jω/2)\tfrac12X(j\omega/2). Its height is 0.50.5, its first zero is 4π=12.5664\pi=12.566 rad/s, and the width is 0.50.5 s. The product is 0.5×12.566=2π0.5\times12.566=2\pi.
  3. Modulation. rect(t)cos⁡4πt\mathrm{rect}(t)\cos4\pi t has the spectrum 12[X(j(ω−4π))+X(j(ω+4π))]\tfrac12[X(j(\omega-4\pi))+X(j(\omega+4\pi))]. At ω=4π\omega=4\pi this is 12[1+X(j8π)]=0.5\tfrac12[1+X(j8\pi)]=0.5. At ω=0\omega=0 it is X(j4π)=0X(j4\pi)=0. With ω1=2π\omega_1=2\pi, at ω=2π\omega=2\pi it is 12[1+X(j4π)]=0.5\tfrac12[1+X(j4\pi)]=0.5.
  4. Convolution. rect∗rect=tri\mathrm{rect}*\mathrm{rect}=\mathrm{tri} has the transform [sin⁡(ω/2)ω/2]2\left[\dfrac{\sin(\omega/2)}{\omega/2}\right]^2. It is 11 at 00, 0.63662=0.4053=4/π20.6366^2=0.4053=4/\pi^2 at π\pi, and 0.21222=0.04500.2122^2=0.0450 at 3π3\pi.
  5. Duality. The signal x(t)=sin⁡(ωct)πtx(t)=\dfrac{\sin(\omega_ct)}{\pi t} has X=1X=1 for ∣ω∣<ωc\lvert\omega\rvert<\omega_c and 00 elsewhere, and x(0)=ωc/πx(0)=\omega_c/\pi. With ωc=π\omega_c=\pi this is sin⁡(πt)/(πt)\sin(\pi t)/(\pi t), with zeros at the nonzero integers and x(0)=1x(0)=1.
  6. Differentiation. ddtrect(t)=δ(t+12)−δ(t−12)↔2jsin⁡(ω/2)=jω sin⁡(ω/2)ω/2\tfrac{d}{dt}\mathrm{rect}(t)=\delta(t+\tfrac12)-\delta(t-\tfrac12)\leftrightarrow2j\sin(\omega/2)=j\omega\,\dfrac{\sin(\omega/2)}{\omega/2}. At ω=π\omega=\pi the size is 2=π×0.63662=\pi\times0.6366.
  7. Parseval. The unit pulse has energy 1 in time, and 12π∫[sin⁡(ω/2)ω/2]2dω=1\tfrac1{2\pi}\int\bigl[\tfrac{\sin(\omega/2)}{\omega/2}\bigr]^2d\omega=1 in frequency. The share in ∣ω∣<2π\lvert\omega\rvert<2\pi is 0.90280.9028. For e−tu(t)e^{-t}u(t) the energy is 0.50.5 either way, and the share in ∣ω∣<W\lvert\omega\rvert<W is arctan⁡(W)/π\arctan(W)/\pi: 0.250.25 for W=1W=1 and 0.46830.4683 for W=10W=10.

Where you’ll meet this

The delay rule is why a recording stays recognisable when it starts a second late, and why a filter that delays each frequency by a different amount changes a sound’s shape. The convolution rule is how filters are designed: you choose the response H(jω)H(j\omega) and let multiplication do the work. The modulation rule is how a radio puts a voice on a carrier.

The next page, Transforms of common signals (8.3), builds a table of pairs and uses these rules to extend it. After it comes Frequency response and Bode plots (8.4), where a cascade of systems multiplies its responses. Cutting a signal off, called windowing, multiplies it in time and smears its spectrum. The same rules return for sampled signals in the chapter on the DFT.

Reference card

PropertyTimeFrequency
Linearityax+byax+byaX+bYaX+bY
Time shiftx(t−t0)x(t-t_0)e−jωt0X(jω)e^{-j\omega t_0}X(j\omega): size unchanged, turn −ωt0-\omega t_0
Frequency shiftejω1tx(t)e^{j\omega_1t}x(t)X(j(ω−ω1))X(j(\omega-\omega_1))
Modulationx(t)cos⁡ω1tx(t)\cos\omega_1t12[X(j(ω−ω1))+X(j(ω+ω1))]\tfrac12[X(j(\omega-\omega_1))+X(j(\omega+\omega_1))]
Time scalingx(at)x(at)1∣a∣X(jω/a)\dfrac1{\lvert a\rvert}X(j\omega/a)
Reversalx(−t)x(-t)X(−jω)X(-j\omega)
Conjugationx∗(t)x^*(t)X∗(−jω)X^*(-j\omega); real xx: X(−jω)=X∗(jω)X(-j\omega)=X^*(j\omega)
Differentiationx˙(t)\dot x(t)jωX(jω)j\omega X(j\omega) (integration: 8.3)
Convolutionx∗hx*hX(jω)H(jω)X(j\omega)H(j\omega)
DualityX(jt)X(jt)2πx(−ω)2\pi x(-\omega)
Parseval∫∣x∣2dt\displaystyle\int\lvert x\rvert^2dt12π∫∣X∣2dω\dfrac1{2\pi}\displaystyle\int\lvert X\rvert^2d\omega
Time–bandwidth (pulse)width WWfirst zero 2π/W2\pi/W; product 2π2\pi
Time–bandwidth (general)σt2=∫t2∣x∣2dt∫∣x∣2dt\sigma_t^2=\dfrac{\int t^2\lvert x\rvert^2dt}{\int\lvert x\rvert^2dt}σω2=∫ω2∣X∣2dω∫∣X∣2dω\sigma_\omega^2=\dfrac{\int\omega^2\lvert X\rvert^2d\omega}{\int\lvert X\rvert^2d\omega}; σtσω≥12\sigma_t\sigma_\omega\ge\tfrac12, equality for the Gaussian (8.3)

End of lesson 8.2

Where to go next.

Phasorium
LibraryEvery lesson, in order

Parts

About Phasorium
Look