Добавил:
t.me Фулл всегда есть, ФОЭ ТОЭ ТЭЦ Электроника, КЭТ ИиКГ и тд https://t.me/whitedevil752 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

pr2

.docx
Скачиваний:
7
Добавлен:
17.06.2024
Размер:
596 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

___________________________________________________________________________

Кафедра радиосистем и обработки сигналов.

Дисциплина «Обработка сигналов в радиотехнических системах»

Практическая работа № 2

Корреляционная обработка и согласованная фильтрация прямоугольного видеоимпульса

Выполнили: ст. гр.

Проверил:

ст.пр. Егоров.С.Г.

Санкт-Петербург

2024

  1. Выполнить построения и реализовать функции из методических указаний (т.е. построить все графики)

’’

  1. Моделировать пачку прямоугольных радиоимпульсов и реализовать корреляционную и фильтровую обработки сигналов, принимаемых в шуме.

  1. Реализовать алгоритм приема (детектирования импульса). Составить программу в Matlab.

Порог: упр=446.4668

Вероятность обнаружения сигнала D1=1

Задержка: zader=11

mo=0;

signal=0;

nosignal=0;

F=0.001;

sigma0=sqrt(var(c2y(1:L-1)));

Cf=norminv(1-F, mo, sigma0);

ynp = mo + sigma0 * Cf

for i=130:150;

if c1y(i)>ynp

signal=signal+1;

else

nosignal=nosignal+1;

end

end

D1=signal/(signal+nosignal)

for i=1:(L-1)*2

if cy(i)>13

cyu(i)=[cy(i)]

i1=i;

end

end

k22=[1:i1]

figure(6100), plot(k22*Ts,cyu)

TF=islocalmax(cyu)

i2=0;

i3=0;

for i=1:length(TF)

if TF(i)==1

i2=i;

end

break

end

for i=1:length(TF)

if TF(i)==1

i3=i;

end

end

zader=(i3-i2)*Ts

6. Исследовать влияние параметра обнаружения (с/ш) на характеристики обнаружения. Сравнить работу алгоритма и характеристики обнаружения для случаев мультипликативной помехи и аддитивного шума.

При с/ш = 0,666

Порог: ynp = 660.0883

Вероятность обнаружения сигала D1 = 0.9524

При с/ш=1

Порог: упр=446.4668

Вероятность обнаружения сигнала D1=1

  1. Исследовать чувствительность алгоритмов обнаружения к изменению параметров распределений. Определить существенные относительные отклонения параметров. Предложить варианты обнаружения при априорной неопределенности (т.е. если параметры распределения шума неизвестны).

shum=gamrnd(1.6,1,size(t));

ynp = 540.8103

D1 =1

Бгш

shum=wgn(1,150,1);

ynp = 346.4844

D1 = 1

% main_det_rect_impulse

% processing rectangular impulse plus noise

% uses function = func_rect_imp

clc

clear all

close all

START=0

L=150 % Total length (points)

LS = 20 % Length (duration) of signal (points)

LD = 41 % Signal appearance [points]

L1 = 61 % Expected signal appearence [points]

L2 = 81

L3 = 11

L4 = 111

LD2 = 51 % Signal appearance [points]

L12 = 71 % Expected signal appearence [points]

L22 = 91

L32 = 21

L42 = 121

%%%%%%%%%%%%%%%%%%%%%

Ts = 0.1 % Sample time [s]

Fs=1/Ts % Sample frequency [Hz]

TS = LS*Ts % Signal Duration [s]

TD = (LD-1)*Ts % Signal Delay [s]

T1 = (L1-1)*Ts % Signal Expected Appearence [s]

T2 = (L2-1)*Ts

T3 = (L3-1)*Ts

T4 = (L4-1)*Ts

TD2 = (LD2-1)*Ts

T12 = (L12-1)*Ts % Signal Expected Appearence [s]

T22 = (L22-1)*Ts

T32 = (L32-1)*Ts

T42 = (L42-1)*Ts

%%%%%%%%%%%%%%%%%%%%%

PROCESS=1 % Signal

A=3

ss=func_rect_impulse(Fs,LS,LD,L,A);

ss1=func_rect_impulse(Fs,LS,L1,L,A);

ss2=func_rect_impulse(Fs,LS,L2,L,A);

ss3=func_rect_impulse(Fs,LS,L3,L,A);

ss4=func_rect_impulse(Fs,LS,L4,L,A);

ss22=func_rect_impulse(Fs,LS,LD2,L,A);

ss12=func_rect_impulse(Fs,LS,L12,L,A);

ss23=func_rect_impulse(Fs,LS,L22,L,A);

ss32=func_rect_impulse(Fs,LS,L32,L,A);

ss42=func_rect_impulse(Fs,LS,L42,L,A);

s=ss+ss1+ss2+ss3+ss4;

s1=ss22+ss12+ss23+ss32+ss42;

L1=L42

t=(0:L-1)*Ts;

figure(100), plot(t,s,t,s1,t,A*1.1), grid

