Tính tỉ số tín hiệu trên tạp âm

Một phần của tài liệu Ứng dụng khuếch đại quang sợi trong truyền dẫn quang WDM (Trang 84 - 103)

Giả sử ta sử dụng InGaAs-p-i-n photodiode (PIN) hoặc InGaAs-avaianche photodiode (APD) để tách công suất sóng liên tục CW. Các tham số tính toán theo bảng 1 ta có các dòng quang điện như sau:

I1 = ηc ηd(e/hν)Pd(z) I0 = ηc ηd(e/hν)Pdc Is = ηc ηd(e/hν)Pamp(z) In = ηc ηd(e/hν)Psp(z) Trong đó : e 1à điện tích electron h là hằng số Planck ν là tần số ánh sáng sóng liên tục CW

Khi đó tỉ số tín hiệu trên tạp âm được cho bởi công thức : SNR = 4(ISM)2.Nave/ (σ1 + σ0)2.B

Trong đó :

Nave là số trung bình

B = 1 MHz là độ rộng băng tần RIN = -130 dB/Hz với tín hiệu LD

σ1 và σ0 là các hệ số nhiễu cho bởi công thức sau σ12

= 2e(I1+ In)M2+x +RIN. I02M2 +σd2 σ02

= 2eI0 .M2+x +RIN. I02M2 +σd2 σd2 = 2e Id0+ 2e Idm.M2+x + 4kTF/R Với: k là hàng soos Boltzmann

I1 = ηc ηd(e/hν)Pd(z)

= ηc ηd(e/hν)Pcw(L)exp (-αcwz).C.[1+γ(z)Pp(0)exp(-αpz)vW/2] = Pcw(U+V)

I0 = ηc ηd(e/hν)Pdc

= ηc ηd(e/hν)Pcw(L)exp(-αcwz).C = Pcw.U

Is = ηc ηd(e/hν)Pamp(z)

= ηc ηd(e/hν)Pcw(L)exp (-αcwz).C.[γ(z)Pp(0)exp(-αpz)vW/2] = Pcw .V In = ηc ηd(e/hν)Psp(z) = ηc ηd(e/hν)Pp (0).exp(-αp z-αpz).αR S vW/2 = Q Trong đó: Pcw(L) viết tắt là Pcw U = ηc ηd(e/hν)exp(-αcwz).C V = ηc ηd(e/hν).exp (-αcwz).C.γ(z)Pp(0)exp(-αpz)vW/2 Q = ηc ηd(e/hν)Pp (0).exp(-αp z-αpz).αR S vW/2

Các hệ số nhiễu được tính như sau:

σ12 = 2e(I1+ In)M2+x +RIN. I02M2 +σd2 = 2e [Pcw (U+V) + Q].M2+x +RIN. Pcw2 .U2 .M2 +σd2 = a Pcw2 + b Pcw +c σ02 = 2eI0 .M2+x +RIN. I02M2 +σd2 = 2e Pcw .U.M2+x +RIN. Pcw2 .U2 .M2 +σd2

Trong đó : a = RIN .U2 .M2 b = 2e .(U+V).M2+x c = 2e. Q.M2+x +σd2 b' - 2e .U.M2+x c’ = σd2

Thay vào ta có tỉ số SNR được tính bởi

SNR = 4(IsM)2.Nave/(σ1 + σ0)2.B

= 4.m2Nave.V2.Pcw2/[2aPcw2 + (b+b’)Pcw + (c+c’)+2]{(a Pcw2+bPcw + c).(aPcw2+b’Pcw + c’)}1/2.B]

CHƢƠNG 3

CHƢƠNG TRÌNH MÔ PHỎNG 3.1. Lƣu đồ thuật toán và kết quả mô phỏng.

GIAO DIỆN CỦA CHƢƠNG TRÌNH

Bắt đầu

 Thông số đầu vào:

- Công suất ánh sáng bơm tại z = 0 - Công suất ánh sáng sóng liên tục PCW - Cự ly tuyến quang

- Tổng suy hao truyền dẫn của OC và OF quang - Độ rộng xung (W) Trường hợp sử dụng PD hoặc APD Tính toán tỷ số SNR và vẽ đồ thị Nhập các thông số đầu vào PD Nhập các thông số đầu vào APD

Kết thúc

APD

3.2. Mã nguồn chƣơng trình.

function varargout = lvan(varargin) % LVAN M-file for lvan.fig

