Applications Power spectrum estimate Compression Spectrogram Image Sampling theorem White noise FFT
DFT for spectral estimation One of the uses of the DFT is to estimate the frequency spectrum of a signal. The Fourier transform of a function produces a spectrum from which the original function can be reconstructed by an inverse transform. So it is reversible. (signal processing: transforms, demo)
In order to do that, it preserves not only the magnitude of each frequency component, but also its phase. This information can be represented as a 2- dimensional vector or a complex number, or as magnitude and phase (polar coordinates). In graphical representations, often only the magnitude (or squared magnitude) component is shown. This is also referred to as a power spectrum.
In particular, given a continuous time signal x(t), the goal is to determine its frequency components by taking a finite set of samples as a vector, (x(0), x(1),…, x(N-1)), and computing its DFT as in the previous section.
The fact that we window the signal x(n) (i.e. we take a finite set of data) will have an effect on the frequency spectrum we compute, and we have to be aware of that when we interpret the results of the DFT. This can be seen by defining a window sequence
and the DTFT of the windowed signal Now notice that we can relate the right-hand side of the preceding expression to the DFT of the finite sequence x(0), …,x(N-1)
To see the effect of the windowing operation on the frequency spectrum, let us examine the case when the signal x(n) is a complex exponential, such as x(n) = exp( j 0 n)
As we have seen, the DFT is the basis of a number of applications, and is one of the most important tools in digital signal processing.
clear all close all sampling_rate=100; %Hz omega=20; %signal frequecy Hz N=50000; %total number of samples for i=1:N x_sound(i)=cos(2*pi*omega*i/sampling_rate); %signal x(i)=cos(2*pi*omega*i/sampling_rate)+2*randn(1,1); %signal+noise axis(i)=sampling_rate*i/N; % for psd time(i)=i/sampling_rate; % for time trace end subplot(1,2,1) plot(time,x); %signal + noise, time trace xlabel('time (sec)'); ylabel('signal') subplot(1,2,2) plot(axis,abs(fft(x)).^2,'r'); % power of signal xlabel('Frequency') ylabel('Power') sound(x_sound, sampling_rate); %true signal sound
Singnal processing demo: transformation A few words on Matlab periodogram (similar to fft) pwelch (overlapped windows)
Algorithm The periodogram for a sequence [ x 1,..., x N ] is given by the following formula: where is in units of radians/sample.
Algorithm The periodogram for a sequence [ x 1,..., x N ] is given by the following formula: where is in units of radians/sample. If you define the frequency variable in Hz, the periodogram is defined as: where Fs is the sampling frequency.
Fs = 1000; t = 0:1/Fs:.296; x = exp(i*2*pi*200*t)+randn(size(t)); h = spectrum.periodogram; % Create a periodogram spectral estimator. psd(h,x,'Fs',Fs); % Calculates and plots the two-sided PSD.
The periodogram is an estimate of the PSD of the signdefined by the sequence [x 1,..., x N ]. If you weight your signal sequence by a window [w 1,..., w N ], then the weighted or modified periodogram is defined as:
Fs = 1000; t = 0:1/Fs:.296; x = cos(2*pi*t*200)+randn(size(t)); h = spectrum.welch; % Create a Welch spectral estimator. psd(h,x,'Fs',Fs); % Calculate and plot the PSD.
Spectrogram A spectrogram is an image that shows how the power spectrum of a signal varies with time.
The use in MP3 is designed to greatly reduce the amount of data required to represent the audio recording and still sound like a faithful reproduction of the original uncompressed audio for most listeners.
An MP3 file could result in a file that is about 1/11 th the size of the file created from the original audio source.
The compression works by reducing accuracy of certain parts of sound that are deemed beyond the auditory resolution ability of most people.
This method is commonly referred to as perceptual coding.
The compression works by reducing accuracy of certain parts of sound that are deemed beyond the auditory resolution ability of most people. This method is commonly referred to as perceptual coding. It internally provides a representation of sound within a short-term time/frequency analysis window, by using psychoacoustic models to discard or reduce precision of components less audible to human hearing, and recording the remaining information in an efficient manner.
This technique is often presented as relatively conceptually similar to the principles used by JPEG, an image compression format.
Power spectrum for white noise Noise is a stochastic process x(t), for time t (discrete or continuous) Most noisy noise should have no memory, which impliese that E x(t)x(t+s) = 0 if s is not zero E x(t)x(t) = 1 or in another words E x(t)x(t+s) = (s)
Therefore the psd of the white noise is flat: it has constant power for all frequencies, as confirmed in the previous matlabe example Different from all meaningful signals we encounter
Why white noise has a flat power spectrum? Assume that x(n) is white noise which means