telekommunikation,kiruna signalanalys f1_c
Post on 05-Jan-2016
34 Views
Preview:
DESCRIPTION
TRANSCRIPT
F1_C_be 1
Telekommunikation,Kiruna
Signalanalys
F1_C
F1_C_be 2
Frekvensanalys
Exempel:Inspelat ljudav Tåg-vissla
F1_C_be 3
Signalen i Frekvensplanet.
Figuren genereradmed program F31 iAppendix
F1_C_be 4
Spektrogram: x-axel visar Tid y-axel visar Frekvens
F1_C_be 5
VIKTIGT ATT FÖRSTÅ:
Relationen mellan signalen i
* Tidsplan * Frekvensplan
Grundregel:”Smalt i tid =Brett i frekvens”
och vice versa.
F1_C_be 6
Tid Frekvens
20 0.05
<95% av signal-effekten i frekvens-Intervallet 0-0.05
MATLAB-kod: Se Ex1.m
F1_C_be 7
Tid Frekvens
5 0.2
F1_C_be 8
Tid Frekvens
20 0.05
>99% av signal-effekten i frekvens-Intervallet 0-0.05
MATLAB-kod: Se Ex2.m
F1_C_be 9
Hur beräknas effekten i en signal ?
Effekt.m
t=0:.01:9.99; %Tid
f1=1; %Frekvens
x=sin(2*pi*1*t); %Signal
p_sin=sum(x.^2)/length(x);
var_sin=var(x) %Signaleffekt
%
N=length(x);
brus=randn(1,N); %Brus
var_brus=var(brus) %Bruseffekt
%
z=x+brus;
var(z) %Effekterna (varianserna ) adderas
F1_C_be 10
Klassificering av signaler i tidsplanet:
Tidskontinuerlig
Icke- Periodisk Tidsdiskret
Icke-Periodisk
TidskontinuerligPeriodisk
TidsdiskretPeriodisk
F1_C_be 11
VÅRAT VERKTYG FÖR ATT HOPPAMELLAN TIDS- OCH FREKVENS-PLANEN
ÄR
FFT (Tid Frekvens)
IFFT (Frekvens Tid)
”Fast Fourier Transform”
I MATLAB: fft RESP: ifft
F1_C_be 12
Tidskontinuerliga periodiska signaler
• Man kan visa att varje periodisk tidskontinuerlig signal med periodtiden T kan byggas upp av deltoner.
• Dessa toner har frekvens k*ω0 där k är ett heltal och ω0 = 2π / T
F1_C_be 13
Ex: Fourier-Serie för fyrkant-våg med frekvens 2 och amplitud 1
T
F1_C_be 14
1 delton = Grundtonen 1* ω0 6 deltoner: (1,3,5,7,9,11)*ω0
Slutsatser:
• För att återge snabba förändringar krävs många deltoner.
• För att återge snabba förändringar krävs stor bandbredd.
Tid Tid
F1_C_be 15
ω0 11 ω0ω0
F1_C_be 16
%Analysera en fyrkantvåg
%med FFT
frekvens=0.5;
Fs=10;%Sampelfrekvens
Dt=1/Fs;%Tidssteg
N=100;%Antal sampel
t=0:Dt:(N-1)*Dt;%Tid
x=square(2*pi*0.5*t);%Fyrkantvåg
figure(1)
stem(t,x,'k');%Plotta vågen
%FFT:
y=abs(fft(x));
y=(2/N)*y;%Skala om
df=Fs/N;%Frekvenssteg
f=0:df:(N/2-1)*df;
figure(2);%Frekvens
stem( f,y(1:N/2),'k');%Observera index
F1_C_be 17
Continuous-Time Fourier Series ( FS )
][)(
)(1
][
][)(
0
0
kXtx
etxT
kX
ekXtx
tkj
T
tkj
x(t) och X[k] bildar ett ” Fourier-par ”
F1_C_be 18
Icke-periodiska signaler
• Periodiska signaler kan användes för att testa funktionen hos ett system,men är inte särskilt intressanta i sig.
• Teorin för kontinuerliga och tidsdiskretaFourier-serier kan emellertid utvecklas tillgälla även icke-periodiska signaler.
F1_C_be 19
Continuous-Time Fourier Transform ( FT )
)()(
)()(
)(2
1)(
jXtx
dtetxjX
dejXtx
tj
tj
F1_C_be 20
FT –generella egenskaper
• Insignalen är kontinuerlig och icke- periodisk
• Beskrivningen i frekvensplanet är inte periodisk
• Beskrivningen i frekvensplanet är ibland svår att beräkna eftersom den bygger på integrering
F1_C_be 21
Ex:
2sin
2
)(2/
2/
2/
2/
aelEulersForm
tjj
adteajX etj
2/2/t
a
x(t)
F1_C_be 22
%F33%Fourier-Transform%of single pulsetau=1;a=1;w=-20:.01:20;x=2*a*sin(w*tau/2)./w;plot(w,x,'k');
F1_C_be 23
Frekvensanalys igen!
• Frekvensanalys av en okänd signal görs i praktiken alltid med datotorstöd. Med datorer är det naturligare att summera istället för att integrera och man bör därför använda en metod som enbart kräver summering och multiplikation.
• Den enda Fourier-metod som detta gäller för är DTFT. Alltså för en periodisk tidsdiskret signal.
F1_C_be 24
DFT = Discrete Fourier Transform
• Om man har en digital signal så är denna ytterst sällan periodisk. För att få den att uppfattas som periodisk gör man därför följande trick:
• Man tar den digitala signalens N st. sampel. Därefter placerar man ut kopior av sekvensen före och efter originalet och skapar sålunda en ny, periodisk signal.
F1_C_be 25
Ex: Icke-periodisk till Periodisk
%F34%Non-periodic%2 periodicx=[2 4 7 8 6 5 1 -2];nollor=zeros(1,length(x));x1=[nollor x nollor];subplot(2,1,1)stem(x1,'filled','k');axis([0 25 -3 10]);%x2=[x x x];subplot(2,1,2)stem(x2,'filled','k');axis([0 25 -3 10]);
F1_C_be 26
Om signalen är analog
• Om signalen är analog måste den först samplas i N st. punkter med tidsintervall T
• Man kan sedan beräkna frekvensinnehållet i signalen för intervallet 0 till fs [Hz], där fs är samplingsfrekvensen = 1/T
F1_C_be 27
Val av samplingstid T
• T ( samplingstiden ) måste väljas så att att man får minst 2 sampel på varje period av högsta frekvenskomponenten fmax i signalen.
1/T = fs >2 fmax
• Om fmax inte är känd måste den analoga signalen filtreras så att inga frekvenskomponenter > fs /2 finns kvar vid samplingen.
F1_C_be 28
Val av antal sampel N
• Om man gör frekvensanalys på N sampel kommer man att kunna beräkna frekvensinnehållet i N st. frekvenser på intervallet 0 till fs.
• Frekvensupplösningen blir fs/N [Hz].
• Vid givet fs styrs alltså valet av antal sampel av den frekvensupplösning man önskar.
F1_C_be 29
FFT forts.
% Frekvensanalys med FFT
%
figure(2)
Y=abs(fft(ys));
df=fs/Ns;%Frekvensupplösning
f=0:df:(Ns-1)*df;
plot(f,Y,'k');
xlabel('Frekvens [Hz]');
Kod för frekvensanalys
F1_C_be 30
FFT forts.
figure(3)
Y=abs(fft(ys));
f=-Ns/2*df:df:(Ns-1)/2*df;
plot(f,fftshift(Y),'k');
xlabel('Frekvens [Hz]');
Om man vill rita frekvens-innehållet från -fs/2 till fs/2:
F1_C_be 31
FFT utskrift
0 4.0000
0.1563 4.0988
0.3125 4.4270
0.4688 5.1101
0.6250 6.5239
0.7813 10.1575
0.9375 32.4705
1.0938 19.8411
1.2500 6.8284
1.4063 3.8508
1.5625 2.5354
1.7188 1.7891
... ...
Utskrift av frekvens ochDFT-värdena kan göras:
[ f’ , Y’ ]
F1_C_be 32
Ändrad samplingsfrekvens
• Den FFT = DFT som gjorts kan förbättras, men hur?
• Prova med att öka samplings- frekvens, dock utan öka N
• fs = 20 Hz
• fs = 100 Hz
• Kom ihåg: Frekvensupplösningen df = fs / N
F1_C_be 33
Ändrat antal sampel
Nu med N = 512och fs = 100:
F1_C_be 34
Slutligen brukar man multiplicera med en fönsterfunktion
• Multiplicera tidsfunktionen med:
• hamming(Ns)’ ( obs transponat )
• Ns = tidsfunktionens längd
F1_C_be 35
%F31%Load train.m%Do FFT%load trainFs=8192;%Sampling frequencyN=length(y);%Nr of samplesdt=1/Fs;%Time resolutiont=0:dt:(N-1)*dt;%Time axisfigure(1)plot(t,y,'k');xlabel('Time [sek]');%df=Fs/N;%Frequency resolutionf=0:df:(N/2-1)*df;%Frequency axisyy=abs(fft(y));yy=yy(1:(N/2));figure(2)plot(f,yy,'k');xlabel('Frequency [Hz]');
F1_C_be 36
%Ex1.m
%Beräknar enkelsidigt spektrum
%för en puls.
%Pulsen beskrivs:
%
x=zeros(1,100);%100 nollor på rad
tau=20;%pulsbredd
x(1:tau)=1;%Fyll i med 20 1:or
Fs=1;%Samplingsfrekvens
figure(1)
stem(x,'k');
%Spektrum med FFT
Dt=1;%1/Fs
N=length(x);
t=0:Dt:(N-1)*Dt;
y=abs(fft(x));
Df=Fs/N;%Frekvensupplösning
f=0:Df:(N/2-1)*Df;
y=y(1:N/2);%Spegelbilden ej med
figure(2)
stem(f,y,'k');%FFT plottas
hold
F1_C_be 37
%Ex2.m
%Beräknar enkelsidigt spektrum
%för en halvperiod-sinus.
%Pulsen beskrivs:
x=zeros(1,100);
tau=20;%pulsbredd
x(1:tau)=sin(1*pi*(0:tau-1)/tau);
Fs=1;%Samplingsfrekvens
figure(1)
stem(x,'k');
%Spektrum med FFT
Dt=1;%1/Fs
N=length(x);
t=0:Dt:(N-1)*Dt;
y=abs(fft(x));
Df=Fs/N;%Frekvensupplösning
f=0:Df:(N/2-1)*Df;
y=y(1:N/2);%Spegelbilden ej med
figure(2)
stem(f,y,'k');%FFT plottas
%
totaleffekt=sum(y.^2);
z2=y(1:8);
deleffekt=sum(z2.^2)
q=(deleffekt/totaleffekt)*100
top related