
pr1
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
___________________________________________________________________________
Кафедра радиосистем и обработки сигналов.
Дисциплина «Обработка сигналов в радиотехнических системах»
Практическая работа № 1
Моделирование прямоугольного видеоимпульса
и прямоугольного радиоимпульса на фоне шума
Выполнили: ст. гр.
Проверил: ст.пр. Егоров.С.Г.
Санкт-Петербург
2024
1. Выполнить построения и реализовать функции из методических указаний (построить все графики)
1. Прямоугольный видеоимпульс
Рис.1 Прямоугольный видеоимпульс
Рис.2 Зашумленный прямоугольный видеоимпульс
Рис.3 Частотная характеристика зашумленного видеоимпульса
Рис.4 Спектрограмма прямоугольного видеоимпульса
2. Прямоугольный радиоимпульс
Рис.5 Прямоугольный радиоимпульс
Рис.6 Зашумленный прямоугольный радиоимпульс
Рис.7 Частотная характеристика зашумленного радиоимпульса
Рис.8 Спектрограмма прямоугольного радиоимпульса
2. а) Гармонический сигнал с частотой F (так чтобы укладывалось 10 периодов сигнала на время наблюдения)
Рис.9 Прямоугольный радиоимпульс с 10 периодами сигнала
Б) Радиоимпульс с частотой заполнения F (так чтобы укладывалось 20+ периодов на длительность импульса)
Рис. 10 Радиоимпульс с частотой заполнения 20
Построить спектры/спектрограммы сигналов 2а и 2б при различных значениях отношения сигнал/шум.
Сигнал а) при отношении = 1
Рис.11 Частотная характеристика радиоимпульса при отношении 1
Сигнал а) при отношении = 10
Рис.12 Частотная характеристика радиоимпульса при отношении 10
Сигнал б) при отношении = 1
Рис.13 Частотная характеристика радиоимпульса при отношении 1
Сигнал б) при отношении = 10
Рис.14 Частотная характеристика радиоимпульса при отношении 10
Построить спектры суммы и произведения сигнала 2.а. на прямоугольный импульс.
Рис. 15 Спектр суммы сигнала 2а с прямоугольным импульсом
Рис. 16 Спектр произведения сигнала 2а с прямоугольным импульсом
Рассчитать пороги обнаружения и вероятности ошибок обнаружения прямоугольного импульса в шуме (методом перебора и по критерию Неймана-Пирсона)
Вероятность обнаружения ошибки 0.51%
Пороги обнаружения y 1.2815 2.32634 3.0902 3.7190
Построить рабочие характеристики приемника и характеристики обнаружения
Рис.17 Рабочая характеристика приемника
Рис.18 График порога по методу Неймана Пирсона
% main_rect_impulse
% rectangular impulse plus Gaussian noise
% uses function = func_rect_impulse
clc
clear all
close all
START=0
p=3;
L = 1000 % Total length [points]
LS = 200 % Length of signal [points]
LD = 300 % Signal appearance [points]
%%%%%%%%%%%%%%%%%%%%%
Fs=1000 % Sampling frequency [Hz]
Ts = 1/Fs % Sample time [s]
TS=LS*Ts % Signal duration [s]
TD=LD*Ts % Signal delay [s]
ts=input('STOP_0','s'); % Press ENTER to continue
%%%%%%%%%%%%%%%%%%%%%
PROSESS=1 % rect impulse
A=5 % Amplitude [V]
[s,T,t]=func_rect_impulse(Fs,LS,LD,L,A);
figure(100), plot(Fs*t(1:L),s(1:L),t,A+1),
title(['Impulse with duration LS = ',num2str(LS),...
' Lag LD = ',num2str(LD),' amplitude A = ',num2str(A)]),
xlabel('time (milliseconds)')
ylabel('s (Volts)'), grid
ts=input('STOP_1','s'); % Press ENTER to continue
%%%%%%%%%%%%%%%%
PROCESS=2 %Signal plus noise
rand('state',0);
y = s + randn(size(t)); % Observation
SNR=A^2% Power SNR
figure(200), plot(Fs*t(1:L),y(1:L))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
ylabel('y (Volts)')
grid on
ts=input('STOP_2','s'); % Press ENTER to continue
%%%%%%%%%%%%
PROCESS=3 % Fast Fourier Transform and Spectrogram
nextpow2(L)
NFFT = 2^nextpow2(L) % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
freq = Fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
figure(300), plot(freq,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y')
xlabel('Frequency (Hz)')
ylabel('|Y(freq)|')
grid on
ts=input('STOP','s');
figure(301), spectrogram(y,256,250,256,1e3,'yaxis'),
title('Spectrogram of y')
[k1,k2]=porog(p,Fs,LS,LD,L,A,y);
k3=k2/k1*100
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
PROCESS=4
% Параметры нормального распределенияmo = 0;
% Среднее
sigma0 = 1;
mo=0;
% Стандартное отклонение% Критическое значение
% Пример диапазона значений Cf% Заданная вероятность
F = [0.1, 0.01, 0.001, 0.0001];
Cf = norminv(1-F, mo, sigma0);
% Вычисление процентной точки нормального распределения
ynp = mo + sigma0 * Cf;
% Например, 10%[signal,nosignal,Rsignal] = noemalneimana(ynp,LS,LD,y)
figure(302);
[signal1,nosignal1,signal2,nosignal2,signal3,nosignal3,signal4,nosignal4,D1,D2,D3,D4] = noemalneimana(ynp,LS,LD,y)
D=[D1 D2 D3 D4];
plot(ynp, Cf, '-x');
ylabel('Процентная точка');
xlabel('Порог');
title('График порога по методу Неймана-Пирсона');
grid on;
figure(303);
% Тот же график в зависимости от F
plot(ynp, D, '-x');
ylabel('Вероятность правильного обнаружения')
xlabel('Порог');
grid on
figure(304);
% Тот же график в зависимости от F
plot(F, D, '-x');
ylabel('Вероятность правильного обнаружения')
xlabel('Вероятность ложной тревоги');
grid on
END = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [s,T,t]=func_rect_impulse(Fs,LS,LD,L,A)
% Input
% Fs Sampling frequency [Hz]
% LS Length of signal [points]
% LD time of appearance [points]
% L Length of sample [points]
% A signal amplitude [V]
%Output
% T Time of realization [s]
% t time vector (through Ts)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ts = 1/Fs; % Sample time [s]
T=L*Ts; % Time of realization [s]
t = (0:L-1)*Ts; % Time vector [s]
s=zeros(size(t));
for i=LD:LD+LS-1
s(i)=s(i)+A;
end;
end
function [T,t,s]=func_sin_impulse(Fs,LS,LD,L,f,A,teta)
% Fs Sampling frequency [Hz]
% LS Length of signal [points]
% LD time of appearance (lag)[points]
% L Length of sample [points]
% f signal frequency [Hz]
% A signal amplitude [V]
% teta signal phase in grad
Ts = 1/Fs; % Sample time [s]
T=L*Ts; % Signal duration [s]
teta_rd=teta*pi/180; % teta in radians
t1 = (LD:LD+LS-1)*Ts; % Time signal vector [s]
S = A*sin(2*pi*f*(t1-LD*Ts)+teta_rd);
t = (0:L-1)*Ts; % Time vector
s=zeros(size(t));
for i=LD:LD+LS-1
s(i)=s(i)+S(i-LD+1);
end;
end
function [signal1,nosignal1,signal2,nosignal2,signal3,nosignal3,signal4,nosignal4,D1,D2,D3,D4] = noemalneimana(ynp,LS,LD,y)
signal1 = 0;
nosignal1= 0;
signal2 = 0;
nosignal2= 0;
signal3 = 0;
nosignal3= 0;
signal4 = 0;
nosignal4= 0;
%$Rsignal = zeros(1,1000);
for k7=300:500
if y(k7)>ynp(1)
signal1 = signal1+1;
else
nosignal1 = nosignal1 +1;
end
end
for k7=300:500
if y(k7)>ynp(2)
signal2 = signal2+1;
else
nosignal2 = nosignal2 +1;
end
end
for k7=300:500
if y(k7)>ynp(3)
signal3 = signal3+1;
else
nosignal3 = nosignal3 +1;
end
end
for k7=300:500
if y(k7)>ynp(4)
signal4 = signal4+1;
else
nosignal4 = nosignal4 +1;
end
end
D1 = signal1/200*100;
D2 = signal2/200*100;
D3 = signal3/200*100;
D4 = signal4/200*100;