IV/ Code chương trình Dim t As Integer Public i As Integer Public j As Integer Public xoan As Integer Public Lang As Integer Const pi = 3.14... Public huong As IntegerPublic muctieu As I
Trang 1+Đặc điểm xung:độ rộng xung,chu kỳ xung.
+Độ nhạy máy thu.
-Chương trình có các tính năng cụ thể sau:
+Hiển thị 6 mục tiêu cùng một lúc,quét mục tiêu nào thì mục tiêu đó mớisáng ,để lại dấu vết quỹ đạo
+Quét cánh sóng nhanh chậm Quét cùng chiều ,ngược chiều kim đồng hồ
+Tự động bám sát mục tiêu theo góc phương vị
+Hiển thị bảng c¸cth«ng số của các mục tiêu :
+Độ chính xác thay đổi theo trang màn hình
III) Chương trình mô phỏng radar:
Chương trình mô phỏng radar viết bằng ngôn ngữ Visual Basic 6.0.
IV/ Code chương trình
Dim t As Integer
Public i As Integer
Public j As Integer
Public xoan As Integer
Public Lang As Integer
Const pi = 3.14
Trang 2Public huong As Integer
Public muctieu As Integer
Public ppquet As Integer
Public somt1 As Double 'So muc tieu
Public somt2 As Double
Public somt3 As Double
Public somt4 As Double
Public somt5 As Double
Public somt6 As Double
Public Rmax As Double 'Ban kinh radar
Public kc1 As Double 'Quan li khoang cach muc tieu va tia quet
Public k1tinh As Integer 'Quan li thuoc tho
Public k2tinh As Integer
Public k3tinh As Integer
Public k4tinh As Integer
Public k5tinh As Integer
Public k6tinh As Integer
Public delta1 As Integer 'Quan li goc giua muc tieu va thanh quet
Public quet1 As Integer ' quan li chieu quet
Public quet2 As Integer
Public quet3 As Integer
Public quet4 As Integer
Public quet5 As Integer
Public quet6 As Integer
'Quan li goc giua MT va tia quet
Public delta2 As Integer
Public delta3 As Integer
Public delta4 As Integer
Public delta5 As Integer
Public delta6 As Integer
'Qaun li hien thi muc tieu len thuoc tron
Public T1 As Integer
Public T2 As Integer
Public T3 As Integer
Trang 3Public T4 As Integer
Public T5 As Integer
Public T6 As Integer
Public T1tinh As Integer
Public T2tinh As Integer
Public T3tinh As Integer
Public T4tinh As Integer
Public T5tinh As Integer
Public T6tinh As Integer
'Quan li MT hien thi tren thuoc nhieu vong tron
Public Mu1tinh As Integer
Public Mu2tinh As Integer
Public Mu3tinh As Integer
Public Mu4tinh As Integer
Public Mu5tinh As Integer
Public Mu6tinh As Integer
Private Sub Circl_Click()
Trang 4Private Sub English_Click()
Private Sub FileOpen_Click()
'On Error GoTo DialogError
i = 0 'Quan li tia quet
j = 0 'Quan li goc quet
Trang 5Private Sub HelpMe_Click()
MsgBox " Nguyem Khac Tinh Lpo DT7-K46 Khoa Dien Tu Vien Thong ", vbOKOnly, "About Me"
End Sub
Private Sub HelpPro_Click()
MsgBox " Bai tap lon mon hoc Dinh Vi Dan Duong ", vbOKOnly, "About Pro"End Sub
Private Sub Muctieu1_Click()
Trang 6Private Sub MulCircle_Click()
Trang 7delta1 = gocpv(M1.Left, M1.Top) - gocpv(Stic.x2, Stic.y2)
delta2 = gocpv(M2.Left, M2.Top) - gocpv(Stic.x2, Stic.y2)
delta3 = gocpv(M3.Left, M3.Top) - gocpv(Stic.x2, Stic.y2)
delta4 = gocpv(M4.Left, M4.Top) - gocpv(Stic.x2, Stic.y2)
delta5 = gocpv(M5.Left, M5.Top) - gocpv(Stic.x2, Stic.y2)
delta6 = gocpv(M6.Left, M6.Top) - gocpv(Stic.x2, Stic.y2)
Trang 8'Chuong trinh bam muc tieu
delta1 = gocpv(M1.Left, M1.Top) - gocpv(Stic.x2, Stic.y2)
If (delta1 >= 6) Then
quetthuan
quet1 = 1
End If
Trang 10'Chuong trinh bam muc tieu
delta2 = gocpv(M2.Left, M2.Top) - gocpv(Stic.x2, Stic.y2)
Trang 11'Chuong trinh bam muc tieu
delta1 = gocpv(M3.Left, M3.Top) - gocpv(Stic.x2, Stic.y2)
Trang 13'Chuong trinh bam muc tieu
delta4 = gocpv(M4.Left, M4.Top) - gocpv(Stic.x2, Stic.y2)
Trang 14'Chuong trinh bam muc tieu
delta5 = gocpv(M5.Left, M5.Top) - gocpv(Stic.x2, Stic.y2)
Trang 16'Chuong trinh bam muc tieu
delta6 = gocpv(M6.Left, M6.Top) - gocpv(Stic.x2, Stic.y2)
Trang 21z6 = Sqr((1700 - M6.Left) * (1700 - M6.Left) + (M6.Top - 1600) * (M6.Top - 1600))
a = Distance(x1, y1, x2, y2)
b = Distance(x1, y1, x3, y3)
c = Distance(x2, y2, x3, y3)
Public Function gocpv(a1 As Double, a2 As Double) As Double
Dim goc As Double
If (a1 > 1700) And (a2 < 1600) Then
goc = -(180 / pi) * Atn((a1 - 1700) / (a2 - 1600))
End If
If (a1 > 1700) And (a2 > 1600) Then
goc = 180 - (180 / pi) * Atn((a1 - 1700) / (a2 - 1600))
End If
If (a1 < 1700) And (a2 < 1600) Then
goc = 360 - (180 / pi) * Atn((a1 - 1700) / (a2 - 1600))
End If
If (a1 < 1700) And (a2 > 1600) Then
goc = 180 - (180 / pi) * Atn((a1 - 1700) / (a2 - 1600))
End If
gocpv = goc
Trang 25Public Sub UnDisplay3()
Public Sub Display1()
kc1 = Check(1700, 1600, Stic.x2, Stic.y2, M1.Left, M1.Top)
If (kc1 < 50) And (Abs(Stic.y2 - M1.Top) < 1700) And (z1 < 1500) ThenD1.Text = z1 * Rmax / 1500
PV1.Text = gocpv(M1.Left, M1.Top)
Public Sub Display2()
kc2 = Check(1700, 1600, Stic.x2, Stic.y2, M2.Left, M2.Top)
If (kc2 < 50) And (Abs(Stic.x2 - M2.Left) < 1700) And (z2 < 1500) Then
Trang 26Public Sub Display3()
kc3 = Check(1700, 1600, Stic.x2, Stic.y2, M3.Left, M3.Top)
If (kc3 < 50) And (Abs(Stic.y2 - M3.Top) < 1700) And (z3 < 1500) ThenD3.Text = z3 * Rmax / 1500
PV3.Text = gocpv(M3.Left, M3.Top)
H3.Text = 15 + 0.5 * Sin(2 * i)
somt3 = 1
V3.Text = 10 * (15 + 0.5 * Sin(2 * i)) + 0.3 * kc3
NG3.Text = (180 / pi) * Atn(H3.Text / kc3)
Public Sub Display4()
kc4 = Check(1700, 1600, Stic.x2, Stic.y2, M4.Left, M4.Top)
If (kc4 < 50) And (Abs(Stic.x2 - M4.Left) < 1700) And (z4 < 1500) ThenD4.Text = z4 * Rmax / 1500
PV4.Text = gocpv(M4.Left, M4.Top)
Trang 27Mu4.Visible = False
End If
End Sub
Public Sub Display5()
kc5 = Check(1700, 1600, Stic.x2, Stic.y2, M5.Left, M5.Top)
If (kc5 < 50) And (Abs(Stic.y2 - M5.Top) < 1700) And (z5 < 1500) Then
Public Sub Display6()
kc6 = Check(1700, 1600, Stic.x2, Stic.y2, M6.Left, M6.Top)
goc6 = Abs(gocpv(M6.Left, M6.Top) - gocpv(Stic.x2, Stic.y2))
If (kc6 < 50) And (Abs(Stic.x2 - M6.Left) < 1700) And (Abs(Stic.y2 - M6.Top) <1700) And (z6 < 1500) And (goc6 < 5) Then
Trang 28thangtinh.Left = 1600 + 630 * Cos(45 * (T1tinh - 2) * pi / 180)
thangtinh.Top = 1600 + 630 * Sin(45 * (T1tinh - 2) * pi / 180)
thangtinh.Width = 50
thangtinh.Height = 50
End If
Trang 29M2tinh.Left = 1600 + 630 * Cos(45 * (T2tinh - 2) * pi / 180)
M2tinh.Top = 1600 + 630 * Sin(45 * (T2tinh - 2) * pi / 180)
M3tinh.Left = 1600 + 630 * Cos(45 * (T3tinh - 2) * pi / 180)
M3tinh.Top = 1600 + 630 * Sin(45 * (T3tinh - 2) * pi / 180)
M4tinh.Left = 1600 + 630 * Cos(45 * (T4tinh - 2) * pi / 180)
M4tinh.Top = 1600 + 630 * Sin(45 * (T4tinh - 2) * pi / 180)
M4tinh.Width = 50
M4tinh.Height = 50
End If
Trang 30M5tinh.Left = 1600 + 630 * Cos(45 * (T5tinh - 2) * pi / 180)
M5tinh.Top = 1600 + 630 * Sin(45 * (T5tinh - 2) * pi / 180)
M6tinh.Left = 1600 + 630 * Cos(45 * (T6tinh - 2) * pi / 180)
M6tinh.Top = 1600 + 630 * Sin(45 * (T6tinh - 2) * pi / 180)
Mu1tinh = 64 * (D1.Text - T1 * Rmax * 0.125) \ Rmax
T1tinh = 512 * (D1.Text - T1 * Rmax * 0.125 - Rmax * Mu1tinh * 0.125 * 0.125) \ Rmax
Trang 31
Mu1.Left = 1600 + 1000 * Cos(45 * (Mu1tinh - 2) * pi / 180)
Mu1.Top = 1600 + 1000 * Sin(45 * (Mu1tinh - 2) * pi / 180)
Mu1.Width = 50
Mu1.Height = 50
thangtinh.Left = 1600 + 630 * Cos(45 * (T1tinh - 2) * pi / 180)
thangtinh.Top = 1600 + 630 * Sin(45 * (T1tinh - 2) * pi / 180)
Mu2tinh = 64 * (D2.Text - T2 * Rmax * 0.125) \ Rmax
T2tinh = 512 * (D2.Text - T2 * Rmax * 0.125 - Rmax * Mu2tinh * 0.125 * 0.125) \ Rmax
Mu2.Left = 1600 + 1000 * Cos(45 * (Mu2tinh - 2) * pi / 180)
Mu2.Top = 1600 + 1000 * Sin(45 * (Mu2tinh - 2) * pi / 180)
Mu2.Width = 50
Mu2.Height = 50
M2tinh.Left = 1600 + 630 * Cos(45 * (T2tinh - 2) * pi / 180)
M2tinh.Top = 1600 + 630 * Sin(45 * (T2tinh - 2) * pi / 180)
Mu3tinh = 64 * (D3.Text - T3 * Rmax * 0.125) \ Rmax
T3tinh = 512 * (D3.Text - T3 * Rmax * 0.125 - Rmax * Mu3tinh * 0.125 * 0.125) \ Rmax
'Label16.Caption = Mu1tinh
Trang 32Mu3.Left = 1600 + 1000 * Cos(45 * (Mu3tinh - 2) * pi / 180)
Mu3.Top = 1600 + 1000 * Sin(45 * (Mu3tinh - 2) * pi / 180)
Mu3.Width = 50
Mu3.Height = 50
M3tinh.Left = 1600 + 630 * Cos(45 * (T3tinh - 2) * pi / 180)
M3tinh.Top = 1600 + 630 * Sin(45 * (T3tinh - 2) * pi / 180)
Mu4tinh = 64 * (D4.Text - T4 * Rmax * 0.125) \ Rmax
T4tinh = 512 * (D4.Text - T4 * Rmax * 0.125 - Rmax * Mu4tinh * 0.125 * 0.125) \ Rmax
Mu4.Left = 1600 + 1000 * Cos(45 * (Mu4tinh - 2) * pi / 180)
Mu4.Top = 1600 + 1000 * Sin(45 * (Mu4tinh - 2) * pi / 180)
Mu4.Width = 50
Mu4.Height = 50
M4tinh.Left = 1600 + 630 * Cos(45 * (T4tinh - 2) * pi / 180)
M4tinh.Top = 1600 + 630 * Sin(45 * (T4tinh - 2) * pi / 180)
Trang 33Mu5tinh = 64 * (D5.Text - T5 * Rmax * 0.125) \ Rmax
T5tinh = 512 * (D5.Text - T5 * Rmax * 0.125 - Rmax * Mu5tinh * 0.125 * 0.125) \ Rmax
Mu5.Left = 1600 + 1000 * Cos(45 * (Mu5tinh - 2) * pi / 180)
Mu5.Top = 1600 + 1000 * Sin(45 * (Mu5tinh - 2) * pi / 180)
Mu5.Width = 50
Mu5.Height = 50
M5tinh.Left = 1600 + 630 * Cos(45 * (T5tinh - 2) * pi / 180)
M5tinh.Top = 1600 + 630 * Sin(45 * (T5tinh - 2) * pi / 180)
Mu6tinh = 64 * (D6.Text - T6 * Rmax * 0.125) \ Rmax
T6tinh = 512 * (D6.Text - T6 * Rmax * 0.125 - Rmax * Mu6tinh * 0.125 * 0.125) \ Rmax
Mu6.Left = 1600 + 1000 * Cos(45 * (Mu6tinh - 2) * pi / 180)
Mu6.Top = 1600 + 1000 * Sin(45 * (Mu6tinh - 2) * pi / 180)
Mu6.Width = 50
Mu6.Height = 50
M6tinh.Left = 1600 + 630 * Cos(45 * (T6tinh - 2) * pi / 180)
M6tinh.Top = 1600 + 630 * Sin(45 * (T6tinh - 2) * pi / 180)
Trang 34Frame1.Caption = "Chọn phương pháp quét"
Direct.Caption = "Phương pháp quét thẳng"
Circl.Caption = "Phương pháp quét tròn"
MulCircle.Caption = "Phương pháp quét nhiều vòng"
Option4.Caption = "Phương pháp quét xoắn"
Frame2.Caption = "Hướng quét của Radar"
Thuan.Caption = "Quét thuận "
Nguoc.Caption = "Quét ngược"
Frame3.Caption = "Chọn mục tiêu quét"
Public Sub English1()
Frame1.Caption = "Method of scan "
Direct.Caption = "Directional scan"
Circl.Caption = "Cicular scan "
MulCircle.Caption = "Multi circle"
Option4.Caption = "Helical"
Frame2.Caption = "Select direction"
Thuan.Caption = "Forward direction"
Nguoc.Caption = "Opposite direction"
Frame3.Caption = "Select target to scan"
Muctieu1.Caption = "Target One"
Muctieu2.Caption = "Target Two"
Muctieu3.Caption = "Target Three"
Muctieu4.Caption = "Target Four"
Muctieu5.Caption = "Target Five"
Muctieu6.Caption = "Target Six"
tatca.Caption = "All"
Frame6.Caption = "Information about target"
Label1.Caption = "Target One"
Trang 35Label2.Caption = "Target Two"
Label3.Caption = "Target Three"
Label4.Caption = "Target Four"
Label5.Caption = "Target Five"
Label6.Caption = "Target Six"
Trang 362.Phương pháp quét tròn
3/Màn hình quét nhiều vòng
Trang 374/ Màn hình quýet Xã¨n.
V)Kết luận:
-Làm bài tập giúp em học tốt và hiểu tốt hơn về môn học định vị dẫn đường -Bài tập mô phỏng radar đã giúp em hiểu biết thêm về nguyên lý ,cách vận hành cũng nh hoạt động của một đài rada trong thực tế
- Bài tập làm radar cho em hình dung được một cách trực quan và thực tế về một dài radar thật
Tài liệu tham khảo :