Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % 8.11.2020 r.
- % 171632 Marta Trzaska
- % Zad.3 Modelowanie interferencji międzysymbolowych
- %Przyjęte wartości: N = 20, a = 0.2, b = 0.15
- %N = 20;
- N = 9; % dla sekwencji bitów z tylko jednym elementem równym 1
- a = 0.2;
- b = 0.15;
- % 1. Generowanie sekwencji N bitów 0/1
- rng default;
- wejsciowy=randi([0,1],[1, N]);
- %wejsciowy=[0,0,0,0,1,0,0,0,0]; % dla N = 9
- % 2. Modelowanie filtru generującego interferencje międzysymbolowe
- isi = zeros(1,N);
- for i = 1:N
- if i == 1
- isi(i) = 0 + wejsciowy(i) + b*wejsciowy(i+1);
- elseif i == N
- isi(i) = a*wejsciowy(i-1) + wejsciowy(i) + 0;
- else
- isi(i) = a*wejsciowy(i-1) + wejsciowy(i) + b*wejsciowy(i+1);
- end
- end
- % 3. Obliczenie współczynników do filtru minimalizującego ISI
- X = [0 1 0 0 0;
- 0 0 1 0 0;
- 0 0 0 1 0];
- for i=1:3
- y_minus1(i) = a*X(i,1) + X(i,2) + b*X(i,3) % a*x_-2 + x_-1 + b*x_0
- y0(i) = a*X(i,2) + X(i,3) + b*X(i,4) % a*x_-1 + x_0 + b*x_1
- y_plus1(i) = a*X(i,3) + X(i,4) + b*X(i,5) % a*x_0 + x_1 + b*x_2
- end
- Z=[y_minus1(1) y0(1) y_plus1(1);
- y_minus1(2) y0(2) y_plus1(2);
- y_minus1(3) y0(3) y_plus1(3);]
- W = [0; 1; 0];
- parametry= linsolve(Z, W);
- k = parametry(1)
- l = parametry(2)
- m = parametry(3)
- % 4. Filtracja interferencji międzysymbolowych
- wyjsciowy = zeros(1,N);
- for i = 1:N
- if i == 1
- wyjsciowy(i) = k*0 + l*isi(i) + m*isi(i+1);
- elseif i == N
- wyjsciowy(i) = k*isi(i-1) + l*isi(i) + m*0;
- else
- wyjsciowy(i) = k*isi(i-1) + l*isi(i) + m*isi(i+1);
- end
- end
- % -- GENEROWANIE WYKRESÓW--
- grid on;
- %x=[0:19];
- x=[0:8];
- stem(x, wejsciowy); %sekwencja bitów wygenerowanych
- saveas(gcf, "wejsciowy_3.png")
- f2=figure;
- stem(x, isi); %sekwencja bitów z interferencjami międzysymbolowymi
- saveas(gcf, "isi_3.png")
- f3=figure;
- stem(x, wyjsciowy); %sekwencja bitów nas wyjściu korektora interferencji międzysymbolowych
- saveas(gcf, "wyjsciowy_3.png")
Advertisement
Add Comment
Please, Sign In to add comment