文档库 最新最全的文档下载
当前位置:文档库 › SMPS An FPGA-based Prototyping Environment forMultiprocessor Embedded Systems

SMPS An FPGA-based Prototyping Environment forMultiprocessor Embedded Systems

SMPS An FPGA-based Prototyping Environment forMultiprocessor Embedded Systems
SMPS An FPGA-based Prototyping Environment forMultiprocessor Embedded Systems

SMPS:An FPGA-based Prototyping Environment for Multiprocessor Embedded Systems

Ankit Mathur ankit@https://www.wendangku.net/doc/1c17794983.html, Network Appliance,

Bangalore,India

Mayank Agarwal Soumyadeb Mitra magarwa2@https://www.wendangku.net/doc/1c17794983.html, mitra1@https://www.wendangku.net/doc/1c17794983.html, Department of Computer Science,

University of Illinois at Urbana-Champaign,USA

Anup Gangwar anup@cse.iitd.ac.in

M.Balakrishnan

mbala@cse.iitd.ac.in

Subhashis Banerjee

suban@cse.iitd.ac.in

Department of Computer Science and Engineering Indian Institute of T echnology Delhi,India

ABSTRACT

Streaming media applications represent an important class of applications for embedded systems.Recent advances in design-space exploration of architectures for such applica-tions have pointed towards the suitability of Multiprocessor System on Chip(SoC)solutions.Multiprocessor SoCs not only o?er higher performance,but can also lead to solutions which are cheaper cost wise.A typical synthesis methodol-ogy for such architectures would require a validation stage at the end of?nal system integration.The wide availabil-ity of cheap and large FPGA devices,advances in automatic synthesis from VHDL/Verilog and abundance of high perfor-mance computing platforms enables the design of a generic validation system for such Multiprocessor SoCs.

In this paper we present the design and implementation of Srijan Multiprocessor Prototyping System(SMPS).SMPS is a system for rapid prototyping and validation of single chip application speci?c multiprocessor systems.The indi-vidual computing elements are RISC processors,coproces-sors which lie in the processor pipeline,and ASICs which connect directly to system bus.The system is a tightly coupled multiprocessor with shared memory and shared ad-dress space.A Real-time Operating System(RTOS)pro-vides task scheduling and access to shared resources.SMPS can support this entire design-space.The system is pre-sented as a parameterized VHDL based on the open source Sparc V8compliant Leon processor and a homegrown light-weight RTOS,RtKer-MP.The entire VHDL is con?gurable using a GUI,has support for cache coherency,choice of arbi-tration policy and easy integration of custom processing en-gines.RtKer-MP allows for a pluggable scheduler,dynamic and static scheduling policies,static and dynamic task mi-Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for pro?t or commercial advantage and that copies bear this notice and the full citation on the?rst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior speci?c permission and/or a fee.

FPGA’05Monterey,California USA

Copyright200X ACM X-XXXXX-XX-X/XX/XX...$5.00.grations domains and variable interruption frequencies for separate processors.The pluggable scheduler interface al-lows for quick exploration of various scheduling policies for

a feedback to the estimation systems.

1.INTRODUCTION

Embedded multiprocessor platforms are becoming quite popular both in the research domain as well as commercial domain[3][9][12][1][20][10][11].While commercial ven-tures are focussing more on the high performance achieved by these multiprocessors,researchers are focussing on archi-tecture customizations on a per application(domain)ba-sis.A driving force is the fact that multiprocessor solutions may lead to solutions which are cheaper cost wise than their uniprocessor counterparts[22][4].

However,the design-space for multiprocessor systems is huge which makes it practically impossible to explore it ex-haustively.Moreover the lack of retargetable tools such as compilers and simulators for such vast design-space com-plicates the problem further.Researchers try to utilize a top-down approach,with separate tools for each stage[19] [1][5].The speed of execution of tools decreases when one moves from top to bottom and the accuracy of results in-creases.Approach is to achieve quick design-space pruning at the top-level and do a more re?ned search at the lower levels.Typical tools at the top-level include hardware and software estimators for estimating cost of synthesized com-ponents and software performance on customized architec-ture respectively and partitioners,which decide to which processing element(ASIC or Processor)a particular piece of computation is mapped.At the lower-level a retargetable compilation system coupled with a retargetable multipro-cessor simulation system gives the system performance.A ?nal prototyping stage using FPGA devices with all the sys-tem components in place serves as a proof-of-concept as well as gives con?dence that the system works.More details on application speci?c multiprocessor synthesis are present in Section3.

In this paper we present Srijan Multiprocessor Prototyp-ing System(SMPS),which can be e?ciently utilized for val-idation of application speci?c multiprocessor systems.Our

system consists of a tightly coupled multiprocessor architec-ture,Leon-MP and a light weight retargetable parameter-ized RTOS,RtKer-MP.The entire system is easily down-loaded onto reasonably large FPGA devices such as Xilinx XC2V3000-FF-1152-5.The ready availability of large and fast FPGA devices coupled with cheap and e?cient synthe-sis tools makes such a system extremely practical.Also, SMPS can be used to provide accurate feedback to estima-tion tools and partitioners while the algorithms for these tools are still evolving.

The rest of this paper is organized as follows:Section2, discusses the previous work done in this domain.Section 3,gives an overview of a synthesis methodology for mul-tiprocessor embedded systems,Srijan.Section4,presents details about the multiprocessor architecture and parame-terized components of the hardware part of SMPS.Section 5,discusses RtKer-MP,a lightweight parameterized RTOS with a pluggable scheduler.Section6,gives more details on the implementation of this system.Section7,discusses some results and Section8presents conclusions and gives directions for future work.

2.RELATED WORK

A variety of Rapid Prototyping systems are available in both research as well as commercial domain[15],[21]RPM Rapid Prototyping System[6][18]etc.Also there are soft-ware which allow one to explore system-level alternatives [16],COSSAP/CoCentric System Studio from Synopsys,Sig-nal Processing Workbench(SPW)from Cadence and are termed as rapid prototyping systems.However,our focus is on actual prototyping and validation which is comparable to systems o?ering rapid prototyping facilities using FPGA devices.

Predominantly the systems reported either in research or commercial domain(e.g.[15])are suitable for one ap-plication(or domain).In such systems user can rapidly change the system con?guration using a few available al-terntatives.On the other hand there are general proto-typing platform(e.g.[6],[18]etc.)which allow users to prototype large systems using inexpensive large number of FPGA devices.However,as large FPGA devices are now available inexpensively,the simplicity of prototyping using a single large FPGA device,coupled with widely available CAD tools speaks heavily in their favour.In principle we are also o?ering a parameterized system for a special do-main,which allows con?guration using a wide variety of pa-rameters,similar to[15],since such systems are speci?c to application,no comparison is possible with other such ap-plication speci?c or general prototyping platforms.In our knowledge,no such system as is being reported here,exists.

3.DESIGN FLOW FOR MULTIPROCESSOR

EMBEDDED SYSTEMS

Figure1,shows the architecture design space being tar-geted under the Srijan project.Processing elements can be plain RISC processors,Application Speci?c Instruction Pro-cessors(ASIPs)or ASICs.The system uses shared bus and shared address space for communication amongst processing elements.Memories can either be connected to processing elements(local memories)or connected to the bus using memory controllers.Application representation under Sri-jan is using Kahn Process Network semantics(KPN)

[17].

Memory Bank

Figure1:Srijan Architecture Design Space

In KPN processes communicate using FIFO channels which are assumed to be unbounded(in?nite size).As is easily ob-servable there is tremendous amounts of architectural?ex-ibility.However,to properly utilize this?exibility e?ecient design-space exploration mechanisms need to be

devised.

Figure2:Srijan Synthesis Flow

Figure2,gives the synthesis?ow for a methodology for synthesis of application speci?c multiprocessor systems,Sri-jan[1].Application,represented using KPN semantics,sys-tem level constraints such as those on total power,area and performance and component library containing processing elements,memories etc.are the inputs to this synthesis system.The system level design space exploration is per-formed using hardware and software estimation systems and the system level partitioner.Partitioner invokes hardware and software estimators to evaluate individual design alter-natives at a very high level of abstraction details of this are present in[11].

Once the system level alternatives have been decided,the

choices are passed onto the various subsystems.These in-clude the C-to-VHDL translator,for synthesis of various co-processors and ASICs,processor customization subsystem, RTOS customization etc.Processor customization can in-clude customization of processor datapath width,addition of coprocessor which lie in the processor pipeline etc.RTOS customization includes formation of task migration domains (more details are present in Section5),decision on interrup-tion frequency for individual processors etc.It need to be noted that for design-space exploration C-to-VHDL transla-tion is not required,a retargetable code generator,coupled with a retargetable simulation system provides the necessary performance numbers.After the design-space exploration is over,?nal system integration with all the synthesized VHDL modules is performed and a FPGA prototype is formed. 4.LEON-MP:A PARAMETERIZED SCAL-

ABLE MULTIPROCESSOR SYSTEM

Let us now look at the hardware portion of our prototyp-ing system in more detail.Leon-MP,the hardware compo-nent of SMPS,is a tightly-coupled shared-memory shared address-space multiprocessor system.It is based on the open source Sparc V8compliant Leon uniprocessor core. LEON2uniprocessor[13]is a synthesizable VHDL model of a32-bit RISC processor compliant with the SPARC-V8 Instruction Set Architecture.The integer unit consists of a5-stage pipeline,and there are separate instruction and data caches.Full source code is available under the GNU LGPL license,allowing free and unlimited use in both re-search and commercial applications.The model is highly con?gurable,and particularly suitable for system-on-a-chip (SOC)designs.Extending this work to develop Leon-MP for SMPS,however,presented its own set of multiprocessor-related issues and challenges.Here we present the design and features of Leon-MP and try to capture the major is-sues encountered during its development.We also describe the major customization opportunities o?ered by our sys-tem.

4.1Design of the Leon-MP

System

