Control System for Electromagnetic Environmental Testing of Electronics with Reverberation Chamber Erik Olofsson, Jonny Jakobsson February 13, 2010 Master’s Thesis in Physics, 30 credits Supervisor at Combitech AB: Tony Nilsson, Mats Bäckström Examiner: Bertil Sundqvist Umeå University Department of Physics SE-901 87 UMEÅ SWEDEN Abstract A reverberation chamber is a highly conductive cavity in which it is possible to generate high electromagnetic fields that can be considered statistically homogeneous. Reverberation chambers have existed as a resource for electromagnetic compatibility (EMC) testing for more than 30 years. Working to promote international co-operation on standardization, several organizations have published various EMC standards. At Combitech AB in Linköping have a chamber that is commercially used for different types of measurements. To make the chamber more attractive and versatile it is within their interest to get a system which is compatible with the latest standards. The project aimed to develop a control system for the reverberation chamber at Combitech and to equip it with functionality enabling it to make measurements according to current EMC standards. Using the programming software Agilent VEE a program was developed to communicate with the supporting equipment and manage test routines. Within the program software lies functionality directly associate with mode stirring and mode tuning procedures for standards DO-160F and MIL-STD. During measurements the program has abilities for skipping frequencies, pause/continue the current sweep, executing preset events and adding commented markers to the plot window. Some other usable functionality implemented is project save/load, help section, directory selection and data export abilities. The system holds functionality enabling measurements according to the standards in question, though future work will be needed to be able to carry through a proper and correct measurement routine. ii Acknowledgements The thesis project is a mandatory and graduating part of the 4,5 year master programme in Engineering Physics programme at Umeå University. The project extent is 20 weeks and was carried out at Combiteh AB in Tannefors, Linköping, Sweden. We would like to thank Combitech for giving us the opportunity to carry out this project. Many thanks to everyone working at Combitech, for helping us and making the time there very enjoyable. We would especially like to direct a warm thank you to the following people: our supervisors Tony Nilsson and Mats Bäckström for supporting the work during the project, Tomas Nilzon for helping us in the laboratory and our examiner Bertil Sundqvist at Umeå University. i ii Contents 1 Introduction 2 Problem Description 2.1 Problem Statement 2.2 Goals . . . . . . . 2.3 Purposes . . . . . . 2.4 Methods . . . . . . 2.5 Related Work . . . 2.6 Limitations . . . . 2.7 Restriction . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Theory 3.1 Electromagnetic compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Equipment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Spectrum analyzer (spectral analyzer) . . . . . . . . . . . . . . . . . 3.2.2 Signal Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Electronic Amplifier . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Receiving/Transmitting antennas . . . . . . . . . . . . . . . . . . . . 3.2.5 Field probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 Stirrer System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Reverberation chamber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Field Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Antenna factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Losses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 E-Field in the Chamber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8 Requirements and test procedures . . . . . . . . . . . . . . . . . . . . . . . 3.8.1 RTCA/DO-160F Standard . . . . . . . . . . . . . . . . . . . . . . . 3.8.1.1 Radiated Susceptibility (RS) Test; Alternative Procedure Reverberation Chamber . . . . . . . . . . . . . . . . . . . . 3.8.1.1.1 Calibration (Mode Tuning) . . . . . . . . . . . . . 3.8.1.1.1.1 Procedure . . . . . . . . . . . . . . . . . . . 3.8.1.1.2 Chamber loading . . . . . . . . . . . . . . . . . . . 3.8.1.1.3 Test Procedure (Mode Tuning) . . . . . . . . . . . 3.8.1.2 Radiated Emissions (RE) Test; Alternative Procedure - Reverberation Chamber - mode stirring . . . . . . . . . . . . 3.8.1.2.1 General requirements . . . . . . . . . . . . . . . . 3.8.1.2.2 Insertion Loss . . . . . . . . . . . . . . . . . . . . 3.8.1.2.3 Radiated RF Emission test . . . . . . . . . . . . . iii . . . . . . . 3 3 3 3 4 4 4 5 . . . . . . . . . . . . . . . 7 7 8 8 8 8 9 9 9 9 12 14 15 15 16 16 . . . . . 16 16 16 19 20 . . . . 21 21 22 22 iv CONTENTS 3.8.1.2.4 Equipment categories for RF emission . . . . . MIL-STD-461F Standard . . . . . . . . . . . . . . . . . . . . . . 3.8.2.1 Test Procedure - Reverberation chamber (mode-tuned) 3.8.2.2 Calibration . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2.3 EUT testing . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2.4 Thresholds of susceptibility . . . . . . . . . . . . . . . . 3.8.2.5 Chamber time constant . . . . . . . . . . . . . . . . . . Agilent VEE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.1 Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9.2 Visual programming language (VPL) . . . . . . . . . . . . . . . . 3.9.3 Dataflow programming . . . . . . . . . . . . . . . . . . . . . . . . 3.9.4 Dataflow functionality in VEE . . . . . . . . . . . . . . . . . . . 3.9.5 Integrated Matlab Engine . . . . . . . . . . . . . . . . . . . . . . 3.9.6 .NET Framework Integration . . . . . . . . . . . . . . . . . . . . 3.9.6.1 Common language runtime (CLR) . . . . . . . . . . . . 3.9.6.2 .NET Framework class library . . . . . . . . . . . . . . 3.9.7 Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.8.2 3.9 4 Results 4.1 Drivers . . . . . . . . . . . . . . . . . . . . . . 4.2 RC software . . . . . . . . . . . . . . . . . . . 4.2.1 Welcome screen . . . . . . . . . . . . . 4.2.2 Main window . . . . . . . . . . . . . . 4.2.3 File . . . . . . . . . . . . . . . . . . . 4.2.3.1 New project . . . . . . . . . 4.2.3.2 Open . . . . . . . . . . . . . 4.2.3.3 Save . . . . . . . . . . . . . . 4.2.3.4 Devices . . . . . . . . . . . . 4.2.3.4.1 RF Generator . . . 4.2.3.4.2 Spectrum Analyzer 4.2.3.4.3 Pre Selector . . . . 4.2.3.5 Sweep events . . . . . . . . . 4.2.3.6 Center marker . . . . . . . . 4.2.3.7 Sweep . . . . . . . . . . . . . 4.2.3.8 New Sweep . . . . . . . . . . 4.2.3.9 Power On/off . . . . . . . . . 4.2.3.10 Sweep Frequency list . . . . 4.2.3.11 Exit . . . . . . . . . . . . . . 4.2.4 Stirrer . . . . . . . . . . . . . . . . . . 4.2.4.1 Options . . . . . . . . . . . . 4.2.4.2 Reset Controller . . . . . . . 4.2.4.3 Run Setting . . . . . . . . . 4.2.4.4 Connect . . . . . . . . . . . . 4.2.4.5 Disconnect . . . . . . . . . . 4.2.4.6 Run Setting . . . . . . . . . 4.2.5 Frequency . . . . . . . . . . . . . . . . 4.2.5.1 Options . . . . . . . . . . . . 4.2.5.2 Frequency List . . . . . . . . 4.2.5.3 Skip Frequencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 24 24 24 25 26 26 27 27 27 27 28 28 28 29 30 31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 36 37 37 39 40 40 40 40 40 41 42 43 44 44 49 49 49 50 50 50 52 52 52 53 54 54 54 55 56 CONTENTS 4.2.5.4 Go to Value . . . . . . . . . Strength . . . . . . . . . . . . . . . . . 4.2.6.1 Options . . . . . . . . . . . . 4.2.6.2 Target . . . . . . . . . . . . . 4.2.6.3 Adjust strength . . . . . . . 4.2.6.4 Go to value . . . . . . . . . . 4.2.6.5 Step up . . . . . . . . . . . . 4.2.6.6 Step down . . . . . . . . . . 4.2.7 Calibration . . . . . . . . . . . . . . . 4.2.7.1 DO160-F/MIL/IEC . . . . . 4.2.8 Plot . . . . . . . . . . . . . . . . . . . 4.2.8.1 Export data . . . . . . . . . 4.2.8.2 Settings . . . . . . . . . . . . 4.2.8.3 Close All . . . . . . . . . . . 4.2.9 View . . . . . . . . . . . . . . . . . . . 4.2.9.1 Toolbar . . . . . . . . . . . . 4.2.9.2 Status Bar . . . . . . . . . . 4.2.10 Help . . . . . . . . . . . . . . . . . . . 4.2.10.1 Program content . . . . . . . 4.2.11 Equipment . . . . . . . . . . . . . . . 4.2.11.1 Instrument communication . 4.2.11.2 Stirrers communication . . . 4.2.12 Software to Controller communication 4.2.6 v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 58 58 60 61 63 63 63 64 64 64 64 64 65 65 65 65 65 65 66 66 67 68 5 Conclusions 71 5.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 References 75 A Tables 77 B Figures 81 C Work Distribution 85 C.1 Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 C.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Chapter 1 Introduction Combitech AB is one of Sweden’s largest consultancies and is an independent company within the Saab group. Combitech is combining technology with environment and security awareness. The company has approximately 800 employees which operate in twenty cities in Sweden, but also in Norway and Germany. Areas of work for Combitech are: Information security, System integration, Mechanics, Systems security, Systems development and Logistics. The part of Combitech where we have done our project is located in Tannefors, Linköping. This group is mainly targeted against electromagnetic compatibility (EMC). The company says: ”Today is EMC a part of our everyday work”. This means that they are working as a support to all parts in the chain that compound today’s project development: from specification of requirements to verification and validation. Combitech aims to have competence and facilities to meet today’s and future challenges on the EMC-area. They offer services within counseling, analysis, testing, design support, education and simulations. One of the resources at Combitech is a reverberation chamber. The chamber is a large metal cavity which works almost as a microwave oven. It is used for testing different types of electromagnetic compatibility. The main advantage with the cavity is that from a low input power is it possible to get high field strength due to resonance of the electromagnetic waves. Combitech is in need of a new control system for the chamber that fulfills both civil and military standards. The aim of the project is to create a program software that controls the stirrers in the chamber, the field generator and the measuring devices. The program should be able to run a test sweep, collect information and present it, all with a user friendly interface. Flexibility is important when instrument setup often changes. The first part of the report is the problem description which states the problems that the project will solve. It also covers goals, purpose and methods for the project. In the theory chapter is an explanation of the concepts and theory behind a reverberation chamber and how to perform a test. This chapter also covers the theory behind basic equipment when conducting EMC tests. The result chapter explains how the developed program software works, what it can do and how it communicates with stirrers and instruments. The last part is the conclusion where the result is discussed and future work is suggested. 1 2 Chapter 1. Introduction Chapter 2 Problem Description 2.1 Problem Statement Reverberation chamber techniques came primarily as a result of poor repeatability and measurement accuracy in shielded-room EMC testing. With enhanced theoretical models the reverberation chamber has, during the latest decade, become a useful tool supported by several EMC standards. The current system for conducting tests with the reverberation chamber at Combitech does not hold the possibility to make tests according to the newer civil and military requirements. There are limitations within the current program software and no newer commercial software options are available. There are also equipment compatibility limitations and the knowledge around the software structure is not entirely within the company. 2.2 Goals The project goal is to develop a new control system for the reverberation chamber at Combitech, with the intention to increase the number of different types of measurement procedures available for the chamber and thereby make it more attractive to customers. The main goals of the project can further be listed as follows: • Program software should be flexible and have a user-friendly and logical user interface. • Working communication between program software and equipment/instruments. • Working communication between program software and stirrer controller. • Integrate two out of three standards into the program software. 2.3 Purposes Procedures and theory regarding reverberation chambers are under constant discussion. The content and procedures in the standards can therefore be expected to be updated in the near future. If a total reformation of the system with external competence would be expensive then the project is a good compromise to following the development of the standards but minimizing the risk of ending up with an expensive system that could soon be out of date. 3 4 Chapter 2. Problem Description The main purpose of the project is to update the old system and to create a new system base consisting of solutions and procedures required by newer standard requirements for EMC testing. The knowledge around the system is also intended to be integrated within the department rendering the possibility of adding routines and updates to the system to follow the future development of standards. 2.4 Methods Within the project access is given to the entire test facility together with documentation of standards. The main tool during the project is the new programming software Agilent VEE used to set up overall control and link together communication of the system. The old system used an ISA interface connection between the personal computer and the stirrer controller. The new system should use a newer interface (LAN) and so the connection and communication is to be rebuilt. Another communication interface introduced is GPIB (general purpose interface bus), where connection should be established between the software and supporting equipment and instrumentation. In Agilent VEE we will have to build a whole new program with a user friendly GUI (Graphical user interface) and to equip it with suitable procedures and logical functions. Influences to program layout, routines and procedures are mainly found in older program software’s and documents describing standards. 2.5 Related Work As the reverberation chamber has been used with EMC applications for more than 30 years, extensive theoretical research has been done on the subject during the years and you can today find various reverberation chambers with different shapes for different applications. The first standardized methodology using reverberation chamber was the MIL-STD (Military standard) 1377, which came in 1971 [1] and handled shielding effectiveness of cables and enclosures. Up until today standards have arisen and been revised to follow the theoretical progress. When it comes to reverberation chamber measurement systems, they can vary a lot in chamber form, equipment and program software. Influences for this project will mainly be previous measurement systems and softwares for the reverberation chamber at Combitech. 2.6 Limitations An issue is the ability to maintain the chamber as a commercial resource while rebuilding the system. During the development it should be easy to switch back and run tests according to the old setup. The reverberation chamber and equipment will also be inaccessible for us during time used by customers. Delivery time for the new controller will result in partial code generation without being able to test its compatibility with the controller system. The system is required to be flexible in the ability to change supporting equipment, which restricted parts of the program software. 2.7. Restriction 2.7 5 Restriction As the chamber at test generates dangerously high field strengths there are restrictions and precautions needed when running tests and handling certain equipment. 6 Chapter 2. Problem Description Chapter 3 Theory This chapter covers the theory needed to understand electromagnetic compatibility (EMC) testing. The basic concept of EMC is first presented. Then follows a description of the equipment needed, theory on how the electric field is created, statistical properties in the chamber and factors needed to adjust the measured field. The last part of the theory is a summary of how to perform a test according to MIL and DO-160F standards. 3.1 Electromagnetic compatibility The phenomenon that spark gaps generate electromagnetic waves rich in spectral content which can cause interference or noise in various electric devices is commonly known. Electronic devices functioning with other electronic equipment in the surroundings without generating or being vulnerable to interference is considered to be electrically compatible with the environment. The conditions for a system to be electromagnetically compatible are [2]: 1. It does not cause interference with other systems. 2. It is not susceptible to emissions from other systems. 3. It does not cause interference with itself. Electromagnetic energy transfer can be further divided into several subgroups: radiated emission, radiated susceptibility, conducted emission and conducted susceptibility. The importance of meeting the EMC requirements is not just satisfactory performance, but there are also legal requirements to be able to distribute equipment commercially. To limit the electromagnetic emission of electric systems there are standards published in document form. The performance specifications in a standard are generally the minimum requirements for an adequate function within the permitted design tolerances when working in their proposed environment. In most countries there are national agencies suppressing standards or regulations concerning electromagnetic emission, with the military being more detailed and strict. In a growing fraction of European countries standards concerning electromagnetic emission and immunity to electromagnetic emission are compulsory even for non-military applications for commercial use. 7 8 Chapter 3. Theory 3.2 Equipment The equipment involved in basic EMC testing and calibration with a specified reverberation chamber is: 1. Spectrum analyzer (spectral analyzer) 2. Field probe 3. Transmitting/Receiving antennas 4. Electronic amplifier 5. Stirrers Here follows a short description of the individual equipment: 3.2.1 Spectrum analyzer (spectral analyzer) A spectrum analyzer is mainly used to reproduce spectral composition or power spectrum of some connected signal [3]. The analog spectrum analyzer can either use a variable band-pass filter which is automatically tuned over a range of frequencies that corresponds to the measurement spectrum. A superheterodyne receiver can also be used. A local oscillator signal tuned over a range of frequencies is then mixed with the input signal, to convert the processed signals to more convenient frequencies. A digital spectrum analyzer (FFT Analyzer) mathematically processes a sampled waveform into its frequency spectrum with a Discrete Fourier Transform (DFT). Some can even mix the above described techniques; one example is the real-time spectrum analyzer. The processed signal is first down-converted in frequency using heterodyning and then analyzed with Fast Fourier Transformation (FFT) techniques. 3.2.2 Signal Generator Signal generators produce repeating or non-repeating electronic waveform signals in either digital or analog form [4]. Newer generators produce waveforms with digital signal processors and use a digital to analog converter (DAC) to create an analog output. Signal generators have the ability to produce sine wave signals in the range from low frequency up to many GHz. Typical features of a signal generator are attenuation, modulation and sweeping. 3.2.3 Electronic Amplifier The electric amplifier takes a signal from a power supply and generates a new high powered signal together with waste heat by matching the output signal with the input signal [5]. Amplifier manufacturers always strive to reduce the resistance of the amplifying circuit element. This increases efficiency and minimizes power waste, which allows transistors, tubes or other amplifying parts to run cooler and hence be more reliable. 3.3. Reverberation chamber 3.2.4 9 Receiving/Transmitting antennas Antennas are used for transmitting or receiving electromagnetic waves in the chamber. The most important property for the receiving and transmitting antenna in a reverberation chamber is the bandwidth. The bandwidth is the range of frequencies where the antenna can radiate or receive energy properly. Other properties like directivity, gain and polarization are lost in the chamber due to the resonance phenomena. 3.2.5 Field probe A field probe consists of three independent broadband antennas oriented orthogonally which each measures one component of the electric field. The signal from the probe is transmitted digitally through a fiber optical link to a read out unit or computer. The RMS (root mean square, effective value) value for the three components of the field represents the summed total field [6]. Compared to antennas connected to a spectrum analyzer where the analyzer differentiates between frequencies, the field probe responds to all active frequency components. Consequently a clean signal in an immunity testing setup is vital, particularly the harmonic field generated by a power amplifier. 3.2.6 Stirrer System The stirrers are large metallic reflectors whose main purpose is to change the boundary condition inside the reverberation chamber. The design of the tuners can also alter the lowest usable frequency for the chamber. During the rotation of the stirrers the standing wave pattern in the chamber will be altered and every point in the working volume will be subjected to the same maximum, minimum and average electromagnetic field. The chamber fulfilling this condition is called well-stirred hence granting a statistically isotropic field for EMC/EMI testing. 3.3 Reverberation chamber A reverberations chamber (Figure 3.1) is a highly conductive cage, which is electrically shielded from the outside. Highly conductive implies that the material of the chamber has a low absorption of the field. Because of the shielded environment it is possible to get high field strengths from a relative low input power. The electric field in the chamber is mixed by stirrers to get a uniform field. A uniform field is reached when almost every point in the chamber, over a complete rotation of the stirrer, is exposed to the highest field strength. An isotropic field has the drawback that the information about polarizations and directional properties is lost. Reverberation chambers are useful in electromagnetic compatibility tests for several reasons. Some of the advantages are: it is easy to get strong fields from low input power, good repeatability for several tests, cost effective test procedure and well known statistics, which means that errors can be calculated. There are also drawbacks with a reverberation chamber. One is that it is sometimes hard to relate the environment in the chamber to the real world. Another one is that the lowest usable frequency (LUF) is relative high, which can be a problem when the lower frequencies are important. 10 Chapter 3. Theory Figure 3.1: A computer model of the reverberation chamber at Combitech AB Reverberation chambers can differ in size. Smaller chambers have the advantage of higher field strengths than the larger chambers, but the disadvantage of higher LUF. Larger chambers have lower LUF but also lower field strength compared to a small one. The LUF depends on the chamber dimensions and its quality factor. To derive this relation it is necessary to understand how the field is created in the chamber. Constructive interference will occur for frequencies that match with chamber dimensions. Resonance frequencies for a rectangular chamber can be derived by using solutions for the corresponding waveguides given by Maxwell’s equations. The equation for the propagation constant for TE (transverse electric) and TM (transverse magnetic) modes is β 2nm = k 20 − nπ 2 a − mπ 2 b , (3.1) where n, m are constants and a and b are two dimensions of the chamber [7]. k 0 is the angular wave number k0 = 2πf 2π = , λ c (3.2) where λ is the wave length, c is the speed of light and f is frequency [8]. A resonance wave arises when the wavelength matches the length of the chamber. This is when the length of the chamber is a multiple of half of the wavelength. From this comes a requirement that the propagations constant has to be the ratio between a multiple of the half wavelength and the length of the chamber in the propagation direction d as β nm = lπ , l = 1, 2, 3... d (3.3) 3.3. Reverberation chamber 11 [7]. Solving for k 0 in equation 3.1 together with equation 3.3 to get the angular wave numbers corresponding to the resonance frequencies gives kmnl = mπ 2 b + nπ 2 a + lπ d 2 . (3.4) The resonance frequencies(fr ) are derived by using equation 3.2 together with 3.4 as s 2 l c m 2 n 2 + + (3.5) fr = fmnl = 2 b a d where m, n, l are constants, and at least two have to differ from zero. a, b, d are the chamber dimensions. The electromagnetic signal that is transmitted into the chamber can create a standing wave pattern (a mode) if it is a resonance frequency or close to one. One mode can be considered excited if the transmitted frequency is inside a 3 dB bandwidth from a resonance frequency. This frequency area is given by the frequency band (∆f ) and depends on the quality factor (Q) for the chamber as fr ∆f = (3.6) Q [9]. The quality factor Q is a measure of how well the walls reflect the signal power transmitted into the chamber. A large Q value gives a small band of frequencies that will be excited but on the other hand a good reflection of the strength. A small Q value gives a wide band of excited frequencies but less reflected field strength. The Q-value for a reverberation chamber can be calculated as 16π 2 V Pr Q= (3.7) λ3 Pt .[9] The function of a reverberation chamber is dependent on the number of possible modes that can be excited around the transmitted signal. The neighboring resonance frequencies have to be close enough to each other for the modes to overlap (overmoded). When this happens it is likely to get high and constant field strength inside the chamber. In the case of low or no overlap (usually for lower frequencies and high Q value) there is a high probability to get large differences in field strength between different points in the chamber. Frequencies close to a resonance frequency will cause large field strength while other frequencies will produce an almost zero field strength. The criterium for a sufficient amount of modes (N) is usually satisfied by saying that there should be at least a certain number of modes up to the lowest usable frequency, 8πV N= 3 3 f f 1 − (a + b + d) + c c 2 (3.8) where V is the volume.[9] The density of modes that is excited for a given frequency are obtained by taking the derivative of equation 3.8 as dN 8πV 1 8πV = 3 f 2 − (a + b + d) ≈ 3 f 2 . df c c c (3.9) 12 Chapter 3. Theory Using df = ∆f from equation 3.6 gives the number of modes that are simultaneously excited as Ns = 3.4 8πV f 3 . c3 Q (3.10) Field Statistics When NS is considered large (overmoded) the chamber is very large compared to the wavelength and the number of modes is sufficient. When deriving statistical distributions for the chamber NS → ∞ is assumed. As stirrers are introduced in the reverberation chamber their movement alters the boundary conditions. The result is an electric field where the amplitude in every given position is a sum of multipath plane waves with random phases. A three dimensional electric field vector E = Ex + Ey + Ez (3.11) consists of a real as well as an imaginary part according to Ex,y,z = Re(Ex,y,z ) + iIm(Ex,y,z ). (3.12) Stirrer movements generate a large collection of waves in different directions. The real and imaginary components of the wave can, according to the central limit theorem, be considered normally distributed. Considering the chamber to be ideal and taking into account that the real and imaginary parts of the rectangular components are non-correlated, the mean and mean square fields has relations hRe(Ex,y,z )i = hIm(Ex,y,z )i = 0 (3.13) hRe(Ex,y,z )2 i = hIm(Ex,y,z )2 i ≡ σ 2 . (3.14) and From statistical theory the variance of a random variable can be derived as σ2 = N 1 X (xi − hxi)2 N i=1 (3.15) [10]. Taking into consideration the relations in equations 3.13 and 3.14, the variance according to equation 3.15 becomes σ2 = N 1 X E2 (Ei − 0)2 = 0 . N i=1 6 (3.16) E02 is the mean square of the electric field magnitude E. All six parameters are normally distributed around a zero mean with a variance σ 2 , which consequently makes the square of the magnitude of the field chi-square (χ2 ) distributed and the magnitude of the resultant field chi (χ) distributed. Six random parameters lead to both distributions having six degrees of freedom. 3.4. Field Statistics 13 From statistical theory a χ2 distribution with n degrees of freedom can be derived as fY (y; n) = 1 σ n 2n/2 Γ 1 2n y (n/2)−1 e−y/2σ 2 (3.17) [11], for y ≥ 0. Y have the relation Y = X 2 where X is a Gaussian random variable. Γ is the Gamma f unction defined as Γ(n) = (n − 1)! if n is a positive integer. Hence with six degrees of freedom the respective probability density function become |E|2 |E|4 2 exp − 2 (3.18) fY |E| = 16σ 6 2σ and |E|5 |E|2 fY (|E|) = exp − 2 8σ 6 2σ (3.19) [12]. Measurements are commonly taken with a linearly polarized antenna which results in one rectangular component and two parameters of the electric field. The χ distribution will in this case hold two degrees of freedom and the probability density functions have the characteristics of a Rayleigh distribution. The Rayleigh probability density function is defined as 2 −x x (3.20) f (x; σ) = 2 exp σ 2σ 2 [13] for x ∈ [0, ∞), with cumulative distribution function x2 F (x; σ) = 1 − exp − 2 . 2σ (3.21) Hence the density functions become |Ex,y,z |2 |Ex,y,z | exp − f (|Ex,y,z |; σ) = σ2 2σ 2 (3.22) |Ex,y,z |2 F (|Ex,y,z |; σ) = 1 − exp − 2σ 2 (3.23) and respectively [12]. The chamber electric field uniformity is related to the discrete number of stirrer positions as it generates new uncorrelated fields. An E-field measurement at a given position can ideally be considered distributed according to statistical distributions either by stirrer movement or by placing the measurement point at a new position. In a correctly working chamber environment where this condition is fulfilled the electric field is considered statistically isotropic. A χ2 -hypothesis test is a relatively easy procedure that can be used to test probability models. This is often used to verify the chambers’ ability of demonstrating isotropic behavior with a series of uncorrelated E-field measurements at a given position. 14 3.5 Chapter 3. Theory Antenna factor The Field strength inside a chamber is measured by an antenna and transmitted to a measuring device. The value measured is the voltage over the antenna, but the value of interest is the magnitude of the field per meter. Conversion between the measured field strength and the field strength per meter can be done by using the antenna factor(AF ), E , UA AF = (3.24) where E is the total electric field in the chamber and UA is the average voltage over the antenna.(Equations used to derive the antenna factor are only valid for the average electric field in a reverberation chamber.) The total electric field in the chamber is derived by using the receiving cross section for an antenna as λ2 Gr pq, (3.25) 4π where λ is the wavelength, Gr is the gain of the receiving antenna, p is the polarization factor and q is the impedance mismatch factor [9]. σr = The average power received (Pr ) by the antenna is given by multiplying the receiving cross section(σr ) by the power density S of the chamber. Pr = σ r S = λ2 Gr pqS 4π (3.26) The power density is calculated by dividing the electric field with the impedance (Zc ) of the chamber [14]. S= E2 , Zc (3.27) The average power received by the antenna is calculated by taking the average measured voltage (U ) from the antenna and dividing that by the system impedance (Zs ) as Pr = U2 . Zs (3.28) Equations 3.27 and 3.28 are substituted into equation 3.26 as U2 λ2 E2 = Gr pq . Zs 4π Zc Equation 3.29 may now be solved for for the antenna factor as E U (3.29) and substituted into 3.24 to get a new expression s AF = Zc 4π . Zs λ2 Gr pq (3.30) 3.6. Losses 15 The wavelength can be rewritten as λ = fc .The impedance of the chamber Zf reespace can be assumed to be the impedance for free space which is approximated by 120π. The polarization is assumed to be p = 21 for a reverberation chamber because it is either zero or one with an average of 21 . There is no gain in an isotropic environment, so Gr is equal to one. q is assumed to be one. The final expression for the antenna factor in a reverberation chamber is an approximation for the maximum total field instead of the average total field and is s AFtotal = 960π 2 c . Zsystem f (3.31) It should be noted that this is not a good approximation, which is showed in [15]. The rectangular component of the maximum total field is given by taking AFrectangular = √1 AFtotal (the square root is because it is an squared relationship between power and 3 electric field, P = E 2 ) as AFrectangular 1 =√ 3 s 960π 2 c = Zsystem f s 320π 2 c . Zsystem f (3.32) It has been shown that the equation 3.32 is a good approximation for the rectangular component of the antenna factor for the maximum electric field [15]. The electric field in the chamber can now be calculated by taking the measured voltage multiplied by the antenna factor as Echamber = UA · AF. 3.6 (3.33) Losses The signal in the chamber is received by an antenna which has internal losses. The signal is then transmitted from the chamber to a measuring device. This is done through cables where the signal also loses strength. These losses have to be corrected for by multiplying the E-field equation 3.33 by a loss term L as Echamber = UA · AF · L. 3.7 (3.34) E-Field in the Chamber The E-field in the chamber is often presented in decibel instead of in voltage per meter. The conversion of equation 3.34 is done as Echamber,dB = 20 log (UA ) + 20 log (AF ) + 20 log (L) . (3.35) 16 Chapter 3. Theory 3.8 Requirements and test procedures This section covers an interpretation of the two standards RTCA/DO-160F and MIL-STD461F. It should be read as an overview of the standards where the focus has been on procedure and instrument setup. 3.8.1 RTCA/DO-160F Standard This standard is an updated version of the EMC requirements for commercial avionics that are intended to reflect the “state of the art in aviation technology and EMC testing methodology” and could be related to every type of aircraft in use today. The update was made by RTCA (Radio Technical Commission for Aeronautics) Special Committee 135 in an attempt to meet FAA (Federal Aviation Administration) or other international regulations regarding equipment that is installed on commercial aircraft. During creation and modification there was collaboration with the European Union version of RTCA, EUROCAE which has released the standard under the name EUROCAE/ED-14F [16]. 3.8.1.1 Radiated Susceptibility (RS) Test; Alternative Procedure - Reverberation Chamber The test is intended for susceptibility measurements between 100 MHz to 18 GHz and aims to simulate and qualify equipment for natural occurring RF-levels. In certain cases more tests can still be appropriate. The theory of chapter 3.8.1.1 is derived in more detail in the document by RTCA [17]. 3.8.1.1.1 Calibration (Mode Tuning) For the field to be considered uniform requirements for the number of discrete stirrer steps has to be fulfilled. Verification must be done with an empty chamber after construction or major modifications. The Lowest test frequency (fs ) is 100 MHz and field uniformity should be verified over one operational decade from any chosen start frequency above fs . It will be usable from the frequency where uniformity is first shown (LUF = Lowest usable frequency). The test should be carried out at 9 test locations for all spatial axes (x, y and z), so in total 27 measurements points are to be considered. Operation with continuous tuning rotation (mode stirring) is not allowed. 3.8.1.1.1.1 Procedure 1. The working volume must first be cleared. (i.e. conductive test bench should be removed) 2. The receiving antenna can be mounted at any location within the working volume, see Figure B.1. 3. The amplitude measurement instrument is then to be set on monitoring the frequency for the receiving antenna. 4. The optimum direction of the transmitting antenna is against one of the corners, as it shall not directly illuminate the working volume. It should be fixed at the same position during calibration and tests. 3.8. Requirements and test procedures 17 5. The E-field probe should be mounted on the border edge of the working volume according to Figure B.1 Note: Surfaces of the working volume should not be distanced below 0.75 meter (λ/4 of the lowest test frequency) from chamber surfaces, stirrer assembly or field generating antenna. This distance is also the lower limit for distance between probe and receiving antenna, i.e. every new measurement location should at least have this distance to any previous location. It may be reduced provided that the separation distance is larger than λ/4 for the lowest frequency, though below 1/4 meter is not recommended. 6. Starting at fs appropriate power (Pt ) from the RF-source should be passed to the transmitting antenna. The RF-source must be in frequency band of transmitting- and receiving antennas. The antennas should both be linearly polarized. 7. Stepping stirrer(s) 360◦ in discrete steps is recommended as the field uniformity can hence be determined for fewer tuner steps. This enables altering the number of steps for tests depending on if possible high field or fast test time is of importance. The steps should still be sufficiently large to generate a new uncorrelated field at each step and the number of positions should always secure the field uniformity requirements. Sufficiently long dwell time is important so that measurement instruments and E-field probe can respond correctly. Quantities measured over one stirrer rotation is: 7.1 Maximum magnitude of received power Pr,M ax 7.2 Average magnitude of received power Pr,Rec (Watt) 7.3 Maximum field strength EM axx,y,z for every axis of the E-field probe (27 measurements below 10fs and 9 above 10fs ). 7.4 Total maximum field strength ET otal (root sum squared of the rectangular components). 7.5 Average transmitted power Pt,Ave (at least equal amount of samples as steps). Note: Calibrations are antenna specific and antenna efficiency (ratio of power accepted to the total power at the measurement location) is required. 8. Measurement procedures in step 7 should be done in log spaced frequency steps according to Table A.1. The steps can in ascending order be calculated as fn+1 = fn ∗ 10(1/t) , (3.36) where n is the current frequency, (n + 1) the next and t the number of frequency steps per decade. The number of steps m required between the start frequency f1 and end frequency fm can hence be calculated as m = 1 + t ∗ log(fm /f1 ). (3.37) 18 Chapter 3. Theory 9. The procedure should be repeated for nine probe- and antenna positions until 10fs . Measurement positions should be spaced as in Figure B.1. Only three locations are needed above 10fs , though one measurement position should always be in the center of the working volume. 10. Measurement procedures in step 7 should then be carried out for the rest of the calibration frequencies according to Table A.1. Note: Receiving antenna must be moved to a new location every time the probe is moved. The antenna need also be rotated at least 20◦ around every chamber axis (x, y, z) for each location. 11. With data from step 7 every maximal E-field measurement from the probe should be normalized by taking the square root of the average transmitting power according to M axx,y,z bx,y,z = Ep E Pt,Ave (3.38) M axT otal bT otal = Ep E . Pt,Ave (3.39) and EM axT otal is the total maximum of the total E-field from each probe measurement location. (9 measurements under 10fs and 3 above). Receiving antenna calibration factor ACF should also be calculated for all frequencies as it is later used for comparison with a loaded chamber. It is calculated as the ratio of average received power to input power as * + Pt,Ave ACF = , (3.40) Pt,Ave n where n represents the number of measurement positions used at the current frequency (9 under 10fs and 3 above). Note: Pt,Ave for equations 3.38 and 3.39 is calculated as the average transmitting power during the stirrer lap when respective maximum (EM axx,y,z and EM axT otal ) was measured. 12. For every calibrated frequency under 10fs the average normalized maximum is calculated for every axis of the E-field as bx i9 = hE X bx /9 E (3.41) by i9 and hE bz i9 . and in the same way for hE The average of the normalized maximum of all 27 E-field probe measurements is calculated as b 27 = hEi X bx,y,z /27. E (3.42) 3.8. Requirements and test procedures 19 13. Step 12 should be repeated for every frequency over 10fs . Because of the three measurement positions 9 should be replaced with 3 and 27 with 9 in equations 3.41 and 3.42 respectively. 14. Confirming field uniformity is made by calculating the standard deviation from the average value of the maximum values gathered at each measurement position during one stirrer rotation. Only frequencies below 10fs are to be considered. 14.1 Standard deviation is calculated as v 2 uP u bi − hEi b E t , σ =α∗ n−1 (3.43) bi is a specific measurement of the where n is the number of measurements, E E-field and α is 1.06 for n ≤ 1 and 1 for n ≥ 20. Expressed in dB the standard deviation corresponds to # b σ + hEi . σ(dB) = 20 ∗ log b hEi " (3.44) 14.2 To establish field uniformity the standard deviation of the field components (σx,y,z ) must not exceed the standard deviation specified in figure B.2 for more than two frequencies per octave (within 3dB over 400 MHz and fall linearly from 6 to 3 dB from 100 MHz to 400 MHz). The standard deviation for all vector components (σ27 ) must also not exceed specified standard deviation. If the chamber doesn’t fulfill the terms it can’t be used at lower frequencies, though with a low margin it may be possible to get uniformity by • Increasing the number of stirrer steps by 10 - 50 % • Normalizing data against the chamber net input power (Pnet = Pt,Ave − Pref lected ) • Reducing the size of the working volume. With a confirmed uniformity condition the number of stirrer steps can be reduced, but not below 12 steps. Note: After modifications of the chamber setup (for instance added absorbent) or calibration, it is important that configuration/procedure stays the same during following tests for the calibration to be considered valid. 3.8.1.1.2 Chamber loading This procedure should be run prior to test to check if the EUT has loaded the chamber. The EUT should not occupy more than 8 % of the chamber volume. The number of stirrer steps should be equal to the number chosen for the later equipment test procedure but the frequency range with logarithmic steps should be the same as for the calibration. The chamber calibration factor CCF is the normalized average received power over one stirrer 20 Chapter 3. Theory rotation and with EUT and other equipment present. It should be calculated at every frequency as + * Pr,Ave , (3.45) CCF = Pt,Ave n,f where n is the number of antenna locations (only one is needed) and f the number of frequencies the value is averaged over. The chamber loading CLF factor is then calculated as CCF CLF = , (3.46) ACF and when calculated for a given frequency the ACF and CLF data sets can be averaged over up to 4 of the closest frequency values on both sides. If the magnitude of the chamber loading factor becomes too large the uniformity check has to be done again with an object loading the chamber equally as the current EUT. 3.8.1.1.3 Test Procedure (Mode Tuning) 1. The transmitted power for every test frequency should be decided from the electric field intensity category level in Table A.1 and equations #2 " ET est (3.47) Pt = √ bT otal i ∗ CLF hE n and Pt = ET2 est . |ET |2max ∗ CLF (3.48) The categories determine the radio frequency test levels and may be prescribed by the equipment performance standard. The choice of equation to be used depends on whether a measurement probe or a receiving antenna is used as calibration data bT otal in receiver. In equation 3.47 ET est is the demanded field strength (V/m) and hE the average of the normalized maximal E-field. Interpolation between the calibration b for the frequency points will be needed to get the normalized E-field calibration (E) test frequencies. In equation 3.48 |ET |2max is the squared maximum magnitude of the E-field defined as * + PAveRec 8πη 2 |ET |max = ∗ 2 ∗ R, (3.49) Pt ∗ ηrx λ where R is the maximum to average ratio of the square magnitude of the E-field tabulated in table A.2. ηrx is the antenna efficiency factor which can be presumed to be 0.75 for a log periodic antenna and 0.9 for a horn antenna. η is the wave impedance of free space (120π) and λ the wave length (m). 2. The number of stirrer steps used for the test has to be considered, the minimum number of steps, still with a uniform field, will result in the highest input power but shortest test time. 3. Field strength is derived from Pt in step 3.47 and verification is made by noting the value from the receiving antenna. 3.8. Requirements and test procedures 21 4. The Frequency interval should be stepped through until the upper limit with appropriate modulation, the carrier modulated according to field level categories as: • Category R→From 100-400 MHz: 20 V/m CW and 20 V/m with 1 kHz square wave modulation (at least 90 % depth). From 400 to 8 GHz: 150 V/m pulse modulated (4% duty cycle) and 1 kHz pulse repetition frequency. At 1Hz rate and 50% duty cycle switch off and on signal to simulate the effect of rotational radars. • Category S, T, W and Y→ CW from 100 MHz to the upper frequency (S = 2 GHz, T = 8 GHz, W and Y = 18 GHz) and 1kHz square modulation (at least 90 % depth). Additional modulations associated with the EUT can be considered. • Category B, D, F, G and L→ From 100 MHz to 18 GHz when testing suiting SW/CW with accordance to table A.1: CW and 1 kHz square modulation (at least 90 % depth). Additional modulations associated with the EUT can be considered. From 400 MHz - 4 GHz: Pulse modulated (PM) test level with at least 4 µs pulse width and 1 kHz pulse repetition frequency. From 4 GHz - 18 GHz: Pulse modulated (PM) test level with at least 1 µs pulse width and 1 kHz pulse repetition frequency. For EUT with low frequency response consider switching the signal off and on at a 1 Hz rate and 50 % duty cycle • All categories → Above 1 GHz: Allowed to use SW modulation at 1.42*CW field strength requirement to meet CW and SW requirements at the same time. Dwell time has to be at least one second excluding equipment settling time. Additional dwell time may as well be needed for ”off time” at low frequency modulation and for the EUT to do internal operations. 5. While dwelling apply necessary measurements and evaluate functionality for EUT under applicable performance standards. 3.8.1.2 Radiated Emissions (RE) Test; Alternative Procedure - Reverberation Chamber - mode stirring Radiated emission tests are done to ensure that the EUT doesn´t emit undesired RF noise to the surrounding. Different equipment categories (see 3.8.1.2.4) have different limits (see appendix B) for RF noise. The chamber must meet the field uniformity requirements of section 3.8.1.1.1 at or above 100MHz. The theory of chapter 3.8.1.2 is derived in more detail in the document by RTCA [18]. 3.8.1.2.1 General requirements Important parts of the general requirements: 1. The peak detector time constant must be lower than or equal to 1/bandwidth. Video bandwidths should be equal to or greater than the resolution bandwidths. 2. For detecting time-varying emissions the dwell, sweep and measurement times may be chosen to a longer time than specified in Table A.4. 22 Chapter 3. Theory 3. Recorded data should provide a minimum frequency resolution of 1% or twice the measurement receiver bandwidth and minimum amplitude resolution of 1 dB. 3.8.1.2.2 Insertion Loss It is necessary to make a measurement of the insertion loss before a radiated emission test. This measures how much of the input power that is lost from the transmit antenna to the receiving antenna due to chamber properties and loading of the chamber. This measurement is done with the EUT in the chamber together with all support equipment. The EUT and other equipment should be turned off. The measurement of the insertions loss follows the procedure below. 1. The spectrum analyzer should be in peak detector mode and the display set for peak hold 2. The RF generator should be set to sweep a range of frequencies given in Table A.4. The chosen minimum time for sweeping the frequency band should be divided by 100 to get the spectrum analyzer sweep time. The Spectrum analyzer should use a 1 MHz IF BW. Time for one tuner rotation is calculated by multiplying the signal generator sweep speed by 100. Signal generator sweep speed is calculated by dividing minimum sweep time for the frequency band by the frequency range. 3. The RF source should transmit a known input power (Pt ) into the transmit antenna and record it in dBm. 4. The tuner should be rotated one revolution so that the measurement receiver captures the maximum power for every frequency. 5. The measurement receiver should save the maximum power measured (Pr ) for every frequency. 6. Insertion loss (IL) for the reverberation chamber is calculated by IL = (Pt − Lloss + (10log(η)) − Pr ) (3.50) where Lloss =Transmit antenna line loss in dB, η=Transmit antenna efficiency. The antenna efficiency can be assumed to be 0.75 for a log periodic antenna and 0.9 for a horn antenna. 3.8.1.2.3 Radiated RF Emission test Total RF emission is calculated by adding insertion loss from calibration to the measured RF emission power. During the test the EUT and support equipment shall be powered and had time to stabilize. Before starting, the EUT should be tested for normal operation. 1. Operating mode of the EUT should be chosen to be the one that produce maximum emission. 2. The transmitting antenna should be terminated outside the chamber with a 50 ohm load. 3. The measurement receiver should monitor the receiving antenna at the bandwidth specified in Table A.4. 3.8. Requirements and test procedures 23 4. The measurement receiver should be in peak detection mode and the display on peak hold. 5. The sweep time for the measurement receiver should be set to the value specified in Table A.3 for the minimum sweep time of the frequency band. Sweep time of the measurement receiver should be multiplied by 200 to obtain the time for one tuner rotation. 6. The stirrer should be rotated one full rotation so that the measurement receiver captures the peak power from the receiving antenna across the chosen range of frequencies. 7. EUT RF emission power should be calculated by using Pt = 10(Pr +IL)/10 , 1000 (3.51) where Pr =max power in dBm from the receiving antenna, IL=insertion loss in dB. 8. Electric field strength E should be calculated by using r DPt 377 , E= 4π (3.52) where E is the field strength in volts per meter, D=1.64, which is the directivity of the EUT and is assumed to be equivalent to that of a half wave dipole antenna. 9. Electric field emissions (dbuV/m) should be calculated as dBuV /m = (20log(E)) + 120 (3.53) where E=field strength in volts per meter. 10. The emission measured should then be checked by applying the appropriate limit from figures: B.3, B.4,B.5 and B.6 for the different categories 3.8.1.2.4. 11. the ambient radiated RF (EUT ”off”’ and test support equipment ”on”) should then be measured to check if emissions are higher than the selected category 3.8.1.2.4 limit minus 3 dB. It is desirable that the ambient emissions should be at least 6 dB below the selected category limit. 3.8.1.2.4 Equipment categories for RF emission 1. Category B: For equipment where interference should be controlled to tolerable levels. 2. Category L: For equipments that is located far from apertures and a radio receiver´s antenna. Suitable for equipment and associated interconnecting wiring located in the electronic bay of an aircraft. 3. Category M: For equipments and interconnected wiring located in any areas where apertures are electro-magnetically significant and not directly in view of radio receiver´s antenna. Suitable for equipment and associated interconnecting wiring located in the passenger cabin or in the cockpit of a transport aircraft. 24 Chapter 3. Theory 4. Category H: For equipment that is located in areas which are in direct view of a radio receiver´s antenna. Applicable for equipments outside the aircraft. 5. Category P: For equipments and associated wiring located in areas close to high frequency, VHF, or GPS radio receiver antennas, or where the aircraft structure provides little shielding. 3.8.2 MIL-STD-461F Standard Military standards MIL-STD-461 and MIL-STD-462 make a multifaceted collection of standards in electromagnetic compatibility which was first introduced in 1967-68. MIL-STD-461 refers to EMI/EMC stipulations for electrical, electronic, and electromechanical equipment and subsystems [19]. MIL-STD-462 handles test process and detailed events to meet the terms for MIL-STD-461. Both documents have during the years been revised from D up till today’s F version. The standard is mainly used by the U.S. Department of Defense, but many other countries follow it closely or with slight variation. The EMI control levels within the standard should ensure electromagnetic compatibility for extensive hardware integration between subsystems. Within the standard, tolerable levels concerning conducted emission, susceptibility and immunity to conducted emissions, radiated emission, and susceptibility and immunity to radiated emission are presented. 3.8.2.1 Test Procedure - Reverberation chamber (mode-tuned) This procedure is suitable to use for the frequency range from around 200MHz to 40GHz. MIL-STD-461F has the recommendation that if number of possible modes is less than 100 for a given frequency, the chamber shouldn’t be used at or below that frequency. See equation 3.8 for how to calculate number of possible modes [20]. The MIL standard specifies the maximum scan rate and the maximum step size for different frequency ranges which are shown in Table A.4. Both scan rates and step sizes are defined from f0 which is the start frequency for a sweep. It also specifies the number of stirrer positions for different frequency ranges, as seen in Table A.5. A lower frequency gives a higher number of stirrer positions, and a higher frequency gives a lower number of positions. This is because there have to be enough modes in the chamber to ensure that every point in the chamber has the highest field value for some stirrer position. 3.8.2.2 Calibration Calibration of the chamber is done to determine how much RF power that is needed to create desired field strength inside the chamber. There is two types of calibration depending on whatever a receiving antenna or an electric field probe is used. • Receiving antenna procedure 1. An appropriate unmodulated input power (Pt ) should be transmitted into the chamber at the start frequency. 2. The stirrers should be rotated one revolution with a minimum number of steps given in Table A.5. The stirrer should dwell at each step longer than 1.5 times the response time for the measurement receiver. At each step should the field 3.8. Requirements and test procedures 25 strength be measured and the highest recorded field strength should be saved, Pr,max . 3. The calibration factor (V/m) is then calculated from the transmitted power and the recorded maximum field as r Pr,max Er,max 8π 5 Calibrationf actor = √ = . (3.54) λ Pt Pt 4. This should be repeated for frequency steps of maximum 2% of the preceding frequency until 1.1 times the start frequency is reached. After that, the steps should be a maximum of 10% of the preceding frequency. • Electric field probe procedure 1. An appropriate unmodulated input power (Pt ) should be transmitted into the chamber at the start frequency. 2. The stirrers should be rotated one revolution with a minimum number of steps given in Table A.5. The stirrer should dwell at each step longer than 1.5 times the response time for the measurement receiver. At each step should each element of the probe be measured and the highest recorded field strength should be saved Ex,y,z,max . 3. The calibration factor (V/m) is then calculated from the transmitted power and the recorded maximum field as v u u Ex,max +Ey,max +Ez,max 2 t 3 Calibrationf actor = . (3.55) Pt 4. This should be repeated for frequency steps of maximum 2% of the preceding frequency until 1.1 times the start frequency is reached. After that, the steps should be a maximum of 10% of the preceding frequency. 3.8.2.3 EUT testing The same antennas as used during the calibration should be used during EUT testing. 1. Measurement equipment should be turned on and allowed to stabilize. 2. The RF source should use a 1 kHz pulse modulation with a 50% duty cycle and be set to the start frequency. 3. Calculate the amount of RF power (Pt ) needed to create the desired field strength (Er ) by using the calibration factor from the calibration. Interpolation between calibration points is required. 2 Er Pt = (3.56) Calibrationf actor It should be verified that the desired field is present 4. The stirrers should be rotated one revolution with a minimum number of steps given in Table A.5. The stirrer should dwell at each step by the time specified in Table A.4. As the stirrers rotate, the transmitted power should be maintained to produce the desired field levels. 26 Chapter 3. Theory 5. The required frequency range should be swept as specified in 4 for each frequency. Monitor the EUT performance for susceptibility effects. 6. If susceptibility is noted, the threshold level should be determined by the procedure in section 3.8.2.4 to verify that it is above the limit. 3.8.2.4 Thresholds of susceptibility If susceptibility is noted, the threshold level should be determined. This level is when the susceptible condition is no longer present. The threshold is determined by the following procedure, 1. If a susceptibility condition is noted then the transmitted power should be reduced until the EUT recovers. 2. The transmitted power should then be reduced another 6 dB. 3. Increase the transmitted power until the susceptibility condition is noted again. That level is then the threshold of susceptibility. 4. Record threshold power level, frequency range swept, frequency and level of greatest susceptibility and other test parameters. 3.8.2.5 Chamber time constant The chamber time constant is a constant determining how long time it takes to build up a field in the chamber. This is important when using pulsed waveform testing. If the time constant is too large relative to the pulse, then it can be difficult to reach the desired field strength. In order to assure that the chamber is fast enough the following procedure could be used. 1. Calculate the chamber Q using Q= 16π 2 V ηT x ηRx λ3 Paverage Pinjected (3.57) where ηT x and ηRx are the antenna efficiency factors for the transmit and receive antennas, respectively, and can be assumed to be 0.75 for a log periodic antenna and 0.9 for a horn antenna, V is the chamber volume (m3 ), λ is the free space wavelength (m) at the specific frequency, Paverage is the average received power over one tuner rotation, and Pf orward is the forward power input to the chamber over the tuner rotation at which Paverage was measured. 2. By using the Q-factor in equation 3.57 is the time constant, τ is calculated as τ= Q . 2πf (3.58) 3. The chamber constant is not allowed to be greater than 0.4 of the pulse width. In case of greater value is it necessary to add absorber material into the chamber or increase the pulse width. 3.9. Agilent VEE 3.9 3.9.1 27 Agilent VEE Developer Agilent VEE is a development environment created by Agilent Technologies based on a visual and data flow programming language. VEE is the short form for what was originally called Visual Engineering Environment, but now days it is officially named just ”VEE”. 3.9.2 Visual programming language (VPL) The main feature of a visual programming language is that programs are created by manipulating program elements graphically rather than specifying them textually. A VPL utilizes programming with visual expressions and spatial arrangements of text-graphic symbols, representing elements of syntax or secondary notation. Within the frame of the visual programming environment the user is able to structure the iconic elements according to some specific structure for program construction. Interpretation of element structure then defines the data distribution of the program. Commonly boxes or other objects represent entities with the connecting relations represented by arrows, lines or arcs. Visual expressions for naturally visual languages are inherent with no textual equivalence, where as a non-visual language having a superimposed visual representation is called visually transformed. Classification of the programming language can be broken down further, according to the type and extent of visual expression used, into icon-based languages, form-based languages and diagram languages. The principles of visual programming under chapter 3.9.2 is more extensively explained at the internet reference [21]. 3.9.3 Dataflow programming The majority of programming languages are imperative, meaning that the program is executed as a sequence of instructions and the system is constantly in a certain ”state”. A state can be seen as the measure of various conditions in the system and execution of each instruction can modify it. The lack of visualization of the states in imperative programming is a problem as the information needs to be shared across multiple processors in parallel processing machines. Data flow programming implements data flow principles and architecture between operations and were introduced to simplify parallel programming and to structure languages better suitable for numeric processing. The logical execution flow of data is represented by nodes on a block diagram that are connected to one another. These nodes can be reconnected in any way to or from different applications without the need for internal change. The execution order of utilities on the block diagram depends on the movement of data through the nodes which changes emphasis from sequences of instructions to conversions performed on streams of data. 28 Chapter 3. Theory Operations run when all inputs are valid and will be ”ready” at the same time without tracking of hidden states, so the language is logically parallel. The asynchronous process makes the time for events hard to predict, but as it turns out this isn’t necessary. As data flow programming is highly visual and resembles more a real life processes, and it is often used in hard real time problems. It can be pictured as a factory, where items travel from station to station, undergoing various changes. Still it can be hard to work with flow based programming without having an instantaneous map of the project. The principles of dataflow programming under chapter 3.9.3 is more extensively explained in the document by Paul J. Morrison [22]. 3.9.4 Dataflow functionality in VEE Programs in Agilent VEE are built by connecting objects that represent different data sources. The data flows sequentially into an object from the left, gets treated and then the resulting data flows out of the right side terminal. The sequence of execution is of the form left to right, top to bottom and objects will execute when all input terminals have received new data. The ability to control the sequence of execution is possible because the objects have a sequence input terminal on the top and a sequence exit terminal at the bottom. By wiring the input sequence terminal on a specific object the user can “hold off” execution as it will not execute until the object with the corresponding wire connected to its sequence output terminal is executed. In this case despite having data on all data inputs the object will wait for the sequence input terminal to be pinged. When data leaves the data output terminals the object actively monitors the downstream objects, and not until they have all been executed it will execute its own sequence output (bottom) terminal. A typical object structure in VEE can be seen in Figure 3.2. 3.9.5 Integrated Matlab Engine R R VEE has an integrated MATLAB (MathWorks ) engine with built in functions including analysis and visualization functions from the MathWorks Signal Processing Toolbox [23]. With the object based MATLAB Script the user can reach roughly 1800 common MATLAB functions. 3.9.6 .NET Framework Integration VEE supports .NET automation and Windows Forms controls which can be run on any Microsoft Windows operating system. The framework is designed to fulfill the following objectives [24]: • To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. • To provide a code-execution environment that minimizes software deployment and versioning conflicts. 3.9. Agilent VEE 29 Figure 3.2: Typical sequential data flow between objects in VEE. • To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party. • To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. • To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. • To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code. The Common Language Infrastructure (CLI) is an open specification by Microsoft that describes the executable code and runtime environment that form the core of the Microsoft .NET Framework. A visual description of the CLI structure can be seen in Figure 3.3. Two foundations of the Framework are the common language runtime and the .NET Framework class library. 3.9.6.1 Common language runtime (CLR) The CLR generally works as an application virtual machine that manages code at execution providing services as remote-controlling, memory- and thread management, compilation and safety verification. Auto immunization of layout, reference handling and releasing objects solves frequent errors of memory leaks and invalid memory referencing. Enforcing strict code accuracy verification with a system called common type system (CTS) and exception handling contributes to security and forcefulness. Depending on the parts of 30 Chapter 3. Theory Figure 3.3: Visual description of the CLI structure [25]. a section it is given a degree of trust limiting the ability of operations. Code access security is also inflicted by the runtime. Users are able to take full advantage of the runtime, the class library and components from other languages, and still be programming in their own language. Any compiler vendor integrating the runtime offers all existing code access to the .NET Framework simplifying migration for applications. Including managed and unmanaged code gives a possibility to make use of COM elements and DLLs. An attribute called just-in-time enhances performance while executing by running managed code in the native machine language. During this process fragmented memory and memory locality-of-reference is also managed to enhance performance even further. Figure 3.4 illustrates how the common language runtime and the class library relates to an application and to the overall system. R Microsoft SQL ServerTM and Internet Information Services (IIS) can host the runtime. 3.9.6.2 .NET Framework class library The class library is an object oriented set of reusable types from which the user can manage code to develop functionality. Third party mechanisms can flawlessly be integrated with 3.9. Agilent VEE 31 Figure 3.4: Relationship of the common language runtime and the class library to an application and to the overall system. The illustration also shows how managed code operates within a larger architecture [24]. the .NET Framework with a possibility to develop collection classes with a set of interfaces. The class library is versatile with programming features such as string management, data collection, database connectivity and file access. Development of the subsequent applications and services are also possible: • Console applications. • Windows GUI applications (Windows Forms). • Windows Presentation Foundation (WPF) applications. • ASP.NET applications. • Web services. • Windows services. Programs based on the .NET Framework can be run in software environments that host the program’s runtime. 3.9.7 Capabilities The ability to control a large amount of instrumentation together with high level programming constructs in VEE is a strength. For example file I/O is managed with task oriented To/From objects and memory allocation is controlled by the program. Other capabilities are [26]: 32 Chapter 3. Theory • Instrument Connectivity via: ◦ VXI plug & play drivers ◦ IVI - COM drives ◦ NI - DAQMX ◦ SCPI via the DirectIO object • Built-in math and statistics including FFT and windowing functions • Visual displays such Strip chart, Waveform, Polar & Smith charts • Wide array of input controls for building operator user interfaces • ActiveX Automation • ActiveX Controls • Socket IO via the To/From Socket object Chapter 4 Results The result of the project is a new control system for the reverberation chamber at Combitech and is named RC. The program is designed to be able to fulfill the different requirements from both civil and military standards. The program uses driver files for all communication with the stirrers and instruments. This is done to fulfill the need of a program that operates in a changing environment where instruments often change. The system is created with Agilent VEE 9.0 as the platform, but interfaces are done with the help of .NET Framework and some calculations uses the Matlab engine. The basic flow of the program is divided into three blocks which are drivers, RC and equipments, as seen in Figure 4.1 Figure 4.1: Basic flow of the program divided into three blocks which is drivers, RC and equipments. 4.1 Drivers The driver files are written as regular text files which are read by the program. These files contain everything needed to use the program or to do a test. A driver file is used by the program to: save and load program parameters, set instruments, communicate with instruments and stirrers, read help files. There is a different formatting of the text files depending on what they are used for. • Drivers for menu options: Menu options are read into records when starting the program. This record collects the different parameters for a menu into one group, for example FrequencySaveOptions.MindB where FrequencySaveOptions is the record and MindB is the parameter. Every option uses two lines in the driver file, the first is the parameter and the second is the value for that parameter. 33 34 Chapter 4. Results • Drivers for instrument communication: The communication driver for the respective instrument contains all GPIB commands that the instrument can send. The file is divided into groups for different instrument actions. An action to pre-set the RF generator could look like this in the driver file: [P reSetRf Generator] ∗ RST DISPLAY:STATE ON :OUTput OFF :POWer ]StrengthO ptionsS trengthSaveOptions.M indB] [/P reSetRf Generator] [text] is the group name for the sequence of commands needed to pre-set the RF generator. This is the start line for the action when the program reads the driver file. If a text is surrounded by ]text] it is read by the program as a global variable. If the text between ]] contains a dot ”.” the variable is interpreted as a record. Every action needs to end with the line [/text]. • Drivers for instruments: Instrument drivers contain a list of instruments that the user can choose between in the program. • Drivers for strength adjustment: These files contain two columns, the first one contains x-values[Hz] and the second one is strength[dBm]. The two columns need to be separated by a tab. • Drivers for stirrers: Code representing controller routines and controller setup commands are loaded from text files on to the controller. Among them the setup files are static in the way that the code never changes between the times it is loaded to the controller. However, when the user changes stirrer parameters like acceleration and velocity in the program, the code for the stirrer movement must be changed. The solution was to use the .NET functionality ”Stream writer” in Agilent VEE to export text into text files. As the user saves settings the stirrer parameters are set by global variables representing the user specified value as the whole code is streamed out to the text file. An object in VEE that streams controller program code to a text file when being executed can be seen in Figure 4.2. 4.1. Drivers 35 Figure 4.2: Object in VEE that when being executed streams controller program code to a text file. The file is then instantly loaded to the controller memory replacing the old program. The files used are: ◦ OneMaster: This is one of the setup files that are loaded to set up the controller with one ”master” in control of both stirrers. This setup is used for all settings except when a time based move in mode tuning is considered. ◦ TwoMaster: This setup file is loaded to the controller to set the controller to have one ”master” controlling each stirrer. This is only necessary in mode tuning and using time based movement. ◦ Setup: Setup is the file loaded when resetting the controller and resets the basic setting for the controller. ◦ Prog0: This is the file holding the current program to run settings except when a time based move in mode tuning is considered. ◦ Prog1: This file is loaded to the controller when using time based move in mode tuning. We then need two programs using each to control one master and hence one stirrer. ◦ Defines: The file holds the controller internally defined variables. • Drivers for help files: Except for plain text the help files can have tab items, captions, and headings. For example, when writing the heading in a help file the user starts the line with the heading text with the command ”heading”. In the same way for a tab item or a caption the user writes ”tab” or ”caption” for the respective format on the following text. When the user presses a help button or enters the ”Program Content” menu in the program, help files will be presented to the user in a text box object with the correct formatting. Figure 4.3 shows the text of a driver help file. 36 Chapter 4. Results Figure 4.3: Text file with commands and the corresponding text which is loaded when displaying stirrer help text in the program. Other formats can easily be added to the program if desired by the user. 4.2 RC software RC is divided into several menu categories where the user has the ability to save data, load data, change parameters or interface appearance and perform tests. The structure of the program is complex and hard to show with a flow diagram. A simplified diagram of the program structure is shown in Figure 4.4 Figure 4.4: A simplified diagram of the program structure. 4.2. RC software 4.2.1 37 Welcome screen This menu works as the welcome screen (Figure 4.5). The user has here the possibility to type in the name, choose a standard to follow and a test to do. Choices made in this menu affect the options available in the program. Figure 4.5: Welcome screen in RC. • Standard: This is where the user can chose between the standards MIL and DO-160F. If none is selected, then all functionality in the program is available • Measurement: This is where the user can choose between the measurements radiated susceptibility and radiated emission. If none is selected, then all functionality in the program is available The user can use the ”Quit” button to exit the program. If there are any concerns about the parameters the ”Help” button is supposed to give information regarding this. The ”OK” button takes the user to the main page of the program. 4.2.2 Main window The architecture of the main window (Figure 4.6) is intended to have a commercial layout and a logical structure with easy overview of chamber outputs. 38 Chapter 4. Results Figure 4.6: Main window in RC. At the top are the different menus with submenus for configuration and communication with the program. Under the menu is a control bar with buttons giving easy access to important features. The different plot windows can be hidden and shown through the buttons on the control bar. The control bar at the bottom gives information about chamber outputs when performing a sweep. The ”Main” tab of the control bar is divided into the sections: Stirrers, Frequency, Markers and Actions. Within the ”Stirrers” section the user receives instantaneous data output regarding stirrer movement during a sweep. There are also three buttons for fast interactions. Within the frequency section the user receives instantaneous data output regarding frequency stepping and time consumption. Within the ”Markers” menu there is one button to generate a marker note within the strength plot window and one button to clear all marker notes generated during the current sweep. When running a sweep a constant marker can be scrolled along all strength measurements in the plot window. When pressing the ”Set Marker” button a dialog window pops up for the user to enter a message. When the message is entered data from that point will be saved together with the message. Visually an ”X” marks the point where the marker note was placed. Then there is an ”Action” section with buttons enabling the user to stop, break or continue a sweep. For example, the user can stop a sweep and save it as well as load a sweep and continue it. There is also an ”Additional” tab on the control bar that is indented to hold outputs and 4.2. RC software 39 interactive features of less importance. Right now buttons enable stepping with the marker in the strength plot window, but if expanding the program leaves possibilities to implement more options. In the bottom of the main window is status strip giving information about time and date, user, standard, type of measurement and data at the current marker position. Figure 4.7: Setting a marker and making comments regarding q specific measurement value. 4.2.3 File The file menu holds general functionality controls for the program. The user can start a new, or open and old project, and save projects. Other submenus like devices, sweep events and start sweeps are also found here. Figure 4.8: The file menu and its selectable submenues. 40 4.2.3.1 Chapter 4. Results New project The program basically restarts as settings are reset and the welcome menu is displayed. 4.2.3.2 Open The open function lets the user load projects through a file browser. The executable file is in the form of a text file. If the project was saved during a sweep the program will automatically set up equipment and take all necessary actions enabling a continuing sweep. If the load is aborted the user is alerted with a ”Nothing loaded” message. 4.2.3.3 Save The user can at any time decide to save the current project, even in the middle of a sweep. The user is asked where to save the project and the name of the project run file. If the folder doesn’t exist the program will also ask if that folder is to be created. In the designated folder together with the project file the program will make a folder containing text files holding all information about program setup and data at the time the project was saved. If the save is aborted the user is alerted with a ”Nothing saved” message. 4.2.3.4 Devices In the devices menu there are options for the different instruments shown. The user here has the ability to change parameters that specify how to communicate with the instrument. The menu is divided into three tabs which are the different types of instrument available to the user; these are a RF Generator, Spectrum analyzer and a Pre Selector. 4.2.3.4.1 RF Generator Figure 4.9 shows the RF Generator tab. This is where the user can change the name, GPIB address and file address from where the RF generator GPIB commands are read. 4.2. RC software 41 Figure 4.9: RF Generator tab in the device menu is where the RF Generator can be configured. • Instrument Name: This list specifies the different RF Generators that are available to the program. • GPIB Address: Sets the GPIB address which will be used by the program to communicate with the instrument. • Instrument driver: Specifies which driver file that will be used by the program. This file contains the GPIB commands for doing actions with the RF generator. • Text box: The contents of the chosen driver file will be presented in this text box. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any parameter is changed the ”Save and exit” button should be used when exiting the menu. 4.2.3.4.2 Spectrum Analyzer Figure 4.10 shows the spectrum analyzer tab, where the user can change the name, GPIB address and file address from where the Spectrum analyzer GPIB commands are read. 42 Chapter 4. Results Figure 4.10: The spectrum analyzer tab in the device menu is where the Spectrum analyzer can be configured. • Instrument Name: This list specifies the different Spectrum Analyzers that are available to the program. • GPIB Address: Sets the GPIB address which will be used by the program to communicate with the instrument. • Instrument driver: Specifies which driver file that will be used by the program. This file contains the GPIB commands for doing actions with the spectrum analyzer. • Text box: The contents of the chosen driver file will be presented in this text box. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any parameter is changed the ”Save and exit” button should be used when exiting the menu. 4.2.3.4.3 Pre Selector Figure 4.11 shows the pre selector tab, where the user can change the name, GPIB address and file address from where the Pre Selector GPIB commands are read. 4.2. RC software 43 Figure 4.11: The pre Selector tab in the device menu is where the Spectrum analyzer can be configured. • Instrument Name: This list specifies the different Pre Selectors that are available to the program. • GPIB Address: Sets the GPIB address which will be used by the program to communicate with the instrument. • Instrument driver: Specifies which driver file that will be used by the program. This file contains the GPIB commands for doing actions with the pre selector. • Text box: The contents of the chosen driver file will be presented in this text box. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any parameter is changed the ”Save Settings” button should be used when exiting the menu. 4.2.3.5 Sweep events In the sweep events (Figure 4.12) menu the user can specify events that will happen during a test. Events can either be a GPIB or a message event. A message event will cause the program to pause at the chosen frequency and show a message defined by the user. The program continues as before the pause when pressing OK on the message. A GPIB event will cause the program to send a GPIB command to the instrument address, both specified by the user. The chosen event will happen before the specified frequency. 44 Chapter 4. Results Figure 4.12: The sweep events menu is where different events can be specified. • Frequency column This column contains the different frequencies specified at which the event will happen. • Message/GPIB This column specifies the type of event. This is done by writing either Message or GPIB in the field. • Address This column sets the address to the instrument that will receive the GPIB command. If ”message” is chosen in the column before then this is irrelevant. • Message This is where the user can write the message/GPIB command to send either to the screen or to the instrument. The ”Add row” button adds a row to the list and the ”remove row” button removes one row. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any field in the list is changed the ”Set list” button should be used when exiting the menu. 4.2.3.6 Center marker This menu centers the marker in the strength plot. 4.2.3.7 Sweep Procedures for both mode tuning and mode stirring are available within the program though they should be seen as tests of the functionalities of the system as they do not fulfill standard requirements yet. The program flow for the mode tuning procedure can be seen in figure 4.13. 4.2. RC software 45 Figure 4.13: Program flow for a mode tuning sweep. First the RF-generator and the spectrum analyzer are preset to initiate measurements according to user specified settings. The field strength is then tuned with the RF-generator to match the user specified initial value and the frequency is set to its initial value. The frequency is then updated, i.e. increased or decreased. However, the first time the frequency stays constant as the first strength measurement is taken at the initial frequency. As the user has the possibility to arrange the program to skip frequencies a check is then made if the frequency should be skipped, if this is the case the program loops back to yet again update the frequency. Another feature implemented is an event handler where the intention is to have a list of actions that are executed at certain frequencies. This is checked immediately after the frequency update. Actions are in the form of changing settings for instruments, pause the sweep and giving messages to the user. The strength level is then checked to be within preset limits at the current frequency. It is possible to set up advanced limit conditions within the frequency interval. If not within the limits the strength is adjusted until within the given limits. Then the stirrer procedure is started and the program loaded to the controller initiated. First the stirrer(s) are stepped to the first position. As the stirrer(s) come to a halt the program dwells for a given time and then reads the current field strength. Then the procedure starts over again until the stirrer(s) have made one full rotation and with strength measurements corresponding to the number of discrete steps of the stirrer(s). Then the highest strength is saved as it is the only one interesting for further evaluations. 46 Chapter 4. Results Finally the GUI is updated so that the user can follow the proceedings of the sweep with comprehensible data. If the current frequency is not the final frequency initially set by the user the program will loop back to update the frequency and eventually retrieve a maximal strength value for that frequency. Figure 4.14: The main window and the field strength plot during a mode tuning sweep. 4.2. RC software 47 Figure 4.15: The main window and the power output plot during a mode tuning sweep. The program flow for the stirring procedure can be seen in figure 4.16 Figure 4.16: Program flow for a mode stirring sweep. 48 Chapter 4. Results This procedure is very similar to the tuning procedure but with some small modifications. When stirring the paddles should be in constant motion and so this is the first thing that is initiated. All checks and updates then follow the tuning procedure until the strength measurement. The strength is measured just once at each frequency while paddles are in constant movement. Finally, like in the tuning procedure, the GUI is updated and the program loops back to the frequency update state. Figure 4.17: The main window and the field strength plot during a mode stirring sweep. 4.2. RC software 49 Figure 4.18: The main window and the power output plot during a mode stirring sweep. 4.2.3.8 New Sweep This submenu resets any earlier sweep by clearing values and vectors needed to start a new sweep. 4.2.3.9 Power On/off This functionality lets the user control the frequency and the field strength in the chamber by moving the marker. The marker position in x-direction sets the frequency for the RF Generator and the position in y-direction sets the target level for the field strength in the chamber. The user can at any time set the power off or on. Stirring is the only available option for this function. The procedure when starting the ”power on” submenu is that: First the RF-generator and spectrum analyzer are preset to initiate measurements according to user specified settings. The field strength is then tuned with the RF-generator to match the limits specified by the user, around the initial marker position(y-direction) and the frequency is set to the initial position of the marker(x-direction). The program will then loop a sequence where it sets the frequency and tunes the field strength dependent of the marker position. This is done until submenu ”Power off” is pressed which ends the RF generator transmission into the chamber. 4.2.3.10 Sweep Frequency list The sweep frequency list is a functionality which lets the user sweep a specific list of frequencies. The list is set in submenu ”frequency list”(See section 4.2.5.2) under ”frequency”. The program flow for this function is almost the same as the program flow for tuning/stirring in a sweep (See figure 4.2.3.7). The only difference is that the dashed box (skip frequency) is 50 Chapter 4. Results erased. Skip frequency (See 4.2.5.3) is unnecessary when every frequency swept is specified by the user. 4.2.3.11 Exit This menu will exit the RC program. 4.2.4 Stirrer The stirrer menu (Figure 4.19) consists of five submenus that all have to do with communication or settings for stirrer movement. Figure 4.19: The stirrers menu and its selectable events and submenus. 4.2.4.1 Options Under this menu settings for stirrer movement can be set. Figure 4.20 shows the opened menu in the program software. Values are pre set with regards to the type of standard chosen at start up. When a project is loaded the values under stirrer options will change accordingly with the values at when the project was saved. Below follows explanations of each parameter: 4.2. RC software 51 Figure 4.20: The stirrers options menu. • Mode: Selection of run mode of paddles. Eligible modes are tuning or stirring. • Acc: Acceleration for the paddle(s) during stepping and jogging. Unit is degrees/s2 . • Dwell Time: Time of paddles’ stand still before measurement(s). The unit is seconds. • Steps/Rev: Number of discrete measurement steps per revolution of paddle(s). • Revolutions: Number of revolutions per measurement frequency. • Velocity: Paddle(s) target velocity during stepping and jogging. Unit is degrees/s. • Dec: Deceleration for the paddle(s) during stepping and jogging. Unit is degrees/s2 . • Step Time: Time for each paddle step when time based move is active. Can only be active in tuning mode. Limiting values for velocity and acceleration restrict the possible input. The unit is seconds. • Time Based Move: Activate time based move. Can only be set in tuning mode. • Main Paddle Active: Enable main paddle stepping and jogging. • Second Paddle Active: Enable second paddle stepping and jogging. • Percent of Main: If both paddles are enabled, this value represents the reduction in speed for the second paddle as a percentage. If nothing is to be changed you can always exit the menu by using the ”Exit” button. If there are any concerns about the parameters the ”Help” button is supposed to give information regarding this. 52 Chapter 4. Results If any parameter is changed the ”Save Settings” button should be used when exiting the menu. As this button is pressed the program will flash the controller memory with a new program in accordance with the parameter values set. As this is done a progress bar will be displayed on the screen indicating the amount of data transferred (Figure 4.21). Figure 4.21: The main window when flashing program code to the controller. 4.2.4.2 Reset Controller The basic setup of the controller is specific for the application and can be flashed to the controller memory like any other program. This option is implemented with the intention that the controller could be used in other applications which hence need a different setup. When switching from another application the user will have to run ”Reset Controller” to reset and set up the controller correctly. 4.2.4.3 Run Setting This option is implemented with the intention that the user wishes to control the stirrers with the program developed but take measurements with other software. This is currently mainly of interest when running mode stirring tests. When ”Run Settings” is executed the current program flashed on to the controller is executed. 4.2.4.4 Connect Before being able to communicate with the controller, the user will have to actively connect to it. This is mainly because it contributes to a higher stability and a larger program access without controller connection. When the controller is connected a ”Connected” message is displayed on the screen (Figure 4.22). If any routine demanding the controller to be connected is executed with a non connected controller, the user should be alerted about this through warning messages. 4.2. RC software 53 Figure 4.22: The main window when successfully connected to the controller. 4.2.4.5 Disconnect The program is always started with the controller disconnected, though when connected the user always has the option of disconnecting the controller. When the controller is disconnected the user is alerted with a ”Disconnected” message displayed on the screen (Figure 4.23). 54 Chapter 4. Results Figure 4.23: The main window when successfully disconnected from the controller. 4.2.4.6 Run Setting This option is implemented with the intention that the user wishes to control the stirrers with the program developed but take measurements with other software. This is currently mainly of interest when running mode stirring tests. When ”Run Settings” is executed the current program flashed on to the controller is executed. 4.2.5 Frequency The frequency menu is divided into six submenus. The first three are where the user can adjust parameters that have effect on the frequencies in the chamber. The last three controls the marker(x-direction) in the strength plot. Figure 4.24 shows the frequency menu. Figure 4.24: The frequency menu and its selectable events and submenus. 4.2.5.1 Options The frequency options (Figure 4.25) are parameters such as stop and start frequency, step size, sweep direction and scale set. 4.2. RC software 55 Figure 4.25: The frequency options menu is where parameters connected to the frequency can be changed. • Min Frequency: Sets the minimum frequency for a sweep. This is the start frequency in normal direction and the stop frequency for inverse direction of a sweep. The unit is [Hz]. • Max Frequency: Sets the Maximum frequency for a sweep. This is the end frequency in the normal direction and the start frequency for the inverse direction of a sweep. The unit is [Hz]. • Scale Frequency: Scales the frequency axis (x) on the strength plot in either linear or logarithmic[%]. • Step size: Sets the type of frequency step for a sweep. Choose linear for taking the same length over the whole sweep. The unit is [Hz]. Choose logarithmic for taking logarithmic steps during the sweep, this means that the next step length is a percentage of the current frequency. • Inverse Frequency: The default setting is to sweep from min to max frequency. If this box is checked the sweep goes from max to min. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there are any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any parameter is changed the ”Save and exit” button should be used when exiting the menu. 4.2.5.2 Frequency List In the frequency list (Figure 4.26) menu the user has the ability to create a list of specific frequencies that are desirable to test. These frequencies are swept from the sub menu ”sweep frequency list” under the ”file” menu. 56 Chapter 4. Results Figure 4.26: The frequency list menu is where a list of specific frequencies to sweep can be specified. • List of frequencies: This is where a list of frequencies to sweep can be specified. The unit is [Hz]. ”Add row” button adds a row to the list and the ”remove row” button removes one row. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there are any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any field in the list is changed the ”Set list” button should be used when exiting the menu. 4.2.5.3 Skip Frequencies In skip frequencies (Figure 4.27) menu the user has the ability to specify a list of frequency intervals that the program will skip during the sweep. 4.2. RC software 57 Figure 4.27: The skip frequencies menu. • From: This list specifies the start frequencies of the intervals that will be skipped during a sweep. The unit is [Hz]. • To: This list specifies the end frequencies of the intervals that will be skipped during a sweep. The unit is [Hz]. ”Add row” button adds a row to the list and the ”remove row” button removes one row. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there are any concerns about the parameters the ”Help” button is supposed to give information regarding this. If any field in the list is changed the ”Set list” button should be used when exiting the menu. 4.2.5.4 Go to Value The go to value menu is for moving the marker to a specific value on the frequency axis (x). Figure 4.28 shows the menu. 58 Chapter 4. Results Figure 4.28: The frequency go to value menu is used for moving the marker to a specific value on the x-axis. • Step up: Moves the marker by one step up with the amount specified in frequency options. See section 4.2.5.1 • Step down: Moves the marker by one step down with the amount specified in frequency options. See section 4.2.5.1 4.2.6 Strength The strength menu (Figure 4.29) is divided into six submenus. The three first is where the user can adjust parameters that affect the strength in the chamber. The last three controls the marker (y-position) in the strength plot window. Figure 4.29: The strength menu and its selectable submenus. 4.2.6.1 Options Strength options are divided into two different tabs, strength and power. In the strength tab, options for controlling the field strength limits and appearance of the strength plot can be found. 4.2. RC software 59 Figure 4.30: The strength options menu is where parameters connected to the field strength and power can be changed. • Min Strength: This is the minimum strength that is shown in the strength plot. • Max Strength: This is the maximum strength that is shown in the strength plot. • Tolerance max: Max tolerance level by which the electric field strength can exceed the target value. The target vector is set in menu 4.2.6.2. • Tolerance min: Minimum tolerance level by which the electric field strength can be below the target value. The target vector is set under menu 4.2.6.2. • Strength scale: Scales the Strength axis (y) in the strength plot as, either linear or logarithmic. • Step size: Type of step to take when power is on. Linear is chosen for taking a specific step length each step. Logarithmic is chosen for taking logarithmic steps during the sweep. This means that the next step length is a percentage of the current strength. The unit is [dBm]. In the power tab, options for controlling the input power to the chamber from the RF generator are found. Figure 4.31 shows the power option tab. 60 Chapter 4. Results Figure 4.31: The power options menu and the strength tab. • Min power: This sets the minimum power for the RF Generator. It is also the initial power from which the Generator starts when starting a sweep. The unit is [dBm]. • Max power: This sets the maximum power that the RF Generator is allowed to give. The unit is [dBm]. • Max Step: This is the maximum step that the RF generator is allowed to take. The unit is [dBm]. • Step size: This is the step size for the RF generator when adjustment of the strength is done. The unit is [dBm]. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concern about the parameters the ”Help” button is supposed to give information regarding this. If any parameter is changed the ”Save and exit” button should be used when exiting the menu. 4.2.6.2 Target In the target menu (Figure 4.32)the user has the ability to create a target vector that the program will aim for during a test. How close to the target line the strength needs to be is set in strength options (Section 4.2.6.1) by the min/max tolerance level. The target vector is created through points that are specified in this menu and then interpolated to a vector. 4.2. RC software 61 Figure 4.32: The strength target vector menu. • Frequency: List of points on the frequency axis. The unit is [Hz]. • Strength: List of points on the strength axis. The unit is [dBm]. The ”Add row” button adds a row to the list and the ”remove row” button removes one row. If nothing is to be changed, the ”Exit” button can always be used to close the menu. If there is any concern about the parameters the ”Help” button is supposed to give information regarding this. If any field in the list is changed the ”Set list” button should be used when exiting the menu. 4.2.6.3 Adjust strength It is necessary to adjust the strength measured by the antenna from voltage to field strength by using the antenna factor. Other adjustments necessary could be losses in the antenna, cables and other losses. This menu lets the user choose up to four files which contain values to adjust the field strength. Figure 4.33 shows the adjustment menu. 62 Chapter 4. Results Figure 4.33: The adjust strength options menu is where the user can add files to adjust the field strength. Every file has two columns which contain frequency(x) and strength(y) values. The loaded values are plotted in the adjustment plot (Figure 4.34). Regression between the points is then done during the sweep to find out what value to add to the measured strength. Figure 4.34: The main window with the adjust strength plot shown. 4.2. RC software 63 • Antenna factor: A correction needed is to convert the measured voltage to voltage per meter. This is done by adding a file with antenna factor adjustment values. See Chapter 3.5 for antenna factor theory. • Cable loss: Transmitting the power received by the antenna to the measure device is done through cables where the signal loses strength. This is adjusted by adding a file with cable adjustment values. • Antenna loss: The antenna usually has internal losses. This is adjusted by adding a file with antenna adjustment values. • Other: ”Other” can be used for adding other adjustments values if necessary. 4.2.6.4 Go to value The go to value menu is used for moving the marker to a specific value on the strength axis (y). The menu is shown in 4.35 Figure 4.35: The strength go to value menu is used for moving the marker to a specific value on the y-axis. 4.2.6.5 Step up Moves the marker by one step up with the amount specified in strength options (Section 4.2.6.1). 4.2.6.6 Step down Moves the marker by one step down with the amount specified in strength options (Section 4.2.6.1). 64 4.2.7 Chapter 4. Results Calibration Under this menu the user can choose to open specific PDF documents within the program. The idea is to have documents with simplified procedures for conducting calibrations and measurements according to the different standards. These could then be used as guide lines when using the system. Figure 4.36: Calibration menu with information from previously conducted calibrations and stipulated procedures for current standards. 4.2.7.1 DO160-F/MIL/IEC The documents are revised versions of the standards that could be used as guidance when calibrating the chamber or running tests. 4.2.8 Plot The menu (Figure 4.37) consists of four submenus enabling export of sweep data, settings for saving and plotting and closing of all plot windows. Figure 4.37: The plot menu and its selectable events and submenus. 4.2.8.1 Export data Under ”Export Data” the user has the possibility to export measurement data to either a text or Excel document. When exporting data to an Excel file the program automatically starts, sets up columns with measurement data and generates a plot. This makes it easy to switch between quantities in the plot window and compare results. 4.2.8.2 Settings Under the ”settings” menu are three tabs with settings for saving measurement data. Under the one called ”Markers” the user can choose the directory and file name for marker information gathered during chamber runs. Stored data are field strength, frequency and comments for each marker set in the plot window. Filename and directory can also be chosen for the text file under the second tab. Under the third tab the user can choose the title and label for the plot that is generated when exporting data to Excel. 4.2. RC software 4.2.8.3 65 Close All The menu option ”close all” closes all open plot windows. There is also a fast button for this on the tool bar next to the plot buttons. 4.2.9 View The view menu (Figure 4.38) gives the possibility of hiding or showing tool bar and menu strip. Figure 4.38: Menu enabeling hide/show option for tool bar and status strip. 4.2.9.1 Toolbar The user can choose whether to hide or show the tool bar. 4.2.9.2 Status Bar The user can choose whether to hide or show the status bar. 4.2.10 Help The menu (Figure 4.39) gathers help files and information around the program and its content. Figure 4.39: The help menu and its selectable submenus. 4.2.10.1 Program content Here .NET can really show its potential in the form of a search application for the help files. The help files are written in external text files which at start up are loaded into the program. Under the menu ”Program Content” there is a text box gathering all the help files together in one scrollable textbox. To the left there is a list with the topics of all the help files. By selecting the topic in the list and pressing the ”Show” button, the text box automatically scrolls down to the specific help file topic. The same thing can also be done by just double clicking the topic in the topic list. If the user is looking for a specific word or sentence the search field can be used. If the user, for example, makes a search for a sentence and it is found, the textbox automatically scrolls down to the line where that sentence was first found. At the same time, if any of the 66 Chapter 4. Results words in the sentence are found within the text, they are marked with the color blue. If the sentence is found on another line the user can just press the search button again and the textbox will scroll down to the next line. When there is nothing more to be found in the text the user will be alerted with a ”Search Ended” message and the textbox will scroll up to the top. If the user wishes to clear the search field and reset the text box, the ”Clear” button can be used. The application can be seen in Figure 4.40. Figure 4.40: Help menu to view and search through help files. 4.2.11 Equipment 4.2.11.1 Instrument communication The following instruments are used during the project: • RF generator - HP E8257D: • spectrum analyzer - HP 8566B: • Pre selector - HP 85685A: All communication with the instruments was carried out with GPIB commands. GPIB stands for general purpose interface bus and is designed to connect computers with instruments, which is supported in VEE 9.0. Sending GPIB commands to an instrument through VEE is done by using an object given in VEE to send instrument commands. Figure 4.41 shows the instrument communication object. 4.2. RC software 67 Figure 4.41: Instrument communication object i VEE. By using this object it is only the address and the actual command that needs to be set. RC is using the same object for all instrument communication by dynamically changing the address to the wanted instrument before sending the command. Figure 4.42 shows the instrument communication flow. Figure 4.42: Instrument communication flow in RC. 4.2.11.2 Stirrers communication The control system running the stirrers (excluding the actual paddles) consists of an ACR9000 Motion Controller communicating with a Packaged Microstepping System, both manufactured by the company Parker Hannifin. The control function is through high-level commands distributed from the host controller, in our case a desktop computer, to the motion controller. The motion controller in a multi-axis system may then control several drives and motors. The Packaged Microstepping System consists of a stepper drive together with the actual motor. Generally, the task of the drive is to supply electrical power to the respective motor after interpretation of low-level signals from the controller. • ACR9000 Motion Controller The ACR9000 is a compact motion controller for controlling servo and stepper drives. The indexer/controller determines the motor actions like speed, distance, direction, and acceleration rate. It is designed to enable direct panel-mounting and supplying multiple connection options. Main features of the controller are: ◦ Up to 8 axes of servo or stepper control ◦ Advanced Multi-tasking of up to 24 simultaneous programs 68 Chapter 4. Results ◦ interpolation of 8 axes in any combination ◦ 10/100 Base-T Ethernet ◦ USB 2.0 ◦ Ethernet/IP compatibility ◦ Absolute Encoder support via SSI ◦ ACR-View Software Development Kit ◦ 24 VDC optically isolated onboard inputs and outputs ◦ CANopen expansion I/O ◦ 120/240 VAC power input ◦ CE (EMC & LVD), UL, cUL approval • S, SX & SXF Series Packaged Microstepping System The packaged standalone drive/indexer system can perform registration moves as well as complex move profiling. Main features of the system are: ◦ Torques from 65 to 1,900 oz-in ◦ Speeds to 50 rps (3,000 rpm) continuous ◦ 16 user selectable motor resolutions to 50,800 steps/rev ◦ Three-state current control for reduced motor heating ◦ User-selectable current waveform for smooth operation ◦ Zero phase input resets phase currents to the power up positions ◦ Fault output for remote signaling and diagnostics ◦ Optically isolated step and direction, shutdown and zero phase inputs ◦ Anti-resonance eliminates mid-range instability 4.2.12 Software to Controller communication As stated above there is a versatility of server connections for the controller. For this application we have used Ethernet to communicate with the ACR9000. A .NET wrapper (by the controller manufacturer denoted ”Motion COMponents”) is then used to synchronize the programming software and controller to gain access to a DLL (ComACRsrvr.dll) file. A wrapper is a subroutine that translates a library’s existing interface into a compatible interface which ultimately enables cross language communication with the DLL file. A DLL (Dynamic linked library) file is a Microsoft ”shared library” file which in this case holds subroutines for communication with the controller. A restriction for the application software is for it to be compatible with Microsoft protocol OLE (Object Linking and Embedding) and COM (Component Object Model) interface standard. The concept of interaction between the programming software and the control system is illustrated in figure 4.43 4.2. RC software 69 Figure 4.43: Diagram showing the interaction between application and controller. In communication with the controller, specific actions can be initiated both through function calls and through direct communication with the controller terminal. As the controller holds a flash memory it can store code segments and programs which then can be actively executed. There are routines which enables uploading of code from a text file to the controller memory. The internal programming language for the controller is called ”AcroBASIC” and consists of simple ASCII mnemonic commands to interact with controller parameters and bits. 70 Chapter 4. Results Chapter 5 Conclusions Looking back at the major parts of the goals there was definitely a satisfactory outcome regarding the instrument and stirrer communication, as well the look and functionality of the user interface. The achievement of implementing two out of three standards in the program can be discussed, as the program cannot execute a real measurement yet, but fulfills a lot of criteria to do it. Not being in the position to be able to use the program for a real measurement at the end of the project was obviously unsatisfying. The instrument communication works as planned. It fulfills the demand of a flexible solution where instruments often change. It uses driver text files for the GPIB commands where sequences of commands can be specified. This lets the user prepare driver files for different instruments and just change the driver file within the program. The RF generator driver file has been extended to include limitations for certain instrument parameters, which needs to be included for other instrument driver files. During the project three types of instruments have been implemented and tested. The standards require use of more instruments which should be easy to implement into the program with the use of current functions. The system in its current form flashes a program into the controller memory which is then executed when initiating a frequency sweep. The execution of the program located on the controller is controlled by direct communication with the controller terminal. In the same way as there are function commands for loading programs from text files into the controller memory there are several other usable functions and terminal commands for extracting data and direct stirrer movement. Hence it should be possible to control all movement of the stirrers with function calls and direct terminal commands and to have the whole program sequence within Agilent VEE. However, during program development this generated unexpected errors to the extent that it became excluded. The interfaces tested with the controller are USB and Ethernet. To be able to access a control function one has to connect to a class defining that control. To communicate with the controller terminal one has to connect to it as well. A difference between USB and Ethernet is that with Ethernet the program can stay connected to all classes and the terminal simultaneously when communicating with the controller. Using USB the program can only stay connected to one class or the terminal at any time. This forces the program to connect and disconnect, respectively, before and after the controller command. As seen during the program development, running a series of commands rapidly with USB connec71 72 Chapter 5. Conclusions tion tends to generate unexpected errors, probably because of communication delays. This is mainly the reason why the code for the program is only compatible with Ethernet in its current form. Hence, to be able to use a USB connection, connect and disconnect communication must be added to the program at the cost of stability and maybe program speed. One of the settings for the stirrers is the number of steps per revolution. Choosing four steps per revolution will result in four steps taken each being 90 deg. The user can also choose the number of revolutions to run per frequency which literary multiplies the number of steps with the revolution number. The reverberation chamber at Combitech AB is equipped with two stirrers. If tuning is run and both stirrers are active the stirrers will take turn in stepping. This means that when choosing four steps per revolution with two stirrers the stirrers will step only half of a physical revolution per revolution set in the program software. Hence getting one full rotation for both stirrers per frequency would in this case require the user to choose two revolutions. Taking odd steps per one revolution and frequency with two stirrers will result in the starting stirrer taking the first and last step at each frequency. To alter the starting paddle for every frequency would consequently require the code to be changed from its current appearance. 5.1 Discussion Time planning has definitely been an issue during the project as we were very optimistic about how much to be able to accomplish within the 20 weeks. Projects during earlier studies always have a solution and when running into trouble there are always answers and explanations within short reach. In a real working environment you are far more independent and this is a lesson that has been very valuable and something that will be considered when planning projects in the future. There are a lot of unforeseen events that can occur during a project, for instance, delivery time for new components is one example that happened during this project. Considering the goals maybe they should early have been broken down into more partial goals which would have made the work feel more rewarding when reaching them. This could also have led to a better overview of project requirements and the time consumption needed for implementation. There was not an extensive knowledge around Agilent VEE and its program flow at the beginning of the project. As we have large experience on Matlab and it is partially integrated within VEE we believed it to be very usable, but we soon discovered that Matlab is not that compatible with VEE and could not be used as planned. Instead it was the .NET Framework integration that became really useful. As the project was coming to an end we could see that more or less the whole program is .NET except for the equipment connections. Considering this it maybe would have been better to use some other programming environment better suited for .NET programming and not using VEE at all. Agilent VEE is probably not designed to be used for project this extensive. Its strength is in the simplicity of quickly setting up connections with instruments and to extract data through ActiveX objects and thread programming. An indication for this is the fact that there is not a lot of documentation, code or previous work to be found online. The reason for this may also partially be that it is hard to document the code in a reasonable way. 5.2. Future Work 5.2 73 Future Work There is no doubt that the current system, including program software, has the capacity and ability to be expanded to fulfill measurements stipulated in the EMC standards in question. Getting there still demands the program to update the handling of sequential data flow within Agilent VEE in an effective way. With sequential execution the problem comes of running parallel events and VEE:s answer to this is to divide code into different thread objects. Though handling threads and parallel events was definitely not as simple as first expected, resulting in a lot of unexpected errors and communication problems. When running threads you can’t have code within the thread that is too dependent on code outside, as it should run independently of other parts of the program. This adds a lot of complexity to the programming and, as the documentation is limited, a good solution to handle this issue was never really found. The way of handling communication with thread objects has been through global objects but there are still questions as to how independent the thread objects need to be. Trying to use the Matlab engine within thread objects only led to unexpected errors. Before the program software can be considered ready for live measurements, extensive error test should be done to secure that there are no bugs or loose threads. This is crucial, as measurement and testing equipment can be very sensitive and valuable, and the field strength within the chamber can reach dangerously high levels. As the program software is connected with the amplifier stage and the corresponding sending antenna, caution should also be taken as theoretical assumptions have been made to calibrate the software to the amplifier. Logical updates to the program code, enhancing the speed of finding the desired field strength with the amplifier, can be made. Future live measurements with subsequent updates and adjustments are also important. The user-interface for the program is well-developed though there is always room and abilities for updates. The current program layout lets the user choose standard and type of measurement at start up. The intention was to have the program automatically adjust settings that are crucial to the standard chosen. However, setting the values has not been implemented yet because of lacking time. As Agilent VEE lets the constructed program be run as an executable the thought was to link to all drivers and files in reference of the executable file. This would mean that the program could be installed with one install file on any computer having the runtime version. Some work is still needed, mainly in changing and generalizing links within the program code. 74 Chapter 5. Conclusions References [1] M. Bäckström; O. Lundén; P.-S. Kildal. Reverberation Chambers for EMC Susceptibility and Emission Analyses. Wiley-Interscience, John Wiley & Sons, Inc, New York, 2002. Review of Radio Science 1999-2002, Chapter 19. [2] Paul R. Clayton. Introduction to Electromagnetic Compatibility. John Wiley & Sons, Inc, 1992. [3] Staffan Johansson; Per Carlsson. Modern elektronisk mätteknik. Liber AB, first edition, 1997. [4] ZTEC Instruments Inc. Waveform generator fundamentals. Internet, 2009. http: //www.ztecinstruments.com/waveform-generator-fundamentals. [5] Tom Harris. How amplifiers work. Internet, 2008. http://www.howstuffworks.com/ amplifier.htm. [6] Zhong Chen. Emc antenna fundamentals. Internet, 2007. http://www.conformity. com/artman/publish/printer_49.shtml. [7] Robert E. Collin. Foundations for microwave engineering. McGraw-Hill, Inc, 1966. [8] Carl Nordling; Jonny Österman. Physics Handbook for Science and Engineering. Studentlitteratur, Lund, seventh edition edition, 2004. [9] M. Bäckström; J. Lorén; G. Eriksson; H-J Åsander. Microwave Coupling into a Generic Object. Properties of Measured angular Receiving Pattern and its Significance for Testing. in Proceedings of the 2001 IEEE International Symposium on Electromagnetic Compatibility, Montreal, Canada, . [10] Richard L. Scheaffer; James T. McClave. Probability and Statistics for Engineers. Wadsworth Publishing Company, fourth edition, 1995. [11] Seemant Teotia. Saddlepoint approximation for calculating performance of spectrumsliced wdm systems. Master’s thesis, Virginia Polytechnic Institute and State University, Blacksburg, Virginia, July 1999. Appendix B:93-94. [12] Harima Katsushige; Sugiyama Tsutomu; Yamanaka Yukio; Shinozuka Takashi. Total radiated power of radio transmitters measured in a reverberation chamber. Journal of the National Institute of Information and Communications Technology, Vol.53 No.1:71– 73, 2006. [13] Gilbert M. Masters. Renewable and efficient electric power systems. Wiley-Interscience, John Wiley & Sons, Inc, New Jersey, 2004. 75 76 REFERENCES [14] John D. Kraus. Antennas. McGraw-Hill, Inc, second edition, 1988. [15] O. Lundén; M. Bäckström. Pulsed Power 3 GHz feasibility study for a 36,7 m3 Mode Stirred Reverberation Chamber. IEEE International Symposium on EMC, Hawaii, USA, July 8-13 2007. [16] Prasad V. Kodali. Engineering Electromagnetic Compatibility : principles, measurements, technologies, and computer models. Institute of Electrical and Electronics Engineers, Inc, 2001. [17] RTCA, Inc. RTCA/DO-160F : Environmental Conditions and Test Procedures for Airborne Equipment, December 6 2007. Section 20, Radio Frequency Susceptebility (Radiated and Conducted). [18] RTCA, Inc. RTCA/DO-160F : Environmental Conditions and Test Procedures for Airborne Equipment, December 6 2007. Section 21, Emission of Radio Frequency Energy. [19] Michel V. Ianoz; Torbjörn Karlsson; Frederick M. Tesche. EMC Analasis Methods and Computational Models. John Wiley & Sons, Inc, 1997. [20] Department of Defence, United States of America. MIL-STD-461-F : Interference Standard, December 10 2007. Requirements for the control of electromagnetic interference characteristics of subsystems and equipment. [21] dmoz open directory project. Visual programming launguages. Internet, 2009. http: //www.dmoz.org/Computers/Programming/Languages/Visual/. [22] Paul J. Morrison. Flow-based programming. jpaulmorrison.com/fbp/index.shtml. Internet, 2009. http://www. [23] Inc Agilent Technologies. Information and data on agilent vee. PDF, September 1, 2008. http://cp.literature.agilent.com/litweb/pdf/5989-9641EN.pdf. [24] Microsoft Corporation. .net framework conceptual overview. Internet, 2009. http: //msdn.microsoft.com/sv-se/library/zw4w595w(en-us).aspx. [25] Chancey Mathews. Common language infrastructure. Internet, June 6 2007. http://en.wikipedia.org/wiki/File:Overview_of_the_Common_Language_ Infrastructure.png. [26] Inc Agilent Technologies. Information and data on agilent vee. PDF, October 1, 2008. http://cp.literature.agilent.com/litweb/pdf/5989-9833EN.pdf. Appendix A Tables Frequency Range fs to 4fs 4fs to 8fs Above 4fs Number of required log spaced frequencies 50 per decade 50 per decade 20 per decade Table A.1: Reverberation test criterion [17]. Tuner Steps 9 10 12 18 20 24 30 36 40 45 60 90 120 180 R 1.957 2 2.08 2.25 2.3 2.38 2.47 2.54 2.59 2.64 2.76 2.92 3.04 3.2 Table A.2: Maximum to average ratio of squared magnitude of E-field [17]. 77 78 Chapter A. Tables Frequency Band 6dB Bandwidth(BW) 0.150 - 30 MHz 30 - 100 MHz 100 - 400 MHz 0.4 - 1 GHz 1 - 6 GHz 1KHz 10KHz 10KHz 100KHz 1MHz Minimum sweep time for frequency band (seconds) N/A N/A 9 1 1 Minimum measurments time for analog measurement receivers 0.015 sec/KHz 1.5 sec/MHz 1.5 sec/MHz 0.15 sec/MHz 15 sec/GHz Table A.3: Susceptibility scanning [18]. Frequency Range 30 Hz - 1 MHz 1 MHz - 30 MHz 30 MHz - 1 GHz 1 GHz - 40 GHz Analog Scans Maximum Scan Rates 0.0333 f0 /sec 0.0667 f0 /sec 0.00333 f0 /sec 0.00167 f0 /sec Stepped Scans Maximum Step Size 0.05 f0 0.01 f0 0.005 f0 0.0025 f0 Table A.4: Susceptibility scanning [20]. Frequency Range (MHz) 200-300 300-400 400-600 above 600 Tuner Positions 50 20 16 12 Table A.5: Required number of tuner positions for a reverberation chamber [20]. 79 Figure A.1: Radiated susceptibility test levels versus category [17]. 80 Chapter A. Tables Appendix B Figures Figure B.1: Suitable probe location for chamber calibration [17]. Figure B.2: Standard deviation curve for field uniformity confirmation [17]. 81 82 Chapter B. Figures Figure B.3: Maximum Level of Radiated RF Interference - Category B and L [18]. Figure B.4: Maximum Level of Radiated RF Interference - Category M [18]. Figure B.5: Maximum Level of Radiated RF Interference - Category H [18]. 83 Figure B.6: Maximum Level of Radiated RF Interference - Category P [18]. 84 Chapter B. Figures Appendix C Work Distribution C.1 Theory General theory has been divided in the sense that each of us has taken responsibility of gathering the necessary information and writing about his part. However getting an overall theoretical understanding is important and there has been a lot of discussion and collaboration in order to understand major concepts of the theory. Erik has been responsible for theory around basic concepts of EMC, chamber statistics, stirrers and programming language and software. Jonny has been responsible for theory regarding basic concepts of a reverberation chamber, instruments used and theory around antenna measurements. The first intention was to study one standard each. While working through the standards it became clear that the standard DO-160F was more extensive than anticipated and harder to interpret. This resulted in Erik taking care of the radiated susceptibility part of the DO-160F standard and Jonny covering the radiated emission part of the same standard. MIL-STD standard was also covered by Jonny as this gave us an even work load and covered theory. More specifically, chapter responsibilities are: Erik • Chapter 3.1 - Electromagnetic compatibility • Chapter 3.2.6 - Stirrer System • Chapter 3.4 - Field Statistics • Chapter 3.8.1.1 - Radiated Susceptibility (RS) Test; Alternative Procedure - Reverberation Chamber • Chapter 3.9 - Agilent VEE Jonny • Chapter 3.2 (except for 3.2.6) - Equipment • Chapter 3.3 - Reverberation chamber • Chapter 3.5 - Antenna factor • Chapter 3.6 - Losses 85 86 Chapter C. Work Distribution • Chapter 3.7 - E-Field in the Chamber • Chapter 3.8.1.2 - Radiated Emissions (RE) Test; Alternative Procedure - Reverberation Chamber - mode stirring • Chapter 3.8.2 - MIL-STD-461F Standard C.2 Results The main result is a program software built up by functions and other elements that has been built and updated by both students throughout the project. Generally, functions and menus that regard stirrer communication and movement have been Erik’s responsibility, whereas functions and menus regarding instrument communication have been Jonny’s responsibility. On many levels there are functions and routines that are connecting the two areas which make it difficult to specifically say who has done what on a programming level. Menus that are directly related to the instruments are ”Strength” and ”Frequency” which are under Jonny’s responsibility. Menu ”Stirrers” is in the same way directly related to the stirrers and under Erik’s responsibility. The ”Help” menu is also developed mainly by Erik. More specifically, chapter responsibilities are: Erik • Chapter 4.2.4 - Stirrer • Chapter 4.2.10.1 - Help • Chapter 4.2.11.2 - Stirrer communication Jonny • Chapter 4.2.3.4 - Devices • Chapter 4.2.5 - Frequency • Chapter 4.2.6 - Strength • Chapter 4.2.11.1 - Instrument communication