investigation of an optimal utilization of ultra-wide band …5049/fulltext01.pdf · utilization of...
TRANSCRIPT
Department for Information Technology
Vishnu Vardhan Siripi
Investigation of an Optimal Utilization of Ultra-Wide Band
Measurements for Position Purposes
Electrical Engineering Master Thesis
Date/Term: 2006-04-06 Supervisor: Dr. A. Jakobsson Examiner: Dr. A. Jakobsson
Karlstads universitet 651 88 Karlstad Tfn 054-700 10 00 Fax 054-700 14 60
[email protected] www.kau.se
2
ABSTRACT
Ultra wideband (UWB) communication systems refers to systems whose bandwidth is many times greater than the “narrowband” systems (refers to a signal which occupies only small amount of space on the radio spectrum). UWB can be used for indoor, communications for high data rates, or very low data rates for substantial link distances because of the extremely large bandwidth, immune to multi-path fading, penetrations through concrete block or obstacles. UWB can also used for short distance ranging whose applications include asset location in a warehouse, position location for wireless sensor networks, and collision avoidance. In order to verify analytical and simulation results with real-world measurements, the need for experimental UWB systems arises. The Institute of Communications Engineering [IANT] has developed a low-cost experimental UWB positioning system to test UWB based positioning concepts. The mobile devices use the avalanche effect of transistors for simple generation of bi-phase pulses and are TDMA multi-user capable. The receiver is implemented in software and employs coherent cross-correlation with peak detection to localize the mobile unit via Time-Difference-Of-Arrival (TDOA) algorithms. Since the power of a proposed UWB system’s signal spread over a very wide bandwidth, the frequencies allocated to multiple existing narrowband systems may interfere with UWB spectrum. The goal of the filters discussed in this project is to cancel or suppress the interference while not distort the desired signal. To investigate the interference, we develop a algorithm to calculate the interference tones. In this thesis, we assume the interference to be narrowband interference (NBI) modeled as sinusoidal tones with unknown amplitude, frequency and phase. If we known the interference tones then it may be removed using a simple notched filter. Herein, we chose an adaptive filter so that it can adjust the interference tone automatically and cancel. In this thesis I tested adaptive filter technique to cancel interference cancellation (ie) LMS algorithm and Adaptive Noise Cancellation (ANC) technique. In this thesis performance of the both filters are compared.
3
Acknowledgement Over the past years I’ve been inspired and encouraged by a lot of people around me. Especially my supervisors, Dr. J. Schroeder and Dr A. Jakobsson – supervisors like you are an inspiration to any student. It has been a great pleasure working with you. I wish to express my deepest gratitude to Dr. J. Schroeder for his unconditional support and guidance. My supervisor generosity and encouragement have not only enabled me to initiate and complete this project, but also enabled me to gain a clear understanding of the project. I am grateful to the staff of the IANT for giving me a place to work and supporting me. I would like to thank Prof. Dr–Ing. K. Kyamakya and Dr. J. Schroeder for their considerable help on many areas during this project. Many sincere thanks to Dr A. Jakobsson who helped me in completing my project report and also in thesis presentation. Finally, I offer my heartfelt thanks to you all at Karlstad University for inviting me into a truly inspiring and relaxed environment. A special thanks to my greatest source of inspiration and encouragement — Mom and Dad. Thank you for everything! Words alone cannot express my gratitude.
4
TABLE OF CONTENTS
CHAPTER 1
1.1 Introduction..…………………………………………………………………..7
1.2 Ultra-Short Pulse Generation Theory..………………………………………..8
1.3 Positioning…………………………………………………………………...11
1.3.1 Direct Calculation Method…………………………………………13
1.3.2 Optimization Based Methods………………………………………15
1.4 Thesis Outline………………………………………………………………..18
CHAPTER 2
2.1 Ultra-Wideband (UWB) Local Positioning System…………………………19
2.2 Narrowband Interference Cancellation………………………………………20
2.3 Filter Design………………………………………………………………….21
2.3.1 Adaptive Noise Canceling (ANC) Filter…………………………...21
CHAPTER 3
3.1 Performance………………………………………………………………….35
3.1.1 Laboratory recorded data…………………………………………..35
3.2 Comparing with other filter methods.………………………….…………….42
CHAPTER 4
4.1 Comparing the Performance of Different Filters…………………………….40
4.2 Comparing the mean, standard deviation error.……………………...……....44
CHAPTER 5
Conclusions………………………………………………………………………48
REFERENCE…………………………………………………………………………….49
APPENDIX………………………………………………………………………………51
5
LIST OF FIGURES Figure 1.1 FCC Definition of UWB..……………………………………………………..7
Figure 1.2 FCC General UWB Emission Limits..………………………………………...8
Figure 1.3 Gaussian Pulse...……………………………………………………………….9
Figure 1.4 Gaussian Pulse First Derivative..………………………………………………9
Figure 1.5 Gaussian Pulse Second Derivative…...………………………………………..9
Figure 1.6 Gaussian Modulated RF Pulse ……………………………………………….10
Figure 1.7 BPAM pulse shapes for ‘1’ and ‘0’ bits……………………………………...11
Figure 1.8 PPM pulse shapes for ‘1’ and ‘0’ bits………………………………………..11
Figure 1.9 Examples of the pulse waveform used for PSM modulation………………...11
Figure 1.10 OOK pulse shapes for ‘1’ and ‘0’ bits..……………………………………..11
Figure 1.11 General Position System…………………………………………………….12 Figure 2.1 Block Diagram of Adaptive Noise Cancellation Filter (ANC)………………21
Figure 2.2 (a) Block diagram of the new model of the adaptive system
(b) Transfer-function….……………………………………………………...23
Figure 2.3 Block Diagram Representation of ANC….………………………………......23
Figure 2.4 Plots of Nβ function for various N….……………………………….............26
Figure 3.1 Coherent Cross-Correlation Receiver………………………………………...32
Figure 3.2 Power spectrum of the interference tones…………..………………………..33
Figure 3.3 (a) Position estimation using ANC Filter series # 1
(b) Position estimation error using ANC Filter.………………………..…….35
Figure 3.4 (a) Position estimation using ANC Filter series # 2
(b) Position estimation error using ANC Filter.…………..………………….36
Figure 3.5 (a) Position estimation using band pass filter with pass bands up to1.1 GHz.
(b) Position estimation error using band pass filter with pass bands
Up to1.1 GHz……………………………………………………………...37
Figure 3.6 (a) Position estimation using LMS Filter
(b) Position estimation error using LMS Filter………………………………39
Figure 4.1 (a) Mean of each measurement of ANC Filter
(b) Standard Deviation of each measurement of ANC Filter………………...40
6
Figure 4.2 (a) Mean of each measurement of band pass filter
(b) Standard Deviation of each measurement of band pass Filter……... ……41
Figure 4.3 (a) Mean of each measurement of LMS Filter1
(b) Standard Deviation of each measurement of LMS Filter…………………42
Figure 4.4 (a) Mean Error of each measurement of ANC Filter
(b) Standard Deviation Error of each measurement of ANC Filter…............43
Figure 4.5 (a) Mean Error of each measurement of band pass Filter
(b) Standard Deviation Error of each measurement of band pass Filter …......44
Figure 4.6 (a) Mean Error of each measurement of LMS Filter
(b) Standard Deviation Error of each measurement of LMS Filter………......45
Table 1…………………………………………………………………………………...46
Table 2…………………………………………………………………………………...47
7
CHAPTER 1 1.1 Introduction The Federal Communications Commission (FCC) approved a First Report and Order allowing the production and operation of unlicensed ultra-wideband (UWB) devices in February 2002 [1]. The report specified application areas and provided corresponding operating frequency ranges and power limitations. The application areas included vehicular radar systems, communications and measurement systems, imaging systems and position applications. Of all the systems mentioned, a position application is the focus of this thesis. What is UWB? The accepted definition of Ultra Wide-Band (UWB) devices proposed by FCC in February 2002 [1], is a signal with fractional bandwidth greater than 0.20 or which occupies more than 500 MHz of the spectrum, i.e.,
Fractional Bandwidth = )(2LH
LH
ffff
+
− (1.1)
where • Hf upper frequencies of the bandwidth
• Lf lower frequencies of the bandwidth
Figure 1.1 below provides an illustration comparing the fractional bandwidth of a narrowband signal and a UWB signal, with cf denoting the signal’s center frequency.
Figure 1.1 FCC Definition of UWB [1]
8
Figure 1.2 demonstrates that a UWB signal’s bandwidth can cover a large range of frequencies. It is therefore important that UWB devices use a low transmit power spectral density in order to not interfere with existing narrowband communications systems. For this reason the FCC has provided a preliminary “conservative” spectral mask for all UWB systems.
Figure 1.2 FCC General UWB Emission Limits [1] 1.2 Ultra-Short Pulse Generation Theory UWB signals may be generated by a great variety of methods. The most popular pulse shape for UWB communication system is the Gaussian pulse or a derivative of the Gaussian pulse due to mathematical convenience and ease of generation. The Gaussian pulse is defined as
)22(2)(
22
1)( σμ
πσ
−= tetp ∞<<∞− t (1.2)
where σ is the standard deviation of the Gaussian pulse in seconds, and μ is the location in time for the midpoint of the Gaussian pulse in seconds, and the pulse width pt is
related to the standard deviation as πσ2=pt . It is also of interest to consider the
derivatives of the Gaussian pulse since most wideband antennas may differentiate the generated pulse (assumed to be Gaussian) with respect to time. Antennas are an extremely important component of a UWB system and a great deal of consideration
9
should be given to this area when designing a UWB system. The first derivative and second derivative of a Gaussian pulse are given by
2)(6
' 32)( kttektp −⎟⎟⎠
⎞⎜⎜⎝
⎛=
π (1.3)
2)(24
12
'' ))(21(329
)( ktektktp −−⎟⎟⎠
⎞⎜⎜⎝
⎛=
π (1.4)
where K is a constant that determines the pulse width and we assumed μ = 0. Figures 1.3 - 1.5 shows as example a Gaussian as well as the first and second derivative of the pulse. The time axis is arbitrary and depends on the values assumed above for k and σ.
Figure 1.3 Gaussian Pulse [2] Figure 1.4 Gaussian Pulse First Derivative [2]
Figure 1.5 Gaussian Pulse Second Derivative [2]
10
The FCC has issued UWB emission limits in the form of a spectral mask for indoor and outdoor systems as shown in figure 1.2 [1]. In the band from 3.1 GHz to 10.6 GHz, UWB can use the FCC Part 15 rules with a peak value of −41 dBm/MHz. The first derivative of the Gaussian pulse does not meet the FCC requirement no matter what value of the pulse width is used. Therefore, a new pulse shape i.e., sinusoid using a second derivative Gaussian pulse is used which satisfies the FCC emission requirements. So we modulate a sinusoid using a second derivative Gaussian pulse, shifting the pulse into the proper frequency range, which is defined as
)2cos(
1
1)(2)(
2
41
22
8 tftp ckt
kf
e
e
k
c
ππ π
−
+
⎟⎠
⎞⎜⎝
⎛= (1.5)
where cf is the center frequency of the RF pulse. Figure 1.6 gives an example of the
resulting RF pulse.
Figure 1.6 Gaussian Modulated RF Pulse [2]
UWB systems are based on impulse radio concepts because impulse radio resolves multipath as well as low implementation complexity [3]. Although numerous modulation techniques are used with impulse-radio based UWB concepts, four common schemes are used (1) Pulse Position Modulation (PPM), (2) On-Off Keying (OOK) Modulation, (3) Pulse Amplitude Modulation (PAM) and (4) Pulse Shape Modulation (PSM). In the case of PPM, time instant 0 represents a bit ‘0’ and a bit ‘1’ is represented by shifting the pulse relative to time by the amount ofδ . In case of PAM, "1" positive pulse is transmitted, whereas a "0" negative pulse is transmitted. In case of PSM, different orthogonal waveforms are used to represent bit ‘0’ and ‘1’. In case of OOK, where a pulse is transmitted to represent a binary “1”, while no pulse is transmitted for a binary “0”. The most popular impulse-radio based UWB concepts used are the PPM with time
11
hopping (TH-PPM) techniques due to their simplicity and flexibility. The modulation techniques are shown in the Figures 1.7-1.10. UWB system with this technique and operating at very low RF power levels have demonstrated good performance for short- and long-range data links, positioning measurements accurate to within a few centimetres, and high-performance through-wall motion sensing radars.
Figure 1.7 BPAM modulation [4] Figure 1.8 PPM modulations [4]
Figure 1.9 PSM modulation [4] Figure 1.10 OOK modulation [4]
12
1.3 Positioning: If the time of arrival of a pulse is known with little uncertainty, then it is possible to estimate the distance traveled by the pulse from the source. It is possible to use triangulation techniques to estimate the position of the source by combining the distance estimates at multiple receivers. For UWB systems with potential bandwidth of 7.5 GHz, the maximum time resolution of a pulse is of the order of 133 ps, so when a pulse arrives, it is possible to know within 133 ps. For modest bandwidth of 500 MHz, the corresponding time resolution is 2 ns, which corresponds to approximately 60 cm. With any UWB signal, it is possible to achieve sub-meter accuracy in positioning. There are many position estimation techniques such as Angle-of-Arrival(AOA), time measurements (Time-of-Arrival (TOA), Time-of-Flight, Time difference of Arrival (TDOA)). Figure 1.11 shows a general positioning system configuration with base stations or sensors and the device to be located. The most common approach to estimate the position is directly solving a set of simultaneous equations based on the TDOA measurements. With three sensors for 2-D (two dimensional) and four sensors for 3-D (three dimensional) positioning exact solutions can be obtained. For an over determined system (with redundant sensors), Taylor series expansion may be used to produce a linearized, least-square solution iteratively to the position estimate. To estimate position we choose direct calculation method and the non-linear optimization algorithm.
Figure 1.11 General Position System [4]
13
1.3.1 Direct Calculation Method:
Methods for calculating the TDOA and mobile position have been reviewed previously [5]. Some methods calculate the two dimensional position and others the three dimensional position depending on the degree of simplicity desired. Here, we examine a set of equations needed to locate the three dimensional position of a mobile. Here, for easy calculations we considered 4 sensors in calculating the TDOA measurements. The essence of the TDOA technique is the equation for the distance between sensor i and the device is [4]
)()()()( 0222 ttczzyyxx iiii −=−+−+− 4,3,2,1=i (1.6)
where (x, y, z) and ( iii zyx ,, ) are the coordinates of the device and the thi sensors, c is
the speed of light, it is the signal TOA at sensor i and 0t is the unknown transmit time at
the device. Here, for simplicity we ignore the difference between the true and the measured TOAs. We need to solve for the three unknowns x, y and z to estimate the position of the device. Squaring the equation (1.6) on both sides we get
20
2222 )()()()( ttczzyyxx iiii −=−+−+− 4,3,2,1=i (1.7)
Subtracting (1.7) for 1=i from (1.7) for 4,3,2=i produces
( )zzyyxxttc
ttcct iiiii
i 11111
10 222)(2
1)(21 −−−
−+−= β 4,3,2=i (1.8)
where
)( 21
21
21
2221
11
11
11
zyxzyx
zzzyyyxxx
iiii
ii
ii
ii
++−++=
−=
−=
−=
β
Defining the TDOA between sensors i and j as
jiij ttt −=Δ
14
Eliminating 0t and solving the equations we get [4]
BAzx += (1.9)
DCzy += (1.10)
GI
GH
GHz −±−= ⎟⎟
⎠
⎞⎜⎜⎝
⎛ 2
22 (1.11)
where
1221
1221baba
cbcbA
−
−=
1221
2112baba
gbgbB
−
−=
1221
2112baba
cacaC
−
−=
1221
1221baba
gagaD
−
−=
1222 +−+= ECAG
))()((2 111 EFzyDCxBAH −−−+−=
221
21
21 )()( FzyDxBI −+−+−=
)(1212121
12
zCyAxtc
E ++Δ
= ))(2(2
12 212121
12
12 β−+Δ
+Δ
= DyBxtc
tcF
211331121 xtxta Δ−Δ= 211441122 xtxta Δ−Δ=
211331121 ytytb Δ−Δ= 211441122 ytytb Δ−Δ=
211331121 ztztc Δ−Δ= 211441122 ztztc Δ−Δ=
)(21
211331123213122
1 ββ tttttcg Δ−Δ+ΔΔΔ=
)(21
211441124214122
2 ββ tttttcg Δ−Δ+ΔΔΔ=
The two estimated z [equation 1.11] values are then substituted in equations (1.9, 1.10) to produce the coordinates x and y. However, there is only one desirable solution. We can
15
dismiss one of the solution if it beyond the monitored area. If both solutions are reasonable and they are very close, we may choose the average as position estimate. Otherwise, an ambiguity occurs. If both solutions are beyond the monitored area, we may add a fifth sensor. Then we have five different combinations, producing five different results.
1.3.2 Optimization Based Methods: Objective Function: The objective function is defined as sum of the squared range errors of all sensors to obtain accurate position estimate, defines as [4]
∑=
=N
ii tzyxftzyxF
1
2 ),,,(21),,,( 00 (1.12)
where • N number of active sensors/base stations • (x,y,z) unknown position coordinates • 0t unknown transmit time
• )()()()(),,,( 0222
0 ttczzyyxxtzyxf iiiii −−−+−+−= where it is the estimated TOA at the ith sensor and c is the speed of light. The
optimization purpose is to minimize this objective function to produce the optimal position estimate. For notational simplicity, we define Ttzyx )(p 0,,,=
TNfff ))p(,),p(),p((f(p) 21 KK=
Then, the objective function becomes
2)p(f21)p( =f (1.13)
Expanding the objective function in the Taylor series at the current point kp and taking
first three terms, we have [4]
kkTkk
Tkkkk spGssgpFspF )(
21)()( ++≈+ (1.14)
16
where ks is the directional vector (or increment vector) to be determined, )( kpG is the
Hessian of the objective function and kg is a vector of the first partial derivatives of the
objective function at kp is [4]
kk pptzyxfg =∇= ),,,( 0
T
kkkk pptf
ppzf
ppyf
ppxf
⎥⎥⎦
⎤
⎢⎢⎣
⎡=∂
∂=∂
∂=∂
∂=∂
∂=
0,,,
Minimizing the equation (1.14) yields kkk gspG −=)( (1.15)
The minimization in which ks is defined by equation (1.15) is Newton’s method [6]. For
minimizing function ks the recurrence relation is [4]
)())(( 11 kkkk pJpGpp s
−−=+ (1.16)
where sJ is the Jacobian matrix of ks i.e.,
⎥⎥⎦
⎤
⎢⎢⎣
⎡=∂
∂=∂
∂=∂
∂=∂
∂=
kkkk pptppzppyppxJ ssss
s0
,,,
Using Newton’s method we have
)(*2 kpfJJ ks = and
)()(*2)(**2)( 2
1pfpfJJpG i
N
ii
Tkkk ∇+= ∑
= (1.17)
where 2∇ denotes the Laplacian.
The calculation of the second order information in the Hessian is avoided, a simplified expression can be approached from equation (1.17) i.e., [4]
)( kTkkk
Tk pfJsJJ −= (1.18)
17
where kJ is the Jacobian matrix of f(P) at kp defined as
⎥⎥⎦
⎤
⎢⎢⎣
⎡=∂
∂=∂
∂=∂
∂=∂
∂=
kkkkk pptf
ppzf
ppyf
ppxfJ
0,,,
This method is called the Gauss-Newton method. When kJ is full rank, we have the
linear least-squares solution
( ) )(1
kTkk
Tkk pfJJJs
−−= (1.19)
When the second-order information in the Hessian is necessary, then we may use Levenberg-Marquardt method [7, 8] i.e.
)()( kTkkk
Tk pfJsIJJ −=+ λ (1.20)
where λ is a non-negative scalar that controls both the magnitude and direction of ks .
One way to find a position estimate from TDOA measurements is the direct solution of a set of pseudo-range equations, discussed in section 1.3.1 and in [9, 10]. Here, we used Bancroft’s algorithm [10] for solving the hyperbolic localization problem. Since the direct solution to hyperbolic positioning has poor performance when the standard deviation of the range errors increases, algorithms from nonlinear optimization theory are more appropriate for position estimation as discussed in section 1.3.2 and in [11, 12]. In the case of TDOA the objective function can be defined as the nonlinear least-square range difference errors of all N base stations [4]
∑ ∑−
= +==
1
1 1
2 )()(N N
ijij
i
xfxF (1.21)
⎟⎟⎠
⎞⎜⎜⎝
⎛−−−−Δ=
∧∧
22
)( jiijij xxxxtcxf (1.22)
where c is speed of light, T
zyxX ⎥⎦⎤
⎢⎣⎡=
∧∧∧∧,, is the position estimate vector [ ]TzyxX ,,= is
the real position vector, [ ] jikkzkykxX Tk ,,,, ∈= is the position vector of the base
18
station k, and ijtΔ the time difference estimate between base station i and j. To find a
position estimate, the objective function is minimized using a steepest descent quasi-Newton algorithm, which has been found to perform best in our scenario. The initial position has been chosen as the geometrical center of the room. 1.4 Thesis Outline The thesis focuses on position applications for UWB systems. Chapter 2 discusses narrowband interference and filter technique to minimize narrowband interference. Chapter 3 provides the comparison of the performance of different filters. Chapter 4 provides the comparison of the statistical properties of different filters. Chapter 5 provides conclusions and the direction of future work.
19
CHAPTER 2 Ultra-Wideband (UWB) for Local Positioning System
2.1 BACKGROUND/MOTIVATION Services like 911 will permit a mobile telephone user to be located within 50 m when a call is placed to the emergency number. In commercial applications, more precise indoor geolocation technology will have the ability to:
• Track the elderly or children who are away from supervision. • Locate portable equipment in hospitals. • Provide information to track prison inmates. • Provide navigation for the blind and other handicapped people. • Provide navigation for police, fire fighters, and soldiers to safely complete rescue
operations inside buildings. • High accuracy, i.e., better than 1m and locations should be in 3 dimensions • Good radio penetration through structures • Tolerance of high levels of reflection
The Global Positioning System (GPS), a space-based radio navigation system already in use for outdoor services [13], does not work well in indoor environments, because the GPS signal is not strong enough to penetrate through most materials and when an object blocks the GPS satellite, the signal is corrupted. Attenuation and multipath reflections of the line-of-sight (LOS) signal (or direct path) by the walls, floors, and ceiling of a building are the main factors preventing typical GPS receivers from functioning indoors. In dangerous or hostile situations, it is important to know each person’s position and physiological status in a building at all times. For example, in a fire or hostage situation, it is vital to determine not only a person’s location in the building but also the physical condition of the person. The indoor environment is usually cluttered with furniture’s, stock (in shops and warehouses), vehicles, and of course people. This clutter obstructs direct signals, and it reflects signal via indirect paths resulting in a longer path and add delay in receiving the signal. Based on this idea, a new technology called “ultra wide band (UWB)”, provides a possible solution to the problems encountered in indoor environments. UWB signals have been shown to be immune to multipath fading [14].
20
In order to verify analytical and simulation results with real-world measurements, the need for experimental UWB systems arises. The Institute of Communications Engineering [IANT] at the University of Hannover has developed a low-cost experimental UWB positioning system. We can find the detailed description of architecture and implementation of a low-cost experimental UWB local positioning system [15]. 2.2 Narrowband Interference Cancellation: There have been several research efforts investigating the impact of a UWB signal on existing systems. In [16], test results examining the effects of UWB signals on many different legacy military systems. The power of a proposed UWB system’s signal spread over a very wide bandwidth. We know a signal with a moderate bandwidth is spread over several gigahertz, so moderate power corresponds to a lower power spectral density. This appears as noise in a receiver. So the UWB transmissions may interfere with some devices. One of the biggest concerns is the impact of UWB on GPS since air traffic relies heavily on this technology. The frequencies allocated to multiple existing narrowband systems may interfere with the UWB spectrum which hence will suffer. In a good system, this interference should be mitigated. This chapter provides some background information on narrowband interference cancellation. The majority of the techniques used for suppressing narrowband interference involve filtering. The goal of any of these filters is to cancel or suppress the interference while not distorting the desired signal. To investigate the interference, we assumed the interference as narrowband interference (NBI) according to [17] modeled as a sum of sinusoidal tones with unknown amplitude, frequency and phase defined as
∑ +==
m
nnnn ttI
1)cos()( φωα (2.1)
where m is the Number of interference tones, ,nα ,nω nφ are the amplitude, frequency, and Phase of the nth sinusoid, respectively.
Our main task is to suppress the interference without loosing the information. If we know the sinusoidal interference, a fixed notch is implemented to eliminate the interference. If the interfering sinusoid drifts slowly in frequency then the fixed notch cannot work. In such situations, we use adaptive filtering. Two examples of applicable adaptive filters are
21
the LMS algorithm or RLS algorithm and other solution is adaptive noise canceling (ANC). 2.3 Filter Design: 2.3.1 Adaptive Noise Canceling (ANC) Filter: We use a fixed notch filter tuned to the frequency of the interference to suppress a sinusoidal interference corrupting an information-bearing signal. If the notch is very narrow and the interfering sinusoid drifts slowly in frequency then the fixed notch cannot work. Clearly, this, calls for an adaptive solution. One such solution is provided by the use of adaptive noise canceling. Figure 2.1 shows the block diagram of a dual-input adaptive noise canceling. The primary input consists of information-bearing signal and sinusoidal interference. The reference input is sinusoidal interference. For the adaptive filter, we may use a transversal filter whose tap weights are adapted by means of the LMS algorithm. The filter uses the reference input to provide (at its output) an estimate of the sinusoidal interference signal contained in the primary input. Thus, by subtracting the adaptive filter output from the primary input, the sinusoidal interference is minimized. In particular, an adaptive noise canceller using LMS algorithm has two important characteristics
• The canceller behaves as an adaptive notch filter. • The notch in the frequency response of the canceller can be made very sharp at
precisely the frequency of the sinusoidal interference by choosing a small enough value for the step-size parameterμ .
Figure 2.1 Block Diagram of Adaptive Noise Cancellation System [18]
Adaptive Filter
∑
Primary Input
kr
Reference Input
kI
ky
+
-
Error Signal
ke
System Output
22
Here, the primary input consist of [19]
)cos( 00 θωα ++= ksr rkk (2.2)
where k
s is information-bearing signal, 0
α is the amplitude of the sinusoidal
interference, rω is the normalized angular frequency, and 0θ is the phase. Similarly, the
reference input consist of )cos( θωα += kI rk (2.3)
where α is the amplitude and θ is the phase of the sinusoidal interference which are allowed to be different from those in the primary input. We describe the tap-weight update by means of the equations [19]
∑−
=−
=1
0
M
iik
Tkk Iwy (2.4)
kkk yre −= (2.5)
ikkkk Ieww −+ += μ1 1,.......,1,0 −= Mi (2.6)
where M is the length of the transversal filter and μ is the step-size. We restructure the block diagram of adaptive noise canceller with different set of inputs and outputs as shown in Figure 2.2. With this new representation, the sinusoidal input
kI , the N weights
of the filter and the weight-updated equation of the LMS algorithm are all lumped together into a single (open-loop) system.
23
Figure 2.2 (a) Block diagram of the new model of the adaptive system
(b) Transfer-function [18]
Figure 2.3 Block Diagram Representation of ANC System [18]
α +1−z
∑
∑
11)(−
=z
zU
1, +kiW ikW iky
ikI
ke
-
ky1
Nky
ky
ke
kr
G(z )
+
24
Figure 2.3 is a block diagram representation of Figure 2.2b. Our task to find G(z). To do so, consider the i th element of an reference input, ,
ikI with arbitrary phase angle ,iθ as
shown in [18]
)cos( irik kTI θωα +=
⎥⎦
⎤⎢⎣
⎡+=
−− ijkTrjijkTrjeeee
θωθωα2
(2.7)
As seen in Figure 2.3, the input k
I is multiplied by the estimation error k
e implying that
the z transform can be written as [18]
{ }⎭⎬⎫
⎩⎨⎧
+⎭⎬⎫
⎩⎨⎧
=−− kTrjijkTrjij
eezeeezeiIez kkkk
ωθωθ αα22
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛=
−− TrjijTrjijzeEezeEe
ωθωθα2
(2.8)
Now taking the z transform to the updated tap-weight equation defined as [18] )()()( ikkii IezzWzzW μ+= (2.9)
Substituting }{ikk
Iez in the equation (2.9) and solving )(zwi we get
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛=
−− TrjijTrjijzeEezeEezUzWi
ωθωθμα )(2
)( (2.10)
where 1
1)(−
=z
zU .
Next taking the z transform to the filter output k
Y defined in equation (2.4), [18]
}{)( ikiki IwzzY =
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+⎟⎟
⎠
⎞⎜⎜⎝
⎛=
−− ijTrjijTrjezeWezeW ii
θωθωα2
25
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛=
−−− TrjTrjijijTrj ezeEeezeUωωθθωμα )(
4
2
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+
−−− TrjTrjijijTrj ezeEeezeUωωθθωμα )(
4
2
⎥⎦
⎤⎢⎣
⎡⎟⎟⎠
⎞⎜⎜⎝
⎛+
−− TrjTrjijijTrj ezeEeezeUωωθθωμα )(
4
2
⎥⎦
⎤⎢⎣
⎡+ ⎟
⎠⎞
⎜⎝⎛ TrjTrjijijTrj ezeEeezeU
ωωθθωμα )(4
2 (2.11)
⎥⎦
⎤⎢⎣
⎡+⎥⎦
⎤⎢⎣
⎡ += ⎟⎠⎞
⎜⎝⎛−− TrjijTrjTrjTrj
zeEezeUzeUzeUzEzYi
ωθωωω μαμα 22)(
4)()()(
4)(
22
⎥⎦
⎤⎢⎣
⎡+ ⎟
⎠⎞
⎜⎝⎛ −− TrjijTrj zeEezeU
ωθωμα 22)(
4
2 (2.12)
∑=
=N
ii zYzY
1)()(
⎥⎦
⎤⎢⎣
⎡ +=−
)()()(4
2 TrjTrjzeUzeUzEN ωωμα
(2.13a)
∑⎥⎦
⎤⎢⎣
⎡+
=
−⎟⎠⎞
⎜⎝⎛ N
i
ijTrjTrj ezeEzeU1
2 22)(
4θωωμα
(2.13b)
∑⎥⎦
⎤⎢⎣
⎡+
=⎟⎠⎞
⎜⎝⎛ −− N
i
ijTrjTrj ezeEzeU1
2 22)(
4θωωμα
The terms (2.13a) represents the time-invariant (TI) component, which is independent of the phase iθ , where as the terms in (2.13b) represents time-varying components which
depend on the phase iθ . Our goal is to have only G(z), so we have to remove the term
26
(2.13b). Since iθ is the arbitrary phase shift of the ith element so [ ]1−−= iTri ωθθ as
shown in [18], i.e.,
),())1(2(2
1NTree
NTrjijN
iωβ
ωθθ −−±±=∑
=
(2.14)
where the function β is defined as )sin()sin(
),(TTN
NTr
rr ω
ωωβ =
This allows (2.13) to be approximated as [18]
4
)()()(4
)(22 μαμα ωω
+⎥⎦
⎤⎢⎣
⎡ +=− TrjTrj
zeUzeUzENzY
[ ]TVNTr ),(ωβ (2.15)
The [ ]TV in the equation (2.15) is eliminated by selecting the )2( rrr fTf πω = values
between 0 and 0.5. One way to get Tfr between 0 and 0.5 is to decrease sampling rate 1/T or increase number of weights N in the adaptive filter. We can see in the figure 2.4,
when Nβ is plotted as a function of )2( rrr fTf πω = , for several values of N, 0≈
Nβ as
long as Tfr is not close to 0 or 0.5.
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-1
0
1
ß/N
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-1
0
1
ß/N
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-0.5
0
0.5
fT
ß/N
N = 10 WEIGHTS
N = 20 WEIGHTS
N = 32 WEIGHTS
Figure 2.4 Plots of Nβ function for various N
27
If we assume that 0≈Nβ , then Y(z) can be approximated with only the time-invariant
component, i.e., [18]
⎥⎦
⎤⎢⎣
⎡ +=−
)()()(4
)(2 TrjTrj
zeUzeUzENzYωωμα
(2.16)
The open-loop transfer function relating y(n) to e(n) is
⎥⎦
⎤⎢⎣
⎡ +==−
)()(4)(
)()(2 TrjTrj
zeUzeUNzEzYzG
ωωμα
where 1
1)(−
=z
zU
⎥⎥⎦
⎤
⎢⎢⎣
⎡
−+
−=
−1
1
1
14
2
TrjTrjzeze
Nωω
μα
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
++−
−+=
−
−
1)(22)(
4
2
TrjTrj
TrjTrj
eezz
eezNωω
ωωμα
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
+−
−=
1)cos(221)cos(
2
2
Trzz
TrzN
ω
ωμα (2.17)
The task is to find, closed-loop feedback system whose transfer function H(z) from kd to
ke is given by [18]
[ ]1)cos(22
1)cos(2
2
1
1)(1
1)()()(
+−
−+
=+
==
Trzz
TrzNzGzD
zEzH
ω
ωμα
⇒
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛+
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
=
−−
+−
41)cos(
41
1)cos(2
222
2
2
)(μα
ωμα
ω
NTz
N
Tzz
r
r
z
zH (2.18)
28
Equation (2.18) represents second-order digital notch filter with a notch at normalized angular frequency rω . The 3-dB bandwidth of the adaptive noise canceller is determined
by considering the two half power points on the unit circle that are 2 times as far from the poles as they are from the zeros. Using this geometric, we find the 3-dB bandwidth is [19]
sradT
NBW2
2μα≈ (2.19)
Therefore, the smaller theμ , the smaller the bandwidth BW is, and the sharper the notch is. Suppose the reference input is a sum of M sinusoids, i.e.,
∑=
+=M
mmmk kTI
1)cos( θωα (2.20)
Then, i th element of a input i -vector, ikI can be written as [18]
∑=
+=M
mimmik kTI
1)cos( θωα where [ ]1−−= iTmmim ωθθ (2.21)
From (2.8)-(2.15), [18]
∑=
⎥⎦
⎤⎢⎣
⎡ +−
=M
m
mmm
TjzeU
TjzeUzENzY
1
2 )()()(4
)(ωω
αμ
[ ]∑
≠
=∑=
−+
M
mn
m
M
n
nmnm TVNT1 1
),2
(4
ωωβ
αμα
[ ]∑=
∑=
++
M
m
M
n
nmnm TVNT1 1
),2
(4
ωωβ
αμα (2.22)
By decreasing T or increasing N, the number of weights in the adaptive filter would make
0/)],2
[( ≈+
NNTnmωω
β and the difference frequencies 0/)],2
[( ≈−
NNTnm ωωβ .
29
When the reference sinusoids are very close to each other then a long filter is used for
good performance. If we assume 0≈Nβ
in (2.22), then Y(z) can be written as [18]
∑=
⎥⎦
⎤⎢⎣
⎡ +−
=M
m
mmm
TjzeU
TjzeUzENzY
1
2 )()()(4
)(ωω
αμ (2.23)
The open-loop transfer function k
y to k
e as shown in [18]
∑=
⎥⎦
⎤⎢⎣
⎡ +−
==M
m
mmm
TjzeU
TjzeUN
zEzYzG
1
2 )()(4)(
)()(ωω
αμ
∑= ⎥
⎥⎦
⎤
⎢⎢⎣
⎡
−+
−−
=M
m mmm Tj
zeTj
ze
N
1
2
1
1
1
14 ωω
αμ
∑= ⎥
⎥
⎦
⎤
⎢⎢
⎣
⎡
+−
−=
M
m m
mm
Tzz
TzN
1 22
1)cos(2
1)cos(4 ω
ωαμ
(2.24)
From the figure 2.3 closed-loop feedback system whose transfer function H(z) from kd to
ke related to open-loop transfer function G(z) from
ky to
ke is given as [18]
∑= ⎥
⎥
⎦
⎤
⎢⎢
⎣
⎡
+−
−+
=+
==M
m m
mm
Tzz
TzNzGzDzEzH
1 22
1)cos(2
1)cos(4
1
1)(1
1)()()(
ω
ωαμ
⇒
( )∑=
+∑=
∑==
−+−
+−
M
mmm
M
mm
M
mm
TzTzz
Tzz
NzH
12
41
1)(2)cos(1)cos(22
1)cos(22
2 ωω
ω
αμ
(2.25)
30
⇒
( )⎭⎬⎫
⎩⎨⎧
⎭⎬⎫
⎩⎨⎧
+∑==
∑=
−+∑=
−∑=
−
−
M
mm
NMM
mTmzm
NM
mTmzzMz
TzMz MzH
M
mm
12
21)cos(22
41)cos(22
)cos(22
1)(αμωαμω
ω
(2.26)
Here, H(z) represents a series of notches, one notch at each reference frequency mω . The
3-dB bandwidth at each mω is [18]
sradTmN
BW2
2μα≈ (2.27)
31
CHAPTER 3 3.1 Performance: The performance of the ANC method is demonstrated in this section using real recorded signals in the laboratory. 3.1.1 Laboratory Recorded Data: Two sets of measurement data recorded using an oscilloscope in a laboratory room at the
IANT are here used to verify the low-cost experimental UWB positioning system
developed by IANT. We can find the detailed description of architecture and
implementation of a low-cost experimental Ultra-Wideband (UWB) local positioning
system in [15]. Because of the indoor environment and the presence of many metallic
objects, the channels were subject to multi-path. However, at all positions of the mobile
device, LOS paths were present. The mobile unit was moved in 5 cm steps along a 3 m
line parallel to the y-axis of the coordinate system on two different heights (referred to as
measurement series # 1 and # 2). In addition, 60 measurements were taken at a single
location on measurement series # 1 for calibrating range offsets due to the not exactly
known cable lengths to the antennas and further system offsets. A nonlinear least square
error approach was taken to calculate the offsets. To calculate the devices position, all
measurement data are transferred from the oscilloscope to the PC. Figure 3.1 shows the
coherent cross-correlation receiver structure implemented in Matlab to calculate the
device position, considering as example channel 1 and channel 2. Before cross-
correlation the collected data from channel 1, ),(1 ns and channel 2, ),(2 ns was filtered.
Time delays are estimated by searching the maximum value of the cross-correlation
between each channels. These estimated time delays and antenna positions ir are fed into
TDOA or TOA algorithms with N=4 base stations to compute the mobile device’s
position.
32
Figure 3.1 Coherent Cross-Correlation Receiver [15] Before the collected data is passed through the filter, first we estimated the interference frequency tones and also the amplitude as given below algorithm Frequency Estimation: We modeled the narrow band interfering signal as sinusoidal tones, we know its spectral shape. So we designed three band-pass filters, i.e., (0 – 600 MHz), (600 – 1600 MHz) and (1600 – 2400 MHz) to estimate the interfering frequency tones. The following simple algorithm was used to estimate the frequencies:
1. Form power spectrum 2. Check if power is greater than threshold (-120) 3. Record Frequency 4. Repeat steps 2-3 until all frequencies above the threshold have been recorded.
Here the threshold is selected depending on the performance of the filter. We used this simple algorithm so that we can have clear view of the interference tones as shown in the Figure 3.2
)(ωH Filter
Time Delay Estimation
∑−
=+
1
0)()( 21
N
kknsks
Cross-Correlation
TDOA
Algorithm
Antenna Positions
)(ωH Filter
12tΔ
13tΔ
14tΔ
23tΔ
24tΔ
34tΔ
)(1 ns
ir
)(2 ns
x̂
Channe2
Channel
33
0 0.5 1 1.5 2 2.5
x 109
-220
-200
-180
-160
-140
-120
-100
-80power spectrum of interference tones
frequency
power in
dB
Figure 3.2 Power spectrum of the interference tones. Amplitude and Phase Estimation: For simplicity, we used the method below for calculating the amplitude and phase of the interfering tone. After estimating the frequencies from the above algorithm, the amplitude and phase are calculated as follows Define interference as [20, 21]
)sin()cos()(1
kkkI nn
m
nnnn ωβωα +∑=
= (3.1)
The matrix form is xI M
Nn
n
n
n
ki
ki
ki
==
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
)(
)(
)(
2
1
LLL (3.2)
where ⎥⎥⎦
⎤
⎢⎢⎣
⎡=α
βx and M is defined as
⎢⎢⎢⎢⎢
⎣
⎡
=
)sin(
)sin()sin(
2
1
Nk
kk
M
ω
ωω
LLL
⎥⎥⎥⎥⎥
⎦
⎤
)cos(
)cos()cos(
2
1
Nk
kk
ω
ωω
LLL (3.3)
where the ω is the estimated frequency. The x can be solved as
rMMx TMT 1−⎟⎠⎞
⎜⎝⎛= (3.4)
34
where r is received signal. After solving x we get
Amplitude 22 αβ +=A and Phase )(arctanβα
φ −= (3.5)
Using this estimated frequency tone and amplitude, the filter coefficients are calculated, according to equation (2.26). The obtained filter coefficients are convolved with each channel )(nsi i 41 KK∈ . Here, the channel 1 filter coefficients are considered to the
remaining channels. After prefiltering, the received filter outputs are cross-correlated between each channels )(nsi i 41 KK∈ and estimating the time delays Δt12, Δt13,
Δt14, Δt23, Δt24 ,Δt34 by searching the maximum value of the cross-correlation between each channels. These estimated time delays and antenna positions ir are fed into TDOA
or TOA algorithms with N=4 base stations to compute the mobile device’s position. Figure 3.3 - 3.4 shows the performance of the ANC filter.
35
Measurement Series #1: ANC filter with sinusoidal reference Figure 3.3 shows the position estimation of measurement series #1 in comparison to the real position of the mobile device.
2 4 6 8 10 12-2
0
2
4
6
8
10
12
Position Estimation Using ANC Filter
Pos
ition
[m]
Measurements
real positionswithout filterANC filter
(a)
0 10 20 30 40 50 600
1
2
3
4
5
6
7
8
9
10
Position Error
Pos
ition
erro
r e<1
> [m]
l
without filterANC filter
(b)
Figure 3.3 (a) Position Estimation using ANC filter. (b) Position Estimation error using ANC filter.
36
Measurement Series #2: ANC filter with sinusoidal reference Figure 3.4 shows the position estimation of measurement series #2 in comparison to the real position of the mobile device.
3 4 5 6 7 8 9 10 11 12 13
0
2
4
6
8
10
Position Estimation Using ANC Filter
Pos
ition
[m]
Measurements
real positionswithout filterANC filter
(a)
0 10 20 30 40 50 60
0
1
2
3
4
5
6
7
Position Error
Pos
ition
erro
r e<1
> [m]
l
without filterANC filter
(b)
Figure 3.4 (a) Position Estimation using ANC filter (b) Position Estimation error using ANC filter.
37
3.2 Comparing with other filter methods: Case 1: Band Pass Filter with pass band up to 1.1 GHz We designed a band-pass filter with pass band frequencies up to 1.1 GHz where we find the maximum interference in this passband. For the bandpass filter, we estimated the mobile device’s position as in the earlier section 3.1.1. Figure 3.5 shows the performance of the band pass filter. As can be seen from the figure, the performance is poor.
-4 -2 0 2 4 6 8 10 12 14
-2
0
2
4
6
8
10
Position Estimation Using bandpass Filter
Pos
ition
[m]
Measurements
real positionswithout filterbandpass filter
(a)
10 20 30 40 50 60
0
2
4
6
8
10
12
14
16
Position Error
Pos
ition
erro
r e<1
> [m
]
l
without filterbandpass filter
(b)
Figure 3.5 (a) Position Estimation using band pass filter with pass bands up to1.1 GHz (b) Position Estimation error using band pass filter with pass bands up to1.1 GHz
38
Case 2: LMS Adaptive Filter The LMS algorithm [21] in which the primary input considered is received signal which consist of information-bearing signal and interference and the reference input which we modeled as sinusoidal interference defined in the equation 3.1. After estimating the frequency tones, amplitude and phase of the interference, we used these estimated values as the reference input )(ti . The reference input )(ti is sampled at a rate 1/T to give the
discrete reference inputk
ikTi =)( . This sequence is then applied to an N -stage tapped
delay line (TDL). The values at the N taps of the TDL at time k constitute the elements of the referenced N -vector
ki . The outputs of the taps are weighted and summed to give
the adaptive filter outputk
Tkkiwy = . The filter output is then subtracted from received
signal and obtaining error signal. The error signal of each channel thus obtained is my desired signal, which is convolved with each channel )(nsi i 41 KK∈ . Then, we
estimated the mobile device’s position as in the earlier section 3.1.1. Here, the step size, μ = 0.005, depending upon the performance of the filter. Figure 3.6 shows the performance of the LMS filter.
39
-5 0 5 10 15 20
-2
0
2
4
6
8
10
12
Position Estimation Using LMS Filter
Pos
ition
[m]
Measurements
real positionswithout filterLMS filter
(a)
10 20 30 40 50 60
0
2
4
6
8
10
12
14
16
18
Position Error
Pos
ition
erro
r e<1
> [m]
l
without filterLMS filter
(b)
Figure 3.6 (a) Position Estimation using LMS filter.
(b) Position Estimation error using LMS filter. From the graph we see that the performance of the filter is poor.
40
CHAPTER 4 4.1 Comparing the Performance of Different Filters: We compared the Statistical properties of the different filters by calculating the mean, standard deviation. Case 1: ANC filter with sinusoidal
0 10 20 30 40 50
-5
-4
-3
-2
-1
0
1
2
3
4
measurements
mea
n
Mean of Each measurements
real positionswithout filterANC filter
(a)
0 10 20 30 40 50 60
0
2
4
6
8
10
12
14
measurements
Sta
ndar
d Dev
iatio
n
Standard deviation of Each measurements
real positionswithout filterANC filter
(b)
Figure 4.1 (a) Mean of each measurement series # 1 (b) Standard Deviation of each measurement series # 1
41
Case 2: Bandpass Filter
10 20 30 40 50 60
-15
-10
-5
0
5
10
measurements
mea
nMean of Each measurements
real positionswithout filterbandpass filter
(a)
10 20 30 40 50 600
5
10
15
20
25
30
measurements
Sta
ndar
d Dev
iatio
n
Standard deviation of Each measurements
real positionswithout filterbandpass filter
(b)
Figure 4.2 (a) Mean of each measurement series # 1 (b) Standard Deviation of each measurement series # 1
42
Case 3: LMS Adaptive Filter
10 20 30 40 50 60
-25
-20
-15
-10
-5
0
5
10
15
20
25
measurements
mea
nMean of Each measurements
real positionswithout filterLMS filter
(a)
10 20 30 40 50 60-20
0
20
40
60
80
100
measurements
Sta
ndar
d Dev
iatio
n
Standard deviation of Each measurements
real positionswithout filterLMS filter
(b)
Figure 4.3 (a) Mean of each measurement series # 1 (b) Standard Deviation of each measurement series # 1
43
4.2 Comparing the mean, standard deviation error of the different filters: Case 4: ANC Filter with sinusoidal
0 10 20 30 40 50 600
2
4
6
8
10
12
Mean error of Each measurements
Mea
n er
ror e
<1> [m
]
l
without filterANC filter
(a)
0 10 20 30 40 50 600
5
10
15
20
25
30
Standard deviation error of Each measurements
Std
Dev
iatio
n er
ror e
<1> [m
]
l
without filterANC filter
(b)
Figure 4.4 (a) Mean error of each measurement series # 1 (b) Standard Deviation error of each measurement series # 1
44
Case 5: Bandpass Filter
0 10 20 30 40 50 600
10
20
30
40
50
60
70
80Mean error of Each measurements
Mea
n er
ror e
<1> [m
]
l
without filterBandPass filter
(a)
0 10 20 30 40 50 600
20
40
60
80
100
120
140
160
180
200Standard deviation error of Each measurements
Std
Dev
iatio
n er
ror e
<1> [m
]
l
without filterBandPass filter
(b) Figure 4.5 (a) Mean error of each measurement series # 1 (b) Standard Deviation error of each measurement series # 1
45
Case 6: LMS Adaptive Filter
10 20 30 40 50 60
0
10
20
30
40
50
60
Mean error of Each measurementsM
ean
erro
r e<1
> [m]
l
without filterLMS filter
(a)
10 20 30 40 50 60
0
20
40
60
80
100
120
Standard deviation error of Each measurements
Std
Dev
iatio
n er
ror e
<1> [m
]
l
without filterLMS filter
(b)
Figure 4.6 (a) Mean error of each measurement series # 1 (b) Standard Deviation error of each measurement series # 1
46
The below table shows the performance metrics of the different filters designed considering the measurement series # 1 and series # 2. From the table 1 and table 2 it is clear that the ANC filter with sinusoidal and noise as reference input has performed well in reducing the narrowband interference. Table 1: Measurement Series # 1
Considering All 60 Measurements
Real
Without Filter
ANC Filter sinusoidal
BandPass
Filter
LMS Filter
Mean
-0.6530 m
-1.1573 m
-1.1233 m
0.1275 m
39.5925 m
Standard
Deviation
0.2585 m
39.7222 m
1.4465 m
39.1153 m
580.8482 m
Root Mean Square
0.1857 m
55.2570 m
2.8714 m
52.8764 m
663.1991 m
47
Table 2: Measurement Series # 2
Considering All 60 Measurements
Real
Without Filter
ANC Filter sinusoidal
BandPass
Filter
LMS Filter
Mean
0.3077 m
-5.1282 m
0.5002 m
-1.0692 m
-105.2997 m
Standard
Deviation
0.3722 m
34.0758 m
2.1023 m
28.8072 m
715.6907 m
Root Mean
Square
0.7360 m
49.4662 m
3.3441 m
42.2128 m
783.7150 m
48
CHAPTER 5 CONCLUSION: In this project different filter, i.e., bandpass filter, LMS adaptive filter and Adaptive Noise Canceling (ANC) filter are discussed to suppress narrowband interference of an UWB signal. Based on the following assumption we compared the LMS adaptive filter, Adaptive Noise Canceling (ANC) filter and band-pass filter (upto-1.1 GHz assuming that there is maximum interference in this pass band according to the Figure 1 in appendix A). As additional performance mean, standard deviation of different filters that are designed in this project are compared. From the simulation results and from the table 1 and table 2, we conclude that the ANC filter when sinusoidal as reference input is considered, achieved satisfactory performance compared to the other filters considered. Since measurements considered in this project are raw measurements without any exploitation of channel characteristics (e.g. intelligent time difference delay estimation), there is potential for improving accuracy by considering post processing techniques (e.g. Kalman filtering on position estimates). As the UWB technology advances, it is possible that the FCC may relax both the transmitted power level and bandwidth restrictions for UWB operation. A potential future application of UWB communications is low power, low data rate distributed sensor communications, similar to the 802.15.4/ZigBee standard. Because the duty cycle of I-UWB pulses is inherently very small, an I-UWB-based extension of the 802.15 standard would help to conserve valuable battery life. Also, the extremely low power spectral density and short time duration of the pulse makes the transmitted signal difficult to detect and intercept, which is a definite advantage for ensuring a secure network. Another potential application for I-UWB signals is the field of medicine. With sufficiently short pulse duration (on the order of 100 picoseconds), an I-UWB radar would be capable of monitoring the movements of internal organs such as the heart or lungs without the need for direct skin contact or constraining the patient in space. Additionally, research is underway that analyzes the backscattered signals from a UWB pulse to detect cancer. Future research activities will include methods for LOS/NLOS distinction and respectively NLOS compensation, multipath detection, and interference cancellation as well as more sophisticated algorithms for time delay and TDOA position estimation and tracking.
49
Reference:
[1] FCC, "Revision of part 15 of the commission's rules regarding ultra-wideband transmission systems," First Report and Order, ET Docket 98-153, FCC 02-48, adopted/released Feb. 14/ Apr. 22 2002 [2] J. Reed, “Introduction to Ultra Wideband Communication Systems”, Prentice Hall, Apr. 5, 2005. [3] M. Z. Win and R. A. Scholtz, “Impulse radio: How it works,” IEEE Commun. Lett., vol. 2, pp. 36–38, Feb. 1998. [4] “UWB: Theory and Applications “ Edited by I. Oppermann, M. Hämäläinen,
J. Iinatti, J. Wiley & Sons, Ltd 2004
[5] A. H. Muqaibel, A. Safaai-Jazi, A. M. Attiya, A. Bayram, and S. M. Riad, “Measurements and Characterization of Indoor Ultra-Wideband Propagation,” IEEE Conference on Ultra-Wideband Systems and Technologies, pp 295–299, Nov. 2003. [6] Nocedal, Jorge & Wright, J. Stephen (1999). Numerical Optimization. Springer- Verlag [7] K. Levenberg,"A Method for the Solution of Certain Problems in Least Squares." Quart. Appl. Math. 2, 164-168, 1944 [8] D. Marquardt,"An Algorithm for Least-Squares Estimation of Nonlinear Parameters." SIAM J. Appl. Math. 11, 431-441, 1963 [9] B. T. Fang, "Simple solutions for hyperbolic and related position fixes”, IEEE Transactions on Aerospace and Electronic Systems, vol. 26, pp.748-753, 1990. [10] S. Bancroft, "An Algebraic Solution of the GPS Equations, "IEEE Transactions on Aerospace and Electronic Systems, vol. AES-21, pp.56-59, 1985. [11] K. Yu and I. Oppermann, "Performance of UWB position estimation based on time-of-arrival measurements," presented at Ultra Wideband Systems, 2004. Joint with Conference on Ultrawideband Systems and Technologies. Joint UWBST & IWUWBS. 2004 International Workshop on, 2004. [12] R. J. Fontana, E. Richley, and J. Barney, "Commercialization of an ultra wide band precision asset location system," IEEE Conference on Ultra Wideband Systems and Technologies, 2003.
50
[13] J. J. Spilker, Jr., “GPS signal structure and performance characteristics” Journal of the Institute of Navigation, vol. 25, no. 2, pp. 121.146, Summer 1978. [14] J.-Y. Lee and R. A. Scholtz, “ Ranging in a dense multipath environment using an UWB radio link”, IEEE Journal on Selected Areas in Communications, vol. 20, no.9, pp. 1677.1683, Dec. 2002. [15] J. Schroeder, G. Stefan, and K. Kyandoghere, "A Low-Cost Experimental Ultra-
Wideband Positioning System", presented at IEEE International Conference on Ultra-Wideband, Zurich, 2005.
[16] A. H. Light, “NETEX Task 1: Measured Effects of Ultrawideband (UWB) Emitters on Existing Narrowband Military Receivers,” IEEE Conference On Ultra-Wideband Systems and Technologies, pp. 10–14, Nov. 2003. [17] M. S. Iacobucci, M. G. Di Benedetto, “Radio Frequency Interference issues in Impulse Radio Multiple Access Communication Systems”, IST Mobile Communication Summit 2001 Proceedings, Pages 741-746 [18] J R. Glover, “Adaptive Noise canceling applied to sinusoidal interference”, vol. ASSP-25, No. 6, Dec. 1977 [19] S. Haykin, Adaptive Filter Theory, 4th ed, Prentice-Hall, 2003. [20] B. Juhel, G. Vezzosi, M. Le Goff, “Radio frequency Interferences Suppression for Noisy Ultra Wide band SAR Measurement”, Ultra-Wideband, Short Pulse Electromagnetic 4, Plenum Publishers, New York, 1999 [21] M. Biagi, A. Buccini, L. Taglione, “Advanced Method for Ultra Wide band Receiver Design”,presented at “Networking with UWB”, Rome 21, Dec. 2001
51
APPENDIX A Throughout the project we considered only measurement series #1 for analysis. The Figure 1 shows the level of the interference when UWB system tested for position estimation implemented at IANT institute. The red line in the Figure 1 shows the interference tones which is to be cancelled for the good estimation of position of device.
Time
Freq
uenc
y
2 4 6 8 10 12 14 16 18
x 10-5
0
0.5
1
1.5
2
2.5x 10
9
Figure 1 Interference level of a UWB system for position estimation
52
APPENDIX B : MATLAB CODE: Laboratory Data: clear all close all clc %%%%%%% Measurement Choise disp(' enter the choice = 1 Defines Measurement1 Considered'); disp(' enter the choice = 2 Defines Measurement2 Considered'); choice = input('enter the choice : '); %%% Filter chiose disp(' enter the choice = ancs '); disp(' enter the choice = bandpass '); disp(' enter the choice = lms '); filtertype = input('enter the choice :' ,'s') % defines the prefilter type postfiltertype = 'badpass'; % defines the postfilter type disp(' enter the number to save 1.ansc, 2.bandpass, 3.lms '); savefiles = input('enter the number : '); %% save files %%%%%%% Take Agilent or Tds Measurements oscitype = 'agilent'; pfad=['C:\AGILENT\messungen\']; %%%%%%% Parameters To Set % c = 299792458; % speed of light sampleRate = 5*10^9; % define sample rate of each channel prolong = 0; % length with which the waveforms are prolonged datatype = 'original'; % take original data for correlation or prestored correlation load([pfad,'pos.mat']); % load positions of antennas %%%%%%% Defines Which Measurements Is Taken For Analysis % switch(choice) case 1 measurements = '050322_tisch1'; case 2 measurements = '050322_tisch2'; otherwise disp('no such measurements available') end
53
%%%%%%% Load Real Time Delay Database % [rtd,rmp]=real_timedelay(pos1,pos2,pos3,pos4,pfad,measurements,1,'load_rmp'); %%%%%%%% TDOA Calculation % %% loop j=1; tic for j=1:60 disp(['-----------------------------------------']) disp( ['Measurement ',num2str(j)]) dateiname = [,measurements,'\',num2str(j)] load([pfad,measurements,'\',num2str(j)]); [corr12,corr13,corr14,corr23,corr24,corr34,corrs]=diffcorr(data1,data2,data3,data4,sampleRate,c,j,prolong,filtertype,datatype); [corr12,corr13,corr14,corr23,corr24,corr34]=postfilter(postfiltertype,corr12,corr13,corr14,corr23,corr24,corr34,prolong); % maximum detection of crosscorrelations [t]=timedelay(corr12,corr13,corr14,corr23,corr24,corr34); corrLen=length(corr12); len_sample=t-(corrLen+1)/2; len(j,1:6)=len_sample*c/sampleRate; len3(j,1:6)=correction(len(j,:)); % Load Real Time Delay Database [rtd]=real_timedelay(pos1,pos2,pos3,pos4,pfad,measurements,j,'get_rtd',rmp); len2(j,7:12)=rtd; % disp(['TDOA of measurement ',num2str(j),':']) disp(' Channels Filter Real ') disp([' 1&2 ',num2str(len3(j,1),'%6.2f'),' m ',num2str(len2(j,7),'%6.2f'),' m']) disp([' 1&3 ',num2str(len3(j,2),'%6.2f'),' m ',num2str(len2(j,8),'%6.2f'),' m']) disp([' 1&4 ',num2str(len3(j,3),'%6.2f'),' m ',num2str(len2(j,9),'%6.2f'),' m']) disp([' 2&3 ',num2str(len3(j,4),'%6.2f'),' m ',num2str(len2(j,10),'%6.2f'),' m']) disp([' 2&4 ',num2str(len3(j,5),'%6.2f'),' m ',num2str(len2(j,11),'%6.2f'),' m']) disp([' 3&4 ',num2str(len3(j,6),'%6.2f'),' m ',num2str(len2(j,12),'%6.2f'),' m']) end %% endprocessing toc clear dateiname nof measurements filtertype c save real len2 if savefiles == 1 save AdaptivefilterANCS_Measurements1 len3 rmp else savefiles == 2 save BandPassFilter_Measurements1 len3 rmp else savefiles == 3 save AdaptivefilterLMS_Measurements2 len3 rmp end
54
Function for Pre- Filtering the data %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [data1,data2,data3,data4]=prefilter(filtertype,data1,data2,data3,data4); % prefilters the data with the filtertype specified % - ANC % - BandPass % - LMS switch lower(filtertype) case 'ancs' %% ANC filter wb=['Performing prefiltering ',filtertype]; h = waitbar(0,wb); disp('* Prefilter method: ANC Filtering ---'); [FREQ1,AMP1,PHA1]=ESTFRE(data1,data2,data3,data4); N = 256; mu = 0.05; SAMP_PERIOD1 = 1/(40*10^9); LENGTH1 = length(FREQ1); for i = 1:LENGTH1-1 V1 = pi*(FREQ1(i+1)+FREQ1(i))*SAMP_PERIOD1; V2 = pi*(FREQ1(i+1)-FREQ1(i))*SAMP_PERIOD1; end for i=1:LENGTH1 ANG_FREQ5 = 2*pi*(FREQ1(i)); COSINE1(i,:) = 2*cos(ANG_FREQ5*SAMP_PERIOD1); CON1(i,:) = AMP1(i)^2; end COSINE_SUM1 = sum(COSINE1); CON_SUM1 = sum(CON1); DEN_Z1 = CON_SUM1*COSINE_SUM1-((N*mu/4)*CON_SUM1*COSINE_SUM1); N_COEFFS1 = [LENGTH1 -(COSINE_SUM1) (LENGTH1)]; D_COEFFS1 = [(LENGTH1) -DEN_Z1 (LENGTH1-(N*mu*CON_SUM1/2))]; NUM_R1 = roots(N_COEFFS1); DEN_R1 = roots(D_COEFFS1); NUM1 = conv([1 -(NUM_R1(1))],[1 -(NUM_R1(2))]); % H(z) numerator DEN1 = conv([1 -(DEN_R1(1))],[1 -(DEN_R1(2))]); % H(z) denominator [res1,pol1,fdth] = residuez(NUM1,DEN1); FILTER_COEFF1 = [1:128]; COEFFS1 = res1(1)*pol1(1).^FILTER_COEFF1 + res1(2)*pol1(2).^FILTER_COEFF1 data1=conv(COEFFS1,data1);waitbar(1/4) data2=conv(COEFFS1,data2);waitbar(2/4)
55
data3=conv(COEFFS1,data3);waitbar(3/4) data4=conv(COEFFS1,data4);waitbar(4/4) close(h); case 'bandpass' %% bandpass filter from 0.0-1.1 GHz wb=['Performing prefiltering ',filtertype]; h = waitbar(0,wb); disp('* Prefilter method: bandpass (0.0-1.1 GHz) ---'); load('Bpfilter1100.mat'); data1=conv(filt_coeffs1,data1);waitbar(1/4) data2=conv(filt_coeffs1,data2);waitbar(2/4) data3=conv(filt_coeffs1,data3);waitbar(3/4) data4=conv(filt_coeffs1,data4);waitbar(4/4) close(h); case 'lms' %% LMS Adaptive filtering wb=['Performing prefiltering ',filtertype]; h = waitbar(0,wb); disp('* Prefilter method: LMS Adaptive Filter ---'); mu = 0.005; [FREQ1,AMP1,PHA1]=ESTFRE(data1,data2,data3,data4); FFT_WINDOW4 = round(length(data1)/length(FREQ1)); for i=1:length(FREQ1) ANG_FREQ = 2*pi*(FREQ1(i)); SAM_FREQ = (FREQ1(i)*12.8); T1 = 1/(SAM_FREQ); TIME = T1*((i-1)*FFT_WINDOW4 + 1:i*FFT_WINDOW4)'; X = AMP1(i)*cos(ANG_FREQ*TIME); if i==1 R1 = X'; else R1=[R1 X']; end end if length(R1) <= length(data1) old1 = [R1';ones(length(data1)-length(R1),1)]; DATA1 = data1; end if length(R1) >= length(data1) old1 = R1(1:length(data1))'; DATA1 = data1; end INT1 = old1; Noise1 = randn(length(old1),1); filt = fir1(31,0.5); TINT1 = filter(filt,1,INT1) ; ha1 = adaptfilt.lms(128,mu); data1 = filter(ha1,TINT1,data1);waitbar(1/4) data2 = filter(ha1,TINT1,data2);waitbar(2/4)
56
data3 = filter(ha1,TINT1,data3);waitbar(3/4) data4 = filter(ha1,TINT1,data4);waitbar(4/4) close(h); otherwise disp('* Wrong or no prefiltermethod defined -->') disp(' No prefilter executed') end Function for Estimating Frequency, Amplitude and Phase of interference signal %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [FREQ1,AMP1,PHA1]=ESTFRE(data1,data2,data3,data4,filter_choice); %%%% Initializing %%%% SAMPLING_FREQ = 5*10^9; % Sampling Frequency mu = 0.009; % Step Size %%% BandPass Filters %%% load('bpfilter1.mat'); DATA1 = conv(filt_coeffs1,data1); DATA2 = conv(filt_coeffs1,data2); DATA3 = conv(filt_coeffs1,data3); DATA4 = conv(filt_coeffs1,data4); load('bpfilter2.mat'); DATA5 = conv(filt_coeffs2,data1); DATA6 = conv(filt_coeffs2,data2); DATA7 = conv(filt_coeffs2,data3); DATA8 = conv(filt_coeffs2,data4); load('bpfilter3.mat'); DAT1 = conv(filt_coeffs3,data1); DAT2 = conv(filt_coeffs3,data2); DAT3 = conv(filt_coeffs3,data3); DAT4 = conv(filt_coeffs3,data4); %%% Estimating Interference Frequencies %%% %% BandPass Filter upto 600 MHz k = 1; DIFF1_DATA1 = diff(DATA1); CORRMTX1_DATA1 = corrmtx(DIFF1_DATA1,0,'autocorrelation'); [P1,f1] = peig(CORRMTX1_DATA1,10,[],SAMPLING_FREQ); EST1_POWER1 = 10*log10(P1); for i = 1:length(P1) if EST1_POWER1(i) > -120 EST1_FREQ1(k,:) = f1(i); k = k+1; end
57
end %%% BandPass Filter 600-1600 MHz k = 1; DIFF2_DATA1 = diff(DATA5); CORRMTX2_DATA1 = corrmtx(DIFF2_DATA1,0,'autocorrelation'); [P5,f5] = peig(CORRMTX2_DATA1,10,[],SAMPLING_FREQ); EST2_POWER1 = 10*log10(P5); for i = 1:length(P5) if EST2_POWER1(i) > -120 EST2_FREQ1(k,:) = f5(i); k = k+1; end end %%% BandPass Filter 1600-2400 MHz k = 1; DIFF3_DATA1 = diff(DAT1); CORRMTX3_DATA1 = corrmtx(DIFF3_DATA1,0,'autocorrelation'); [PO1,fr1] = peig(CORRMTX3_DATA1,10,[],SAMPLING_FREQ); EST3_POWER1 = 10*log10(PO1); for i = 1:length(PO1) if EST3_POWER1(i) > -119 EST3_FREQ1(k,:) = fr1(i); k = k+1; end end %%% Estimated Frequencies %%% EST_FREQ1 = [EST1_FREQ1;EST2_FREQ1;EST3_FREQ1]; FREQ1 = sortrows(EST_FREQ1); %%% Estimating Amplitude and Phase %%% FFT_WINDOW = round(length(data1)/length(FREQ1)); for i=1:length(FREQ1) DATA1_WINDOW1 = data1; SAMPLES1 = 1:length(DATA1_WINDOW1); ANG_FREQ1 = 2*pi*(FREQ1(i)/SAMPLING_FREQ); VALUES1 = [sin(ANG_FREQ1*SAMPLES1);cos(ANG_FREQ1*SAMPLES1)]'; G_VAL1 = inv(VALUES1'*VALUES1)*VALUES1'*DATA1_WINDOW1; AMP1(i,:) = sqrt(G_VAL1(1)^2+G_VAL1(2)^2); PHA1(i,:) = -atan(abs(G_VAL1(1))/G_VAL1(2)); End
58
Function for Position Estimation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all close all clc %%% Load The Estimated Measured Data %%% load Wfilter1 load AdaptivefilterANCS_Measurements1 %load BandPassFilter_Measurements1 %load AdaptivefilterLMS_Measurements1 %%% Load The Estimated Measured Data %%% load pos; % load positions of antennas l=length(len1(:,1)); pos_init= [abs(pos1(1)-pos4(1))/2 abs(pos1(2)-pos2(2))/2 1.3]; % Starting guess [x y z] = middle of coordinate system % Starting guess [x y z] = middle of coordinate system disp('starting iteration ...') for j=1:l disp('--------------------------------------------------------') disp(j) if j==1 pos_meas_iter(j,:)=iter(len1(j,1:6),pos1,pos2,pos3,pos4,pos_init); pos_meas_iter2(j,:)=iter(len3(j,1:6),pos1,pos2,pos3,pos4,pos_init); else pos_meas_iter(j,:)=iter(len1(j,1:6),pos1,pos2,pos3,pos4,pos_init); pos_meas_iter2(j,:)=iter(len3(j,1:6),pos1,pos2,pos3,pos4,pos_init); end end disp('iteration finished.') %%% Plotting %%% err=[]; for j=1:l hold on grid on plot3(rmp(j,1),rmp(j,2),rmp(j,3),'xm'); plot3(pos_meas_iter(j,1),pos_meas_iter(j,2),pos_meas_iter(j,3),'ok'); plot3(pos_meas_iter2(j,1),pos_meas_iter2(j,2),pos_meas_iter2(j,3),'*r'); title('Position Estimation Using ANC Filter') ylabel('Position [m]');xlabel('Measurements'); legend('real positions','without filter','ANC filter',4);
59
err(j,1)=norm(pos_meas_iter(j,:)-rmp(j,:)); err(j,3)=norm(pos_meas_iter2(j,:)-rmp(j,:)); err(j,:) axis auto%([5 6 1 10 1 10]) drawnow end hold off %%% Error of every single measurement %%% figure; plot(err(:,1),'xk');hold on;%axis ([0 l 0 50]) ;hold on; %([0 l 0 4]) plot(err(:,3),'*r');hold off;grid on; title('Position Error') ylabel('Position error e^{<1>}[m]');xlabel('l');legend('without filter','ANC filter',1); Function for compare statistical properties of different filters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all close all clc %%% Load The Estimated Measured Data %%% load Wfilter1 load real load AdaptivefilterANCS_Measurements1 %load BandPassFilter_Measurements1 %load AdaptivefilterLMS_Measurements1 %%% Load The Estimated Measured Data %%% for j=1:60 REALMEAN(j,:) = mean(len2(j,7:12)); WFMEAN(j,:) = mean(len1(j,1:6)); FMEAN(j,:) = mean(len3(j,1:6)); REALSTD(j,:) = std(len2(j,7:12)); WFSTD(j,:) = std(len1(j,1:6)); FSTD(j,:) = std(len3(j,1:6)); REALRMS(j,:) = sqrt(sum(len2(j,7:12).^2)/length(len2(j,7:12))); WFRMS(j,:) = sqrt(sum(len1(j,1:6).^2)/length(len1(j,1:6))); FRMS(j,:) = sqrt(sum(len3(j,1:6).^2)/length(len3(j,1:6))); end
60
%%% Error of every single measurement %%% err=[]; for j=1:60 err1(j,1)=norm(WFMEAN(j)-REALMEAN(j)); err1(j,2)=norm(FMEAN(j)-REALMEAN(j)); err2(j,1)=norm(WFSTD(j)-REALSTD(j)); err2(j,2)=norm(FSTD(j)-REALSTD(j)); end %%% Statistice of all measurement %%% %%%% Mean REALMEAN1 = mean(REALMEAN); WFMEAN1 = mean(WFMEAN); FMEAN1 = mean(FMEAN); %%% Standard Deviation REALSTD1 = std(REALSTD); WFSTD1 = std(WFSTD); FSTD1 = std(FSTD); %%%% RMS REALRMS1 = sqrt(sum(REALRMS.^2)/length(REALRMS)); WFRMS1 = sqrt(sum(WFRMS.^2)/length(WFRMS)); FRMS1 = sqrt(sum(FRMS.^2)/length(FRMS)); %%% Plotting %%% %%% Mean figure; for i = 1:60 hold on grid on plot(REALMEAN,'-m'); plot(WFMEAN,'ob'); plot(FMEAN,'*r'); legend('real positions','without filter','ANC filter',1); title('Mean of Each measurements') xlabel('measurements') ylabel('mean') %drawnow end hold off %%% Standard Deviation figure; for i = 1:60 hold on grid on
61
plot(REALSTD,'-m'); plot(WFSTD,'ob'); plot(FSTD,'*r'); legend('real positions','without filter','ANC filter',1); title('Standard deviation of Each measurements') xlabel('measurements') ylabel('Standard Deviation') %drawnow end hold off %% Mean Error figure; plot(err1(:,1),'ob');axis auto%([0 60 0 4]); hold on; plot(err1(:,2),'*r');hold off;grid on; title('Mean error of Each measurements') ylabel('Mean error e^{<1>}[m]');xlabel('l');legend('without filter','ANC filter',1); %% Standard Deviation Error figure; plot(err2(:,1),'ob');axis auto%([0 60 0 4]); hold on; plot(err2(:,2),'*r');hold off;grid on; title('Standard deviation error of Each measurements') ylabel('Std Deviation error e^{<1>}[m]');xlabel('l');legend('without filter','ANC filter',1); disp(' AllMeasurements REAL WoutFilter Filter ') disp([' MEAN ',num2str(REALMEAN1,'%6.4f'),' m ',num2str(WFMEAN1,'%6.4f'),' m ',num2str(FMEAN1,'%6.4f'),' m']) disp([' STD ',num2str(REALSTD1,'%6.4f'),' m ',num2str(WFSTD1,'%6.4f'),' m ',num2str(FSTD1,'%6.4f'),' m']) disp([' RMS ',num2str(REALRMS1,'%6.4f'),' m ',num2str(WFRMS1,'%6.4f'),' m ',num2str(FRMS1,'%6.4f'),' m'])
62
Function for Maximum Detection peak of cross correlation between channels %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [corr12,corr13,corr14,corr23,corr24,corr34,corrs]=diffcorr(data1,data2,data3,data4,sampleRate,c,j,prolong,filtertype,datatype); %% differential correlation recordLen=length(data1); midde=recordLen+prolong; lower=midde-prolong; % lower border of correlation result upper=midde+prolong; % uppwer border of correlation result %% prolongation of data for correlation %% correlation difference maximal 500 data1long=[data1(recordLen-prolong+1:recordLen);data1;data1(1:prolong)]; data2long=[data2(recordLen-prolong+1:recordLen);data2;data2(1:prolong)]; data3long=[data3(recordLen-prolong+1:recordLen);data3;data3(1:prolong)]; data4long=[data4(recordLen-prolong+1:recordLen);data4;data4(1:prolong)]; %% prefilter [data1long,data2long,data3long,data4long]=prefilter(filtertype,data1long,data2long,data3long,data4long); %% crosscorrelation of all channels switch datatype case 'original' wb=['Performing correlations of measurement no. ',num2str(j)]; h = waitbar(0,wb); waitbar(0); corr12=xcorr(data1long,data2long); % delivers data1long-data2 waitbar(1/6); corr13=xcorr(data1long,data3long); waitbar(2/6); corr14=xcorr(data1long,data4long); waitbar(3/6); corr23=xcorr(data2long,data3long); waitbar(4/6); corr24=xcorr(data2long,data4long); waitbar(5/6); corr34=xcorr(data3long,data4long); waitbar(6/6); close(h); case 'prestored' disp(['Loading correlations of measurement no. ',num2str(j)]); tic dateiname = ['d:\temp\prestored\corrl',num2str(j)] load(dateiname,'corr12','corr13','corr14','corr23','corr24','corr34'); toc otherwise
63
disp('wrong data method') end %% truncation of crosscorrelations ("short") corrs(:,1)=corr12(lower:upper); corrs(:,2)=corr13(lower:upper); corrs(:,3)=corr14(lower:upper); corrs(:,4)=corr23(lower:upper); corrs(:,5)=corr24(lower:upper); corrs(:,6)=corr34(lower:upper); Function for real time delay %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [rtd,rmp]=real_timedelay(pos1,pos2,pos3,pos4,pfad,measurements,nom,method,rmp) % function to determine the real time delay out of the exact positions switch method case 'load_rmp' switch measurements case '050322_tisch1' load([pfad,'rmp_050322tisch1.mat']); rmp=rmp; case '050322_tisch2' load([pfad,'rmp_050322tisch2.mat']); rmp=rmp; otherwise disp('no such measurements available') end rtd=1; case 'get_rtd' rmp_d=rmp(nom,:); % select the appropriate line (no. of measurement) % calculate the distance difference of all channels rtd(1,:)=norm(rmp_d-pos1)-norm(rmp_d-pos2); rtd(2,:)=norm(rmp_d-pos1)-norm(rmp_d-pos3); rtd(3,:)=norm(rmp_d-pos1)-norm(rmp_d-pos4); rtd(4,:)=norm(rmp_d-pos2)-norm(rmp_d-pos3); rtd(5,:)=norm(rmp_d-pos2)-norm(rmp_d-pos4); rtd(6,:)=norm(rmp_d-pos3)-norm(rmp_d-pos4); otherwise disp('no such method') end
64
Function for time delay %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [t]=timedelay(corr12,corr13,corr14,corr23,corr24,corr34); %% maximum detection [m,t(1)]=max(corr12); [m,t(2)]=max(corr13); [m,t(3)]=max(corr14); [m,t(4)]=max(corr23); [m,t(5)]=max(corr24); [m,t(6)]=max(corr34); Function for correction %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [len]=correction(len); % considers the different cable lengths to the antennas % l1, l4 = 10m & l2, l3 = 17m, Ecoflex 10, Verkürzungsfaktor=0,85 l1=10; l4=10; l2=17; l3=17; %% correction due to cable length vkf=0.85; len(1) = len(1)-(l1-l2)/vkf; len(2) = len(2)-(l1-l3)/vkf; len(3) = len(3)-(l1-l4)/vkf; len(4) = len(4)-(l2-l3)/vkf; len(5) = len(5)-(l2-l4)/vkf; len(6) = len(6)-(l3-l4)/vkf; %% correction due to overdet.m (offset determination) len(1) = len(1)+(delta(1)-delta(2)); len(2) = len(2)+(delta(1)-delta(3)); len(3) = len(3)+(delta(1)-delta(4)); len(4) = len(4)+(delta(2)-delta(3)); len(5) = len(5)+(delta(2)-delta(4)); len(6) = len(6)+(delta(3)-delta(4)); Function for iteration %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [mp] = iter(mld,pos1,pos2,pos3,pos4,x0) % Medium-Scale and Large-Scale Algorithms. options.LargeScale='off'; options.Diplay='final'; options.HessUpdate='steepdesc'; % options.MaxIter=10000; options.Diagnostics='off'; options.FunValCheck='on'; options.MaxFunEvals=[];
65
% options.TypicalX=[]; %Typical x values. [mp,fval,exitflag,output] = fminunc(@objfun_tdoa,x0,options); fval %% general exitflag % output.algorithm assignin('base','mp',mp) %% function f = objfun_tdoa(mp) % Nonlinear objective function ld(1,:)=norm(mp-pos1)-norm(mp-pos2); % length differences calculated via the positions ld(2,:)=norm(mp-pos1)-norm(mp-pos3); ld(3,:)=norm(mp-pos1)-norm(mp-pos4); ld(4,:)=norm(mp-pos2)-norm(mp-pos3); ld(5,:)=norm(mp-pos2)-norm(mp-pos4); ld(6,:)=norm(mp-pos3)-norm(mp-pos4); f = sum((mld-ld').^2); % error function to minimize for fminunc end assignin('base','output',output) end Objective minimum Function %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [mp] = iter(mld,pos1,pos2,pos3,pos4,x0) options = optimset('LargeScale','off','Display','off','HessUpdate','dfp','MaxFunEvals',100); [mp,fval,exitflag,output] = fminunc(@objfun_tdoa,x0,options); assignin('base','mp',mp) function f = objfun_tdoa(mp) % Nonlinear objective function % Variable objval shared with objfun and runsharedvalues ld(1,:)=norm(mp-pos1)-norm(mp-pos2); % length differences calculated via the positions ld(2,:)=norm(mp-pos1)-norm(mp-pos3); ld(3,:)=norm(mp-pos1)-norm(mp-pos4); ld(4,:)=norm(mp-pos2)-norm(mp-pos3); ld(5,:)=norm(mp-pos2)-norm(mp-pos4); ld(6,:)=norm(mp-pos3)-norm(mp-pos4); f = sum((mld-ld').^2); % error function to minimize end assignin('base','output',output) end