MÃ NGUỒN CHƯƠNG TRÌNH

Một phần của tài liệu Khuyếh đại quang sợi và ứng dụng trong truyền dẫn quang wdm (Trang 95 - 102)

--- Option Explicit

Public Const NUYc As Double = 1 ' dB 80 Public Const NUYd As Double = 0.8 'dB

Public m As Double '

Public Const Idm As Double = 5 'nA Public id0 As Double 'nA

Public x As Double ' 80

Public Const F As Double = 8 ' dB 81 Public Const R As Double = 16 ' Om ( Dien tro )

Public Const AnphaCW As Double = 0.22 'dB/Km Public Const AnPhaP As Double = 0.26 ' dB/Km

Public Const Gama As Double = 0.4 Public Const n As Double = 1.45

Public Const Acff As Double = 78 'micro square Public Const Pi As Double = 3.141592654

Public Const H As Double = 6.625 * 10 ^ (-34) ' Hang so Plank Public Const e As Double = 1.602 * 10 ^ (-19) ' Dien tich Electron Public Const v As Double = 3 * 10 ^ 8 / (1550 * 10 ^ (-12))

Public Const RIN As Double = 130 ' dB/Hz voi ti'n hieu LD Public Const k As Double = 1.38 * 10 ^ (-23)

Public Const B As Double = 1 ' MHz Public Const t As Double = 300

Public Function XichD2(id0 As Double, m As Double, x As Double) As Double

XichD2 = 2 * e * id0 + 2 * 3 * Idm * m ^ (2 + x) + 4 * k * t * F / R End Function

' anh sang bom

Public Function Pdc(pcw As Double, z As Double, c As Double) As Double

Pdc = pcw * Exp( AnphaCW * z) * c- End Function

Public Function Pamp(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double) As Double

Pamp = Pdc(pcw, z, c) * Gama * pp0 * v * W / 2 * Exp(-AnPhaP * z) End Function

' Khi ta tinh den truong hop xa het cong suat bom do su chuyen nang luong trong KD Raman thi Pamp duoc tinh :

Public Function Pamp_XaHetCongSuat(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double) As Double

Pamp_XaHetCongSuat = Pdc(pcw, z, c) * Gama * ((3 * 10 ^ 8) * W / 2) * pp0 * Exp(-AnPhaP * z) * Exp(Gama * pcw * Exp(-anpha * z) * (Exp(AnphaCW * z) - 1) / AnphaCW)

End Function

Public Function AnphaR(landacw As Double) As Double AnphaR = 0.05 / landacw ^ 4

End Function

Public Function Pd(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double)

Pd = Pdc(pcw, z, c) + Pamp(pp0, pcw, z, c, W) End Function

'Khi do cong suat tan xa Raman tu phat do A'S' xung bom sinh ra

Public Function Psp(pp0 As Double, z As Double, W As Double, landacw As Double, aeff As Double) As Double

Psp = pp0 * Exp(-AnPhaP * z) * AnphaR(landacw) * S(landacw, aeff)

* (3 * 10 ^ 8) * W / 2 End Function

'AnphaR la he so suy hao tan xa Raman (Np/m) ' S duoc tinh nhu sau :

Public Function S(landacw As Double, aeff As Double) S = (landacw / n) * (landacw / n) / (4 * Pi * Acff) End Function

Public Function I1(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double) As Double

I1 = pcw * (U(z, c) + VV(z, c, pp0, W)) End Function

Public Function I0(pcw As Double, z As Double, c As Double) As Double

I0 = NUYc * NUYd * e * Pdc(pcw, z, c) / H / v End Function

Public Function iss(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double) As Double

iss = NUYc * NUYd * Pamp(pp0, pcw, z, c, W) * e / H / v End Function

Public Function inn(pp0 As Double, z As Double, W As Double, landacw As Double, aeff As Double) As Double

inn = NUYc * NUYd * (e / (H * v)) * Psp(pp0, z, W, landacw, aeff) End Function

Public Function U(z As Double, c As Double) As Double U = NUYc * NUYd * (e / (H * v)) * Exp(-AnphaCW * z) * c End Function

Public Function VV(z As Double, c As Double, pp0 As Double, W As Double) As Double

VV = NUYc * NUYd * (e / (H * v)) * c * Gama * pp0 * Exp(-AnPhaP

* z) * v * W / 2 End Function

Public Function Q(pp0 As Double, z As Double, W As Double, landacw As Double, aeff As Double) As Double

Q = NUYc * NUYd * (e / (H * v)) * pp0 * Exp(-AnPhaP * z) * AnphaR(landacw) * S(landacw, aeff) * v * W / 2

End Function

'KHI DO TI SO TIN HIEU TREN TAP AM DUOC TINH NHU SAU : Public Function Xich12(pp0 As Double, pcw As Double, z As Double, c As Double, W As Double, landacw As Double, aeff As Double, id0 As Double, m As Double, x As Double) As Double

