You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.3 KiB
Matlab
107 lines
3.3 KiB
Matlab
%==========================================================================
|
|
% Rechnerübung zur Signalübertragung II
|
|
% Versuch 3: Leistungsdichtespektrum, Autokorrelationsfunktion
|
|
%==========================================================================
|
|
|
|
%--------------------------------------------------------------------------
|
|
% Teil 3.1 Berechnung der Autokorrelationsfunktion
|
|
%--------------------------------------------------------------------------
|
|
|
|
clear all;
|
|
close all;
|
|
clc;
|
|
|
|
% Anzahl der Messwerte:
|
|
% Sie können e ändern -->
|
|
e = 10;
|
|
N = 2^e;
|
|
|
|
% Erzeugung der Musterfunktion des Eingangsprozesses:
|
|
s = rand(1,N) - 0.5;
|
|
|
|
% Dargestellte Werte: n=0...N
|
|
figure(1)
|
|
plot(s)
|
|
axis([0 N -0.5 0.5]);
|
|
title('Abbildung 1: Eine Musterfunktion des Eingangsprozesses')
|
|
xlabel('n')
|
|
ylabel('s(n)')
|
|
|
|
% Autokorrelationsfunktion berechnen
|
|
Autocorr = xcorr(s);
|
|
figure(2)
|
|
plot(Autocorr)
|
|
axis([0 2.*N+1 min(Autocorr) max(Autocorr)]);
|
|
title('Abbildung 2: Autokorrelationsfunktion des Eingangsprozesses')
|
|
xlabel('m')
|
|
ylabel('Autokorrelationsfunktion xcorr(s(n))')
|
|
|
|
% Leistungsdichtespektrum aus Autokorrelationsfunktion berechnen
|
|
Y = fftshift(fft(Autocorr,2^(e+1)));
|
|
psd_eingang = abs(Y);
|
|
|
|
% plot(Pyy)
|
|
figure(3)
|
|
plot(psd_eingang);
|
|
axis([0 length(psd_eingang) min(psd_eingang) max(psd_eingang)]);
|
|
title('Abbildung 3: Leistungsdichtespektrum des Eingangsprozesses')
|
|
xlabel('m')
|
|
ylabel('Leistungsdichtespektrum')
|
|
|
|
%--------------------------------------------------------------------------
|
|
% Teil 3.2 Einfluss des Bandpasses
|
|
%--------------------------------------------------------------------------
|
|
|
|
% Mittenfrequenz des Bandpasses
|
|
f_mf = 100;
|
|
|
|
% Bandbreite des Bandpasses
|
|
f_bb = 35;
|
|
|
|
% Dargestellter Bereich
|
|
n = 1:length(psd_eingang);
|
|
|
|
% Übertragungsfunktion des Bandpasses
|
|
h_bp = heaviside(n-f_mf+f_bb/2)-heaviside(n-f_mf-f_bb/2)...
|
|
+heaviside(n+f_mf+f_bb/2-2^(e+1))-heaviside(n+f_mf-f_bb/2-2^(e+1));
|
|
figure(4)
|
|
plot(n,h_bp);
|
|
axis([0 length(h_bp) 0 2]);
|
|
title('Abbildung 4: Übertragungsfunktion des Bandpasses')
|
|
xlabel('n')
|
|
ylabel('H_B_P')
|
|
|
|
% Leistungsdichtespektrum des Ausgangsprozesses
|
|
psd_ausgang = psd_eingang.*abs(h_bp).^2;
|
|
figure(5)
|
|
plot(psd_ausgang);
|
|
title('Abbildung 5: Leistungsdichtespektrum des Ausgangsprozesses')
|
|
axis([0 length(psd_ausgang) min(psd_eingang) max(psd_ausgang)]);
|
|
xlabel('n')
|
|
ylabel('Leistungsdichtespektrum')
|
|
|
|
% Autokorrelationsfunktion des Ausgangssignals
|
|
Autocorr_ausgang = abs(fftshift(ifft(psd_ausgang)));
|
|
figure(6)
|
|
plot(n,Autocorr_ausgang)
|
|
title('Abbildung 6: Betrag der Autokorrelationsfunktion des Ausgangssignals')
|
|
axis([0 length(Autocorr_ausgang) min(Autocorr_ausgang) max(Autocorr_ausgang)]);
|
|
xlabel('n')
|
|
ylabel('Betrag der Autokorrelationsfunktion')
|
|
|
|
% Autokorrelationsfunktion des Ausgangssignals (theorie)
|
|
% Dargestellter Zeitbereich
|
|
tau = -0.2:0.001:0.2;
|
|
|
|
% Spektrale Leistungsdichte
|
|
N0 = 1.0;
|
|
|
|
% Autokorreationsfunktion
|
|
Autocorr_ausgang_theorie = abs(N0*f_bb*sinc(f_bb*tau)*2.*cos(2*pi*f_mf*tau));
|
|
figure(7)
|
|
plot(tau,Autocorr_ausgang_theorie)
|
|
title('Abbildung 7: Betrag der Autokorrelationsfunktion des Ausgangssignals, theoretischer Verlauf')
|
|
axis([-0.2 0.2 min(Autocorr_ausgang_theorie) max(Autocorr_ausgang_theorie)]);
|
|
xlabel('tau')
|
|
ylabel('Betrag der Autokorrelationsfuktion (Theorie)')
|