Figure3:Leon-MP system architecture Figure3shows the block diagram of Leon-MP system.It is a tightly coupled multiprocessor system with a a variable number of Leon[14]processors attached to the shared AHB bus.It provides two snoopy protocols mechanisms for cache coherence,invalidate and update.Separate IRQ controllers and timers are associated with each processor to provide variable timer interruption frequency and reside on APB bus.Also,these IRQ controllers can be used for interfacing with external peripherals.The timers and IRQ controller con?guration registers are accessible at unique locations on the APB bus.Also,the application designer may choose to deliver certain interrupts to certain processors only.All pro-cessors share the two UARTs which provide communication with external world.The multiprocessors currently does not contain any memory management unit(MMU).Access to memory is managed through a memory controller.Also, there is debug support on the system,and one can attach a(optional)Debug Support Unit(DSU)to any Leon IU, which allows non-intrusive debugging on the testbed.It can communicate with an outside debugger such as gdb.

Some registers are added to the AHB bus as slaves.Two of these,the Boot Register,and the Boot Processor Stack Pointer Register,are used for synchronization during the booting process.Slave processors wait for the contents of these registers to be written by the Boot Processor so that they can start operation.Some other registers also reside on the AHB,referred to as the Lock Locations.These are non-cacheable memory locations and are used to implement atomic locks.Atomic instructions such as swap and ldstub are guaranteed to behave properly when using these memory locations.These lock locations have high-speed,low-latency access,as they reside on the AHB.They can be used to im-plement the semaphore operations in Operating Systems. Each processor is assigned some CP U Id by means of a number hard wired in a reserved?eld of a CPU register. Based on these Id s,one of the processors is designated as the Boot P rocessor(BP),which takes control during the booting process,after which it functions as a normal pro-cessor.Rest of the processors act as Application P rocessors (AP).

4.2Issues and Challenges in developing Leon-

MP

There were a number of challenges and issues encountered in the design and development of Leon-MP system.Our de-sign decisions were motivated by high performancee as well as?exibility and ease of customizability.Simple protocols were chosen since they consume less logic and in such a con-strained environment,they are empirically found to perform well.Here are some of the major issues encountered:

Booting:As soon as the processors are given a reset (external input),they start executing from absolute loca-tion0x0.The boot code residing at this location recog-nizes each processor separately using a unique processor ID which is hardcoded during synthesis inside each proces-sors processor status register(PSR).While all the proces-sors with IDs other than zero(slaves)go into a loop,the processor with ID zero(boot processor)performs a num-ber of tasks.The slaves busy wait on a register synthe-sized onto the AHB bus,this is shown in Figure3as boot register.The boot processor is responsible for initializa-tion of peripherals,detecting the on-chip memory and?-nally waiting for a program to be loaded into memory using the serial port.Once the program is loaded into memory the boot processor stores start address of the program in the boot register,and stores its stack pointer in the stack pointer register,which is shown in Figure3,as BP SP Reg.As soon as the slaves see a non-zero value into the boot register,they read the BP SP Reg.and set their own

stack pointer using the following formula:Stack P ointer= BP SP Reg.?20?1024?P rocessor ID.This provides an initial separation of20KBytes to each of the processor’ss stack pointers.Having set their stack pointer,the processors jump into the code location pointed to by the boot register. Synchronization:An interesting feature of the testbed is Lock Locations.These are?ve registers which are sit-ting on the AHB bus and provide one cycle access for both read and write.These locations are used by the RTOS run-ning on this setup to provide mutual exclusion(mutexing) to threads using semaphores.During the course of develop-ment of this testbed,we realized the high logic area required for maintaining hardware cache coherence.In this testbed, we have SRAMs acting as the shared memory.These pro-vide three cycle standard read and write access and2cycle burst mode read and write access.In view of this,all the caches are write through.To maintain cache coherence all that is required is to update the values in caches while data is being propagated through the shared AHB bus.However, to avoid race conditions during mutexing,high amount of additional logic is required which makes little sense for Em-bedded Systems.An empirical study by us revealed that the Embedded Multiprocessor applications make use of RTOS provided mechanisms to achieve mutexing.Moreover,the number of locks required by RTOS to achieve this is not high.In view of the above discussion,lock locations are a meaningful addition to such multiprocessor Embedded Sys-tems.

Cache Coherence:For reasons identi?ed above,the cur-rent system has the implementation of a very simple proto-col,which is based on a write-through mechanism.We give the choice of having an invalidate or an update protocol. This protocol is justi?ed since the cache size is very small, and moreover,the penalty of fetching from the main memory is not too large(3cycle normal and2cycle burst).Future directions could include implementation of more complex protocols with many more states such as the Berkeley pro-tocol and Illinois protocol.Here,however,we would need to weigh the bene?ts obtained against the cost of extra logic consumed.

Bus Arbitration:A round-robin arbitration policy is implemented.Initially the bus is allotted to processor with highest index(3in case of quad processor)if it is request-ing the bus.Once this processor releases the bus,then it is checked whether there are any requests from the just next priority processor(index2here),followed by processor with index1and subsequently with processor0.After servicing the processor with index0,it again starts with processor with index3and this keeps repeating.

Testing and Debugging:The VHDL model of the LEON processor comes along with a SPARC disassembler in the DEBUG package.It is used by the test bench to disassem-ble the executed instructions and print them to stdout(if enabled).Thus,as the VHDL model of the processor exe-cutes instructions,the SPARC disassembler implemented in the debug package pops up the instruction being executed over the simulator console.However,in case of multiproces-sor,one also needs to know the processor on which it is being executed.This information is important for understanding the?ow of instructions on di?erent processors and the e?ect of the arbitration policy on bus allocation.To achieve this, we have extended the disassembler to su?x each instruction with the processor number on which it is being executed. This can be used to study the?ow of events in the system.

4.3Customization Opportunities in Leon-MP Leon-MP o?ers numerous architecture customization https://www.wendangku.net/doc/1c17794983.html,ing a GUI,we can select a number of parame-ters such as the number of CPUs,cache sizes of the di?erent processors,whether to add a hardware multiplier/divider unit to the processors.The GUI can also be used to se-lect the desired bus arbitration policy,as also the choice of cache coherency protocols between write-invalidate and write-update protocols.In addition,the testbed contains many components which can be programmed at run-time to achieve heterogeneous con?gurations.There are separate timers for each of the processors and these can be con?gured to have separate interruption rates for individual processors. Thus,application portions which need high throughput can have slow interruption rates and big time slices,whereas components which need to respond to stimuli fast can have high interruption rates.Separate programmable IRQ con-trollers allow the ability to select the type of interrupts that are to be delivered to a particular processor.For example, one processor can service all the I/O interrupts,another can service network,etc.Since the IRQ controllers are memory-mapped,processors can also interrupt each other by means of Inter-Processor Interrupts.Also,IRQ controllers can be simpli?ed based on the types of interrupts they are going to service.

FPU

Local Memory

Figure4:A Heterogeneous Multiprocessor Con?g-uration

Leon-MP is easy to extend by adding custom policies and components.For instance,user-provided ASIC modules can be easily added on the bus for hardware portions of the sys-tem.Figure4shows an example of a con?guration that can be achieved with Leon-MP.The application has a hardware portion which is implemented as an ASIC and is supported on the high-speed bus as a master.Besides this,there are three processor on the bus.These processors are customized for the software components mapped onto them.One of the processors has?oating-point intensive code mapped onto it and hence is enhanced by adding a Floating Point Unit (FPU)coprocessor.Another processor has a local memory attached to it to reduce tra?c on the global shared memory. Currently,we are working on adding support for di?erent functional units and local memories for individual proces-sors in Leon-MP,as well as develop a library of hardware components that can be added onto the system.

5.RTKER-MP:A PARAMETRIZED RTOS

FOR LEON-MP

The Leon-MP system,like any typical embedded environ-ment,is highly constrained in terms of memory and process-ing resources.For the type of applications being targeted, individual tasks would typically have timing and other con-straints to meet.A light-weight real-time operating sys-tem(RTOS)is required for real-time task scheduling and for management of shared resources among the competing tasks.Such an RTOS would be minimal by providing sup-port only for the basic primitive operations.For additional features required such as device support and?le systems, custom components would be added on a per application basis.

5.1Need for Our Own RTOS

In the Srijan framework,there are further opportunities to customize RTOS for an application.Since the partitioning of tasks among processors is static,with no global migration allowed,there is scope for di?erent local scheduling policies in each partition rather than a common global scheduling policy.A partition could possibly consist of several proces-sors.Further,parameters which characterize these schedul-ing policies,such as time slice,may be customized for each scheduling policy selected.An intelligent partitioning algo-rithm would,based on the scheduling model,group together related tasks which would perform better under a common scheduling policy on an appropriate computation unit.Also, given the partitioning and architecture information,schedul-ing estimates can be generated.If constraints are not met with the help of previous output of partitioner,these can be used to re?ne the partitioning.Re?nements would try to generate better schedules.This iterative re?nement might be carried out till the constraints are met.

We needed an RTOS that is able to exploit all the above peculiarities of our framework e?ciently,besides being suit-able for the above re?nement process.Flexibility in the choice of components as well as scheduling and migration policies was also required.Due to these considerations we developed RtKer-MP,which is a home-grown multiprocessor RTOS for SMPS.

5.2Design of

RtKer-MP

Figure5:RtKer-MP Organization

Figure5shows the organization of RtKer-MP.RtKer-MP is a light-weight kernel with support for threads,semaphores and real-time interrupt handling.The hardware-dependent code consists of booting,context-switch,interrupt handling and C library code.RtKer-MP either provides minimal C library(printf/malloc)for a given architecture,or uses a minimal library from some other source(e.g.newlib).For the Leon-MP system,a minimal C library is available and is used.The next few sections describe the salient features of RtKer-MP and issues in design and implementation. 5.3Scheduling in RtKer-MP

As?gure5shows,scheduler is in application space in RtKer-MP.The scheduler code has been modularly sepa-rated from the main kernel through a clean and well doc-umented API.This allows the application developer to ex-ploit the peculiarities of an application to write and plug in his/her custom scheduler conforming with the Scheduler API,thus optimizing on algorithms and data structures used for scheduling.Or else,the developer can choose from a pre-de?ned set of schedulers like?fo,edf,priority,etc.The func-tions in the Scheduler API,along with some other structures, form the scheduler object,which needs to be registered with kernel during initialization.A developer need not know the implementation details of kernel to implement a scheduler, the Scheduler API is all that is required,is provided and is well documented.

