dcsp_13_1

advertisement
DCSP-13
Jianfeng Feng
Jianfeng.feng@warwick.ac.uk
http://www.dcs.warwick.ac.uk/~feng/dsp.html
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 2dimensional 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 w0 n)
N=10, w0 = 0.5
Two effects of DFT
1. Lose of resolution
1. Leakage of energy from mainlobe to sidelobes
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
x , ... , xN] is given by the
The periodogram for a sequence [ 1
following formula:
S (w ) 
where
1
2 N
N
2
|  x n exp(  j w n ) |
n 1
is in units of radians/sample.
Algorithm
x , ... , xN] is given by the
The periodogram for a sequence [ 1
following formula:
where
is in units of radians/sample.
If you define the frequency variable in Hz,
the periodogram is defined as:
S( f ) 
1
Fs N
N
|  x n exp(  j ( 2  f / F s ) n ) |
n 1
where Fs is the sampling frequency.
2
•
•
•
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.
Periodogram Power Spectral Density Estimate
0
Power/frequency (dB/Hz)
-10
-20
-30
-40
-50
-60
0
100
200
300
400
500
600
Frequency (Hz)
700
800
900
The periodogram is an estimate of the PSD of the
signdefined by the sequence [x1, ... , xN].
If you weight your signal sequence by a window
[w1, ... , wN], then the weighted or modified
periodogram is defined as:
1
S (w ) 
2 N
2
N
|  x n w n exp(  j w n ) |
n 1
1
N
2
N
|w
n 1
n
|
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.
Welch Power Spectral Density Estimate
-16
-18
Power/frequency (dB/Hz)
•
•
•
•
-20
-22
-24
-26
-28
-30
0
50
100
150
300
250
200
Frequency (Hz)
350
400
450
500
Spectrogram
• A spectrogram is an image that shows
how the power spectrum of a signal varies
with time.
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
500
1000
1500
2000
005
054
004
051 y
002
052
003
Frequenc
053
001
05
0
8.1
6.1
4.1
Time
2.1
1
8.0
6.0
4.0
2.0
Time
•
•
•
•
•
t=0:0.001:20;
% 2 secs @ 1kHz sample rate
y=chirp(t,100,1,200,'q'); % Start @ 100Hz, cross 200Hz at t=1sec
spectrogram(y,128,120,128,1E3); % Display the spectrogram
title('Quadratic Chirp: start at 100Hz and cross 200Hz at t=1sec');
sound(y)
Compression
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.
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/11th 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.
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.
Image processing
Sampling and reconstruction
The question we consider here is under
what conditions we can completely
reconstruct the original signal
x(t)
from its discretely sampled signal
x(n).
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) =d(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
N

x(n)
n N
 0 ( law
of
l arg e
numbers
)
2N
N

x
2
(n)
n N
 1
2N
N

x(n) x(n  k )
 d ( k ) ( autocorrel
n N
2N
ation )

 x ( n ) exp(  j w n )
x (w ) 
n  

| x (w ) | 
2
 x ( n ) exp(  j w n )   x ( n ) exp(
n  



n  

 
x ( n ) x ( m ) exp(  j w ( n  m ))
n   m  



 
x ( n ) x ( n  k ) exp(  j w k )
n   k  


 d ( k ) exp(  j w k )
k  
jw n )
Download