A method of improving ranging accuracy with the mo

  • Detail

Abstract: in many ranging systems, the key to improve ranging accuracy is to accurately adjust the sending time of the reply frame of the user end. This paper introduces a digital shaping filter bank realized by FPGA, which can greatly shorten the adjustment step of transmission time and effectively improve the ranging accuracy. It has been successfully applied to a ranging system

key words: ranging frame reference time scale sub waveform shaping filter shaping filter bank

in many ranging systems, after receiving the frame signal sent by the base station, the user will send a reply frame to the base station based on the specific position in the frame (called the frame reference time scale). After receiving the reply frame, the base station extracts its frame reference time scale and uses it as the basis for ranging

generally, the system clock accuracy of the client is low (the system clock mentioned in this paper refers to the system clock of the client), so there will be errors in the received frame reference time scale. The error of the frame reference time scale is calculated and estimated at the user end, and then the error is used to adjust the time of sending the reply frame, which can realize accurate ranging. Therefore, the ranging accuracy depends on two factors: the estimation accuracy of frame reference time scale error and the adjustment accuracy of reply transmission time. This paper mainly discusses how to improve the adjustment accuracy of sending time of reply frame. The reply frame is composed of baseband code, so the high speed of transmission time mentioned below refers to the adjustment of baseband code transmission time

the adjustment accuracy of the transmission time is determined by the adjustment step size of the transmission time. In general digital systems, the high-speed step size of the transmission time is not less than the cycle of the system clock. In this paper, a shaped filter bank is designed by using the ep20k300eqc FPGA device of Altera company, which shortens the adjustment step of the transmission time to one fifth of the clock cycle, thereby greatly improving the high-speed accuracy of the transmission time

1 principle of shaping filter bank to adjust transmission time

the design principle of shaping filter bank is shown in Figure 1. The shaping filter bank includes a set of shaping filters. The same transmission baseband code will generate transmission data waveforms with different delays after being filtered by different shaping filters in the shaping filter bank. If the delay of sending data waveform is different, the sending time is also different. That is to say, the same baseband code can generate waveforms at different transmission times after being filtered by different shaping filters. Therefore, taking the ranging error as the selection word and selecting the corresponding shaping filter according to the size of the error, the time of transmitting the baseband code can be indirectly adjusted

2 design shaping filter with FPGA

generally, the system clock frequency is much higher than the rate of baseband code, so interpolation should be carried out between adjacent codes of baseband code before shaping filter. There are many ways of interpolation. The usual interpolation method is to interpolate 0 between adjacent codes of the transmitted baseband code. After the baseband code is inserted into 0, it is convoluted with the impulse response of the low-pass filter, and then sent to the d/a converter to convert it into an analog filter to realize filtering shaping. When designing low-pass filters, in order to get better waveforms, high-order FIR filters are usually used. If the high-order FIR filter is implemented with logic units in FPGA, it will occupy a lot of logic units. For example, when Alte makes the upper pressure plate installed on the screw move up and down with the screw, the FPGA of RA company uses logic units to realize a 50 order FIR filter, which requires 26 multipliers and 50 adders, and takes up more than 1000 logic units. This paper uses ROM in FPGA to design the same FIR filter by looking up the table, which only needs to occupy dozens of logic units. Figure 2 is the design principle diagram of shaping filter. The design includes the part designed in advance with mathematical tool MATLAB and the part implemented in FPGA. Matlab completes the design of data waveform file after shaping filtering. FPGA stores the designed data waveform file, and uses the transmitted baseband code to gate the storage address of the corresponding waveform to complete the filtering molding

first, use matlab to design the data waveform file. Let the baseband code rate of the system be n MHz and the clock frequency of the system be B MHz. The order of FIR filter is (c b)/n (C is an odd number, which can be selected according to the order requirements of the filter). The coefficient of FIR filter equipped with swing frame stops without impact and automatically returns to zero can be designed by MATLAB. Arrange and combine C baseband codes into 2 C cases. For each combination, after interpolation (b/n) -1 0 between adjacent symbols of C baseband codes, it is convoluted with the impulse response of the designed filter. The intermediate b/n data waveform values of the convolution results are the filtering result values of the intermediate baseband code (referred to as the intermediate code) of the C baseband combinations. These b/n data waveform values can be stored in ROM with this combination (C codes) as the base address. Matlab can calculate the filtering result value of the middle code of C baseband codes under all combinations

fpga stores all filter result values in ROM, and the baseband code combination corresponding to each filter result value is used as the storage address of the filter result value. When the system is running, a C-bit shift register is used to store C baseband codes as address strobe ROM, and the filter result value output by ROM is the filter result value of the middle code of C baseband codes. As the baseband code arrives at the shift register in turn, the intermediate codes of the C baseband codes in the shift register are also replaced by the following baseband codes in turn. The ROM output will be the filtering result value of the intermediate codes that arrive in turn, so as to realize the filtering shaping of the baseband code

the data stored in ROM in Figure 2 is the waveform data obtained by designing a shaping filter. In order to distinguish from the storage data of the shaping filter bank below, all the waveform data stored in ROM in Figure 2 are collectively referred to as a sub waveform

3 method of adjusting transmission time with shaped filter bank in FPGA