RtKer-MP schedules threads using the scheduler object which has functions like create thread(),heir thread()and init().The scheduler is responsible for maintenance of task queues,task counts,and for updating the information on execution times and deadlines.Also,priority assignment and inheritance is also the responsibility of scheduler.In other words,it is the scheduler which really determines the real-time behaviour of kernel.For instance,if it is a hard real-time system,then the scheduler might internally invoke an admission test on the task before including the task into its queues.Or,it might invoke the recovery task,the pointer to which then needs to be passed by the application coder in the task structure.In this manner,RtKer-MP achieves a clean separation between policy and features.

Since it is an RTOS for multiprocessor systems,there are separate scheduler objects for each CPU.A global data structure contains pointers to the individual scheduler ob-jects.Task partitions consisting of multiple CPUs can be created by having their pointers point to the same scheduler object.Also,associated with each partition is a sched lock, which is required for mutual exclusion in access to partition data structures.

5.4Important Issues in developing RtKer-MP While scheduling was an important issue,there were nu-merous other issues and challenges in developing RtKer-MP. This section describes some of the important ones in detail. Initialization:During hardware bootup,the boot pro-cessor(BP),before freeing the Application Processors,ini-tializes some of the lock locations to non-zero values to indi-cate that they are not free.Then,the BP jumps to the code location.Application processors(APs),also having been freed,jump to the code location.The?rst part of the code executed by all the processors makes a call to the initializa-tion function,rtker init.In this function,the BP initial-izes common structures,interrupts,trap handlers,etc.In the meantime,the APs wait on the lock locations described above,the control being implicitly with BP.After BP com-

pletes its exclusive portion,it releases the lock.Then the APs get the lock one by one,do the processor-speci?c ini-tializations through the function thread lib init,which ini-tializes,among other things,the scheduler structures.

After all the initializations have been made,BP returns back to the application code.APs,on the other hand,make a call to suspend thread,and the scheduler for each sched-ules the idle thread for that particular CPU.They idle away, till there is a thread ready to be scheduled on that CPU.The BP,which returns to the application code,then is expected to create all the threads of the application,which can then subsequently be scheduled on some CPU in their designated partition.

Synchronization:As explained in[8],for any kernel to function in a proper way,it has to provide internal lock-ing and protection of its own structures.This would,for example,prevent two processes from modifying the kernel data structures concurrently,something which could lead to inconsistency in those structures.Another situation that could arise in the absence of locking could be allocation of the same memory block to two processes which make simul-taneous requests.Such issues are particularly important in the case of multiprocessor systems sharing data structures, since multiple copies of the OS might be trying to access and/or modify these structures concurrently.

In RtKer-MP,we use the technique of?ne grained locking to reduce the amount of time locks are held and reduce the critical latency times so as to provide real-time behaviour. We have separate locks for unrelated structures.Thus,for instance,separate locks protect scheduling and semaphore structures.Also,separate locks protect the scheduler ob-jects of di?erent partitions.These locks protect the critical sections of the RTOS such as the sections where the next thread to be scheduled is obtained from the scheduler ob-ject,the semaphore queue operations,etc.

Testing and Debugging:The testing and debugging environment was constrained by the absence of a simulator for our multiprocessor platform.The available simulator from Gaisler research is for uniprocessor LEON,and there too,only the binary is available.Development of the simula-tor is a work that is currently in progress in our group.Our environment,therefore,was limited to the uniprocessor sim-ulator,and simulation of the VHDL code for the hardware as described in https://www.wendangku.net/doc/1c17794983.html,ing that simulation approach, one can simulate a code on the architecture.The constraints with this approach are two-fold:(a)the simulation is very slow as compared to any instruction set simulator,and(b) the only information it gives is the instruction sequence exe-cuted on the processor.Due to the speed of simulation,one can only simulate small pieces of code on the VHDL model of the processor.

5.5Customization Opportunities in RtKer-MP This scheduler API design gives a lot of?exibility in terms of scheduling and task migration policies.As described in[7],there are three categories of scheduling algorithms based on the task migration strategy,i.e.Full migration, Restricted migration,and No migration(partitioned).Our scheduler framework allows implementation of all these three categories of algorithms.For instance,for full migration,all pointers to scheduler objects point to the same structure,allowing a global task queue and a global scheduling policy. Similarly,no migration can be implemented by having sep-arate individual pointers to scheduler object per processor. Thus,a task can be scheduled only on the processor to which

it is bound,even if some other processor is idle and this task

is ready to be scheduled.Moreover,the pluggable scheduler interface allows for quick exploration of various scheduling policies for a feedback to the estimation systems.

6.IMPLEMENTATION PLATFORM

In section3we described the high-level design method-ology for developing application-speci?c multiprocessor em-bedded systems.Subsequently we described Leon-MP and RtKer-MP,the important components of SMPS.Now we describe how the synthesis methodology maps on to SMPS and the role of di?erent components.For this,we?rst de-scribe the setup where actual prototyping is done.Next we detail the development cycle for this system.The important issue of performance monitoring and how communication is done are also addressed here.

6.1Prototyping Setup

Our hardware prototyping platform is based on an FPGA board from Alpha Data Parallel Company,ADM-XRC-II [2].The ADM-XRC-II is a high performance recon?gurable PMC(PCI Mezzanine Card)based on the Xilinx Virtex-II range of Platform FPGAs.Its features include high speed PCI interface,external memory,high density I/O,programmable clocks,temperature monitoring,battery backed encryption and?ash boot facilities.It comes with a comprehensive cross platform API,and supports various operating systems. This board contains a Xilinx XC2V3000-FF1152-5device. The card itself is sitting inside the PC box and is connected

to the PCI bus using a PCI to local bus converter.Some pins of the FPGA are available externally for

interfacing.

Figure6:Hardware Layout of Leon-MP

Figure6shows a block diagram of ADM-XRC-II board with external connectivity.It also shows which part of the multiprocessor is mapped where.The external hardware in-terface circuitry contains error and power LEDs along with reset switch and voltage level conversion circuitry.The volt-age conversion circuitry is required as the FPGA operates

on LVTTL logic(0to3.3volts)whereas the RS-232C op-erates on di?erent range(-12to+12volts).Multiproces-

sor UARTs are mapped to host UARTs,which are used for program loading and communication.This board connects

the FPGA directly to the local bus and enables its opera-tion.The ADM-XRCII board has high performance PCI and DMA controllers,local bus,RAM banks,user front panel and rear panel connectors.Downloading of bit ?le is done through the PCI interface by which the board is connected to the host computer.

The interface board takes signals from Leon-MP synthe-sized on ADM-XRCII board.The error pin of Leon-MP is mapped to the Error LED on the interface board and it glows when the error signal is asserted by Leon.Leon’s ex-ternal Parallel I/O pins are connected to the PCs UARTs through an interface circuitry for the necessary voltage con-version from ADM-XRCII’s CMOS/TTL level to the RS-232compliant levels of the PC UARTs.A MAX-232chip does the necessary voltage-conversion for ADM-XRCII in-puts/outputs to RS232PC interface.In this manner,UART signals of the testbed as shown in ?gure 3are mapped to serial ports of the host.These are used to load application code onto the testbed and to do standard input/output with the running

system.

Figure 7:Actual System Prototype

Figure 7shows a photograph of the hardware setup.The ADM-XRC-II board is visible inside the CPU box of the computer.External wires coming out of this board connect to the external hardware interfacing circuitry,shown along side the power supply.Oscilloscope connected to the probe points can be used to observe the serial data.

6.2Application development and Loading

As described in section 3,using various exploration,esti-mation and partitioning tools,the partitioning of tasks be-tween hardware and software,and of software tasks among procesors is decided.Architecture customization to be car-ried out is also identi?ed.For the hardware portions,ASICs can be developed and added onto the system bus in Leon-MP or chosen from a library if it is available.CPU cus-tomization can be carried out in Leon-MP through a GUI con?gurator as described earlier.If the desired option is not supported,such as a custom FU,user-provided modules can be integrated with the system.

Figure 8illustrates the software development ?ow for the prototyping system.The multi-threaded application code,compliant with RtKer-MP API,and written in the C pro-gramming language is compiled with the help of the

LECCS

Figure 8:Software Development Flow

[14]toolkit which is a set of cross-compilation utilities for Leon Processor.The application code is responsible for call-ing the RTOS initialization functions with proper parame-ters,create the appropriate partitions and register corre-sponding scheduler structures with the kernel.LECCS al-lows cross-compilation of C and C++applications for LEON.The compiled code is linked against the RtKer-MP library for implementations of the RTOS API functions.It is fur-ther linked with the Rtems Library to obtain the binary code.Veri?cation is done to establish the functional cor-rectness of this application.This could be done with the help of a functional simulator such as TSIM [14]or a multi-processor simulator.

Having veri?ed the application,the binary is converted to the S-Record format next.This format contains the Stripped Relocatable Symbols,with the help of objcopy bi-nary utility,and is ready to be loaded onto the actual hard-ware.Motorola S-Records are an industry-standard format for transmitting binary ?les to target systems.S-Record follow the standard

S

<

checksum >

for each line in the ?le.In this form,the application is ready to be loaded onto the multiprocessor system.Once the bit ?le containing the synthesized Leon-MP is loaded onto the ADM-XRC card,the system boots up as described in section 4.2.After booting up,Leon-MP waits for this SREC ?le to be downloaded through the UART connection.Once this ?le is downloaded,the RTOS booting follows as detailed in section 5.4and normal execution of application begins.

6.3Monitoring and Communication

As described earlier,Leon’s external Parallel I/O pins are connected to the host PC’s UARTs.In this manner,communication can be achieved between the host PC and the system prototype running on FPGA.This can be used for I/O as well as performance monitoring.For our pur-poses,this feature is exploited by the C library,which maps the Stdin/Stdout I/O descriptors of applications running on the prototype to the UARTS of host PC.A debug monior,Dsumon,can also be attached to one of the processors and can be used for remote debugging.One of the future di-rections is integrating the network interface with Leon-MP,which would remove the communication bottleneck enforced by the serial connection.

7.RESULTS

Snoopy H/W Bus LUT FF Clk.