% LVAN, by itself, creates a new LVAN or raises the existing % singleton*.

%

% H = LVAN returns the handle to a new LVAN or the handle to % the existing singleton*.

%

% LVAN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in LVAN.M with the given input arguments. %

% LVAN('Property','Value',...) creates a new LVAN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before lvan_OpeningFunction gets called. An

% unrecognized property name or invalid value makes property application % stop. All inputs are passed to lvan_OpeningFcn via varargin.

% instance to run (singleton)". %

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help lvan % Last Modified by GUIDE v2.5 13-May-2013 00:34:03 % Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @lvan_OpeningFcn, ... 'gui_OutputFcn', @lvan_OutputFcn, ... 'gui_LayoutFcn', [] , ...

'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

% End initialization code - DO NOT EDIT % --- Executes just before lvan is made visible.

function lvan_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to lvan (see VARARGIN) % Choose default command line output for lvan

guidata(hObject, handles);

% UIWAIT makes lvan wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = lvan_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

global nc nd m Idm Id0 xx F R acw ap gamma n aeff h e c v RIN k B T id contents = get(hObject,'Value'); switch contents case 1 id=1; case 2 id=2; otherwise end axes(handles.so_do_thuc_nghiem); if(id==1) imshow('h1.jpg') else imshow('h2.jpg')

% contents{get(hObject,'Value')} returns selected item from popupmenu1 % --- Executes during object creation, after setting all properties.

function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text

% str2double(get(hObject,'String')) returns contents of edit1 as a double % --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit2_Callback(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO)

% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text

% str2double(get(hObject,'String')) returns contents of edit2 as a double % --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text

% str2double(get(hObject,'String')) returns contents of edit3 as a double % --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit4 as text

% str2double(get(hObject,'String')) returns contents of edit4 as a double % --- Executes during object creation, after setting all properties.

function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit5_Callback(hObject, eventdata, handles) % hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit5 as text

% str2double(get(hObject,'String')) returns contents of edit5 as a double

% --- Executes during object creation, after setting all properties. function edit5_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text

% str2double(get(hObject,'String')) returns contents of edit6 as a double % --- Executes during object creation, after setting all properties.

function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

