|
|||
Листинг программы%Система квантового распределения ключа (протокол B92) clear all; clc; %Закрытие графических окон и очистка рабочей области памяти %Ввод физических констант h_Pl=6. 6262*10^(-34); %Постоянная Планка в Дж*с c_opt=3*10^(8); %Скорость оптического излучения в вакууме в м/c
%Параметры лазера wl_s=1550*10^(-9); %Длина волны оптического излучения лазера в м W_fw=7*10^(-9); %Ширина спектра лазерного излучения в м tau_s=1*10^(-9); %Длительность лазерных импульсов в с f_s=5*10^3; %Частота следования лазерных импульсов в Гц T_s=1/f_s; %Период следования импульсов лазера в с P_s=1*10^(-3); %Мощность лазерного излучения в Вт E_s=P_s. /f_s; %Энергия лазерного импульса в Дж E_ph=h_Pl. *c_opt. /wl_s; %Энергия фотона типового излучения лазера в Дж n_mid_s=E_s. /E_ph; %Среднее число фотонов в оптическом импульсе лазера Fi_ph_s=0; %Начальная фаза фотонов лазера в радианах Fi_pol_s=pi/2; %Вертикальное направление поляризации фотонов лазера. Угол в радианах t_s=0; %Момент генерации оптического импульса лазера в с
F1=figure('Name', 'Параметры лазера', 'NumberTitle', 'off'); set(F1, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str101=strcat('\bfФизические константы\rm'); str102=strcat('Постоянная Планка{ }', num2str(h_Pl, '%10. 3e'), ' Дж*с'); str103=strcat('Скорость оптического излучения в вакууме{ }', num2str(c_opt/1000), ' км/с'); str104=strcat(' '); str105=strcat('\bfПараметры лазера\rm'); str106=strcat('Тип лазера: ID300 Fabry-Perot'); str107=strcat('Длина волны оптического излучения лазера{ }', num2str(wl_s*10^9), ' нм'); str108=strcat('Ширина спектра лазерного излучения{ }', num2str(W_fw*(10^9)), ' нм'); str109=strcat('Длительность лазерных импульсов { }', num2str(tau_s*(10^9)), ' нс'); str110=strcat('Частота следования лазерных импульсов { }', num2str(f_s/(10^3)), ' кГц'); str111=strcat('Период следования импульсов лазера{ }', num2str(T_s*(10^6)), ' мкс'); str112=strcat('Мощность лазерного излучения{ }', num2str(P_s*1000), ' мВт'); str113=strcat('Энергия лазерного импульса { }', num2str(E_s*10^9, '%10. 2f'), ' нДж'); str114=strcat('Энергия фотона типового излучения лазера { }', num2str(E_ph*10^15, '%10. 2e'), ' фДж'); str115=strcat('Среднее число фотонов в лазерном импульсе { }', num2str(round(n_mid_s), '%10. 2e')); str116=strcat('Вертикальное направление поляризации фотонов лазера { }', num2str(Fi_pol_s), '{ } радиан { }', num2str(180*Fi_pol_s. /pi), '{ } градус'); str117=strcat('Фаза фотонов лазера{ }', num2str(Fi_ph_s), '{ } радиан { }', num2str(180*Fi_ph_s. /pi), '{ } градус'); str118=strcat('Момент генерации лазерного импульса{ }', num2str(t_s), ' нс'); title({str101; str102; str103; str104; str105; str106; str107; str108; str109; str110; str111; str112; str113; str114; str115; str116; str117; str118});
%Параметры волоконно-оптического аттенюатора (ВОА) n_mid_FA_0=1; %Рекомендуемое среднее число фотонов в импульсе на выходе аттенюатора K_loss_FA_0=n_mid_s. /n_mid_FA_0; %Рекомендуемый коэффициент ослабления аттенюатора Loss_FA_db=floor(10*log10(K_loss_FA_0))+1; %Потери в аттенюаторе в дБ K_loss_FA=10^(Loss_FA_db. /10); %Коэффициент ослабления аттенюатора K_FA=1/K_loss_FA; %Коэффициент передачи аттенюатора n_mid_FA=n_mid_s. /K_loss_FA; %Среднее число фотонов в импульсе на выходе аттенюатора p_FA_0=exp(-n_mid_FA); %Вероятность отсутствия фотонов в фотонном импульсе на выходе аттенюатора p_FA_1=n_mid_FA. *p_FA_0; %Вероятность появления одного фотона в импульсе на выходе аттенюатора p_FA_2=n_mid_FA. *p_FA_1/2; %Вероятность появления двух фотонов в импульсе на выходе аттенюатора p_FA_no0=1-p_FA_0; %Вероятность появления хотя бы одного фотона в импульсе на выходе аттенюатора p_FA_no01=1-p_FA_0-p_FA_1; %Вероятность появления появления 2-х и более фотонов в импульсе на выходе аттенюатора p_FA_no012=p_FA_no01-p_FA_2; %Вероятность появления появления 3-х и более фотонов в импульсе на выходе аттенюатора Fi_pol_FA=0; %Угол изменения направления поляризации аттенюатором в радианах Fi_pol_ph_FA=Fi_ph_s+Fi_pol_FA; %Направление поляризации фотонов на выходе аттенюатора в радианах Fi_FA=0; %Сдвиг фазы аттенюатором в радианах Fi_ph_FA=Fi_ph_s+Fi_FA; %Фаза фотонов на выходе аттенюатора в радианах tau_FA=0; %Время задержки фотона аттенюатором в с t_FA=t_s+tau_FA; %Момент появления фотонного импульса на выходе аттенюатора в с
F2=figure('Name', 'Ввод параметров ОВ и ВОЛС', 'NumberTitle', 'off'); set(F2, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str201=strcat('\bfПараметры волоконно-оптического аттенюатора (ВОА)\rm'); str202=strcat('Модель управляемого волоконно-оптического аттенюатора: Cabeus Att-FM SC-SM { }'); str203=strcat('Рекомендуемое среднее число фотонов в импульсе на выходе аттенюатора{ }', num2str(n_mid_FA_0, '%10. 2f')); str204=strcat('Потери в аттенюаторе { }', num2str(Loss_FA_db, '%10. 0f'), ' дБ'); str205=strcat('Коэффициент ослабления аттенюатора { }', num2str(K_loss_FA, '%10. 2e')); str206=strcat('Коэффициент передачи аттенюатора { }', num2str(K_FA, '%10. 2e')); str207=strcat('Среднее число фотонов в фотонном импульсе на выходе аттенюатора { }', num2str(n_mid_FA, '%10. 2f')); str208=strcat('Вероятность отсутствия фотонов в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_0, '%10. 4f')); str209=strcat('Вероятность появления одного фотона в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_1, '%10. 4f')); str210=strcat('Вероятность появления двух фотонов в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_2, '%10. 4f')); str211=strcat('Вероятность появления хотя бы одного фотона в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_no0, '%10. 4f')); str212=strcat('Вероятность появления 2-х и более фотонов в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_no01, '%10. 4f')); str213=strcat('Вероятность появления 3-х и более фотонов в фотонном импульсе на выходе аттенюатора { }', num2str(p_FA_no012, '%10. 4f')); str214=strcat('Угол изменения направления поляризации аттенюатором { }', num2str(Fi_pol_FA), ' радиан'); str215=strcat('Направление поляризации фотонов на выходе аттенюатора { }', num2str(Fi_pol_ph_FA), ' радиан'); str216=strcat('Сдвиг фазы аттенюатором { }', num2str(Fi_FA), ' { } радиан { }', num2str(180*Fi_FA. /pi), '{ } градусов'); str217=strcat('Фаза фотонов на выходе аттенюатора { }', num2str(Fi_ph_FA), '{ } радиан { }', num2str(180*Fi_ph_FA. /pi), '{ } градусов'); str218=strcat('Время задержки фотона аттенюатором { }', num2str(tau_FA*(10^9)), ' нс'); str219=strcat('Момент появления фотонного импульса на выходе аттенюатора { }', num2str(t_FA*(10^9)), ' нс'); title({str201; str202; str203; str204; str205; str206; str207; str208; str209; str211; str212; str213; str214; str215; str216; str217; str218; str219});
%Параметры симметричного волоконно-оптического разветвителя 1х2 K_FS_0=0. 5; %Номинальные коэффициенты деления потока фотонов между выходами разветвителя Dev_K_FS_db=0. 30; %Неравномерность коэффициентов деления потока фотонов на выходы разветвителя в дБ Dev_K_FS=100*(10^(Dev_K_FS_db/10)-1); %Неравномерность коэффициентов деления потока фотонов на выходы разветвителя в % % Var_K_FS_1=MSV_K_FS. *randn(1); %Отклонение коэффициентов деления потока фотонов на 1-й выход разветвителя % Var_K_FS_2=MSV_K_FS. *randn(1); %Отклонение коэффициентов деления потока фотонов на 2-й выходы разветвителя Var_K_FS_1=0; %Отклонение коэффициентов деления потока фотонов на 1-й выходные порты разветвителя Var_K_FS_2=0; %Отклонение коэффициентов деления потока фотонов на 2-й выходные порты разветвителя K_FS_1=K_FS_0+Var_K_FS_1; %Коэффициент деления потока фотонов на 1-й выходной порт разветвителя K_FS_2=K_FS_0+Var_K_FS_2; %Коэффициент деления потока фотонов на 2-й выходной порт разветвителя Loss_FS_db=3. 7; %Внутренние вносимые потери в разветвителе в дБ K_FS=10^(-Loss_FS_db/10); %Коэффициент передачи, учитывающий внутренние вносимые потери в разветвителе n_mid_FS_1=n_mid_FA. *K_FS_1. *K_FS; %Среднее число фотонов в импульсе на 1-м выходе разветвителя n_mid_FS_2=n_mid_FA. *K_FS_2. *K_FS; %Среднее число фотонов в импульсе на 2-м выходе разветвителя p_FS_1_0=exp(-n_mid_FS_1); %Вероятность отсутствия фотонов в импульсе на 1-м выходе разветвителя p_FS_2_0=exp(-n_mid_FS_2); %Вероятность отсутствия фотонов в импульсе на 2-м выходе разветвителя p_FS_1_1=n_mid_FS_1. *p_FS_1_0; %Вероятность появления одного фотона в импульсе на 1-м выходе разветвителя p_FS_2_1=n_mid_FS_2. *p_FS_2_0; %Вероятность появления одного фотона в импульсе на 2-м выходе разветвителя p_FS_1_2=n_mid_FS_1. *p_FS_1_0/2; %Вероятность появления двух фотонов в импульсе на 1-м выходе разветвителя p_FS_2_2=n_mid_FS_2. *p_FS_2_0/2; %Вероятность появления двух фотонов в импульсе на 2-м выходе разветвителя p_FS_1_no0=1-p_FS_1_0; %Вероятность появления появления хотя бы одного фотона в импульсе на 1-м выходе разветвителя p_FS_2_no0=1-p_FS_1_0; %Вероятность появления появления хотя бы одного фотона в импульсе на 2-м выходе разветвителя p_FS_1_no01=1-p_FS_1_0-p_FS_1_1; %Вероятность появления появления 2-х и более фотонов в импульсе на 1-м выходе разветвителя p_FS_2_no01=1-p_FS_2_0-p_FS_2_1; %Вероятность появления появления 2-х и более фотонов в импульсе на 2-м выходе разветвителя p_FS_1_no012=p_FS_1_no01-p_FS_1_2; %Вероятность появления появления 3-х и более фотонов в импульсе на 1-м выходе разветвителя p_FS_2_no012=p_FS_2_no01-p_FS_2_2; %Вероятность появления появления 3-х и более фотонов в импульсе на 2-м выходе разветвителя Fi_pol_FS=0; %Угол изменения направления поляризации разветвителем в радианах Fi_pol_ph_FS=Fi_pol_ph_FA+Fi_pol_FS; %Направление поляризации фотонов на выходах разветвителя в радианах Fi_FS=0; %Сдвиг фазы аттенюатором в радианах Fi_ph_FS=Fi_ph_FA+Fi_FS; %Фаза фотонов на выходе аттенюатора в радианах tau_FS=0; %Время задержки фотона аттенюатором в с t_FS=t_FA+tau_FS; %Момент появления фотонного импульса на выходе аттенюатора в с
F3=figure('Name', 'Параметры симметричного волоконно-оптического разветвителя 1х2', 'NumberTitle', 'off'); set(F3, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str301=strcat('\bfПараметры симметричного волоконно-оптического разветвителя 1х2\rm'); str302=strcat('Модель симметричного волоконно-оптического разветвителя 1х2: PO-1x2-PLC-SM/0. 9-1, 0м-SC/APC'); str303=strcat('Номинальные коэффициенты деления потока фотонов между выходами разветвителя{ }', num2str(K_FS_0, '%10. 2f')); str304=strcat('Неравномерность коэффициентов деления потока фотонов на выходы разветвителя { }', num2str(Dev_K_FS_db, '%10. 2f'), ' дБ'); str305=strcat('Отклонение коэффициентов деления потока фотонов на 1-й выход разветвителя { }', num2str(Var_K_FS_1, '%10. 3f')); str306=strcat('Отклонение коэффициентов деления потока фотонов на 2-й выход разветвителя { }', num2str(Var_K_FS_2, '%10. 3f')); str307=strcat('Коэффициент деления потока фотонов на 1-й выход разветвителя { }', num2str(K_FS_1, '%10. 3f')); str308=strcat('Коэффициент деления потока фотонов на 2-й выход разветвителя { }', num2str(K_FS_2, '%10. 3f')); str309=strcat('Внутренние вносимые потери в разветвителе { }', num2str(Loss_FS_db, '%10. 2f'), ' дБ'); str310=strcat('Коэффициент передачи, учитывающий внутренние вносимые потери в разветвителе { }', num2str(K_FS, '%10. 3f')); str311=strcat('Среднее число фотонов в фотонном импульсе на 1-м выходе разветвителя { }', num2str(n_mid_FS_1, '%10. 3f')); str312=strcat('Среднее число фотонов в фотонном импульсе на 2-м выходе разветвителя { }', num2str(n_mid_FS_2, '%10. 3f')); str313=strcat('Вероятность отсутствия фотонов в импульсе на 1-м выходе разветвителя { }', num2str(p_FS_1_0, '%10. 4f')); str314=strcat('Вероятность отсутствия фотонов в импульсе на 2-м выходе разветвителя { }', num2str(p_FS_2_0, '%10. 4f')); str315=strcat('Вероятность появления одного фотона в импульсе на 1-м выходе разветвителя { }', num2str(p_FS_1_1, '%10. 4f')); str316=strcat('Вероятность появления одного фотона в импульсе на 2-м выходе разветвителя { }', num2str(p_FS_2_1, '%10. 4f')); str317=strcat('Вероятность появления двух фотонов в импульсе на 1-м выходе разветвителя { }', num2str(p_FS_1_2, '%10. 4f')); str318=strcat('Вероятность появления двух фотонов в импульсе на 2-м выходе разветвителяя { }', num2str(p_FS_2_2, '%10. 4f')); str319=strcat('Вероятность появления хотя бы одного фотона в импульсе на 1-м выходе разветвителя { }', num2str(p_FS_1_no0, '%10. 4f')); str320=strcat('Вероятность появления хотя бы одного фотона в импульсе на 2-м выходе разветвителя { }', num2str(p_FS_2_no0, '%10. 4f')); str321=strcat('Угол изменения направления поляризации разветвителем { }', num2str(Fi_pol_FS, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_FS. /pi, '%10. 2f'), '{ } градусов'); str322=strcat('Направление поляризации фотонов на выходе аттенюатора { }', num2str(Fi_pol_ph_FS, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_ph_FS. /pi, '%10. 2f'), '{ } градусов'); str323=strcat('Сдвиг фазы разветвителем { }', num2str(Fi_FS, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_FS. /pi, '%10. 2f'), '{ }градусов'); str324=strcat('Фаза фотонов на выходе разветвителя { }', num2str(Fi_ph_FS, '%10. 2f'), '{ }радиан { }', num2str(180*Fi_ph_FS. /pi, '%10. 2f'), '{ }градусов'); str325=strcat('Время задержки фотона разветвителем { }', num2str(tau_FS*(10^9), '%10. 2f'), ' нс'); str326=strcat('Моменты появления фотонных импульсов на выходах разветвителя { }', num2str(t_FS*(10^9), '%10. 2f'), ' нс'); title({str301; str302; str303; str304; str305; str306; str307; str308; str309; str310; str311; str312; str313; str314; str315; str316; str317; str318; str319; str320; str322; str322; str323; str324; str325; str326});
%Параметры полуволновой фазовой пластины станции Алиса K_HWP1=0. 9; %Коэффициент передачи полуволновой фазовой пластины n_mid_HWP1=K_HWP1. *n_mid_FS_1; %Среднее число фотонов в импульсе на выходе полуволновой пластины p_HWP1_0=exp(-n_mid_HWP1); %Вероятность отсутствия фотонов в импульсе на выходе полуволновой пластины p_HWP1_1=n_mid_HWP1. *p_HWP1_0; %Вероятность появления одного фотона в импульсе на выходе полуволновой пластины p_HWP1_2=n_mid_HWP1. *p_HWP1_1; %Вероятность появления двух фотонов в импульсе на выходе полуволновой пластины p_HWP1_no0=1-p_HWP1_0; %Вероятность появления появления хотя бы одного фотона в импульсе на выходе полуволновой пластины Fi_pol_HWP1=pi/2; %Угол изменения направления поляризации полуволновой пластиной в радианах Fi_pol_ph_HWP1=Fi_pol_ph_FS+Fi_pol_HWP1; %Направление поляризации фотонов на выходе полуволновой пластины в радианах Fi_HWP1=0; %Сдвиг фазы полуволновой пластиной в радианах Fi_ph_HWP1=Fi_ph_FS+Fi_HWP1; %Фаза фотонов на выходе полуволновой пластины в радианах tau_HWP1=0; %Время задержки фотона полуволновой пластиной в с t_HWP1=t_FS+tau_HWP1; %Момент появления фотонного импульса на выходе полуволновой пластины в с
F4=figure('Name', 'Параметры первой полуволновой фазовой пластины', 'NumberTitle', 'off'); set(F4, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str401=strcat('\bfПараметры первой полуволновой фазовой пластины\rm'); str402=strcat('Модель полуволновой пластины: Фирма Тидекс'); str403=strcat('Номинальный коэффициент передачи полуволновой пластины{ }', num2str(K_HWP1, '%10. 2f')); str404=strcat('Среднее число фотонов в фотонном импульсе на выходе полуволновой пластины { }', num2str(n_mid_HWP1, '%10. 3f')); str405=strcat('Вероятность отсутствия фотонов в фотонном импульсе на выходе полуволновой пластины { }', num2str(p_HWP1_0, '%10. 4f')); str406=strcat('Вероятность появления одного фотона в фотонном импульсе на выходе полуволновой пластины { }', num2str(p_HWP1_1, '%10. 4f')); str407=strcat('Вероятность появления двух фотонов в фотонном импульсе на выходе полуволновой пластины { }', num2str(p_HWP1_1, '%10. 4f')); str408=strcat('Вероятность появления хотя бы одного фотона в фотонном импульсе на выходе полуволновой пластины { }', num2str(p_HWP1_no0, '%10. 4f')); str409=strcat('Угол изменения направления поляризации полуволновой пластиной { }', num2str(Fi_pol_HWP1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_HWP1. /pi, '%10. 2f'), '{ } градусов'); str410=strcat('Направление поляризации фотонов на выходах полуволновой пластины { }', num2str(Fi_pol_ph_HWP1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_ph_HWP1. /pi, '%10. 2f'), '{ } градусов'); str411=strcat('Сдвиг фазы полуволновой пластиной { }', num2str(Fi_HWP1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_HWP1. /pi, '%10. 2f'), '{ } градусов'); str412=strcat('Фаза фотонов на выходе полуволновой пластины { }', num2str(Fi_ph_HWP1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_ph_HWP1. /pi, '%10. 2f'), '{ } градусов'); str413=strcat('Время задержки фотона полуволновой пластиной { }', num2str(tau_HWP1*(10^9), '%10. 2f'), '{ }нс'); str414=strcat('Момент появления фотонного импульса на выходе полуволновой пластины { }', num2str(t_HWP1*(10^9), '%10. 2f'), ' нс'); title({str401; str402; str403; str404; str405; str406; str407; str408; str409; str410; str411; str412; str413; str414});
%Параметры волоконно-оптической линии задержки (ВОЛЗ1)станции Алиса Loss_FDL1_db=0. 3; %Потери, вносимые первой ВОЛЗ в дБ K_FDL1=10^(-Loss_FDL1_db/10); %Коэффициент передачи первой ВОЛЗ tau_FDL1=50*(10^(-9)); %Время задержки в с n_mid_FDL1=K_FDL1. *n_mid_HWP1; %Среднее число фотонов в фотонном импульсе на выходе первой ВОЛЗ p_FDL1_0=exp(-n_mid_FDL1); %Вероятность отсутствия фотонов в фотонном импульсе на выходе первой ВОЛЗ p_FDL1_1=n_mid_FDL1. *p_FDL1_0; %Вероятность появления одного фотона в фотонном импульсе на выходе ВОЛЗ p_FDL1_2=n_mid_FDL1. *p_FDL1_1/2; %Вероятность появления двух фотонов в фотонном импульсе на выходе ВОЛЗ p_FDL1_no0=1-p_FDL1_0; %Вероятность появления появления хотя бы одного фотона в фотонном импульсе на выходе ВОЛЗ Fi_pol_FDL1_rad=0; %Угол изменения направления поляризации ВОЛЗ в радианах Fi_pol_ph_FDL1=Fi_pol_ph_HWP1+Fi_pol_FDL1_rad; %Направление поляризации фотонов на выходе ВОЛЗ в радианах Fi_FDL1=0; %Сдвиг фазы ВОЛЗ в радианах Fi_ph_FDL1=Fi_ph_HWP1+Fi_FDL1; %Фаза фотонов на выходе ВОЛЗ в радианах tau_FDL1=0; %Время задержки фотона ВОЛЗ в с t_FDL1=t_HWP1+tau_FDL1; %Момент появления фотонного импульса на выходе ВОЛЗ в с
F5=figure('Name', 'Параметры первой волоконно-оптической линии задержки станции Алиса', 'NumberTitle', 'off'); set(F5, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str501=strcat('\bfПараметры волоконно-оптической линии задержки станции Алиса\rm'); str502=strcat('Модель ВОЛЗ: Фирма '); str503=strcat('Потери в ВОЛЗ { }', num2str(Loss_FDL1_db, '%10. 2f'), ' дБ'); str504=strcat('Номинальный коэффициент передачи ВОЛЗ { }', num2str(K_FDL1, '%10. 2f')); str505=strcat('Среднее число фотонов в импульсе на выходе ВОЛЗ { }', num2str(n_mid_FDL1, '%10. 3f')); str506=strcat('Вероятность отсутствия фотонов в импульсе на выходе ВОЛЗ { }', num2str(p_FDL1_0, '%10. 4f')); str507=strcat('Вероятность появления одного фотона в импульсе на выходе ВОЛЗ { }', num2str(p_FDL1_1, '%10. 4f')); str508=strcat('Вероятность появления двух фотонов в импульсе на выходе ВОЛЗ { }', num2str(p_FDL1_2, '%10. 4f')); str509=strcat('Вероятность появления хотя бы одного фотона в импульсе на выходе ВОЛЗ { }', num2str(p_FDL1_no0, '%10. 4f')); str510=strcat('Угол изменения направления поляризации ВОЛЗ { }', num2str(Fi_pol_FDL1_rad, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_FDL1_rad. /pi, '%10. 2f'), '{ } градусов'); str511=strcat('Направление поляризации фотонов на выходе ВОЛЗ { }', num2str(Fi_pol_ph_FDL1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_ph_FDL1. /pi, '%10. 2f'), '{ } градусов'); str512=strcat('Сдвиг фазы ВОЛЗ { }', num2str(Fi_FDL1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_FDL1, '%10. 2f'), '{ } градусов'); str513=strcat('Фаза фотонов на выходе ВОЛЗ { }', num2str(Fi_ph_FDL1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_ph_FDL1. /pi, '%10. 2f'), '{ } градусов'); str514=strcat('Время задержки фотона ВОЛЗ { }', num2str(tau_FDL1*(10^9), '%10. 2f'), '{ }нс'); str515=strcat('Момент появления фотонного импульса на выходе ВОЛЗ { }', num2str(t_FDL1*(10^9), '%10. 2f'), ' нс'); title({str501; str502; str503; str504; str505; str506; str507; str508; str509; str510; str511; str512; str513; str514; str515});
%Параметры волоконно-оптического фазового модулятора (ВОФМ) станции Алиса Loss_PM1_db=2. 7; %Потери в волоконно-оптическом фазовом модуляторе в дБ K_PM1=10^(-Loss_PM1_db/10); %Коэффициент передачи волоконно-оптического фазового модулятора n_mid_PM1=K_PM1. *n_mid_FS_2; %Среднее число фотонов в импульсе на выходе фазового модулятора p_PM1_0=exp(-n_mid_PM1); %Вероятность отсутствия фотонов в импульсе на выходе ВОФМ p_PM1_1=n_mid_PM1. *p_PM1_0; %Вероятность появления одного фотона в импульсе на выходе ВОФМ p_PM1_2=n_mid_PM1. *p_PM1_1/2; %Вероятность появления двух фотонов в фотонном импульсе на выходе ВОЛЗ p_PM1_no0=1-p_PM1_0; %Вероятность появления появления хотя бы одного фотона в импульсе на выходе ВОФМ Fi_pol_PM1_rad=2*(10^-6); %Угол изменения направления поляризации ВОФМ в радианах Fi_pol_ph_PM1=Fi_pol_ph_FS+Fi_pol_PM1_rad; %Направление поляризации фотонов на выходе ВОФМ в радианах x1=rand(1); %генерация числа, равномерно распределённого на онтервале [0; 1] if x1< 0. 5 Fi_PM1_rad=0; %Сдвиг фазы в волоконно-оптическом фазовом модуляторе в 0 радиан. Передача бита " 0" else Fi_PM1_rad=pi/2; %Сдвиг фазы в волоконно-оптическом фазовом модуляторе в pi/2 радиан. Передача бита " 1" end Fi_ph_PM1_rad=Fi_ph_FS+Fi_PM1_rad; %Фаза фотонов на выходе ВОФМ в радианах tau_PM1=0; %Время задержки в волоконно-оптическом фазовом модуляторе в с t_PM1=t_FS+tau_PM1; %Момент генерации фотонного импульса на выходе ВОФМ в с
F6=figure('Name', 'Параметры волоконно-оптического фазового модулятора станции Алиса', 'NumberTitle', 'off'); set(F6, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str601=strcat('\bfПараметры волоконно-оптического фазового модулятора (ВОФМ) станции Алиса\rm'); str602=strcat('Модель ВОФМ: Фирма '); str603=strcat('Потери в ВОФМ { }', num2str(Loss_PM1_db, '%10. 2f'), ' дБ'); str604=strcat('Номинальный коэффициент передачи ВОФМ { }', num2str(K_PM1, '%10. 2f')); str605=strcat('Среднее число фотонов в импульсе на выходе ВОФМ { }', num2str(n_mid_PM1, '%10. 3f')); str606=strcat('Вероятность отсутствия фотонов в импульсе на выходе ВОФМ { }', num2str(p_PM1_0, '%10. 4f')); str607=strcat('Вероятность появления одного фотона в импульсе на выходе ВОФМ { }', num2str(p_PM1_1, '%10. 4f')); str608=strcat('Вероятность появления двух фотонов в импульсе на выходе ВОФМ { }', num2str(p_PM1_2, '%10. 4f')); str609=strcat('Вероятность появления хотя бы одного фотона в импульсе на выходе ВОФМ { }', num2str(p_PM1_no0, '%10. 4f')); str610=strcat('Угол изменения направления поляризации ВОФМ { }', num2str(Fi_PM1_rad*(10^6), '%10. 2f'), '{ }микрорадиан{ }', num2str(180*Fi_PM1_rad. /pi, '%10. 2f'), '{ } градусов'); str611=strcat('Направление поляризации фотонов на выходе ВОФМ { }', num2str(Fi_pol_ph_PM1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_ph_PM1. /pi, '%10. 2f'), '{ } градусов'); str612=strcat('Сдвиг фазы ВОФМ { }', num2str(Fi_PM1_rad, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_PM1_rad. /pi, '%10. 2f'), '{ } градусов'); str613=strcat('Фаза фотонов на выходе ВОФМ { }', num2str(Fi_ph_PM1_rad, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_ph_PM1_rad. /pi, '%10. 2f'), '{ } градусов'); str614=strcat('Время задержки фотона ВОФМ { }', num2str(tau_PM1*(10^9), '%10. 2f'), '{ }нс'); str615=strcat('Момент появления фотонного импульса на выходе ВОФМ { }', num2str(t_PM1*(10^9), '%10. 2f'), ' нс'); str616=strcat('Случайное число { }', num2str(x1, '%10. 4f')); if x1< 0. 5 str617=strcat('Передача бита " 0" '); else str617=strcat('Передача бита " 1" '); end title({str601; str602; str603; str604; str605; str606; str607; str608; str609; str610; str611; str612; str613; str614; str615; str616; str617});
%Параметры регулятора поляризации (РП, PC1) станции Алиса Loss_PC1_db=0. 7; %Потери в регуляторе поляризации в дБ K_PC1=10^(-Loss_PC1_db/10); %Коэффициент передачи регулятора поляризации n_mid_PC1=K_PC1. *n_mid_PM1; %Среднее число фотонов в импульсе на выходе регулятора поляризации p_PC1_0=exp(-n_mid_PC1); %Вероятность отсутствия фотонов в импульсе на выходе регулятора поляризации p_PC1_1=n_mid_PC1. *p_PC1_0; %Вероятность появления одного фотона в импульсе на выходе регулятора поляризации p_PC1_2=n_mid_PC1. *p_PC1_1/2; %Вероятность появления двух фотонов в фотонном импульсе на выходе регулятора поляризации p_PC1_no0=1-p_PC1_0; %Вероятность появления появления хотя бы одного фотона в импульсе на выходе регулятора поляризации Fi_pol_PC1_rad=-Fi_PM1_rad; %Угол изменения направления поляризации регулятора поляризации в радианах Fi_pol_ph_PC1=Fi_pol_ph_PM1+Fi_pol_PC1_rad; %Направление поляризации фотонов на выходе регулятора поляризации в радианах Fi_PC1_rad=0; %Сдвиг фазы в регуляторе поляризации в радианах Fi_ph_PC1_rad=Fi_ph_PM1_rad+Fi_PC1_rad; %Фаза фотонов на выходе регулятора поляризации в радианах tau_PC1=0; %Время задержки в регулятора поляризации в с t_PC1=t_PM1+tau_PC1; %Момент генерации фотонного импульса на выходе регулятора поляризации в с
F7=figure('Name', 'Параметры регулятора поляризации (РП, PC1) станции Алиса', 'NumberTitle', 'off'); set(F7, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str701=strcat('\bfПараметры регулятора поляризации (РП, PC1) станции Алиса\rm'); str702=strcat('Модель регулятора поляризации: Фирма '); str703=strcat('Потери в регуляторе поляризации { }', num2str(Loss_PC1_db, '%10. 2f'), ' дБ'); str704=strcat('Номинальный коэффициент передачи регулятора поляризации { }', num2str(K_PC1, '%10. 2f')); str705=strcat('Среднее число фотонов в импульсе на выходе регулятора поляризации { }', num2str(n_mid_PC1, '%10. 3f')); str706=strcat('Вероятность отсутствия фотонов в импульсе на выходе регулятора поляризации { }', num2str(p_PC1_0, '%10. 4f')); str707=strcat('Вероятность появления одного фотона в импульсе на выходе регулятора поляризации { }', num2str(p_PC1_1, '%10. 4f')); str708=strcat('Вероятность появления двух фотонов в импульсе на выходе регулятора поляризации { }', num2str(p_PC1_2, '%10. 4f')); str709=strcat('Вероятность появления хотя бы одного фотона в импульсе на выходе регулятора поляризации { }', num2str(p_PC1_no0, '%10. 4f')); str710=strcat('Угол изменения направления поляризации регулятором поляризаци { }', num2str(Fi_pol_PC1_rad*(10^6), '%10. 2f'), '{ }микрорадиан{ }', num2str(180*Fi_pol_PC1_rad. /pi, '%10. 2f'), '{ } градусов'); str711=strcat('Направление поляризации фотонов на выходе ВОФМ { }', num2str(Fi_pol_ph_PC1, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_pol_ph_PC1. /pi, '%10. 2f'), '{ } градусов'); str712=strcat('Сдвиг фазы ВОФМ { }', num2str(Fi_PC1_rad, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_PC1_rad. /pi, '%10. 2f'), '{ } градусов'); str713=strcat('Фаза фотонов на выходе ВОФМ { }', num2str(Fi_ph_PC1_rad, '%10. 2f'), '{ }радиан{ }', num2str(180*Fi_ph_PC1_rad. /pi, '%10. 2f'), '{ } градусов'); str714=strcat('Время задержки фотона ВОФМ { }', num2str(tau_PC1*(10^9), '%10. 2f'), '{ }нс'); str715=strcat('Момент появления фотонного импульса на выходе ВОФМ { }', num2str(t_PC1*(10^9), '%10. 2f'), ' нс'); title({str701; str702; str703; str704; str705; str706; str707; str708; str709; str710; str711; str712; str713; str714; str715});
%Ввод параметров оптического волокна (ВО) alfa_OF=0. 2; %Погонное затухание оптического излучения в ОВ в дБ/км n_OF=1. 482; %Показатель преломления оптического излучения в сердечнике ОВ wl_0_OF=1312*10^(-9); %Длина волны нулевой дисперсии в м S_0_OF_OF_sp=0. 089; %Наклон дисперсионной характеристики в пс/(нм^2*км) S_0_OF=1000*S_0_OF_OF_sp; %Наклон дисперсионной характеристики в с/(м^3) v_OF=c_opt/n_OF; %Скорость фотона в ОВ в м/c K_lambda_OF=(S_0_OF/4). *(wl_s-((wl_0_OF^4). /(wl_s^3))); %Коэффициент хроматической дисперсии в с/м^2 PMD_OF=0. 02; %Коэффициент поляризационной модовой дисперсии (ПМД)ОВ в пс/sqrt(км)
%Ввод параметров волоконно-оптической линии связи (ВОЛС) L_fol=20000; %Длина ВОЛС в м Loss_fol=alfa_OF. *L_fol/1000; %Потери в оптическом волокне ВОЛС в дБ K_fol=10. ^(-Loss_fol/10); %Коэффициент передачи ОВ Loss_contact_1=0. 02; %Потери излучения на неразъёмном соединении отрезков ОВ в дБ L_of_1=1000; %Строительная длина отрезка ОВ в м n_OF=L_fol. /L_of_1-1; %Количество неразъёмных соединений в ВОЛС Loss_fc=0. 15; %Потери в коннекторе типа FC на кконцах ВОЛС в дБ Loss_contact=Loss_contact_1. *n_OF+2. *Loss_fc; %Потери в ВОЛС на разъёмных и неразъёмных соединениях ОВ в дБ K_fa_times=(10^(-Loss_contact/10)). *K_fol; %Суммарный коэффициент передача в разах K_ta_db=Loss_fol+Loss_contact; %Суммарный коэффициент ослабления в ВОЛС в дБ tau_tf=L_fol. /v_OF; %Временная задержка Фотона после прохождения ВОЛС в c MSV_OF=K_lambda_OF. *L_fol. *W_fw; %Cреднеквадратичное отклонение времени задержки фотона после распространения через ВОЛС в с
V_imp=200000000; %Скорость распространения импульса в ВОЛС в м/c tau_delay=L_fol/V_imp; %Время задержки ответа в с Frame=floor(tau_delay/T_s)+1; %Номер кадра, в котором будет получен ответ
F9=figure('Name', 'Ввод параметров ОВ и ВОЛС', 'NumberTitle', 'off'); set(F9, 'Position', [80 50 1000 600], 'color', [1, 1, 1]); %Задание координат и размеров выводимого окна str901=strcat('\bfПараметры оптического волокна ОВ\rm'); str902=strcat('Тип оптического волокна: одномодовое Corning SMF-28e'); str903=strcat('Диаметр сердцевины ОВ 8, 2 мкм'); str904=strcat('Погонное затухание оптического излучения в ОВ { }', num2str(alfa_OF, '%10. 2f'), ' дБ/км'); str905=strcat('Показатель преломления оптического излучения в сердечнике ОВ { }', num2str(n_OF, '%10. 3f')); str906=strcat('Длина волны нулевой дисперсии { }', num2str(wl_0_OF*10^9), ' нм'); str907=strcat('Наклон дисперсионной характеристики { }', num2str(S_0_OF_OF_sp, '%10. 3f'), ' пс/(км*нм^2)'); str908=strcat('Скорость фотона в ОВ { }', num2str(v_OF/1000, '%10. 0f'), ' км/с'); str909=strcat('Коэффициент хроматической дисперсии { }', num2str(K_lambda_OF*(10^6), '%10. 3f'), ' нс/м'); str910=strcat('Коэффициент поляризационной модовой дисперсии (ПМД) ОВ{ }', num2str(PMD_OF/1000, '%10. 2e'), ' пс/sqrt(км)'); str911=strcat(''); str912=strcat('\bfПараметры волоконно-оптической линии связи (ВОЛС)\rm'); str913=strcat('Длина ВОЛС{ }', num2str(L_fol/1000, '%10. 1f'), ' км'); str914=strcat('Потери излучения в оптическом волокне { }', num2str(Loss_fol, '%10. 2f'), ' дБ'); str915=strcat('Коэффициент передачи ВОЛС{ }', num2str(K_fol, '%10. 2f')); str916=strcat('Потери на неразъёмном соединении отaрезков ОВ{ }', num2str(Loss_contact_1, '%10. 3f'), ' дБ'); str917=strcat('Строительная длина отрезка ОВ{ }', num2str(L_of_1/1000), ' км'); str918=strcat('Количество неразъёмных соединений ВОЛС{ }', num2str(n_OF)); str919=strcat('Потери в коннекторе типа FC{ }', num2str(Loss_fc, '%10. 3f'), ' дБ'); str920=strcat('Потери в ВОЛС на разъёмных и неразъёмных соединениях ОВ{ }', num2str(Loss_contact, '%10. 2f'), ' дБ'); str921=strcat('Суммарный коэффициент передачи ВОЛС{ }', num2str(K_fa_times, '%10. 3f')); str922=strcat('Суммарный коэффициент ослабления в ВОЛС{ }', num2str(K_ta_db, '%10. 2f'), ' дБ'); str923=strcat('Временная задержка фотона после прохождения ВОЛС{ }', num2str(tau_tf*10^6, '%10. 2f'), ' мкс'); str924=strcat('СКО времени задержки фотона после распространения через ВОЛС { }', num2str(MSV_OF*10^9, '%10. 3f'), ' нс'); str925=strcat('Время задержки ответа {}', num2str(tau_delay), 'c'); str926=strcat('Номер кадра, в котором будет получен ответ { }', num2str(Frame)); title({str901; str902; str903; str904; str905; str906; str907; str908; str909; str910; str911; str912; str913; str914; str915; str916; str917; str918; str919; str920; str921; str922; str923; str924; str925; str926});
В результате работы программы были также получены результаты расчета параметров для реальных устройств системы СКРК (Рисунки 10-16):
Рисунок 10 - результаты расчета параметров для реальных устройств
Рисунок 11 - результаты расчета параметров для реальных устройств
Рисунок 11 - результаты расчета параметров для реальных устройств
Рисунок 12 - результаты расчета параметров для реальных устройств
Рисунок 13 - результаты расчета параметров для реальных устройств
Рисунок 14 - результаты расчета параметров для реальных устройств
Рисунок 15 - результаты расчета параметров для реальных устройств
Рисунок 16 - результаты расчета параметров для реальных устройств
При моделировании общей схемы КРК мы ориентировались на наработки нашего дипломного руководителя и за основу взяли модель, предложенную им. На представленном ниже рисунке наглядно продемонстрирована общая схема
Рисунок 1. Структурная схема системы квантового распределения ключа Система КРК содержит оптический однофотонный передатчик (ST – Single Transmitter) 1 на станции Алиса и оптический однофотонный приёмник (SR – Single Receiver) 2 на станции Боб. Оптические передатчик и приёмник соединены волоконно-оптической линией связи (TF – Transmission Fibre) 3 на основе одномодового оптического волокна (SMF – Single Mode Fibre). Для остальных функциональных элементов схемы использовано следующее цифровое обозначение: 4 – одномодовый одночастотный лазер (Laser); 5 – регулируемый волоконно-оптический аттенюатор (FA – Fibre Attenuator); 6 – волоконно-оптический разветвитель 1´ 2 (FS – Fibre Splitter 50/50); 7 – первый модулятор поляризации (MP1 – Polarisation Modulator); 8 – первая волоконно-оптическая линия задержки (FDL1 – Fibre Delay Loop); 9 – первый регулятор поляризации (PC1 – Polarisation Controller); 10 – первый волоконно-оптический фазовый модулятор (PM – Phase Modulator); 11 – первый волоконно-оптический сумматор (FC1 – Fibre Coupler 50/50); 12 – второй регулятор поляризации (PC2 – Polarisation controller); 13 – поляризационный волоконно-оптический делитель (PFS – Polarisation Fibre Splitter); 14 – третий регулятор поляризации (PC3 – Polarisation Controller); 15 – вторая волоконно-оптическая линия задержки (FDL2 – Fibre Delay Loop); 16 – второй модулятор поляризации (MP2 – Polarisation Modulator); 17 – второй волоконно-оптический фазовый модулятор (PM – Phase Modulator); 18 – направленный волоконный ответвитель (НВО) Х-типа (DC – Directional Coupler); 19 – третья волоконно-оптическая линия задержки (FDL3 – Fibre Delay Loop); 20 – второй волоконно-оптический сумматор (FC2 – Fibre Coupler 50/50); 21 – регистратор ключа (D – Detector). Отметим, что в структурной схеме отличие между регуляторами поляризации (PC1, PC2, PC3) и модуляторами поляризации (MP1, MP2) заключается только в том, что первые служат для компенсации отклонений поляризации от исходного вертикального направления излучения лазера. Причём диапазон регулировки (изменений) поляризации невелик. В противовес этому в модуляторах направление поляризации должно меняться на 45 °. Регистратор ключа реализуется на однофотонном лавинном фотодиоде (SAPD – Single Avalanche PhotoDiode). В процессе работы над программой нами была разработана блок-схема, представленная на рисунке 16.
Рисунок 16- блок-схема ЗАКЛЮЧЕНИЕ В данном проекте мы смоделировали систему квантового распределения ключей, а точнее станцию Алису и ВОЛС, полностью соответствующую поставленным целям и задачам. Подсистема полностью работоспособна, степень достижения поставленной цели 100%. Нами был собран и изучен колоссальный объём информации по квантовой физике, аппаратной части для реализации нашей системы, сделанны первые шаги в написании будущей дипломной работы и получение большого опыта в данной научной сфере. Данная система КРК имеет дальнейшее развитие в нашей дипломной работе по специальности 10. 05. 02 «Информационная безопасность телекоммуникационных систем» Также данная научно-исследовательская работа послужит хорошим фундаментом для будущих изысканий исследователей в области квантовой физики и квантового распределения ключей. Наша СКРК и предложенная нами программа позволит учитывать параметры реальных устройств для построения своих систем квантового распределения ключей, как наиболее перспективного и защищенного способа защиты и передачи зашифрованной информации в настоящее время.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 1. Котенко В. В., Румянцев К. Е., Котенко С. В. Методология идентификационного анализа инфокоммутационных систем: Монография. – Ростов-на-Дону: Изд-во ЮФУ, 2014. – 315 с. 2. Румянцев К. Е. Системы квантового распределения ключа: Монография. – Таганрог: Изд-во ТТИ ЮФУ, 2011. – 264 с. 3. Голубчиков Д. М., Румянцев К. Е. Обобщенная структура систем квантового распределения ключей с фазовым кодированием состояний фотонов // Известия ВУЗов России. Радиоэлектроника. - 2011. - № 6. - С. 26 - 38. 4. Rumyantsev K. E., Golubchikov D. M. Modeling of Quantum Key Distribution System for Secure Information Transfer: Nanotechnology: Concepts, Methodologies, Tools, and Application. Volume 2-3, Febrary 28, 2014, Pages 811-840. ISBN 978-146665126-2. 5. Квантовая криптография: идеи и практика. / Под ред. С. Я. Килина, Д. Б. Хорошко, А. П. Низовцева. – Минск: Беларуская навука, 2008. – 392 с. 6. Румянцев К. Е. Квантовая коммуникация: теория, эксперименты, приложения. В кн. " Информационно-телекоммуникационные и компьютерные технологии, устройства и системы в Южном федеральном университете: Монография. / Под ред. И. А. Каляева, А. П. Кухаренко. – Ростов н/Д: Изд-во ЮФУ, 2010. – С. 213-247 7. Котенко В. В., Румянцев К. Е. Теория информации и защита телекоммуникаций: Монография. – Ростов н/Д: Изд-во ЮФУ, 2009. – 369 с. 8. Stucki D., Gisin N., Guinnard O., Ribordy G., Zbinden H. Quantum key distribution over 67 km with a plug& play system // New Journal of Physics. – 2002. – №4. – P. 41. 1– 41. 8. 9. Clavis. Plug & play quantum cryptography. // id 3000. Specifications. id Quantique SA. – Ver. 2. 1. – January 2005. – 2 p. – www. idquantique. com 10. Quantum Cryptography. The key to future-proof confidentiality. // id Quantique SA. – Ver. 3. 1. – June 2008. – 4 p. 11. Голубчиков Д. М., Румянцев К. Е. Квантовая криптография: принципы, протоколы, системы. // Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению " Информационно-телекоммуникационные системы". 2008. – 37 с. – www. ict. edu. ru/ft/005712/68358e2-st14. pdf 12. Голубчиков Д. М. Структура и принципы функционирования системы квантового распределения ключа Id 3000 Clavis. // Известия ЮФУ. Технические науки. Тематический выпуск «Безопасность телекоммуникационных систем». – Таганрог: Изд-во ТТИ ЮФУ, 2008. – №3 (80). – С. 149-157. 13. Голубчиков Д. М., Розова Я. С. Исследование принципов функционирования систем квантового распределения ключей на примере Id 3000 Clavis. // Известия ЮФУ. Технические науки. Тематический выпуск «Безопасность телекоммуникационных систем». – Таганрог: Изд-во ТТИ ЮФУ, 2008. – №3 (80). – С. 158–167.
|
|||
|