Policy Mul-Div Arbit.(%)(%)(ns)

Inval.No Prior.29.710.321.8

Inval.No RR30.110.320.8

Inval.Yes Prior.39.011.522.0

Inval.Yes RR39.911.521.8

Update No Prior.29.910.322.9

Update No RR29.810.322.8

Update Yes Prior.39.911.521.4

Update Yes RR40.211.521.4 Table1:Synthesis Results for Two Processor Con-?guration

Snoopy Cache Bus LUT FF Clk.

Policy Size Arbit.(%)(%)(ns)

Inval.1K+1K RR55.317.522.4

Inval.2K+2K RR57.418.123.3

Updt.1K+1K RR56.217.522.8

Updt.2K+2K RR57.718.024.0 Table2:Synthesis Results for Four Processor Con-?guration

Tables1and2show the synthesis results.The column Snoopy Policy shows the cache coherence policy implemented, which could be either Update or Invalidate.The column H/W Mul-Div,shows whether a hardware multiple and di-vider have been synthesized or not.Column Bus Arbitration shows the bus arbitration mechanism,which could be either round robin or priority based.Columns LUT and FF show the LUTs and Flip-?ops used respectively.Column Clk. shows the achieved clock period.All these options are con-?gurable using a Graphical User Interface(GUI).For four processors and beyond a simple static priority based bus ar-bitration does not give the bus access to processors two and three,so the only available option is the round robin bus arbitration.From the results it is evident that the clock pe-riod does not vary much with an increase in the number of processors.This is due to the fact that the critical path is not through the AHB bus.

8.CONCLUSIONS AND FUTURE WORK We have successfully created a multiprocessor system which can be used to prototype and validate application-speci?c heterogeneous shared memory shared address space multi-processor Embedded Systems.Numerous capabilities are provided for architecture customization and many other pos-sibilities that are not provided can also be developed with reasonable e?ort.We have synthesized and evaluated dif-ferent con?gurations which prove that the whole setup is highly retargetable.The current setup is being used in our group for multiprocessor application development.We have already developed a multiprocessor RTOS using the lock lo-cation feature of this multiprocessor system.The complete VHDL model along with this home grown RTOS will be available from the group website towards the end of Novem-ber,2004.

This work has many possible extensions.Support for di?erent types of co-processors can be added for the Leon Processor so that exploration space can be increased.Ad-ditional bus arbitration mechanisms can be added to sup-port a wider design space.A trade o?between write-back cache coherency protocols and the simple write-through im-plementation could be evaluated as a possible alternative. Our current work-in-progress is in the direction of adding network connectivity to the multiprocessor for better data throughput.

9.REFERENCES

[1]Srijan:A Methodology for Synthesis of ASIP based

Multiprocessor SoCs.Technical report,Department of Computer Science and Engineering,Indian Institute of Technology Delhi.

[2]Alpha Data.ADM-XRC-II Xilinx Virtex-II PMC.

https://www.wendangku.net/doc/1c17794983.html,/adm-xrc-ii.html.

[3]ARM Limited.MPCore:A synthesizable multiproces-

sor core.https://www.wendangku.net/doc/1c17794983.html,.

[4]H.Aydin and Q.Yang.Energy-Aware Partitioning for

Multiprocessor Real-Time Systems.In Proc.Interna-tional Parallel and Distributed Processing Symposium (IPDPS’03),Apr.2003.

[5]A.Baghdadi,D.Lyonnard,N.E.Zergainoh,and A.A.

Jerraya.An E?cient Architecture Model for Systematic Design of Application-Speci?c Multiprocessor SoC.In Proc.DATE,2001.

[6]L.Barroso,S.Iman,J.Jeong,K.ner,K.Ramamurthy,

and M.Dubois.RPM:A Rapid Prototyping Engine for Multiprocessor Systems.IEEE Computer,28(2):260–34,Feb.1995.

[7]J.Carpenter,P.H.S.Funk,A.Srinivasan,J.Anderson,

and S.Baruah.Handbook of Scheduling:Algorithms, Models,and Performance Analysis.CRC Press,2004.

[8]. A.Cox.An Implementation Of Mul-

tiprocessor Linux.http://parallel.rz.uni-mannheim.de/Linux/smp/smp.html.

[9]CRADLE Technologies.MDSP:Cradle multiprocessor

DSP platform.https://www.wendangku.net/doc/1c17794983.html,.

[10]E.A.de Kock.Multiprocessor Mapping of Process Net-

works:A JPEG Decoding Case Study.In Proc.Inter-national Symposium on System Synthesis(ISSS-2002), Oct.2002.

[11]B.K.Dwivedi,A.Kumar,and M.Balakrishnan.Au-

tomatic Synthesis of System on Chip Multiprocessor Architectures for Process Networks.In Proc.Int.Conf.

on Hardware/Software Codesign and System Synthesis (CODES+ISSS2004),Stockholm,Sweden,Sept.2004.

[12]Freescale Semiconductor.MPC8641D:Freescale dual

powerPC core.https://www.wendangku.net/doc/1c17794983.html,.

[13]J.Gaisler.LEON:A Sparc V8Compliant Soft Unipro-

cessor Core.https://www.wendangku.net/doc/1c17794983.html,/leon.html. [14]J.Gaisler.The LEON/ERC32GNU Cross-Compiler

System.https://www.wendangku.net/doc/1c17794983.html,/leon.html.

[15]R.Janka and L.Willis.Early System-Level Design Ex-

ploration of Large DSP Systems Targeted for Real-Time Embedded COTS Multiprocessors.In Prof.Intl.

Conf.Signal Processing Applications and Technology and DSP World Workshops(DSP WorldICSPAT), 1999.

[16]R.S.Janka,L.M.Wills,and L. B.Baumstark.

Virtual Benchmarking and Model Continuity in Pro-totyping Embedded Multiprocessor Signal Processing

Systems.IEEE Transactions on Software Engineering, 28(9):832–846,Sept.2002.

[17]G.Kahn.The Semantics of a Simple Language for Par-

allel Programming.In Proc.IFIP Congress74.North Holland Publishing Co,1974.

[18]D.Lewis,D.Galloway,M.Ierssel,J.Rose,and P.Chow.

The transmogri?er-2:A1-million gate rapid prototyp-ing system,1997.

[19]D.Lyonnard,S.Yoo,A.Baghdadi,and A.A.Jerraya.

Automatic Generation of Application-Speci?c Archi-tectures for Heterogeneous Multiprocessor System-on-Chip.In Proc.DAC,2001.

[20]P.G.Paulin, C.Pilkington,https://www.wendangku.net/doc/1c17794983.html,ngevin, E.Ben-

soudane,and G.Nicolescu.Parallel programming mod-els for a multi-processor SoC platform applied to high-speed tra?c management.In Proc.of the2nd IEEE/ACM/IFIP international conference on Hard-ware/software codesign and system synthesis,pages48–

53.ACM,Sept.2004.

[21]M.Ruppa,A.Burgb,and E.Beckc.Rapid prototyp-

ing for wireless designs:the?ve-ones approach.Signal Processing,83:1427–1444,2003.

[22]D.Shin and J.Kim.Power-Aware Scheduling of Con-

ditional Task Graphs in Real-Time Multiprocessor Sys-tems.In Proc.International Symposium on Low Power Electronics and Design(ISLPED-2003),pages408–413, Aug.2003.

envi遥感图像处理之分类

ENVI遥感图像处理之计算机分类 一、非监督分类 1、K—均值分类算法 步骤:1)打开待分类得遥感影像数据 2)依次打开:ENVI主菜单栏—〉Classification—>Unsupervised—>K—Means即进入K均值分类数据文件选择对话框 3)选择待分类得数据文件 4) 选好数据以后,点击OK键,进入K-Means参数设置对话框,进行有关参数得设置,包括分类得类数、分类终止得条件、类均值左右允许误差、最大距离误差以及文件得输出等参数得设置 5)建立光谱类与地物类之间得联系:在新窗口中显示分类结果图: 然后,打开显示窗口菜单栏Tools菜单—>Color Mapping—〉Class ColorMapping…进入分类结果得属性设置对话框,在这里,可以进行类别得名称,显示得颜色等,建立了光谱类与地物类之间得联系。 设置完成以后,点击菜单栏Options-〉Save Chang es 即完成光谱类与地物类联系得确立 6) 类得合并问题:如果分出得类中,有一些需要进行合并,可按以下步骤进行:选择ENVI主菜单Classfaction-〉Post Classfiction—>bine Classes,进入待