function snr_Callback(hObject, eventdata, handles) % hObject handle to snr (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of snr as text

% str2double(get(hObject,'String')) returns contents of snr as a double % --- Executes during object creation, after setting all properties.

% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global val1 val2 val3 val4 val5 val6

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn aeff h e c v RIN k B T id global rS sig1 rpdc rpamp rpampx rpd rar rpsp

Nav=20.0;nc=1.0;nd=0.8;m=[1.0 20.0];Idm=5.0;Id0=[0.0 5.0];xx=[0.0 0.7]; F=8.0;R=16.0; acw=0.22;ap=0.26;gamma=0.4;rn=1.45;Aeff=78.0; h=6.625e-34;e=1.602e-19;c=3e8;v=c/1550e-12; RIN=130.0;k=1.38e-23;B=1.0;T=300.0; val1=get(handles.edit1,'String'); val2=get(handles.edit2,'String'); val3=get(handles.edit3,'String'); val4=get(handles.edit4,'String'); val5=get(handles.edit5,'String'); val6=get(handles.edit6,'String'); val1=str2num(val1); val2=str2num(val2); val3=str2num(val3); val4=str2num(val4); val5=str2num(val5);

z=val3; val9=val1*val2; %set(handles.snr,'String',num2str(val9,'%10.5e')); id = get(handles.popupmenu1,'Value'); Id0s=Id0(id); ms=m(id); xxs=xx(id); clc; %sigmad2(Id0s,ms,xxs) %pdc(val2,z,val4) %aaa = pdc(val2,z,val4) %aa = sigmad2(Id0s,ms,xxs) %aa=pamp(val1,val2,z,val4,val5) %aa=pd(val1,val2,z,val4,val5) %aa=S(val6,Aeff) %aa=psp(val1,z,val5,val6,Aeff) %aa=I0(val2,z,val4) %aa=I1(val1,val2,z,val4,val5) %aa= iss(val1,val2,z,val4,val5) %aa=inn(val1,z,val5,val6,Aeff) %aa=Q(val1,z,val5,val6,Aeff) %aa=sigma12(val1,val2,z,val4,val5,val6,Aeff,Id0s,ms,xxs) %aa=sigma02(val2,z,val4,Id0s,ms,xxs) aa= SNR(Nav,val1,val2,z,val4,val5,val6,Aeff,Id0s,ms,xxs) set(handles.snr,'String',num2str(aa,'%10.5e')); %rsnr=SNR(Nav,val1,val2,z,val4,val5,val6,Aeff,Id0s,ms,xxs) %set(handles.snr,'String',num2str(val9,'%10.5e')); %sigmad2(Id0s,ms,xxs) %ar(val6)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global val1 val2 val3 val4 val5 val6

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn aeff h e c v RIN k B T id global rS sig1 rpdc rpamp rpampx rpd rar rpsp

Nav=20.0;nc=1.0;nd=0.8;m=[1.0 20.0];Idm=5.0;Id0=[0.0 5.0];xx=[0.0 0.7]; F=8.0;R=16.0; acw=0.22;ap=0.26;gamma=0.4;rn=1.45;Aeff=78.0; h=6.625e-34;e=1.602e-19;c=3e8;v=c/1550e-12; RIN=130.0;k=1.38e-23;B=1.0;T=300.0; val1=get(handles.edit1,'String'); val3=get(handles.edit3,'String'); val4=get(handles.edit4,'String'); val5=get(handles.edit5,'String'); val6=get(handles.edit6,'String'); val1=str2num(val1); val3=str2num(val3); val4=str2num(val4); val5=str2num(val5); val6=str2num(val6); z=val3; val9=val1*val2; %set(handles.snr,'String',num2str(val9,'%10.5e')); id = get(handles.popupmenu1,'Value'); Id0s=Id0(id); ms=m(id); xxs=xx(id); clc; % sinpl=@(x) 2*x^2+5*x+1+sin(x); % fplot(handles.plotgraph,sinpl,[-10 10]); for i=1:1:50

% yr(i)=xr(i)*xr(i); xr(i)=i*1.0; yr(i)= SNR(Nav,val1,xr(i),z,val4,val5,val6,Aeff,Id0s,ms,xxs); end axes(handles.so_do_thuc_nghiem); if(id==1) imshow('h1.jpg') else imshow('h2.jpg') end hold on; plot(handles.plotgraph,xr,yr,'-') set(handles.plotgraph,'XMinorTick','on') axis([0 50 0 1e14]) grid on

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(handles.figure1)

function sig1=sigmad2(Id0u,mu,xxu)

global Nav nc nd Idm F R acw ap gamma rn Aeff h e c v RIN k B T sig1=2.0*e*Id0u+2.0*e*Idm*mu^(2+xxu)+4.0*k*T*F/R;

function rpdc = pdc(val2,z,val4)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T rpdc rpdc=val2*exp(-acw*z)*val4;

function rpamp = pamp(val1,val2,z,val4,val5)

function rpampx = pampx(val1,val2,z,val4,val5)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T rpdc rpampx

rpampx=rpdc*gamma*3e8*val5/2.0*val1*exp(-ap*z)*exp(gamma*val2*exp(- acw*z)*(exp(acw*z)-1.0)/acw)

function rar = ar(val6)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rar

rar=0.05/(val6^4);

function rpd = pd(xv1,xv2,z,xv4,xv5)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rpdc rpamp rpd

rpd=rpdc+rpamp

function rS = S(val6,aeff)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rS

rS=(val6/rn)^2/(4.0*pi*aeff);

function rpsp = psp(xv1,z,xv5,xv6,aeff)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rar rpsp rS

rpsp=xv1*exp(-ap*z)*ar(xv6)*S(xv6,aeff)*3e8*xv5/2.0; function rI0 = I0(xv2,z,xv4)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rpdc rI0

rI0=nc*nd*e*pdc(xv2,z,xv4)/h/v; function rU = U(z,xv4)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rU

rU=nc*nd*e/h/v*exp(-acw*z)*xv4; function rVV = VV(z,xv4,xv1,xv5)

rVV=nc*nd*e/h/v*xv4*gamma*xv1*exp(-ap*z)*v*xv5/2.0; function rI1 = I1(xv1,xv2,z,xv4,xv5)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rU rVV rI1

rI1=xv2*(U(z,xv4)+VV(z,xv4,xv1,xv5)); function riss = iss(xv1,xv2,z,xv4,xv5)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global riss rpamp

riss=nc*nd*pamp(xv1,xv2,z,xv4,xv5)*e/h/v; function rinn = inn(xv1,z,xv5,xv6,aeff)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rinn rpsp

rinn=nc*nd*(e/h/v)*psp(xv1,z,xv5,xv6,aeff); function rQ = Q(xv1,z,xv5,xv6,aeff)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rQ rar rS

rQ=nc*nd*e/h/v*xv1*exp(-ap*z)*ar(xv6)*S(xv6,aeff)*v*xv5/2.0; function rsig12 = sigma12(xv1,xv2,z,xv4,xv5,xv6,aeff,Id0s,ms,xxs)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rsig12 rI1 rinn rI0 sig1

rsig12=2*e*(I1(xv1,xv2,z,xv4,xv5)+inn(xv1,z,xv5,xv6,aeff))*ms^(2+xxs)+... RIN*(I0(xv2,z,xv4))^2*ms^2+sigmad2(Id0s,ms,xxs);

function rsig02 = sigma02(xv2,z,xv4,Id0s,ms,xxs)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rsig02 rI0 sig1

rsig02=2*e*I0(xv2,z,xv4)*ms^(2+xxs)+RIN*(I0(xv2,z,xv4))^2*ms^2+sigmad2(Id0s, ms,xxs);

function rsnr = SNR(nav,xv1,xv2,z,xv4,xv5,xv6,aeff,Id0s,ms,xxs)

global Nav nc nd m Idm Id0 xx F R acw ap gamma rn Aeff h e c v RIN k B T global rsnr riss rsig12 rsig02

KẾT LUẬN

Khuếch đại quang là một trong những bộ phân quan trọng trong các mạng thông tin quang WDM, có nhiều phương pháp khuếch đại quang sợi nhưng trong các hệ thông hiện nay chủ yếu sử dụng khuếch đại EDFA và Raman. Và đặc biệt sử dụng khuếch đại Raman đem lại những tiến bộ vượt bậc về khả năng tăng dung lượng truyền dẫn trong thông tin quang.

Từ việc nghiên cứu lý thuyết nguyên lý các bộ khuếch đại quang sợi EDFA, TDFA, PDFA và Raman. Luận văn đã đi sâu tìm hiểu các thông số, đặc tính kỹ thuật của các bộ khuếch đại và mô hình ứng dụng trong hệ thống thông tin quang. Luận văn tập trung nghiên cứu ảnh hưởng của công suất sóng liên tục CW đến tỷ số FNR trong khuếch đại Raman và xây dựng chương trình mô phỏng kết quả.

Trong giai đoạn hiện nay nhu cầu về tăng dung lượng truyền là rất lớn. Vì vậy, việc nghiên cứu khuếch đại Raman để ứng dụng vào thực tiễn là rất cần thiết. Trên cơ sở luận văn có thể tiếp tục đi sâu vào nghiên cứu các ảnh hưởng của khoảng cách truyền dẫn, công suất đầu vào và việc bù công suất trong khuếch đại Raman.

Mặc dù đã cố gắng và cẩn thận trong việc lựa chọn nội dung cũng như trình bày luận văn. Tuy nhiên, luận văn không thể tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp của quý thầy cô và các bạn đồng nghiệp để đề tài hoàn thiện hơn.

Em xin chân thành cảm ơn sự hướng dẫn nhiệt tình của PGS.TS. Lại Khắc Lãi

và sự giúp đỡ của các bạn đồng nghiệp trong suốt thời gian thực hiện luận văn.

Học viên

TÀI LIỆU THAM KHẢO

1.

, 2009.

2. Mai Nguyên Dũng, “Tán xạ Raman kích thích”, Học viện công nghệ bưu chính viễn thông, Hà Nội, 2006.

3.

, 2005.

4. Trần Đức Hân – Nguyễn Minh Hiển (2002), Cơ sở kỹ thuật Laser, NXB Giáo Dục, Hà Nội

5. Aslverajan, Subrat Kar, T Srimivas (2002), Optical Fiber Communication Principles and systems, Mc Graw-Hill, Singapore.

6. Biswanath Mukherjee (1997), Optical Communication network, Mc Graw-Hill, USA

7. Lightwave Technology Vol 22 no7 July 2004

8. Michel.J.F. Digonnet (2001), Rare Earth Doped Fiber Laser and Amplifiers, marcel Dekkel, USA

Một phần của tài liệu Ứng dụng khuếch đại quang sợi trong truyền dẫn quang WDM (Trang 84 - 103)

Tải bản đầy đủ (PDF)

(103 trang)