title(['Impulse duration LS = ',num2str(LS),...

' amplitude A = ',num2str(A),' lag TD = ',num2str(TD),...

' lag T1 = ',num2str(T1)]),

xlabel('time (sec)'), ylabel('s (Volts)')

figure(101), stem(t,s,'LineStyle','-.','MarkerFaceColor','red',...

'MarkerEdgeColor','green'), title('Discrete Signal');

hold on; stem(t,s1); plot(t,A*1.1);

xlabel('time (sec)'); ylabel('s (Volts)'), grid on

%

%%%%%%%%%%%%%%%%%

PROCESS=2 % Observations

rand('state',0);

%

shum=randn(size(t));

y = s+ shum; % Signal plus noise

% y = s;

figure(200), plot(t,y,t,s(1:L))

title(['Signal A = ',num2str(A),...

' Corrupted with Zero-Mean Random Noise'])

xlabel('time (sec)'), ylabel('y (Volts)'), grid

hold on; plot(t,A*1.1);

%%%%%%%%%

figure(201), stem(t,y,'LineStyle','-.',...

'MarkerFaceColor','red',...

'MarkerEdgeColor','green'),

title('Discrete Signal Corrupted with Zero-Mean Random Noise');

hold on; plot(t,s,t,A*1.1),

xlabel('time (sec)')

ylabel('s (Volts)'), grid on

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

PROCESS=3 % CORRELATOR

c2y=shum(1)*s1(1);

for i=2:L

c2y(i)=c2y(i-1)+shum(i)*s1(i);

end;

LB=max(LD,L1)

LE=min(LD+LS,L1+LS)

TB=(LB-1)*Ts

TE=(LE-1)*Ts

for i=1:L

sm(i)=s(i).*s1(i);

end;

maxsm=max(sm)

figure(300), plot(t,sm,t,maxsm*1.1), title('Product'), grid

c1y(1)=y(1)*s1(1);

for i=2:L

c1y(i)=c1y(i-1)+y(i)*s1(i);

end;

figure(301), plot(t,c1y*Ts,t,s.^2*TS,t,max(s.^2*TS*1.1),'*'),

title('Correlator'), grid;

xlabel('time (sec)')

%%%%%%%%%%%%%%\

mo=0;

signal=0;

nosignal=0;

F=0.001;

sigma0=sqrt(var(shum))*9.5;

%sigma0=sqrt(var(shum))*9.5;

%sigma0=sqrt(var(c2y(1:L-1)));

%ks=sigma0/sigma1

Cf=norminv(1-F, mo, sigma0);

ynp = mo + sigma0 * Cf

for i=130:150

if c1y(i)>ynp

signal=signal+1;

else

nosignal=nosignal+1;

end

end

D1=signal/(signal+nosignal)

MAX=0;

%zader=0;

%for i=10:(L-1);

% if c1y(i)==0

% zader=zader+1;

% end

%end

%zader

%%%%%%%%%%% CONVOLUTION %%%%%%%%%%%%%%%%%%%%%%%

PROCESS=4 % Match Filter Response

s0=func_rect_impulse(Fs,LS,1,L,A);

% s0

h=zeros(1,L);

for i=1:LS

h(i)=s0(LS-i+1);

end

maxh=max(h)

figure(400), plot(t,h,t,maxh*1.1), title('Match Filter Re-sponse'),

xlabel('time (sec)'), grid

figure(401), stem(t,h), title('Match Filter Response'),

xlabel('time (sec)'), grid

hold on

plot(t,maxh*1.1)

%%%%%

PROCESS=5

cy=conv(y,h);

cy=cy*Ts;

mcy=max(cy); mcy=mcy*Ts

k1=-(L-1):(L-1);

k2=k1+LS+80;

figure(500), plot(k2*Ts,cy),

title('Convolution with Matched Filter'), grid

hold on

plot(t,mcy*1.1,t,s.^2*TS);

figure(501), stem(k2*Ts,cy),

title('Convolution with Matched Filter'), grid

xlabel('time (sec)')

hold on

plot(t,mcy*1.1,t,s.^2*TS);

%%%%%%%%%%%%%%%%%%%

PROCESS=6

figure(600), plot(k2*Ts,cy), grid

title('Correlator and Matched Filter')

xlabel('time (sec)')

hold on

plot(t,s.^2*TS,t,c1y*Ts,t,s1.^2*TS,t,mcy*1.1)

figure(607), plot(k2*Ts,cy), grid

for i=1:(L-1)*2

if cy(i)>13

cyu(i)=[cy(i)]

i1=i;

end

end

k22=[1:i1]

figure(6100), plot(k22*Ts,cyu)

TF=islocalmax(cyu)

i2=0;

i3=0;

for i=1:length(TF)

if TF(i)==1

i2=i;

end

break

end

for i=1:length(TF)

if TF(i)==1

i3=i;

end

end

zader=(i3-i2)*Ts

Соседние файлы в предмете Обработка сигналов в радиотехнических системах