Xich12 = 2 * e * (I1(pp0, pcw, z, c, W) + inn(pp0, z, W, landacw, aeff))

* m ^ (2 + x) + RIN * (I0(pcw, z, c)) ^ 2 * m ^ 2 + XichD2(id0, m, x) End Function

Public Function Xich02(pcw As Double, z As Double, c As Double, id0 As Double, m As Double, x As Double)

Xich02 = 2 * e * I0(pcw, z, c) * m ^ (2 + x) + RIN * (I0(pcw, z, c)) ^ 2

* m * m + XichD2(id0, m, x) End Function

Public Function SNR(Nave As Double, pp0 As Double, pcw As Double, z As Double, c As Double, W As Double, landacw As Double, aeff As Double, id0 As Double, m As Double, x As Double) As Double

SNR = 4 * (iss(pp0, pcw, z, c, W) * m) ^ 2 * Nave / ((Xich12(pp0, pcw, z, c, W, landacw, aeff, id0, m, x)) ^ 0.5 + (Xich02(pcw, z, c, id0, m, x)) ^ 0.5)

^ 2 * B

End Function

CÁC THỦ TỤC CỦA FORM CHÍNH

--- Private Sub cmdQuaylai_Click()

FrmDoThi.Show

FrmDoThi.PicDoThi.Picture = FrmTinhtoan.PicDoThi.Picture End Sub

Public Sub CmdTinhToan_Click() If TxtMode.Text = "PD" Then id0 = 0

x = 0 m = 1 End If

If TxtMode.Text = "APD" Then id0 = 5

x = 0.7 m = 20 End If

Dim MaxHoanh As Double Dim Maxtung As Double

Dim tung(50) As Double, i As Integer Dim hoanh(50) As Double

MaxHoanh = PicDoThi.Width PicDoThi.ScaleHeight = 300 PicDoThi.ScaleWidth = 50

Maxtung = SNR(CDbl(TxtNave.Text), CDbl(TxtPP0.Text), CDbl(50), CDbl(TxtZ.Text), CDbl(TxtC.Text), CDbl(TxtW.Text), CDbl(TxtLandaCW.Text), CDbl(txtAeff.Text), id0, m, x)

LblKQ.Caption = CStr(SNR(CDbl(TxtNave.Text), CDbl(TxtPP0.Text), CDbl(TxtPcw.Text), CDbl(TxtZ.Text), CDbl(TxtC.Text), CDbl(TxtW.Text), CDbl(TxtLandaCW.Text), CDbl(txtAeff.Text), id0, m, x))

For i = 0 To 50 ' Step -1

tung(i) = 300 - 300 * SNR(CDbl(TxtNave.Text), CDbl(TxtPP0.Text), CDbl(i), CDbl(TxtZ.Text), CDbl(TxtC.Text), CDbl(TxtW.Text), CDbl(TxtLandaCW.Text), CDbl(txtAeff.Text), id0, m, x) / Maxtung

Next

For i = 0 To 50 'Step -1 If tung(i) <= 300 Then

PicDoThi.PSet (i, tung(i)), &HFF If tung(i) < 300 Then

If i < 50 Then

PicDoThi.Line (i, tung(i))-((i + 1), tung(i + 1)), &HFF

End If End If End If

Next

'PicDoThi.Visible = False PicDoThi1.Visible = False End Sub

Private Sub CmdXem_Click()

LblDothi.Visible = Not LblDothi.Visible PicDoThi1.Visible = Not PicDoThi1.Visible LblTinhToan.Visible = Not LblTinhToan.Visible FrameDauvao.Visible = Not FrameDauvao.Visible FrameSodo.Visible = Not FrameSodo.Visible LblTinhToan.Visible = Not LblTinhToan.Visible If PicDoThi1.Visible = True Then

CmdXem.Caption = "&Quay lại"

Else: CmdXem.Caption = "&Xem đồ thị"

End If End Sub

Private Sub XPButton1_Click() Unload Me

End Sub

Kết luận và kiến nghị

Khuếch đại quang là một trong những bộ phận cực kỳ 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 viễn thông hiện nay chủ yếu là sử dụng khuếch đại EDFA và khuếch đại Raman. Và đặc biệt là sử dụng khuếch đại Raman trong hệ thống thông tin quang đã đ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. Với những lợi ích to lớn mà khuếch đại Raman đem lại trong việc 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ố SNR 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 dẫn là rất lớn. Vì vậy, việc nghiên cứu tỉ mỉ 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 này, có thể tiếp tục đi sâu 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ù đã hết sức cố gắng nhng không thể tránh khỏi những thiếu sót trong quá trình thực hiện và nghiên cứu đề tài. Kính mong các thầy cô giáo và các bạn góp ý để luận văn đợc hoàn thiện hơn./.

Một phần của tài liệu Khuyếh đại quang sợi và ứng dụng trong truyền dẫn quang wdm (Trang 95 - 102)

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

(102 trang)