Figure 3 is the implementation scheme diagram of shaped filter bank. The ROM of the FPGA in the figure stores e sub waveforms, which are called a shaped filter bank. The first sub waveform is the sub waveform designed in Figure 2, which is called the original sub waveform. The subsequent E-1 sub waveform is obtained by shifting the original sub waveform left 1, 2, and E-1 times in 1/e cycle of the clock cycle. If these shifted sub waveforms are obtained, it is the key to design. Because the shift of waveform is reflected in the change of value in MATLAB, and the waveform data with high numerical accuracy can be obtained through matlab calculation, the shift of waveform designed by Matlab can be far less than the clock cycle, so it is easy to use matlab to obtain each sub waveform after the left shift of 1/e cycle of the clock cycle

the shifted sub waveforms are stored in ROM in turn according to the size of the cyclic left shift. Therefore, the delay of a clock cycle is divided into e intervals. Divide the ranging error by the clock cycle to get the remainder R, and calculate which of the e intervals r falls in. Select the sub waveform of the interval, and send the sub waveform to the adjustment step to reduce to 1/e of the clock cycle. In the actual design, the impulse response of FIR filter is shifted to the left by 1/e of the clock cycle in MATLAB, and then convoluted with the baseband code after zero insertion to realize the cyclic left shift of sub waveform. Generally, the filter generated by the system in real time is controlled by the system clock, and the delay will not be less than one clock cycle, so its adjustment accuracy is far inferior to the method of shaping filter banks designed with MATLAB

the method described above is to cycle the sub waveform to the left, and you can also cycle the sub waveform to the right. The reason is the same

4 examples and simulation

Design and Simulation of 4.1 sub waveform

the baseband code rate of the ranging system used in this design is 2MHz, and the system clock frequency is 20MHz. Therefore, 20/=9 zeros are interpolated between adjacent bits of 2MHz baseband code, and then shaping filtering can be realized through FIR filter of (520)/2=50 order (C is selected as 5). Five baseband codes can be arranged into 32 combinations. Fig. 4 is the simulation result of shaping filtering of one baseband code combination 11011. The figure shows the process of convolution between the combined zero interpolation and the impulse response of the shaping filter. It can be seen that the data waveform of the middle 10 points of convolution is exactly the waveform of the signal 0 in the middle of the first five baseband codes after being smoothed by the filter. These 10 point data waveforms are stored in ROM with 11011 as the base address

4.2 design of shaped filter bank

since the clock cycle is 50ns, when the minimum adjustment step size is required to be no more than 10ns, the impulse response of FIR filter is shifted left by 1/5 of the clock cycle in MATLAB, and then convoluted with the baseband code after zero insertion, five sub waveforms can be formed after shifting left by 0, 1, 2, 3, 4 times by 1/5 of the clock cycle. Fig. 5 is a diagram of five sub waveforms generated by the baseband code combined as 11011 in the above manner

Figure 5

it can be seen from the two dotted lines in the center of Figure 5 that the 0 code of the fifth sub waveform after five shifts has a delay of 4/5 clock cycles compared with the 0 code of the original sub waveform. In this way, the step of adjusting the transmission time is reduced to 1/5 of the clock cycle, and the ranging accuracy is greatly improved

assuming that the estimated ranging error is 72ns, if the method of shaping filter is not used, the step size is adjusted to 50ns. After adjusting a clock, an adjustment accuracy error of = for example, the pressure testing machine can only measure 22ns for metal and non-metal materials. After using the shaping filter, the adjusted step size is reduced to 10ns. When sending, send the third data waveform to the d/a converter to convert it into an analog waveform, and then send the analog waveform to reduce the error of adjustment accuracy to 10=2ns. Figure 6 is the error comparison diagram of the adjustment accuracy before and after using the shaping filter bank (assuming that the ranging error estimation follows the Gaussian distribution, the mean value is 25ns, and the standard deviation is 25ns)

according to the data in the figure, the standard deviation of the adjustment error sent according to the force value and your demand is 18.17ns without using the shaped filter bank. After using the shaped filter bank, the standard of transmission adjustment error is 4.42ns, which is 4.42ns/18.7ns=24.33% when the shaped filter bank is not used

The number of ROM occupied by the shaping filter bank is determined by the accuracy of transmission time adjustment, the order of shaping filter, the number of bits of numerical quantization of waveform, and the number of clock sampling points of each baseband code. For the above example, every five baseband code combinations will generate 10 8-bit waveform data, so the length of the stored address is 4 bits, and the storage unit is bytes. There are 32 combinations of five baseband codes, so the address length of a sub waveform is 4+5=9 bits. When the adjustment step is 1/5 of the clock, it should be added as 4+5=9 bits. Under the requirement that the adjustment step is 1/5 of the clock, an additional 3-bit base address should be added to store five sub waveforms. Therefore, the total number of ROMs consumed by the whole shaping filter bank is 2 (4+5+3) 8=32768 bits

in addition to the digital circuit, many systems also use the analog circuit to adjust the transmission time: the baseband code is sent through the analog trigger circuit, and the ranging error is controlled by the analog transmission circuit. In theory, this method has a smaller step size to adjust the transmission time, but compared with digital circuits, it is easy to be affected by temperature, noise and other factors, and its reliability is much worse. The method proposed in this paper is realized by digital method, which has incomparable advantages in stability and reliability

the shaping filter designed in this paper makes full use of the remaining ROM resources in the hardware and occupies a few logic units. The shaping filter composed of the shaping filter

Copyright © 2011 JIN SHI