合并分类结果数据得选择对话框 点击OK键,进入合并参数设置 对话框,在左边选择要合并得 类,在右边选择合并后得类,点击 Add bination键即完成一组合 并得设置,如此反复,对其她需 合并得类进行此项操作,点击 OK,出现输出文件对话框,选择 输出方式,即完成了类得合并得 操作. 至此,K—均值分类得方法结束。 2、 ISODATA算法 基本操作与K—均值分类相似。 1)进行分类数据文件得选择(依次打开:ENVI主菜单栏—>Cl assification—>Unsupervised—>IsoData即进入 ISODATA算法分类数据文件选择对话框,选择待分类得数据 文件) 2)进行分类得相关参数得设置(点击OK键以后,进入参数设置 对 话 框 , 可 以 进行分类得最大最小类数、 迭代次数等参数得设置) 3)如此,光谱类得划分到此结 束。 4)参瞧K—均值分类得第5-6步,进行光谱类与地物类联系得建立以及类得合并等操作至此,使用ISODATA算法进行分类完成。 二、监督分类 本实验说明以最大似然法为例,进行监督分类得讲解说明。 步骤:1)打开待分类得遥感影像数据文件2)进行训练样本得选取:在窗口中打开一张影像,选择主窗口菜单栏Tools键—〉RegionOf Interest—〉ROI Tools…(或就是在主窗口上单击右键,在弹出得快捷菜单栏中选择ROI To

遥感变化监测 流程

多时相土地利用/覆盖变化监测研究 方法及数据选取 土地是一个综合的自然地理概念,它处于地圈-生物圈-大气圈相互作用的界面,是各种自然过程和人类活动最为活跃的场所。地球表层系统最突出的景观标志就是土地利用和土地覆盖( Land Use and Land Cover)。由于土地利用和土地覆盖与人类的生活、生产息息相关,而人类活动正以空前的速度、幅度和空前规模改变着陆地环境。人类对土地资源的利用引起的土地利用和土地覆盖的变化是全球环境变化的重要因素之一,也是地球表面科学研究领域中的一个重要分支。因此,土地利用和土地覆盖的动态监测(Land Use and Land Cover Monitoring)是国内外研究的热点,也是当前全球变化研究计划的重要组成部分。 由多时相遥感数据分析地表变化过程需要进行一系列图像处理工作,大致包括:一、数据源选择,二、几何配准处理,三、辐射处理与归一化,四、变化监测算法及应用等。 一、遥感数据源的选取 不同遥感系统的时间分辨率、空间分辨率、光谱分辨率和辐射分辨率不同,选择合适的遥感数据是变化监测能否成功的前提。因此,在变化监测之前需要对监测区域内的主要问题进行调查,分析监测对象的空间分布特点、光谱特性及时相变化的情况,目的是为分析任务选择合适的遥感数据。同时,考虑到环境因素的影响,用于变化监测的图像最好是由同一个遥感系统获得,如果由于某种原因无法获得同一种遥感系统在不同时段的数据,则需要选择俯视角与光谱波段相近的遥感系统数据。 1时间分辨率 这里需要根据监测对象的时相变化特点来确定遥感监测的频率,如需要一年一次、一季度一次还是一月一次等。同时,在选择多时相遥感数据进行变化监测时需要考虑两个时间条件。首先,应当尽可能选择用每天同一时刻或者相近时间的遥感图像,以消除因太阳高度角不同引起的图像反射特性差异;其次,应尽可能选用年间同一季节,甚至同一日期的遥感数据,以消除因季节性太阳高度角不同和植物物候差异的影响。 2空间分辨率 首先要考虑监测对象的空间尺度及空间变异的情况,以确定其对于遥感数据的空间分辨率的要求。变化监测还要求保证不同时段遥感图像之间的精确配准。因此,最好是采用具有相同瞬时视场(IFOV)的遥感数据,如具有同样空间分辨率的TM图像之间就比较容易配准在一起。当然也可以使用不同瞬时视场遥感系统获取的数据,如某一日期的TM图像(30m ×30m)与另一日期的SPOT图像(20m×20m),来进行变化监测,在这种情况下需要确定一个最小制图单元20m×20m,并对这两个图像数据重采样使之具有一致的像元大小。 一些遥感系统按不同的视场角拍摄地面图像,如SPOT的视场角能达到±27°,在变化监测中如果简单采用俯视角明显不同的两幅遥感图像,就有可能导致错误的分析结果。例如,对一个林区,不均匀地分布着一些大树,以观测天顶角0°拍摄的SPOT图像是直接从上向下观测到树冠顶,而对于一幅以20°观测角拍摄的SPOT图像所记录的是树冠侧面的光谱反射信息。因此,在变化监测分析中必须考虑到所用遥感图像观测角度的影响,而且应当尽可能采用具有相同或相近的俯视角的数据。 3光谱分辨率 应当根据监测对象的类型与相应的光谱特性选择合适的遥感数据类型及相应波段。变化监测分析的一个基本假设是,如果在两个不同时段之间瞬时视场内地面物质发生了变化,则不同时段图像对应像元的光谱响应也就会存在差别。所选择的遥感系统的光谱分辨率应当足

遥感地学解译

一、遥感地质学的主要研究内容是什么? 答:遥感地质学主要是指研究地球上各种地质体和各种地质现象,根据和利用地质体的电磁波谱特征,借助先进的遥感科学技术。从各种载着地物电磁辐射特征的遥感资料中提取地质信息,以达到宏观,准确,快速的研究地质体和地质现象的目的,在地质与成矿理论指导下,研究如何应用遥感技术进行地质与矿产资源调查研究的学科.是遥感技术与地球科学结合的一门边缘学科。 它的主要研究内容大致包括如下: 1、各类地质体的电磁辐射特性及其测试、分析与应用; 2、遥感图像的地质解译与编图; 3、遥感数字资料的地学信息提取原理与方法; 4、遥感技术在地质各个领域的具体应用和实效评价。 二、遥感图像地学信息解译主要内容有哪些? 答:地学解译是从遥感图像上获取目标地物信息的过程具体是指解读人员通过应用各种解译技术和方法在遥感图像上识别出地质体、地质现象的物性和运动特点测算出某种数量指标的过程。其原则应采用由已知到未知、从区域到局部、先易后难、由宏观到微观、从总体到个别、从定性到定量、循序渐进的方法。其解译的主要内容如下: 1、遥感地质岩性解译 通过已知相关资料中的波谱与空间信息特征判断地表的岩石产出特点和物性。主要包括三大岩类:岩浆岩、沉积岩、变质岩。解译标志有以下:色调、亮度、形态。 主要的解译方法: 1)利用增强变换处理提取岩性信息 2)采用增强处理方法提取色调信息,可以扩大不同岩性的灰度差别,突出目标信息和改善图像效果,提高解译标志的判别能力。常用的遥感图像增强方法有反差扩展、去相关拉伸、彩色融合、运算增强、变换增强等 3)利用纹理信息提取岩性信息 4)每个岩性单元的灰度值具有各自不同的空间变化特征是运用纹理进行岩性分类的基础。常用的纹理信息提取方法有灰度共生矩阵法、小波变换和傅立叶变换等。通常将纹理图像作为新的波段参与岩性分类,许多学者的研究表

浅述遥感技术在地质构造解译方面的应用

2012年8月内蒙古科技与经济A ugust2012 第16期总第266期Inner M o ngo lia Science T echnolo gy&Economy N o.16T o tal N o.266浅述遥感技术在地质构造解译方面的应用 陈洪义 (内蒙古有色地质勘查局一○八队,内蒙古赤峰 024000) 摘 要:在论述遥感信息提取技术理论的基础上,引出了遥感地质构造解译的概念,并对地质构造影像特征进行了描述和地质构造信息进行了提取,结合实例进行分析与研究。 关键词:信息提取技术;地质构造解译;阿拉克湖 中图分类号:P627(244) 文献标识码:B 文章编号:1006—7981(2012)16—0049—02 1 信息提取技术理论 遥感构造分析是以现代构造地质理论为基础,以影像构造地质信息为依据进行区域构造分析的一种研究方法。其基本特点是能够从表层到深部、从静态到动态、从单一信息到多学科信息对区域构造进行综合分析。 遥感地质解译是运用遥感图像研究地质问题的常规方法。遥感地质解译的内容很多,其中对构造信息的解译最为成功,也最受重视。地质构造形迹主要表现为线性、环形和块形的特征,它们在遥感图像上多以特定的色调、形态、图形结构、水系展布、地貌组合等影像特征得以显示。通过遥感图像处理,可以突出有关信息,并根据相应的地学理论、结合野外验证、综合其他相关地学信息,对这些影像信息进行综合判断,解译地质现象,分析区域地质特征,预测成矿有利区域,最终获取遥感影像综合解译成果信息。2 信息特征提取的方法 笔者研究区域是阿拉克湖及其周围地区。此地属于青海省海西蒙古族藏族自治州都兰县、玉树藏族自治州曲麻莱县及果洛藏族自治州玛多县所管辖。本区地质构造较为复杂,跨越了巴颜喀拉——阿尼玛卿——东昆仑多旋回裂拼演化的复合型造山带,造山带结构及现代地貌水系。研究区由于地质构造具有代表性,深受学者们研究。最近几年,中国地质大学(武汉)在本测区东邻的1∶25万冬给措纳湖幅区域地质调查研究中发现,东昆仑造山带不是一个简单的俯冲碰撞增生过程,而是一个具多旋回复杂演化历史的造山带,经历过多旋回的洋陆转化,从而造就了研究区非史密斯地层广布(见图1所示)。 2.1 地质解译方法 传统的解译方法主要是目视解译,为了能更好地判别,常用到以下方法。 2.1.1 直判法:这是最基本的方法,通过已有的经验和直接标志,来直接判读。此方法简便易行,但需要稳定明显的解译标志转化,从而造就了研究区非史密斯地层广布。 2.1.2 对比法:也是一种常用的方法,通过不同的资料来源进行对比分析,建立研究区适用的确切可靠的解译标志 ; 1.缝合带及编号; 2.逆冲断层; 3.断裂; 4.蛇绿岩; 5.盆地边界; 6.火山岩; 7.研究区范围 图1 研究区范围及大地构造位置 2.1.3 逻辑推理法:综合考虑遥感图像多种解译特征,结合生活常识,分析、推理某种目标地物; 2.1.4 信息复合法:利用透明专题图或者透明地形图与遥感图像重合,根据专题图或者地形图提供的多种辅助信息,识别遥感图像上目标地物的方法。 2.2 地层解译 区内第四系(Q)比较发育,主要分布在阿拉克湖周围的大部分区域。发育的主要类型如下。 2.2.1 风积和砂积:分布在昆中断裂以北大部分地区,灰黄色风成亚砂土,分选良好、松散,层理清楚;图像颜色为灰白、浅红间或暗黑色、浅绿色,条状纹理,地貌上风成砂丘、阶地、陡坎等。 2.2.2 洪积:分布在阿拉克湖的中部靠西部位和马尔争山南部,总体以卵石和砾石为主,局部以砾石和砂为主,卵石和砾石成分与物源有关,分选性和磨圆性较差,结构松散。图像特征:土黄色、灰白色、淡绿色呈块状,暗色线状纹理。地貌特征表现为群体冲积扇的扇源部位。 2.2.3 冲积:分布在阿拉克湖南部的大片平原地区。地貌上大多为冲积扇状堆积体,岩性为砂质粘土、粉砂、砂、砾石。图像特征为灰白色、淡白色,纹理不发育,呈扇状分布。 2.2.4 湖积与河流沉积:主要分布在阿拉克湖一 ? 49 ? 收稿日期:2012-05-11 作者简介:陈洪义(1959—),男,内蒙古赤峰市人,绘图助理工程师。

ENVI遥感图像配准实验报告

