Yêu cầu bài tập lớn : bằng các kiến thức về đồ họa và sử dụng ngôn ngữ lập trình C++ để thực hiện : “mô phỏng hiển thị mục tiêu Radar trên mà hình máy tính PC“,Quá trình thực hiện chương trình được viết bằng ngôn ngữ C++ trên nền Visual Studio 6.0và giải quyết được các vấn đề sau đây : - Tổng quan về màn hình hiển thị được chia làm 4 phần , thuận tiên cho quá trình quan sát : màn hình quét chung , màn hình thể hiện các phương pháp...
Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành I.GIỚI THIỆU VỀ CHƯƠNG TRÌNH Yêu cầu tập lớn : kiến th ức đồ h ọa s dụng ngơn ng ữ lập trình C++ để thực : “ mô hiển thị mục tiêu Radar mà hình máy tính PC “,Q trình thực chương trình viết ngơn ngữ C++ Visual Studio 6.0và giải vấn đề sau : - Tổng quan hình hiển thị chia làm phần , thuận tiên cho trình quan sát : hình quét chung , hình th ể phương pháp quét , bảng hiển thị thông số , phần cịn lại phím điều khiển - Mơ quỷ đạo mục tiêu khác hình radar - Hệ thống radar làm việc chế độ quét tất mục tiêu bám sát mục tiêu riêng biệt - Hệ thống thước đo cự ly trang bị với loại cho độ xác , độ tin cậy cao :Quét thẳng , quét tròn ,quét xoắn nhìn vịng V ới thước xoắn tăng số vòng thước lên độ xác cao tùy vào người sử dụng - Trong trình sử dụng loại thước đo để xác địnhvị trí mục tiêu người quan sát nhìn thấy quỹ đạo mục tiêu nh vào hình chung , hình luôn hiển th ị quỹ đ ạo m ục tiêu trình quét - Chiều tốc độ quét sóng radar thay đổi tùy vào người sử dụng - Hệ thống radar tính tốn hiển thị thơng số mục tiêu : C ự Ly , Góc , Phương Vị , Độ Cao Vận Tốc bảng thông số Đồng thời có thơng báo thời điểm mục tiêu mà đài quan sát - Chương trình điều khiển hệ thống nút điều khiển m ột cách dễ dàng - Do điều kiện hạn chế mặt thời gian kinh nghiệm lập trình cịn nên chương trình cịn có nhiều sai sót mong đươc đóng góp ý kiến thầy bạn - Chúng em xin chân thành cảm ơn thầy NGUYỄN TƯỜNG THÀNH hướng dẫn chúng em trình thực đồ án giúp chúng em nắm vững kiến thức lập trình , đồ h ọa mơ chương trình Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành 1.KHÁI NIỆM RADAR: -Radar hệ thống thiết bị tìm kiếm (detect) xác định vị trí ( ranging) đối tượng thơng qua việc thu, phát xử lý sóng điện t Phân loại: • Chủ động (Active system): thực phát, thu xử lý sóng điện từ phản xạ từ mục tiêu radar • Bị động (Passive system): thu xử lý sóng điện từ xạ từ mục tiêu radar 2.MỤC TIÊU RADAR - Mục tiêu radar tất đối t ượng có kh ả ph ản x sóng điện từ nằm trongtầm phát trạm radar Phân loại: – Mục tiêu quan sát: • Mục tiêu nhân tạo • Mục tiêu tự nhiên Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành - Mục tiêu giả: đối t ượng không cần quan sát nh ưng xu ất vùng phủ sóng tr ạm radar, gây nhi ễu đ ối v ới m ục tiêu cần quan sát Tham số xác định vị trí: • 3D: M (D, φ, β ) M ( H, φ, β ) đó: H = D sin (β) • D: M (D, φ ) -Quỹ đạo mục tiêu: tập hợp v ị trí m ục tiêu theo th ời gian 2.NGUYÊN LÝ CƠ BẢN CỦA XUNG RADAR • Độ rộng xung PW- Pulse Width – thời gian xạ tín hiệu chu kỳ xạ • Tần số lặp xung PRF - Pulse Repetition Frequency – Số xung phát giây • Thời gian lặp xung PRT - Pulse Repetition Time (PRT=1/PRF) • PW ảnh hưởng đến : – Phạm vi phát mục tiêu Radar – Cự ly tối thiểu tối đa phát mục tiêu • PRF xác định: – Cự ly tối đa phát mục tiêu Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành 3.TÍNH TỐN CỰ LY -Tại trạm radar sóng điện từ xạ không gian, ph ạm vi giám xác radar tùy thuộc vào công suất máy phát, g ặp ph ải v ật th ể lạ sóng điện từ bị vật thể lạ hấp thụ phần,một phần bị ph ản xạ lại trạm ,tín hiệu thu xữ lý để biết xác tọa độ vị trí vật thể khơng gian Các tham số cần xác định 4.CƠ SỞ VẬT LÝ CỦA RADA Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành Rada làm việc dựa tính chất sóng điện từ: 1.Sóng điện từ lan truyền với vận tốc hữu hạn, không đổi c=3.10 (m/s) Sóng điện từ truyền thẳng Năng lượng sóng điện từ phản xạ gặp môi trường không đồng nhất(mục tiêu) Tần số thu trạm radar sai lệch so với tần số phát, gây nên chuyển động tương đối mục tiêu trạm radar xác định thông qua hiệu ứng doppler Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành 5.CÁC BƯỚC XỬ LÝ TÍN HIỆU RADAR Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành Bước 1: Phát mục tiêu :( detection) Xác xuất phát nhầm: gây nên tín hiệu phản xạ từ đối tượng Bước 2: Đo đạc tham số:( Measurement ) -Cự ly R đo độ trễ -Đo góc (fi,β) vào hướng tính búp sóng radar -Đo vận tốc hiệu ứng Dopper Xác định vị trí vẽ quỷ đạo mục tiêu Tính gia tốc M Bước 3: Phân biệt mục tiêu:( display) Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành Bước 4: Nhận biết mục tiêu:( recorgnation) Chỉ thực với Radar chủ động thứ cấp: • Radar chủ động thứ cấp hệ thống radar có khả trao đổi thông tin ( truyền số liệu ) với đối tượng (mục tiêu) • Q trình trao đổi số liệu M RS thực M n ằm l ọt búp sóng radar • Thời gian trao đổi số liệu phụ thuộc vào tốc độ qt cánh sóng kích thước búp sóng trạm Radar Lớp đện tử viễn thông k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành Radar thứ cấp truyền tín hiệu mã hóa đến phát đáp c m ục tiêu • Transponder phúc đáp tin mã hóa v ới thông tin c đối tượng ( airplane ) • Một transponder thiết lập tối đa khoảng 4096 mã nhận d ạng identifying codes • Trong lĩnh vực quân , transponders gọi IFF (Identification, Friend or Foe) II.MÔ PHỎNG BẰNG PHẦN MỀM 1.screen 2.Qt trịn Lớp đện tử viễn thơng k31 Page Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành Độ rộng quét Mục tiêu (Target) Thông số xác định Lớp đện tử viễn thông k31 Page 10 Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành float x,y,dentat,he_so,buoc,phiphi; CString str; ////////////////////////////// CClientDC pdc(this); /* //////////////////////////////dinh nghia duong xoan oc CFont font; font.Detach(); font.CreateFont(10,0,0,0,500,0,0,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,CLIP_DEFAUL T_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,".VnTime"); CFont*pOldfont=(CFont*)(pdc.SelectObject(&font)); pdc.SetBkColor(TRANSPARENT); pdc.SetTextColor(RGB(0,0,0)); ////////////////////////////////////*/ pdc.SetBkColor(RGB(150,150,255)); so_nua_vong=8;//thay doi so vong buoc=360/so_nua_vong; so_phan_hoach=1000;// la so doan thang noi tao duong xoan oc tongdai=((so_nua_vong+1)*so_nua_vong/4.0+1/8.0)*pi*buoc; CPen pPen(PS_SOLID,2,RGB(mr,mg,mb)); CPen pPen1(PS_SOLID,8,RGB(mr,mg,mb)); CPen pPen2(PS_SOLID,8,RGB(20,200,200)); CPen pPen3(PS_SOLID,1,RGB(255,0,0)); CPen pPen4(PS_SOLID,2,RGB(255,0,0)); Lớp đện tử viễn thông k31 Page 85 Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành CPen pPen15(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; CPen pPen25(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; CPen pPen35(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; CPen pPen45(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; CPen pPen55(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; CPen pPen65(PS_SOLID,8,RGB(data_mau[i][0],data_mau[i][1],data_mau[i][2])); i++; //chon but ve pdc.SelectObject(pPen); ////////////////////////////// //khai choi CBrush*pBrush,*pOldBrush;//choi ve va choi backup pBrush=new CBrush(RGB(150,150,255));//Tao choi ve mau 255,250,230 pOldBrush=pdc.SelectObject(pBrush);//lwu choi ///ve nen CRect rect(35,maxy*2/3,maxx-35,10); //CRect rect(gocx-maxx/4,gocy-maxx/4,gocx+maxx/4,gocy+maxx/4); //dung choi to mau pdc.FillRect(&rect,pBrush); Lớp đện tử viễn thông k31 Page 86 Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành // -ve cac duong xoan oc la DrawRadar(); dentat=(so_nua_vong*pi+pi/2)/so_phan_hoach;// dentat*tt tao goc tetha tang dan phuong trinh xoan oc //moi nua vong thi cong them mot luong pi/2 pdc.SelectObject(pPen); pdc.MoveTo(gocx,gocy); float danh_so=0; int dem_danh_so=1; float buoc_danh_so=(float)tongdai/50;//danh so 3k float x_old=gocx,y_old=gocy,xn,yn; for (tt=0;ttbuoc_danh_so) { str.Format("%d ",dem_danh_so*6); pdc.TextOut(xn,yn,str); dem_danh_so=dem_danh_so+1; danh_so=0; } } Lớp đện tử viễn thông k31 Page 87 Đồ án định vị dẫn đường GVHD: Nguy ễnT ường thành // - for(i=0;i0)//them vao sau if(data_vi_tri[i][dung_luong-1][0]0)//them vao sau if(data_vi_tri[i][dung_luong-1][0]360)phiphi=phiphi-360; phiphi=(phiphi+pi*sn+pi/4); radius1=buoc/2/pi*phiphi; phiphi=phiphi*180/pi; if(data_vi_tri[i][dung_luong-1][0]>0)//them vao sau if(data_vi_tri[i][dung_luong-1][0]0)//them vao sau if(data_vi_tri[i][dung_luong-1][0]0)//them vao sau if(data_vi_tri[i][dung_luong-1][0]