Electronic – What are the applications of the Fourier transform in communications

communicationfourier

I have learned about the Fourier transform, but I do not have a deep understanding of it.

enter image description here

I heard that it is used in radios, butI don't know how and why. Can anyone explain it in a very detailed manner? What are other applications of the Fourier transform in communications?

EDIT 1:

I got a little bit more understanding about Fourier series and Fourier transformation by reading answer section/comments and googling things so many times.But,I don’t know I am correct or wrong. If I am wrong, please comment below.

The general form of sinusoid .

enter image description here

That means sinusoids can be defined using amplitude ,frequency and phase .
Sinusoids can be represented in complex plain using Euler’s formula.

enter image description here
Fourier series is a method to express an arbitrary periodic function as a sum of cosine terms.

enter image description here
enter image description here

C – a complex constant
That is complex form of Fourier series.
enter image description here

That is general form of Fourier series.

enter image description here

EDIT 2:

General form of Fourier series is a simplification of Fourier series .
enter image description here

Fourier transformation is a mathematical procedure for converting a signal in time domain to a complex number in frequency domain.

enter image description here

enter image description here

enter image description here

From http://www.falstad.com/fourier/ site

enter image description here

enter image description here

Amplitude spectrum can be plotted by getting absolute value of complex valued function against frequency and Phase spectrum can be plotted by getting angle of complex valued function against frequency.

EDIT 3:

Continuous Signal and Discrete signals

A continuous signal is a function of the time which is continuous (there are no breaks in signal).

A discrete signals is a signal whose value is taken at discrete measurements.

enter image description here

FFT-Fast Fourier Transformation

FFT is an algorithm which computes the Discrete Fourier Transformation of a sequence .

I coded two python scripts for Continuous Fourier Transformation and Discrete Fourier Transformation .But, there is a significant difference between phase spectrums .I don’t know that is because of discrete values or a problem of the script.

For Continuous Fourier Transformation

import matplotlib.pyplot as plt
import numpy
from scipy.integrate import quad

def comp_quad(func, a, b, **kwargs):
    def real(x,g,f):
        return numpy.real(func(x,g,f))
    def imag(x,g,f):
        return numpy.imag(func(x,g,f))
    real_p = quad(real, a, b, **kwargs)
    imag_p = quad(imag, a, b, **kwargs)
    return (real_p[0] + 1j*imag_p[0], real_p[1:], imag_p[1:])

def con_four(a,func,g):
    return  (1/2)*numpy.exp((-1)*(1j)*g*a)*func(a)

def square_wave(a):
    A=2
    T=2
    return (-1)*A*((a%T)<T/2)+(A)*((a%T)>=T/2)


fig,(ax1,ax2)=plt.subplots(nrows=2,ncols=1)
fig1,(ax3,ax4)=plt.subplots(nrows=2,ncols=1)


#Wave
r=[x/100 for x in range(200)]
ax1.plot(r,[square_wave(w) for w in r],color="darkblue")
ax1.set_xlabel("Time(s)")
ax1.set_ylabel("Amplitude")
ax1.set_title("Signal")
ax1.grid()


#Fourier Transform
freq=[e/2 for e in range(0,100)]
ang=[x*2*numpy.pi for x in freq]
y=[comp_quad(con_four,0,2,args=(square_wave,c,))[0] for c in ang]
#Amplitude
l=[abs(t)*2 for t in y]  #Normalize amplitude
l[0]=l[0]/2 #For DC component(frequency 0)
ax2.plot(freq,l,color="red")
ax2.set_xlabel("Frequency(Hz)")
ax2.set_ylabel("Amplitude")
ax2.set_title("Amplitude Spectrum")
ax2.grid()
#Phase
k=[0 if (abs(j)<0.001) else (numpy.pi/2)+numpy.angle(j) for j in y] 
ax3.plot(freq,k,color="red")
ax3.set_xlabel("Frequency(Hz)")
ax3.set_ylabel("Phase")
ax3.set_title("Phase Spectrum")
ax3.grid()



