Скачиваний:
3
Добавлен:
08.09.2024
Размер:
4 Кб
Скачать
clc
clear all
close all

%1
X=zeros (1,1000);
Y=zeros (1,1000);
X(1:100)=5; % излучаемый импульс с амплитудой 5 и
% длительностью 100 отсчетов
Y(301:400)=1; % принятый импульс запоздал на 300 отсчетов

figure()
plot(conv(X,Y))

% signal plus complexe
X(301:400)=5;
Y(601:701)=1;
figure
plot(conv(X,Y))


%2

del = 200;
R = zeros(1, 1000);
R(1:1000 - del) = randn(1,1000 - del);
R_del = zeros(1,1000);
R_del(del + 1:1000) = R(1: 1000 - del);
figure('Name','Les signals');
subplot(2, 1, 1)
plot(R)
subplot(2, 1, 2)
plot(R_del)

figure('Name','L''autocorrélation');
plot(xcorr(R, R))
title('L''autocorrélation')


figure('Name','Fonction de corrélation');
plot(xcov(R, R_del))
title('Fonction de corrélation') %отличие в том, что здесь вычитается мат. ожидание


%3
SNR = 0.3;
R1 = awgn(R_del, SNR, 'measured', 'linear'); %измеряем R_del 'measured' и задаем линейный тип шумовой мощности 'linear'
figure('Name', 'Le signal avec le bruit');

subplot(1, 2, 1)
plot(R_del)
subplot(1, 2, 2)
plot(R1)
figure('Name','Fonction de corrélation');
plot(xcorr(R, R1));

SNR_red = 0;
for i = (10:-0.01:0.01)
R1 = awgn(R_del, i, 'measured', 'linear');
cor = xcorr(R,R1);
if max(cor(cor~=max(cor)))/max(cor) > 0.3
figure('Name', 'min SNR')
plot(cor)
SNR_red = i;
break;
end
end

%4
x = 0:0.01:10*pi;
sin_ = 5*sin(2*x);
sin_n = awgn(sin_, 0.1, 'measured', 'linear');

figure('Name', 'Sin')
subplot(3, 1, 1)
plot(sin_)
title('sin(x)')
subplot(3, 1, 2)
plot(sin_n)
title('sin(x) avec le bruit')
subplot(3, 1, 3)
plot(xcorr(sin_, sin_n)) %из-за периодичности синус - плохая функция для импульса длительности, больше периода
title('Fonction de corrélation')

%5
barker = [1, 1, 1, 1, 1, -1, -1, 1 1, -1, 1, -1, 1];
p_rand = randn(1,length(barker));
p_rand(p_rand > 0.5) = 1;
p_rand(p_rand < 0.5) = -1;

figure('Name', 'barker')

subplot(2, 2, 1)
bar(barker)
title('Barker code')
subplot(2, 2, 2)
bar(xcorr(barker))
title('xcorr barker')


subplot(2, 2, 3)
bar(p_rand)
title('Rand code')
subplot(2, 2, 4)
bar(xcorr(p_rand))
title('xcorr rand')


figure('Name', 'barker_n')
SNR_2 = 5;
barker_n = awgn(barker, SNR_2, 'measured', 'linear');
%barker_n(barker_n > 0.5) = 1;
%barker_n(barker_n <= 0.5) = -1;

subplot(1, 2, 1)
bar(xcorr(barker, barker_n))
title('xcorr barker')

p_rand_n = awgn(p_rand, SNR_2, 'measured', 'linear');
%p_rand_n(p_rand_n > 0.5) = 1;
%p_rand_n(p_rand_n <= 0.5) = -1;
subplot(1, 2, 2)
bar(xcorr(p_rand, p_rand_n))
title('xcorr rand')


%6
t = 0:1/(1000000):2*pi;
f = 100;
mono_sin = sin(2*pi*f*t);
calc(mono_sin, 'mono sin') %с ЛЧМ


lin_sin = sin(2*pi*f*t.^2);
calc(lin_sin, 'lin freq') %с ЛЧМ
figure('Name', 'lin_sin')
plot(lin_sin)


m = 0.3;
fn = 100;
fc = 1;
a_sin = sin(2*pi*fn*t).*(1 + m*sin(2*pi*fc*t));
calc(a_sin, 'ampl') % с АМ
figure
plot(a_sin)

f_sin = sin(2*pi*sin(2*pi*f*t).*t);
calc(f_sin, 'freq') % с ЧМ
figure('Name', 'f_sin')
plot(f_sin)


fn=5;
fc=0.1;
p_sin = sin(2*pi*fn*t+sin(2*pi*fc*t));
calc(p_sin, 'phase') % с ФМ
figure('Name', 'p_sin')
plot(p_sin)

function calc(signal, text)
%disp(text)
%disp('Expected value, Variance, standard deviation')
%disp(mean(signal))
%disp(var(signal))
%disp(std(signal))
figure('Name', text)
histogram(signal)
title(text)
dimen = [0.2 0.4 0.5 0.5];
text2 = 'Mean = ' + string(mean(signal)) + newline + 'Var = ' + string(var(signal)) + newline + 'std = ' + string(std(signal));
a = annotation('textbox',dimen,'String',text2,'FitBoxToText','on');
a.FontSize = 16;
end
Соседние файлы в папке Лаб2