ENVI遥感图像配准 一、实验目的: 1、掌握ENVI软件的基本操作和对图像进行基本处理,包括打开图像,保存图像。 2、初步了解图像配准的基本流程及采用不同校准及采样方法生成匹配影像的特点。 3、深刻理解和巩固基本理论知识,掌握基本技能和动手操作能力,提高综合分析问题的能力。 二、实验原理 (1)最邻近法 最邻近法是将最邻近的像元值赋予新像元。该方法优点是输出图像仍然保持原来图像的像元值,简单,处理速度快。缺点就是会产生半个像元位置偏移,可能造成输出图像中某些地物的不连贯。适用于表示分类或某种专题的离散数据,如土地利用,植被类型等。

双线性插方法是使用临近4个点的像元值,按照其距插点的距离赋予不同的权重,进行线性插。该方法具有平均化的滤波效果,边缘受到平滑作用,而产生一个比较连贯的输出图像,其缺点是破坏了原来的像元值,在后来的波谱识别分类分析中,会引起一些问题。 示意图: 由梯形计算公式: 故 同理 最终得:

三次卷积插法是一种精度较高的方法,通过增加参与计算的邻近像元的数目达到最佳的重采样结果。使用采样点到周围16邻域像元距离加权计算栅格值,方法与双线性插相似,先在Y 方向插四次(或X 方向),再在X 方向(或Y 方向)插四次,最终得到该像元的栅格值。该方法会加强栅格的细节表现,但是算法复杂,计算量大,同样会改变原来的栅格值,且有可能会超出输入栅格的值域围。适用于航片和遥感影像的重采样。 作为对双线性插法的改进,即“不仅考虑到四个直接邻点灰度值的影响,还考虑到各邻点间灰度值变化率的影响”,立方卷积法利用了待采样点周围更大邻域像素的灰度值作三次插值。其三次多项式表示为: 我们可以设需要计算点的灰度值f(x,y)为:

ENVI遥感图像处理方法

《ENVI遥感图像处理方法》科学出版社2010年6月正式出版 上一篇/ 下一篇 2010-05-26 15:02:30 / 个人分类:ENVI 查看( 643 ) / 评论( 5 ) / 评分( 0 / 0 ) 从上个世纪六十年代E.L.Pruitt提出“遥感”这个词至今,遥感已经成为人类提供了从多维和宏观角度去认识宇宙世界的新方法与新手段。目前,遥感影像日渐成为一种非常可靠、不可替代的空间数据源。ENVI (The Environment for Visualizing Images)是由遥感领域的科学家采 用交互式数据语言IDL(Interactive Data Language)开发的一套功能强大的遥感图像处理软件。ENVI以其强大的图像处理功能,尤其是与ArcGIS 一体化集成,使得众多的影像分析师和科学家选择ENVI来处理遥感图像和获得图像中的信息,从而全面提升了影像的价值。ENVI已经广泛应用于科研、环境保护、气象、石油矿产勘探、农业、林业、医学、国防&安全、地球科学、公用设施管理、遥感工程、水利、海洋、测绘勘察和城市与区域规划等众多领域。与此形成鲜明对比的是,目前关于ENVI 的中文教程非常少,给广大用户学习软件和应用软件带来诸多不便。 针对上述情况,在ESRI中国(北京)有限公司的大力支持下,根据多年遥感应用研究和软件操作经验,历时一年半编著完成本书。全书按照遥感图像处理流程由浅到深逐步引导读者掌握ENVI软件操作。各个章节相对独立,读者可视个人情况进行选择阅读。全书分为17章,第1、2、3章介绍了ENVI软件的基础知识,可作为ENVI软件入门,也可作为参考内容;第4、5、6、7、8章介绍了遥感图像处理一般流程,包

ENVI遥感影像变化检测

1.森林开采监测 打开实习数据0-森林开采监测下的实习数据。 ?Compute Difference Map 选择basic tools/change detection/ Compute Difference Map,分别选择原始的影像july_06与july_00,在弹出的Compute Difference Map input parameters窗口下,查看define class thresholds,no change表示没有变化, change(-1)表示减少,change(+1)表示增加;其他默认选项不变, 勾选normalize data range[0-1],选择输出路径与文件名为com_diff。 选择classification/post classification/classification to vector,在输入图层中选择上一步生成的结果,弹出窗口中选择全部,保存路径生成结果, 转化为矢量。(由于耗时过多,故可以不做) ?Image Difference 打开ENVI Zoom 4.8,将原始的影像导入到其中,在ENVI Zoom窗口下的toolbox 中选择image change,弹出image change detection的对话框,将time 1classification image file选择为00年影像,点击OK,time2 classification image file中选择06年影像数据,点击OK,选择下一步,保持默认设置,选择下一步,选择image difference,选择下一步,选择difference of

遥感ENVI实验报告汇编

目录 前言 (3) 一、实验目的 (3) 二、实验内容 (3) 三、实验时间 (3) 四、组织人员 (3) 1.专题概述 (4) 2. 处理流程介绍 (4) 2.1图像获取 (4) 2.2数据读取和定标 (4) 2.3图像配准 (5) 2.4大气校正 (5) 2.5反演模型构建及模型应用 (5) 2.6植被变化 (6) 3.详细处理过程 (7) 3.1数据预处理 (7) 3.1.1安装环境小卫星数据处理补丁 (7) 3.1.2数据处理和定标 (7) 3.1.3工程区裁剪 (9) 3.1.4图像配准 (14) 3.1.5大气校正 (17) 3.1.6裁剪浑善达克区 (23) 3.2植被覆盖度反演 (27) 3.2.1计算归一化植被指数 (27) 3.2.2计算植被覆盖度 (28) 3.3植被变化监测 (29)

3.3.1植被覆盖区提取 (29) 3.3.2植被变化检测 (31) 3.4成果后期处理与应用 (32) 3.4.1植被变化区域图的背景值处理 (32) 3.4.2植被变化区域制图 (33) 实验心得 (36)

前言 一、实验目的 1、掌握ENVI软件的基本操作。 2、掌握卫星影像的预处理的基本流程。 3、通过实习,学会自己去处理一些问题。 4、进一步提高学生分析问题、解决问题的能力,增强实践技能,并培养学生勇于 动手、勤于动手、热爱本专业的思想。 5、深刻地理解和巩固基本理论知识, 掌握基本技能和动手操作能力, 提高综合 观察分析问题的能力 二、实习内容 1、了解ENVI的基本操作。 2、实现影像图像的几何校正、融合、镶嵌及剪裁。 3、掌握ENVI对影像信息的提取 4、了解ENVI的一些应用分析

遥感影像分类envi

遥感课程教学实验之二: 遥感影像分类 实验二遥感影像的分类遥感影像的监督分类 ?实验目的

理解计算机图像分类的基本原理以及监督分类的过程,学会利用遥感图像处理软ENVI 件对遥感图像进行分类的方法。 ?实验内容 1、遥感图像分类原理。 2、遥感图像监督分类。 3、最大似然法分类 ?实验条件 电脑、ENVI4.5软件。厦门市TM遥感影像。 ?实验步骤 1、启动ENVI软件,从文件菜单打开多波段影像文件,从可用波段列表中装载彩色或假色 影像,显示遥感影像。 2、从主图像窗口的工具Tools →Region of Interest →ROI Tools; 3、在自动打开的ROI Tools窗口中,设定ROI_Type 为“Polygon”(多边形),选定样本采 集的窗口类型,用Zoom(缩放窗口)进行采集。。

4、在选定的窗口如Zoom用鼠标左键画出样本区域,在结束处击鼠标右键二次,样本区域 被红色充填,同时ROI Tools窗口中显示采集样本的信息。采集新的样本点击“New Region”,重新上述步骤进行多个地物样本采集。。 5、从ENVI主菜单中,选 Classification > Supervised > Maximum Likelihood;或在端元 像元采集对话框 Endmember Collection中选择 Algorithm >MaximumLikelihood 进行最大似然法分类。

6、在出现Classification Input File 对话框中,选择输入影像文件,出现 Maximum Likelihood Parameters 对话框。 7、输入常规的分类参数。 设定一个基于似然度的阈值(Set Prpbability Threshold):如不使用阈值,点击“None” 按钮。要对所有的类别使用同一个阈值,点击“Single Value”按钮,在“Probability Threshold”文本框中,输入一个0 到1 之间的值。似然度小于该值的像元不被分入该类。 要为每一类别设置不同的阈值: ●在类别列表中,点击想要设置不同阈值的类别。 ●点击“Multiple Values”来选择它。 ●点击“Assign Multiple Values”按钮。 ●在出现的对话框中,点击一个类别选中它,然后在对话框底部的文本框中输入阈值。为每 个类别重复该步骤。 最后给定输出结果的保存方式:文件或内存,当影像较大时建设保存到文件中,以免因内存不够而出错运算错误。 点击“OK”计算机开始自动分类运算。 8、在可用波段列表中显示分类图像。 ?实验总结

遥感影像变化检测

遥感影像变化检测报告 学院: 专业: 指导老师: 小组成员: 2013年5月

