Abstract:
A system and method for generating signals for testing a Very High Frequency Omnidirectional Range (VOR) receiver is described. The system includes a waveform generator and a signal generator. The waveform generator generates a waveform representing a waveform generated by a VOR ground station during operation of a VOR system. The signal generator receives the waveform from the waveform generator and generates a signal for testing the VOR receiver.

Description:
FIELD 
       [0001]    The present invention relates generally to testing a Very High Frequency Omnidirectional Range (VOR) receiver, and more particularly, relates to generating signals needed for testing the VOR receiver. 
       BACKGROUND 
       [0002]    Generally, a VOR system includes ground stations and receivers. The ground stations transmit navigation guidance signals used by aircraft in flight. The aircraft includes a VOR receiver for receiving the signals transmitted by the ground stations. The VOR system may be described as a classical VOR (CVOR) or a Doppler VOR (DVOR) system. 
         [0003]    In CVOR, the ground station transmits a rotating cardioid shaped antenna horizontal radiation pattern at thirty revolutions per second and a fixed omni-directional carrier pattern. The receiver obtains a carrier that is amplitude modulated with a 30 Hz sine wave, the phase of which is dependent on the azimuth position of the aircraft in relation to the ground station. In order to use the bearing information, the ground station provides a reference by amplitude modulating the carrier with a sub-carrier of 9960 Hz, which is, in turn, frequency modulated by a 30 Hz sine wave with a deviation of ±480 Hz. The phase of the 30 Hz frequency modulation is independent of azimuth. The aircraft bearing in relation to the ground station is calculated by taking the phase difference of the two 30 Hz sine waves. 
         [0004]    DVOR employs two fundamental principles: the Doppler effect for generating frequency modulated (FM) and bearing information, and a wide aperture antenna array for minimizing the effects of multipath propagation. To maintain compatibility with CVOR receivers, DVOR ground stations radiate signals with the same frequency spectrum as the CVOR ground stations, but the azimuth-dependent information is contained in the phase of the frequency modulated signal. In DVOR, the carrier with a 30 Hz amplitude modulation is radiated from an omni-directional antenna and is the reference signal. The direction dependent signal is generated in space by rotating the radiated 9960 Hz sidebands on a circle. 
         [0005]    The circular motion is electronically simulated by a number of antennas equally spaced around the circle, which are sequentially fed with radio frequency (RF) energy so that a continuous movement of the radiating source is achieved. The DVOR receiver sees a Doppler shift of sideband frequencies deviating ±480 Hz thirty times a second. The DVOR system may be a single sideband DVOR, a doubled sideband DVOR, or an alternating double sideband DVOR system. 
         [0006]    The European Organisation for Civil Aviation Electronics (EUROCAE) has specified minimum performance requirements suitable for airborne VOR receivers. These specifications can be found in EUROCAE document ED-22B (January 1988), which is hereby incorporated by reference in its entirety. The ED-22B document includes compatibility requirements with DVOR ground stations. (See, Chapter 3, paragraph 3.2.2.2.) 
         [0007]    To verify that the VOR receiver meets the compatibility requirements with VOR ground stations, the ED-22B document provides test procedures. (See, Chapter 5, paragraph 5.2.3.3.) As described in the ED-22B document, DVOR signal generators are not currently available, so the document provides a list of the equipment needed for each of the tests and a diagram showing how to arrange the equipment to perform the test. For example, the first test requires an oscilloscope, an RF signal generator, an audio frequency (AF) VOR signal generator (with separate 30 Hz and 9960 Hz outputs), an AF signal generator, an amplitude modulating (AM) modulator, and a deviation indicator or microammeter of equivalent resistance.  FIG. 5-2  of the ED-22B document depicts the arrangement of the equipment to simulate the DVOR signal as required by the first test. 
         [0008]    Due to the numerous pieces of equipment needed to perform the tests, the test environment for testing the VOR receiver is less than desirable. In general, this test environment may have issues with calibration, accuracy, and repeatability. The tests may fail, not because of a VOR receiver failure, but because of a problem in the test setup. For example, if one of the pieces of equipment is not calibrated properly, the VOR signal may not be properly simulated for the test. Other problems may also occur due to, for example, as poor connections between equipment, incompatibility between equipment, and equipment failures. 
         [0009]    Thus, it would be beneficial to have an improved method of generating VOR signals for testing a VOR receiver. 
       SUMMARY 
       [0010]    A system and method for generating signals for testing a VOR receiver is described. In one example, the system includes a signal generator that receives repetitive discrete time sampled waveform data. The signal generator uses the data to generate an analog Doppler VOR signal for testing the VOR receiver. The signal generator may be a vector signal generator. The Doppler VOR signal may be either a double sideband Doppler VOR signal or an alternating sideband Doppler VOR signal. 
         [0011]    In another example, the system includes a waveform generator that generates at least one waveform representing a waveform generated by a VOR ground station during operation of a VOR system, and a signal generator that receives the at least one generated waveform from the waveform generator and generates a signal for testing the VOR receiver. Preferably, the waveform generator is a software program. 
         [0012]    The waveform generator uses at least one equation representing at least one of a classical VOR baseband signal, a double sideband Doppler VOR signal, and an alternating sideband Doppler VOR signal to generate the at least one waveform. The waveform generator converts the at least one equation into a repetitive discrete time sampled waveform. 
         [0013]    The classical VOR baseband signal may be represented as vor(t)=1+m v  cos(ω m t−θ)+m r  cos(ω sc t−m sc  sin(ω m t)), where m v  is a modulation index of variable signal, m r  is a modulation index of reference signal, m sc  is a deviation ratio of the FM subcarrier, ω m  is a radian frequency of reference and variable signal, ω sc  is a radian frequency of the FM subcarrier, and θ=bearing to the VOR station. 
         [0014]    The double sideband Doppler VOR signal may be represented by vor(t)=1+m v  cos(ω m t−θ)+m r  cos(ω sc t−m sc  sin(ωmt))(1+m d  cos(ω d t)), where m v  is a modulation index of variable signal, m r  is modulation index of reference signal, m d  is a modulation index of Doppler signal, m sc  is a deviation ratio of the FM subcarrier, ω m  is a radian frequency of reference and variable signal, ω d  is a radian frequency of Doppler modulation, ω sc  is a radian frequency of the fin subcarrier, and θ is a bearing to the VOR station. 
         [0015]    The alternating sideband Doppler VOR signal may be represented as: 
         [0000]      real(vor( t ))=(1 +m   v  cos(ω m   t −θ))(cos(φ)+ m   r  sin(ω m   t−m   sc  sin(ω m   t ))) 
         [0000]      imag(vor( t ))=(1 +m   v  cos(ω m   t −θ))(sin(φ)+ m   r  cos(ω m   t−m   sc  sin(ω m   t )*sign(ω d   t ) 
         [0000]    where m v  is a modulation index of variable signal, m r  is a modulation index of reference signal, m sc  is a deviation ratio of the FM subcarrier, ω m  is a radian frequency of reference and variable signal, ω d  is a radian frequency of Doppler modulation, ω sc  is a radian frequency of the fin subcarrier, θ is a bearing to the VOR station, and φ is a phase between carrier and sidebands. 
         [0016]    The signal for testing the VOR receiver may be an analog signal. The signal generator may be a vector signal generator. The vector signal generator may be a commercial off the shelf (COTS) device. The signal generator may receive the at least one generated waveform via File Transfer Protocol (FTP) over an Ethernet connection. 
         [0017]    A method for testing a VOR receiver includes generating at least one waveform representing a waveform generated by a VOR ground station during operation of a VOR system; generating a vector waveform based on the at least one waveform; and applying the vector waveform to the VOR receiver. The method may further include validating the operation of the VOR receiver. 
         [0018]    Generating at least one waveform representing a waveform generated by a VOR ground station during operation of a VOR system may include using at least one equation representing at least one of a classical VOR baseband signal, a double sideband Doppler VOR signal, and an alternating sideband Doppler VOR signal to generate the at least one waveform. The at least one equation may be converted into a repetitive discrete time sampled waveform. 
         [0019]    Generating a vector waveform based on the at least one waveform may include using a vector signal generator. The vector waveform may be an analog waveform. 
         [0020]    These as well as other aspects and advantages will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it is understood that this summary is merely an example and is not intended to limit the scope of the invention as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]    Presently preferred embodiments are described below in conjunction with the appended drawing figures, wherein like reference numerals refer to like elements in the various figures, and wherein: 
           [0022]      FIG. 1  is a block diagram of a system for generating VOR signals, according to an example; 
           [0023]      FIG. 2  is a block diagram of a signal generator for use in the system depicted in  FIG. 1 , according to an example; 
           [0024]      FIG. 3  is a graph illustrating spectral characteristics of 30 Hz amplitude modulation sidebands; 
           [0025]      FIG. 4  is a graph illustrating spectral characteristics of 9960 Hz frequency modulation sidebands; 
           [0026]      FIG. 5  is a graph illustrating a demodulated AM signal; 
           [0027]      FIG. 6  is a graph illustrating an FM demodulated reference signal; 
           [0028]      FIG. 7  is a screen shot illustrating measurements performed on the 9960 Hz reference waveform; and 
           [0029]      FIG. 8  is a graph illustrating sideband suppression properties of the signal generator depicted in  FIG. 1 . 
       
    
    
     DETAILED DESCRIPTION 
       [0030]      FIG. 1  is a block diagram of a system  100  for generating VOR signals. The system  100  includes a waveform generator  102  and a signal generator  104 . During testing of a unit under test (UUT)  106 , the waveform generator  102  provides waveform data to the signal generator  104 , which then generates signals for testing the UUT  106 . The UUT  106  may be a VOR receiver. However, the signals generated by the signal generator  104  may be used to test other devices as well. Additionally, the signals provided by the signal generator  104  may have additional uses other than testing. 
         [0031]    The waveform generator  102  may be any combination of hardware, software, and/or firmware. Preferably, the waveform generator  102  is software. For example, a Python program may be used to generate waveforms. Python is an interpreted programming language that is freely available and supported on many platforms. Additionally, Python supports complex (as in real and imaginary) vector mathematics, which may be needed to generate some waveforms. While Python is used in the following description, it is understood that other programming languages may be used by the waveform generator  102 . 
         [0032]    The waveform generator  102  may use equations to represent various waveforms. In the example of testing a VOR receiver, the waveform generator  102  may use an equation representing a CVOR baseband signal, a double sideband DVOR signal, and/or an alternating sideband DVOR signal. Of course, the waveform generator  102  may use other equations as well. 
         [0033]    The CVOR baseband signal may be represented as: 
         [0000]      vor( t )=1 +m   v  cos(ω m   t −θ)+ m   r  cos(ω sc   t−m   sc  sin(ω m   t ))  (1) 
         [0000]    where: 
         [0034]    m v =modulation index of variable signal (0.3 nominally), 
         [0035]    m r =modulation index of reference signal (0.3 nominally), 
         [0036]    m sc =deviation ratio of the FM subcarrier (16 nominally), 
         [0037]    ω m =radian frequency of reference and variable signal (2π30 Hz nominally), 
         [0038]    ω sc =radian frequency of the FM subcarrier (2π9960 Hz nominally), and 
         [0039]    θ=bearing to the VOR station. 
         [0040]    The DVOR signal is essentially the same waveform as the CVOR waveform except that the amplitude of the 9960 Hz FM subcarrier is additionally AM modulated at 40% in turn at 30 Hz and 60 Hz, and 80% in turn at 1170 Hz, 1440 Hz, and 1500 Hz. The DVOR baseband waveform may be represented as: 
         [0000]      vor( t )=1 +m   v  cos(ω m   t −θ)+ m   r  cos(ω sc   t−m   sc  sin(ω m   t ))(1 +m   d  cos(ω d   t ))  (2) 
         [0000]    where: 
         [0041]    m v =modulation index of variable signal (0.3 nominally), 
         [0042]    m r =modulation index of reference signal (0.3 nominally), 
         [0043]    m d =modulation index of Doppler signal (0.4 or 0.8 nominally), 
         [0044]    m sc =deviation ratio of the FM subcarrier ( 16  nominally), 
         [0045]    ω m =radian frequency of reference and variable signal (2π30 Hz nominally), 
         [0046]    ω d =radian frequency of Doppler modulation, 
         [0047]    ω sc =radian frequency of the FM subcarrier (2π9960 Hz nominally), and 
         [0048]    θ=bearing to the VOR station. 
       When the Doppler modulation index (m d ) is zero, Equation (2) is the same as Equation (1). 
       [0049]    The alternating sideband Doppler VOR signal is essentially the same waveform as the CVOR waveform except that the upper sideband and lower sideband of the 9960 Hz sub-carrier are alternately deleted at an 1170 Hz rate. This waveform is synthesized using the ‘phase shift’ or phasing method of generating the single sideband modulation. This technique nulls the suppressed sideband. The upper/lower sideband selection is created by multiplying the quadrature component of the signal by ±1 based on the sign of an 1170 Hz (ω d ) sine wave. The alternating sideband Doppler VOR baseband waveform may be represented as: 
         [0000]      real(vor( t ))=(1 +m   v  cos(ω m   t −θ))(cos(φ)+ m   r  sin(ω m   t−m   sc  sin(ω mt )))  (3) 
         [0000]      imag(vor( t ))=(1 +m   v  cos(ω m   t −θ))(sin(φ)+ m   r  cos(ω m   t−m   sc  sin(ω mt )*sign(ω d   t ) 
         [0000]    where: 
         [0050]    m v =modulation index of variable signal (0.3 nominally), 
         [0051]    m r =modulation index of reference signal (0.3 nominally), 
         [0052]    m sc =deviation ratio of the FM subcarrier (16 nominally), 
         [0053]    ω m =radian frequency of reference and variable signal (2π30 Hz nominally), 
         [0054]    ω d =radian frequency of Doppler modulation, 
         [0055]    ω sc =radian frequency of the fm subcarrier (2π9960 Hz nominally), 
         [0056]    θ=bearing to the VOR station, and 
         [0057]    φ=phase between carrier and sidebands. 
       As seen in Equation (3), the alternating sideband Doppler VOR signal requires both in-phase and quadrature waveforms to produce single sideband signals. 
       [0058]    Equations (1)-(3) represent continuous time varying waveforms. The waveform generator  102  may decompose or otherwise convert these continuous time varying waveforms into repetitive discrete time sampled waveforms. The collection of digital samples may be chosen such that, when the collection of digital samples is repeated in time, the waveform is correctly generated for longer periods of time. In the example of a VOR receiver, the longest periodic signal is 30 Hz and the other signals are harmonics of 30 Hz. Thus, in this example, the waveform generator  102  generates a 1/30 th  second waveform sequence. 
         [0059]    An example Python program for generating Equations (1)-(3) is provided in Appendix A. The example uses the 1/30 th  second period of data described above. As a result of this selection, the Python program requires that all modulation frequencies are an integer multiple of the 30 Hz frequency reference. The modulation tones (including the Doppler components) meet this requirement. Other periods may be selected for generating a repetitive waveform, which may be needed when testing corner-case frequency tolerances. 
         [0060]    Once the waveform generator  102  generates the repetitive discrete time sampled waveforms, the waveform generator  102  provides a waveform file to the signal generator  104 . The waveform generator  102  may transfer the waveform file to the signal generator  104  via a wired or wireless connection. Additionally, the waveform generator  102  may transfer the waveform file to the signal generator  104  using any protocol now known or developed in the future. For example, the waveform generator  102  may use File Transfer Protocol (FTP) over an Ethernet connection. 
         [0061]    Alternatively, the waveform file may be stored on a storage medium, such as a diskette or thumb drive, and uploaded from the storage medium to the signal generator  104 . As another alternative, the waveform generator  102  and the signal generator  104  may be co-located, and data in the waveform file may be transferred via a data bus or other communication bus within the combined system. Any other data transfer method may also be used. 
         [0062]    The signal generator  104  may be any combination of hardware, software, and/or firmware. Preferably, the signal generator  104  is a vector signal generator having dual arbitrary waveform generators to generate various VOR signals. The vector signal generator may be a commercial off the shelf (COTS) device or a custom designed device. For example, the signal generator  104  may be an Agilent E4438C Signal Generator. A simplified block diagram of the E4438C Signal Generator is depicted in  FIG. 2 . 
         [0063]    Continuing with this signal generator example, the E4438C Signal Generator receives the waveform file from the waveform generator  102  and loads data stored in the file into dual channel arbitrary waveform generator memory. The E4438C Signal Generator includes a built-in reconstruction filter. To ensure compatibility with those filters, the waveform may be generated with four samples per 9960 Hz cycle. The sample clock of the arbitrary waveform generator may be set to 39.840 KHz. 
         [0064]    The signal generator  104  generates vector waveforms for testing the UUT  106 . In the example of a VOR receiver as the UUT  106 , the signal generator  104  generates test waveforms for the CVOR and/or DVOR signals. Per the EUROCAE requirements, the signal generator  104  generates the CVOR signal, the double sideband DVOR signal, and the alternating sideband DVOR signal. 
         [0065]    The signal generator  104  may reconstruct or otherwise convert the waveform data received from the waveform generator  102  into analog signals. Because the collection of digital samples from the waveform generator  102  is repeated, the signal generator  104  may repetitively generate its analog signal output. As a result, the time required by the waveform generator  102  to compute the repetitive discrete time sampled waveforms, the time to transfer these waveforms to the signal generator  104 , and the storage requirements of the signal generator  104  may be reduced. 
         [0066]    Example waveforms and screenshots are depicted in  FIGS. 3-8 . The waveforms were measured and validated using a Rohde and Schwarz FSIQ30 Vector Signal Analyzer.  FIGS. 3 and 4  illustrate the narrowband and wideband spectral characteristics of the VOR waveform. Specifically,  FIG. 3  illustrates the spectral characteristics of 30 Hz “variable” amplitude modulation, while  FIG. 4  illustrates the spectral characteristics of a 9960 Hz “reference” frequency modulation. 
         [0067]    The time-domain waveform depicted in  FIG. 5  illustrates the demodulated AM signal (composite VOR signal), while  FIG. 6  illustrates the FM demodulated reference signal.  FIG. 7  is a screen shot that illustrates some measurements performed on the 9960 Hz reference waveform. As seen in  FIG. 7 , the frequency of the FM signal is measured as expected as 30 Hz and the deviation of the FM signal is very close to the expected value of ±480 Hz (a modulation index of 16). 
         [0068]      FIG. 8  illustrates the single sideband suppression properties of the signal generator  104  using a VOR equation that always suppresses the lower sideband. By suppressing the lower sideband, sideband suppression is simpler to measure. Sideband suppression is measured at about 50 dB, which is more than sufficient to meet the ED-22B requirements of 20 dB. (See, Chapter 5, paragraph 5.2.3.3.b.) 
         [0069]    The CVOR and DVOR waveforms were applied to the Honeywell NV-850 Primus II VOR and the Honeywell NV-877B EPIC VOR/ILS/DataLink (VIDL) unit. Bearing accuracy of the generated waveforms were as good as the waveforms generated by an industry standard VOR signal generator. Thus, the Agilent E4438C Vector Signal Generator used in conjunction with the Python program results in a system and method of generating VOR signals including various Doppler VOR signals that meets the accuracy requirements and intent of ED-22B. As a result, a VOR receiver may be more easily tested, while staying in compliance with requirements. 
         [0070]    Similar techniques can be used to generate other airborne signals, such as Localizer and Glide Slope (including ‘clearance’ signals). This technique also provides an opportunity to eliminate the NAV signal simulator from the factory Automatic Test Equipment (ATE) rack that is used to test these products. 
         [0071]    It should be understood that the illustrated embodiments are examples only and should not be taken as limiting the scope of the present invention. The claims should not be read as limited to the described order or elements unless stated to that effect. Therefore, all embodiments that come within the scope and spirit of the following claims and equivalents thereto are claimed as the invention. 
       Appendix A 
       [0072]    class VOR: 
         [0000]                                def_init_(self,         theta = 0.0, # VOR Bearing         Mr = 0.3, # AM Percent modulation of REF signal (0.0 &lt; Mr &lt; 1.0)         Mv = 0.3, # AM Percent modulation of VAR signal (0.0 &lt; Mv &lt; 1.0)         Md = 0.4, # AM Modulation index of Doppler (0.0 &lt; Md &lt; 1.0)         Mi = 0.3, # AM Modulation index of IDENT tone         Mc = 16.0, # FM Modulation index of FM subcarrier. Peak dev =         Mc*Fm Hz.         Fm = 30.0, # Frequency of 30 Hz ref/var signals         Fd = 30.0, # Frequency of Doppler signal (must be multiple of Fm)         Fi = 1020.0, # Frequency of the IDENT tone (must be multiple of         Fm)         Fc = 9960.0, # Center of 9960 Hz FM subcarrier (must be multiple         of Fm)         n = 4, # Samples per 9960 cycle (oversampling)         psi = 0.0): # phase between carrer/var/ident and ref signal        # Sanity Checks        if (Fi % Fm) != 0:         Fi = Fm * round(Fi / Fm)         print “Warning: Fixing \”Fi\“ so that it is a multple of\”Fm\“.”         print “ \”Fi\“ set to %d.” % Fi        if (Fc % Fm) != 0:         Fc = Fm * round(Fc / Fm)         print “Warning: Fixing \”Fc\“ so that it is a multple of\”Fm\“.”         print “ \”Fc\“ set to %d.” % Fc        if (Fd % Fm) != 0:         Fd = Fm * round(Fd / Fm)         print “Warning: Fixing \”Fd\“ so that it is a multple of\”Fm\“.”         print “ \”Fd\“ set to %d.” % Fd        if (Mv + Mr) &gt; 1:         print “Warning: AM Modulation is greater than 100%%.”        # Calculate waveform parameters         Wm = 2.0 * pi * Fm         Wd = 2.0 * pi * Fd         Wi = 2.0 *pi * Fi         Wc = 2.0 * pi * Fc         theta = theta * pi / 180.0         psi = psi * pi / 180.0         fs = n * Fc         ts = 1.0 / fs        # Setup time vector. Time vector is exactly 1/Fm seconds.        t = arange(0.0, 1.0 / Fm, ts)        # Calculate the waveform ‘pieces’        self.ident = Mi*cos(Wi*t)        self.ref = Mr*cos(Wc*t − Mc*sin(Wm*t))        self.ref90 = Mr*sin(Wc*t − Mc*sin(Wm*t))        self.var = Mv*cos(Wm*t − theta)        self.doppler = 1.0 + Md*cos(Wd*t)        self.dop = cos(Wd*t)        self.psi = psi                    
class CVOR(VOR):
 
         [0000]                                            def waveform(self):             w = 1.0 + self.ident + self.var + self.ref             return self.complex(w, w)                        
class DVOR(VOR):
 
         [0000]                                            def waveform(self):             w = 1.0 + self.ident + self.var + (self.ref * self.doppler)             return self.complex(w, w)                        
class ADSB(VOR):
 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 def waveform(self): 
               
               
                   
                   i = ((1.0 + self.ident + self.var) * cos(self.psi) + 
               
               
                   
                     (1.0 + self.ident + self.var) * self.ref90) 
               
               
                   
                   q = ((1.0 + self.ident + self.var) * sin(self.psi) + 
               
               
                   
                     (1.0 + self.ident + self.var) * self.ref * sign(self.dop)) 
               
               
                   
                   return self.complex(i, q)