#Reconstruction
d=[sum([l[i]*numpy.sin(2*numpy.pi*freq[i]*t+(k[i])) for i in range(len(freq))]) for t in r]
ax4.plot(r,d,color="green")
ax4.set_xlabel("Time(s)")
ax4.set_ylabel("Amplitude")
ax4.grid()


plt.show()

enter image description here

For Discrete Fourier Transformation

import numpy as np
from scipy import fftpack
import matplotlib.pyplot as plt
import cmath


def square_wave(a):
    A=2
    T=2
    return (-1)*A*((a%T)<T/2)+(A)*((a%T)>=T/2)
    
fig,(ax1,ax2)=plt.subplots(nrows=2,ncols=1)
fig1,(ax3,ax4)=plt.subplots(nrows=2,ncols=1)
fig2,ax5=plt.subplots(nrows=1,ncols=1)

#wave
p=[c/100 for c in range(200)]
sig=[square_wave(x) for x in p]
ax1.plot(p,sig,color="darkblue")
ax1.set_xlabel("Time(s)")
ax1.set_ylabel("Amplitude")
ax1.set_title("Signal")
ax1.grid()

#Discrete Fourier Transform
sig_fft=fftpack.fft(sig)
#Amplitude Spectrum
Amplitude=2*((np.abs(sig_fft)/len(sig))[0:int(len(sig)/2)]) #Normalize amplitude
Amplitude[0]=Amplitude[0]/2  #For DC component
sample_freq=fftpack.fftfreq(len(sig),d=0.01)[0:int(len(sig)/2)]
ax2.plot(sample_freq,Amplitude,color="red")
ax2.set_xlabel("Frequency(Hz)")
ax2.set_ylabel("Amplitude")
ax2.set_title("FFT-Amplitude Spectrum")
ax2.grid()
#Phase Spectrum
k=[0 if (abs(j)<0.01) else (np.pi/2)+np.angle(j) for j in sig_fft[0:int(len(sig)/2)]] 
ax3.plot(sample_freq,k,color="red")
ax3.set_xlabel("Frequency(Hz)")
ax3.set_ylabel("Phase")
ax3.set_title("FFT-Phase Spectrum")
ax3.grid()


#Reconstruction
d=[sum([Amplitude[i]*np.sin(2*np.pi*sample_freq[i]*t+(k[i])) for i in range(len(sample_freq))]) for t in p]
ax4.plot(p,d,color="green")
ax4.set_xlabel("Time(s)")
ax4.set_ylabel("Amplitude")
ax4.grid()

#IFFT
rf=fftpack.ifft(sig_fft)
ax5.plot(p,rf,color="brown")
ax5.set_title("IFFT")
ax5.set_xlabel("Time(s)")
ax5.set_ylabel("Amplitude")
plt.show()

enter image description here
enter image description here

Best Answer

Physics state some facts which stay. One of them is that devices which generate or detect radio waves in a predictable and controlled way are simplest if they work in certain frequency. That made sinusoidal function sin(2Pift) especially important.

In 1800's mathematicians gave to us tools to analyze circuits which contain sinusoidal voltages and currents. In the first half of 1900's radio signals became more complex than pure sine - that's because pure sinusoidal signal carry no information except "it exists and has a certain frequency".

Presenting signals as sums of sinusoidal ones - Fourier transform makes it - made possible to use design methods which told how circuit works in different frequencies, no matter the actual signals were complex - for ex. speech or TV-image which was modulated onto a sinusoidal carrier.

Most practical communication signals need an infinite number of sinusoidal components. Fourier series cover it if the signal repeats. Fourier transform gives how the needed sinusoidals distribute (as relative amplitudes and phase angles) over continuous frequency range when the signal is non-repeating.

If you take a book of communication theory you will find Fourier transform is used nearly continuously. The text probably talks about signal spectrums, but in the start of the book or as an appendix there's a chapter how the spectrums are calculated as Fourier transforms.

Numerical calculation method (=FFT) of Fourier transforms of stored digitized signals works so fast that in radios it's effective to detect modulations with it. Transmitters code the actual signal to frequency, amplitude and phase angle variations. FFT in the receiver founds them. Especially useful FFT is for compression to reduce needed bitrate, target detection in radars and generally making signal filtering fast.