1、遥感影像变化检测的概念 遥感影像变化检测指利用多时相获取的覆盖同一地表区域的遥感影像及其它辅助数据 来确定和分析地表变化。它利用计算机图像处理系统,对不同时段目标或现象状态的变化进行识别、分析;它能确定一定时间间隔内地物或现象的变化,并提供地物的空间分布及其变化的定性与定量信息。 由此可知,遥感影像变化检测是从不同时期的遥感图像中,定量地分析和确定地物变化的特征和过程。它涉及到变化的类型、分布状况及变化信息的描述,即需要确定变化前后的地物类型、界限和分析变化的属性。变化检测的研究对象为地物,包括自然地物和人造地物,其中人造地物在军事上常被称为目标。描述地物的特性包括:空间分布特性、波谱反射与辐射特性、时相变化特性。遥感影像的变化检测在土地覆盖变化监测、环境变迁动态监测、自然灾害监测、违章建筑物查处、军事目标打击效果分析以及国土资源调查等方面拥有广泛的应用价值和商业价值。 变化检测通常包括以下4个方面的内容: (1)判断是否发生了变化,即确定研究区域内地物是否发生了变化; (2)标定变化发生的区域,即确定在何处发生了变化,将变化像元与未变化像元区分开来; (3)鉴别变化的性质,给出在每个变化像元上所发生变化的类型,即确定变化前后该像元处的地物类型; (4)评估变化的时间和空间分布模式。 其中,前两个方面是变化检测所要解决的基本问题,而后两个方面则根据应用要求决定是否需要做。 2、遥感影像变化检测的三个层次 遥感图像分析过程中通常包括数据层处理、特征层处理和目标层处理三个过程。依据这三个层次划分,可将变化检测分为:像元级变化检测、特征级变化检测和目标级变化检测。 (1)像元级变化检测是指直接在采集的原始图像上进行变化检测。尽管基于像元的变化检测有它一定的局限性,但由于它是基于最原始的图像数据,能更多地保留图像原有的真实感,提供其它变化检测层次所不能提供的细微信息,因而目前绝大多数的变化检测方法都是像元级变化检测。 (2)特征级变化检测是采用一定的算法先从原始图像中提取特征信息,如边缘、形状、轮廓、纹理等,然后对这些特征信息进行综合分析与变化检测。由于特征级的变化检测对特征进行关联处理,把特征分类成有意义的组合,因而它对特征属性的判断具有更高的可信度和准确性。但它不是基于原始数据而是特征,所以在特征提取过程中不可避免地会出现信息的部分丢失,难以提供细微信息。 (3)目标级变化检测主要检测某些特定对象(比如道路、房屋等具有明确含义的目标),是在图像理解和图像识别的基础上进行的变化检测,它是一种基于目标模型的高层分析方法。 变化检测的三个层次在实现上各有优缺点,在具体的变化检测中究竟检测到哪个层次是根据任务的需要确定的。像元级的变化检测保持了尽可能多的原始信息,具有特征级和目标级层次上所不具备的细节信息,但像元级变化检测仅考虑像素属性的变化,而未考虑其空间等特征属性的变化;特征级变化检测不仅考虑到空间形状的变化,而且还要考虑特征属性的变化,但特征级的变化检测依赖于特征提取的结果,但特征提取本身比较困难;目标级的变化检测最大的优点是它接近用户的需求,检测的结果可直接应用,但它的不足之处在于目标提取的困难性。

ENVI实验报告

实验报告 课程名称:系部名称:测绘工程学院专业班级:遥感科学与技术11-1班学生姓名:学号:指导教师:田静 实验报告1 实验报告2 篇二:envi上机报告 《遥感软件应用与开发》 实验指导书、作业 系部名称:测绘工程学院 专业班级:遥感科学与技术11-1班 学生姓名: 学号: 指导教师:田静 测绘工程学院 目录 《遥感软件应用与开发》课程实验指导书错误!未定义书签。 实验一:envi软件安装与基本功能操作3 实验二:影像的地理坐标定位和校正19 实验三:图像融合、图像镶嵌、图像裁剪 25 实验四:图像分类 31 实验报告: 37 实验报告1: 38 实验报告2: 41 实验报告3: 44 实验报告4: 47 实验一:envi软件安装与基本功能操作 一、实验目的 熟悉遥感数据图像处理软件envi的安装过程,了解envi基本信息、基本概念及其主要特性。对envi操作界面有一个基本的熟悉,对各菜单功能有一个初步了解,为后面的实验作好准备。 二、实验学时 2学时 三、实验类型 实践 四、实验原理及内容 (1)遥感图像处理软件envi界面总体介绍 (2)envi软件能识别的图像类型介绍 (3)各种图像文件的打开 重点: envi能识别的文件类型 学生可自行阅读帮助文件学习。 五、实验步骤 1.envi的安装 2.遥感图像处理软件envi界面介绍 启动envi后,出现主菜单条,一共12项 file:文件操作。支持众多的卫星和航空传感器。支持80多种图像以及矢 量数据格式的输入,支持多种格式图像文件的直接输入。可输 出的格式包括:栅格格式和矢量格式。 basic tools:基本图像工具。提供了多种envi功能的入口。这些功能对于

利用ENVI软件进行遥感图像的融合和增强实习报告

遥感图像处理实习报告实验内容:影像融合与增强 班级:测绘1102班 学号: 1110020213 姓名: 指导老师:陈晓宁、黄远程、竞霞、史晓亮 西安科技大学 测绘科学与技术学院 二零一三年一月 实习三影像融合与增强

一、实习内容: 1.掌握ENVI中各种影像融合方法,并比较各方法的优缺点; 2.熟悉ENVI图像增强操作; 3.本实习的数据源为上节已经过校正的资源三号多光谱和全色影像。 二、实习目的: 1.了解和认识各种图像融合方法的原理、内容及要点; 2.熟悉、熟练操作ENVI软件中各种图像融合的方法、步骤并学会加以比较; 3.学习利用ENVI软件进行各种图像增强处理操作; 4.学会定性、定量分析比较图像融合的差异。 三、实习步骤: 1.图像融合: 三波段融合: HSV和Color Normalized (Brovey)变换: 1)从ENVI主菜单中,选择File → Open Image File,分别加载校正后的资源三号多光谱与全色影像到可用波段列表Available Bands List中; 2)选择多光谱3,2,1波段(可以根据需要选择)对应R,G,B,点击Load RGB将多光谱影像加载到显示窗口display#1; 3)在ENVI的主菜单选择Transform → Image Sharpening → HSV; 4)在Select Input RGB Input Bands对话框中,选择Display #1,然后点击OK。 5)从High Resolution Input File对话框中选择全色影像,点击OK。 6)从HSV Sharpening Parameters对话框中,选择重采样方法,并输入输出路径和文件名,点击OK。即可完成HSV变换融合; 与上述方法类似,选择Transform → Image Sharpening → Color Normalized (Brovey),使用Brovey进行融合变换。 多光谱融合: Gram-Schmidt、主成分(PC)和color normalized (CN)变换

遥感航片地质构造与产状解译

遥感地质学实习报告 ——航片Hgx-185构造与产状解译 指导老师: 班级: 姓名: 学号: 中国地质大学(武汉)信息工程学院 2014年5月

一、解译目的 遥感解译的过程就是从遥感图像中获得最基本的信息(获取各种地学遥感信息),根据地质工作的要求,学会运用解译标志和实践经验,应用各种解译技术和方法,识别出典型的地质现象和地质体,掌握地质像的物性特点以及从色调、波谱特征、影纹等方面,并从这些方面测算出关于地质体的相关数量指标。而我们通过此次的遥感解译作业,可以帮助我们进一步巩固课堂的理论知识,并用以实践,为将来自己从事这方面的工作打下坚实的基础。 二、解译原则 (1)由已知到未知、先易后难; (2)从区域到局部、由宏观到微观; (3)从定性到定量,循序渐进; (4)联系实际,边解译边勾绘 三、解译方法及步骤 1.解译方法 为了准确进行遥感地质解译,解译者首先应具备一定的地质、遥感知识;其次应对解译区的地质基础、构造格架、灾害地质、地形地貌和水文情况等要有粗略的了解。常用的解译分析方法有: (1)直判法 根据不同性质地质体在遥感图像上显示出的影像特征、规律所建立的遥感地质解译标志或影像单元,并在遥感图像上直接解译提取出构造、岩石等地质现象信息,实现地质体解译圈定与属性划分。

(2)对比法 对未知区遥感图像上反映的地质现象,通过已知区图像特征与解译标志的对比进行解译。如图像上解译的遥感矿化蚀变异常,往往是通过已知含矿区矿化蚀变异常标志来进行对比圈定。 (3)邻比法 当图像解译标志不明显,地质细节模糊,解译困难时,可与相邻图像进行比较,将邻区的解译标志或地质细节延伸、引入,从而对困难区作出解译。如多组断裂交汇区或断裂带交切关系的解译时,采用邻比法一般可取得好的效果。 (4)综合判断法 当目标在图像上难以直接显现时,可采取对控制地区目标物有因果关系的生成条件、控制条件的解译分析,预测目标物存在的可能性。综合判断法除对图像上目标物的环境作综合分析判断外,也可收集地质、物探、化探等方面的资料进行综合判断与印证。这种方法常用在遥感矿产解译之上。由于受图像分辨率限制,一般图像上难以直接判读出矿体(层)的存在,因此常采用对区域成矿、控矿条件的综合判断解译,来实现找矿、控矿、容矿和矿化信息的提取。 2.解译步骤 (1)由易到难 这里的“难、易”主要指遥感影像的可解译程度和地质的复杂程度。解译时先从地质构造简单、地层出露齐全,遥感影像上地质信息丰富、清晰的地区开始;然后再推进到解译难度较大的地区。推进时,可采

ENVI实验报告

一、实验目的 ENVI是一套功能齐全的遥感图像处理系统,是处理、分析并显示多光谱数据、高光谱数据 和雷达数据的高级工具。此次实习主要是学习一些关于ENVI的基本操作,如:图像预处理,影像分析,图像增强,几何校正,监督分类以及专题制图等步骤。 二、实验数据 LE268SGS00.tar.gz ELEVATION_SOURCE = "GLS2000" PROCESSING_SOFTWARE = "LPGS_9.1" EPHEMERIS_TYPE = "DEFINITIVE" SPACECRAFT_ID = "Landsat7" SENSOR_ID = "ETM+" SENSOR_MODE = "SAM" ACQUISITION_DATE = 2000-09-24 WRS_PATH = 144 BAND_COMBINATION = "123456678" PRODUCT_UL_CORNER_LAT = 45.5786828 PRODUCT_UL_CORNER_LON = 84.0750064 PRODUCT_UR_CORNER_LAT = 45.6157964 PRODUCT_UR_CORNER_LON = 87.2821725 PRODUCT_LL_CORNER_LAT = 43.5718357 PRODUCT_LL_CORNER_LON = 84.1739972 PRODUCT_LR_CORNER_LAT = 43.6064525 PRODUCT_LR_CORNER_LON = 87.2726073 PRODUCT_UL_CORNER_MAPX = 271800.000 PRODUCT_UL_CORNER_MAPY = 5051400.000 PRODUCT_UR_CORNER_MAPX = 522000.000 PRODUCT_UR_CORNER_MAPY = 5051400.000 PRODUCT_LL_CORNER_MAPX = 271800.000 PRODUCT_LL_CORNER_MAPY = 4828200.000 PRODUCT_LR_CORNER_MAPX = 522000.000 PRODUCT_LR_CORNER_MAPY = 4828200.000

