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

%==========================================================================
% 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)')