{"title":"An object-oriented synthetic aperture radar processor implemented using C++ classes","authors":"H. Maney","doi":"10.1109/NAECON.1994.332946","DOIUrl":null,"url":null,"abstract":"By far, the most popular applications for object-oriented programming (OOP) are those dealing with graphical user interfaces. This is not surprising. An association between a visible element on a display and a computer language object seems natural. In the field of radar signal processing, however, the use of objects is less common. A primary reason for the lack of popularity of OOP for signal processing is the perception that OOP languages generate slower executing code than procedural languages. As OOP languages mature and computers become faster, this becomes less of a concern. The tools of OOP (data encapsulation, inheritance, polymorphism,) can be just as useful to radar signal processor developers as they are to user interface developers. They increase the level of abstraction available to the developer, allowing him or her to concentrate more on the solution to a problem and less on the implementation of it. The tools allow the developer to produce truly reusable code, reducing the amount of debugging needed in later projects. The end result can be higher developer productivity and more reliable code. This paper describes an implementation of a complete synthetic aperture radar (SAR) processor in C++. Raw radar data collected using the Norden AN/APG-76 Multi-mode Radar aboard Norden's Gulfstream II test aircraft were used as input to the C++ processor. The processor was evaluated for speed and accuracy in comparison with an equivalent FORTRAN processor and the AN/APG-76 processor. This test indicated that the APG-76 processing speed was equivalent to 70 SGI/MIPS R4000 50/100's programmed in FORTRAN or C++. The ease or difficulties encountered in porting the processor to several machine types are documented. The resulting high-resolution radar image is compared with the AN/APG-76 real-time image. The major classes are described. Rationale for class designs is provided and the overall benefits of OOP are evaluated.<<ETX>>","PeriodicalId":281754,"journal":{"name":"Proceedings of National Aerospace and Electronics Conference (NAECON'94)","volume":"48 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1994-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of National Aerospace and Electronics Conference (NAECON'94)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NAECON.1994.332946","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
By far, the most popular applications for object-oriented programming (OOP) are those dealing with graphical user interfaces. This is not surprising. An association between a visible element on a display and a computer language object seems natural. In the field of radar signal processing, however, the use of objects is less common. A primary reason for the lack of popularity of OOP for signal processing is the perception that OOP languages generate slower executing code than procedural languages. As OOP languages mature and computers become faster, this becomes less of a concern. The tools of OOP (data encapsulation, inheritance, polymorphism,) can be just as useful to radar signal processor developers as they are to user interface developers. They increase the level of abstraction available to the developer, allowing him or her to concentrate more on the solution to a problem and less on the implementation of it. The tools allow the developer to produce truly reusable code, reducing the amount of debugging needed in later projects. The end result can be higher developer productivity and more reliable code. This paper describes an implementation of a complete synthetic aperture radar (SAR) processor in C++. Raw radar data collected using the Norden AN/APG-76 Multi-mode Radar aboard Norden's Gulfstream II test aircraft were used as input to the C++ processor. The processor was evaluated for speed and accuracy in comparison with an equivalent FORTRAN processor and the AN/APG-76 processor. This test indicated that the APG-76 processing speed was equivalent to 70 SGI/MIPS R4000 50/100's programmed in FORTRAN or C++. The ease or difficulties encountered in porting the processor to several machine types are documented. The resulting high-resolution radar image is compared with the AN/APG-76 real-time image. The major classes are described. Rationale for class designs is provided and the overall benefits of OOP are evaluated.<>