遥感解译方法及应用

遥感解译方法及应用 一、遥感的概念 近年来,一方面,由于空间科学、信息科学、计算机科学、物理学等科学技术的进步与发展,为遥感技术奠定了必要的技术基础,另一方面,由于人类生产活动不断地向深度和广度进军,遥感技术得到较为广泛的应用,因而使得遥感技术获得了飞跃的发展,已经成为发达国家和一些发展中国家十分重视的一项科学技术. 随着我国工农业生产的高速发展,人类对自然资源,特别是对矿产资源的需求量与日俱增. 因而,调查与管理资源则成为迫切需要解决的问题.其次,人类的生活环境正在不断地遭受到人为和自然的污染.例如:工业排污对水体和大气的污染造成人为的环境污染.而诸如洪水、泥石流、滑坡、森林火灾、火山爆发等自然灾害,则形成灾害性环境,它们都对生命财产造成极大的威胁. 在这种情况下,只有实时监测人为环境污染和自然灾害环境的发生,才能更有效地采取防护和治理措施,以减少对人类的危害程度.欲解决上述问题,完全依赖现场观察已感不足, 于是,由于航空遥感和航天遥感的相继问世便能获得大范围的地面遥感图像和实时动态信息,所以,这两种遥感方式则成为自然资源的调查与管理,环境的监测与灾害预报的一种新的探测手段. (一)遥感的概念 遥感顾名思义就是遥远的感知.即借助于专门的探测仪器,把遥远的物

体所辐射(或反射)的电磁波信号接收纪录下来,再经过加工处理,变成人眼可以直接识别的图像,从而揭示出所探测物体的性质及其变化规律.属于空间科学的范畴.是物理、计算数学、电子、光学、航空(天)、地学等密切结合的新兴学科,对工农业、国防、自然科学研究具有重大的意义. 1各类地质体的电磁辐射(反射、吸收、发射等)特性及其测试、分析与应用; 2、遥感数据资料的地学信息提取原理与方法; 3、遥感图像的地质解译与编图; 4、遥感技术在地质各个领域的具体应用和实效评估. (二)遥感平台(分类) 指放置遥感器的运载工具.按高度可分为航空和航天平台.在不同高度进行多平台遥感,可获得不同比例尺、分辨率和地面覆盖面积的遥感图像. 1、航空平台:是指在大气层内飞行的飞行器,高度为100m—30km,主要有飞机、直升机、飞艇、气球等. 2、航天平台:是指在大气层之外飞行的飞行器,高度为几百—几万公里;如人造地球卫星、探控火箭、宇宙飞船、航天飞机、太空站等. (三)遥感的发展简况 1839年第一张黑白航片问世到20世纪30年代,主要应用于军事侦察,1941年出版了《航空照片应用与判读》为各方面应用提供了理论基础进入20世纪50年代,苏美广泛应用,黑白、彩色航片进行军事、

遥感实习报告(报告)

重庆交通大学测绘工程《遥感原理及应用》实验报告 班级: 学号: 姓名: 指导老师: 实验室:地理信息中心实验室

实验一ENVI 视窗的基本操作 一、实验的目的 初步了解目前主流的遥感图象处理软件 ENVI 的主要功能模块,在此基础上,掌握视窗操作模块的功能和操作技能,为遥感图像的几何校正等后续实习奠定基础。 二、实验软件与数据 软件:Envi遥感图像处理软件。 数据:重庆地区UTM第八波段数据。 三、实验方法与步骤 Envi软件的主菜单: 这个是ENVI软件的主菜单,其中包括了文件的载入,基本工具栏,以及图像处理的一些必要的功能。 四、实验体会与建议 本次实验主要是熟悉Envi软件的菜单,以及一些常用的方法。还有就是将Envi软件菜单的界面转换成中文菜单。 1、在ENVI安装目录..\RSI\IDL60\products\envi40\menu下建立新文件夹,命名为orgmenu 2、拷贝..\RSI\IDL60\products\envi40\menu下原有的英文菜单文件display.men、display_shortcut.men和envi.men到新建的orgmenu目录中进行备份 3、拷贝下载的display.men、display_shortcut.men和envi.men文件到..\RSI\IDL60\products\envi40\menu中,覆盖原文件。 4、启动ENVI4.0。

实验二遥感图像的几何校正 一、实验的目的 通过实习操作,掌握遥感图像几何校正的基本方法和步骤,深刻理解遥感图像几何校正的意义。 二、实验软件与数据 软件:Envi遥感图像处理软件。 数据:重庆地区UTM第八波段数据以及未经校核的重庆地区jpg图片。 三、实验方法与步骤 1、打开ENVI软件将UTM图像和jpg格式的图片载入, 上述图像中我们可以看出,12840-8图像下面有图像的地理信息,而重庆城区图片是没有信息说明的。 2、选择校正与镶嵌菜单下的校正图像选取控制点(图像到图像),

利用ENVI软件进行遥感图像的融合和增强实习报告

遥感图像处理实习报告 实验内容:影像融合与增强 班级:测绘1102班 学号:13 姓名: 指导老师:陈晓宁、黄远程、竞霞、史晓亮 西安科技大学 测绘科学与技术学院 二零一三年一月 实习三影像融合与增强

一、实习内容: 1.掌握ENVI中各种影像融合方法,并比较各方法的优缺点; 2.熟悉ENVI图像增强操作; 3.本实习的数据源为上节已经过校正的资源三号多光谱和全色影像。 二、实习目的: 1.了解和认识各种图像融合方法的原理、内容及要点; 2.熟悉、熟练操作ENVI软件中各种图像融合的方法、步骤并学会加以比较; 3.学习利用ENVI软件进行各种图像增强处理操作; 4.学会定性、定量分析比较图像融合的差异。 三、实习步骤: 1.图像融合: 三波段融合: HSV和Color Normalized (Brovey)变换: 1)从ENVI主菜单中,选择File → Open Image File,分别加载校正后的资源三号多光谱与全色影像到可用波段列表Available Bands List中; 2)选择多光谱3,2,1波段(可以根据需要选择)对应R,G,B,点击Load RGB将多光谱影像加载到显示窗口display#1; 3)在ENVI的主菜单选择Transform → Image Sharpening → HSV; 4)在Select Input RGB Input Bands对话框中,选择Display #1,然后点击OK。 5)从High Resolution Input File对话框中选择全色影像,点击OK。 6)从HSV Sharpening Parameters对话框中,选择重采样方法,并输入输出路径和文件名,点击OK。即可完成HSV变换融合;

遥感综合解译实习报告

遥感综合解译实习报告 一.实习目的及任务本次实习主要任务是对云南省个旧地区TM5-3-2波段合成的伪彩色遥感图像的地质综合解译。目的是通过本次综合实习达到训练遥感地质解译思维和技巧、培养实际动手能力、并检验大家对课程内容的理解和掌握情况等。课程为同学们提供了云南省个旧地区TM5-3-2波段合成的伪彩色图像,图像清晰、色彩饱和、地貌地物标志明显、地质内容丰富。二.实习方法与步骤遥感影象目视解译方法常用方法有直接判读法、对比分析法、信息综合法综合推理法和地理相关分析法。本人在对云南省个旧地区TM5-3-2波段合成的伪彩色遥感图像的地质综合解译过程中主要应用了直接判读法,即根据遥感影象目视判读直接标志(色调、色彩、大小、形状、阴影、纹理、图案等),直接确定目标地物属性和范围的一种方法。实习整个过程的方法步骤如下1.明确解译任务与要求,收集与分析有关材料;2.遥感影像整体判读;3.地貌特征分析,提取水系(河流、湖泊)等地物标志;4.识别不同种类岩石的影像(色调、色斑、纹理等)特征,建立判别标志,区分主要岩石类型;5.识别并建立各类地质构造的地貌、影像特征及解译标志,进行线环构造初步解译。6.应用Coreldraw9软件绘制目视解译成果,并对解译图进行整饰加工7.编写简明扼要的实习报告。三.解译标志1.水系(河流、湖泊)地物识别标志水系主要分布于负地形即沟谷和地势低洼地区,根据水系遥感影像的色彩和形状来识别,水系遥感影象色彩为蓝色,线状分布的为河流,影象上为面状分布(椭圆、不规则多边形等)为湖泊。2.岩石类型的识别标志(1)沉积岩的识别在遥感影象西北和东部区域,色彩呈条带状展布(沉积岩最大的特点是具成层性),色调居中,为黄褐色,根据资料知个旧地区发育有个旧组灰岩,故可将黄褐色区域解译为个旧组灰岩。遥感影象图的北东角为负地形,色彩斑杂,色调低,据此可知岩石类型反射率较低,岩石疏松所以判别为第四纪的松散沉积物。(2)岩浆岩的识别标志色调最深,为红褐色,与周围岩石的色调截然不同,近圆形分布,为环形构造,中部地区解译为岩浆岩。(3)哀牢山变质岩的识别标志在影象图的西南角,色调深与岩浆岩的色调相似,但是该区的岩块被分割成棱角明显的块状,地面比较破碎。沿着这些区域的裂隙发育的水系,交汇、弯处不太自然,成之字形。3、断裂构造的解译标志断层在遥感影象上表现为线性影象。两种表现形式一是线性的色调异常,即线性的色调与两侧的岩层色调明显的不同;二是两种不同色调的分界面呈线状延伸。地貌标志一连串负地形呈线状排列;水系标志河谷异常平直。据上述标志可解译断层构造如图1分布。四.解译结果说明该地区综合解译结果见图1,解译内容主要有①自然地理要素(如水系、山峰等);②岩石大类(沉积岩包括碳酸盐岩、碎屑岩和第四纪松散堆积物,岩浆岩如花岗岩,变质岩如哀牢山群);③线性构造和环形构造。自然地理河流主要发育于本区的东北部,湖泊分布于东南地区。岩石大类在本区的西南角分布有哀牢山群变质岩,北部和东南部为中三叠统个旧组灰岩,它们的分布如图所示。在本区的北东和北西分布有第四纪松

相关文档