KR20000007903A - Filter coefficient renewing method and circuit - Google Patents
Filter coefficient renewing method and circuit Download PDFInfo
- Publication number
- KR20000007903A KR20000007903A KR1019980027479A KR19980027479A KR20000007903A KR 20000007903 A KR20000007903 A KR 20000007903A KR 1019980027479 A KR1019980027479 A KR 1019980027479A KR 19980027479 A KR19980027479 A KR 19980027479A KR 20000007903 A KR20000007903 A KR 20000007903A
- Authority
- KR
- South Korea
- Prior art keywords
- value
- error value
- output
- bit
- bits
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0223—Computation saving measures; Accelerating measures
- H03H17/0227—Measures concerning the coefficients
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0294—Variable filters; Programmable filters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Filters That Use Time-Delay Elements (AREA)
Abstract
Description
본 발명은 디지털 통신 기기 및 디지털 TV 등에 사용되는 적응 등화기 필터의 계수 갱신방법 및 회로에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and circuit for updating coefficients of an adaptive equalizer filter used in digital communication equipment, digital TV, and the like.
일반적으로 필터가 사용되는 등화기는 디지털 통신을 할 때 건물이나 산 등의 지형 지물에 의한 신호의 반사파로 왜곡된 채널을 수신기에서 보상하기 위한 장치이다. 이때, 채널 왜곡이 시간에 관계없이 고정된 경우에는 고정된 등화기를 사용할 수 있지만 채널 왜곡이 시간에 따라 변하는 경우에는 등화기의 필터 계수도 그에 따라 변하여야 하는데 이러한 등화기를 적응 등화기(adaptive equalizer)라고 한다.In general, the equalizer in which a filter is used is a device for compensating a channel distorted by a reflected wave of a signal by a feature such as a building or a mountain during digital communication. In this case, if the channel distortion is fixed regardless of time, a fixed equalizer may be used. However, if the channel distortion is changed over time, the filter coefficients of the equalizer should also be changed accordingly. It is called.
도 1은 일반적인 적응 등화기의 구성 블록도로서, 입력 데이터 x(k)를 한 심볼씩 지연시키는 N개의 탭 지연기(11-1∼11-N), 상기 입력 데이터 x(k) 및 상기 탭 지연기(11-1∼11-N)의 각 출력과 오류값 e(k)을 이용하여 계수 갱신을 수행하는 N+1개의 계수 갱신부(12-0∼12-N), 상기 각 계수 갱신부(12-0∼12-N)의 출력을 모두 더하는 가산기(13), 상기 가산기(13)의 출력을 이용하여 오류값 e(k)를 추정하는 판별기(14), 및 상기 판별기(14)로부터 출력되는 오류값 e(k)에 스텝 사이즈를 곱하는 곱셈기(15)로 구성된다. 여기서, 상기 N개의 탭 지연기(11-1∼11-N), N+1개의 계수 갱신부(12-0∼12-N), 및 가산기(13)가 필터에 해당된다.1 is a block diagram illustrating a general adaptive equalizer, in which N tap delayers 11-1 to 11-N delay the input data x (k) by one symbol, and the input data x (k) and the tap. N + 1 coefficient updating units 12-0 to 12-N for performing coefficient updating using each output of the delayers 11-1 to 11-N and the error value e (k), wherein each coefficient updating An adder 13 that adds all of the outputs of the negative portions 12-0 to 12-N, a discriminator 14 which estimates an error value e (k) using the output of the adder 13, and the discriminator ( It consists of a multiplier 15 which multiplies the step size by the error value e (k) output from 14). The N tap delayers 11-1 to 11-N, the N + 1 coefficient update units 12-0 to 12-N, and the adder 13 correspond to filters.
그리고, 상기 계수 갱신부(12-0∼12-N)의 각 구성은 동일하며, 그 중 첫 번째 계수 갱신부(12-0)를 예로 들면, 입력 데이터 x(k)와 오류값 e(k)을 곱하는 곱셈기(01), 상기 곱셈기(01)의 출력을 이전 값에 더하여 저장 및 갱신된 필터 계수 c0(k)로 출력하는 누산기(02), 및 상기 누산기(02)의 출력과 입력 데이터 x(k)를 곱하는 곱셈기(03)로 구성된다.Each of the configurations of the coefficient update units 12-0 to 12-N is the same, and among them, the first coefficient update unit 12-0 is an example, and the input data x (k) and the error value e (k ) output and the input data of the multiplier (01), the multiplier (01), the accumulator (02), and the accumulator (02 to output to the storage and update of filter coefficients c 0 (k) by adding the output of the previous value of) multiplying the It consists of a multiplier 03 which multiplies x (k).
이와 같이 구성된 도 1에서 x(k)는 필터의 입력값이고, x(k-i)은 탭 지연기를 통해 i 심볼 지연된 값이다. 또한, 필터의 i번째 계수값은 ci(k)로서, 누산기에 저장된 값이다.In FIG. 1 configured as described above, x (k) is an input value of the filter, and x (ki) is an i symbol delay value through the tap delay unit. The i-th coefficient value of the filter is c i (k), which is a value stored in the accumulator.
따라서, 필터의 출력 즉, 가산기(13)의 출력
그리고, 최소 평균 제곱 오차(Least Mean Square ; LMS) 알고리즘을 이용한 필터 계수의 갱신식은 다음의 수학식 2와 같이 표현할 수 있다.The update coefficient of the filter coefficient using the least mean square error (LMS) algorithm may be expressed by Equation 2 below.
상기 수학식 2에서 ci(k+1)은 업 데이트된 필터 계수이다. 또한, μ는 스텝 사이즈로서, 설계자가 실험을 통해 가장 적절한 값을 찾아 계산식에 적용시켜주는 고정(default)된 값이며, 2의 승수를 선택하여 시프트 연산을 한다. 즉, 상기 스텝 사이즈 μ는 최적의 계수값으로 수렴하는 정도를 알 수 있는데, 스텝 사이즈 μ가 작은 값이면 수렴 속도는 늦어지지만 최종 계수값은 더 정확해지고, 큰 값이면 최적의 값으로 빨리 수렴하지만 최종 에러 예컨대, 지터가 커진다. 또한, 상기 스텝 사이즈 μ가 너무 큰 값이면 등화기의 탭들은 전혀 수렴하지 않게 된다.In Equation 2, c i (k + 1) is an updated filter coefficient. In addition, μ is a step size, which is a default value that a designer finds the most appropriate value through experiments and applies it to a calculation formula, and selects a multiplier of 2 to perform a shift operation. That is, it can be seen that the step size μ converges to an optimal coefficient value. If the step size μ is a small value, the convergence speed is slow, but the final coefficient value is more accurate. The final error, for example, jitter becomes large. Also, if the step size μ is too large, the taps of the equalizer will not converge at all.
그리고, 상기 수학식 2에서 e(k)는 오류값으로 송신측에서 훈련열 d(k)을 전송할 경우에는 다음의 수학식 3과 같이 계산된다.In Equation 2, when e (k) transmits a training sequence d (k) at the transmitting side as an error value, E (k) is calculated as Equation 3 below.
즉, 훈련열 d(k)이란 수신 시스템에서 어떤 기능을 자동으로 조정할 수 있도록 송신측에서 보내주는 기준 신호로서, 미리 알고 있는 값이다.In other words, the training sequence d (k) is a reference signal transmitted from the transmitting side so that a function can be automatically adjusted in the receiving system, and is a value known in advance.
한편, 훈련열이 없는 경우에는 판별기(14)의 출력
이때, 상기 수학식 2에 상기 수학식 3 또는 수학식 4에서 계산된 오류값 e(k)를 대입하여 필터의 계수를 갱신하기 위해서는 오류값 e(k)과 필터의 입력값을 곱하는 곱셈기가 각 계수 갱신부(12-0∼12-N)에서 필요하다. 첫 번째 계수 갱신부(12-0)를 예로 들면, 상기 곱셈기(01)가 해당된다. 그러나, 상기 곱셈기는 크기가 크고 복잡하므로 필터 계수의 개수가 많으면 적응 등화기 회로에서 차지하는 비중이 커질 뿐 아니라 필터 회로도 복잡해진다.In this case, in order to update the coefficient of the filter by substituting the error value e (k) calculated in Equation 3 or Equation 4 into Equation 2, a multiplier multiplying the error value e (k) by the input value of the filter is used. Required by the coefficient updater 12-0 to 12-N. For example, the multiplier 01 corresponds to the first coefficient updater 12-0. However, since the multiplier is large in size and complex, a large number of filter coefficients increases not only the weight of the adaptive equalizer circuit but also the filter circuit.
따라서, 상기 수학식 2에서 곱셈을 제거하는 방법으로 다음의 수학식 5와 같이 오류값 e(k)의 부호만을 이용하는 방법이 있다.Therefore, as a method of removing the multiplication in Equation 2, there is a method using only the sign of the error value e (k) as shown in Equation 5 below.
여기서,
그러나, 상기 수학식 5의 경우는 곱셈기가 필요없어 회로가 간단해지나 부호만을 사용하므로 매 클럭마다 오류값 e(k)이 바뀔 때 부호는 그대로 유지된 채 데이타만 변하는 경우가 발생하면 이를 모두 적용할 수 없게되어 필터 계수의 수렴 속도가 늦어지고 수렴 후 잡음의 크기가 커지는 단점이 있다.However, in Equation 5, since the circuit is simplified because no multiplier is needed, only the sign is used. When the error value e (k) is changed every clock, only the data is changed while the sign remains the same. It is impossible to do this, which results in a slow convergence speed of the filter coefficients and a large amount of noise after convergence.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 곱셈기 대신에 시프트 연산기를 사용함으로써, 회로 크기를 줄이고 수렴 속도를 빠르게 하면서 수렴 후 잡음의 크기를 줄이는 필터 계수 갱신 방법 및 회로를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a filter coefficient updating method and a circuit for reducing the size of noise after convergence while reducing the circuit size and speeding up convergence by using a shift operator instead of a multiplier. In providing.
도 1은 일반적인 적응 등화기의 구성 블록도1 is a block diagram of a general adaptive equalizer
도 2는 본 발명에 따른 필터 계수 갱신 방법을 나타낸 흐름도2 is a flowchart illustrating a filter coefficient updating method according to the present invention.
도 3은 본 발명에 따른 필터 계수 갱신 회로의 구성 블록도3 is a block diagram of a filter coefficient update circuit according to the present invention;
도 4는 도 3의 시프트 연산기의 상세 블록도4 is a detailed block diagram of the shift operator of FIG.
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
11-1,11-2∼11-N : 탭 지연기 12-0,12-1∼12-N : 계수 갱신부11-1,11-2 to 11-N: Tap delay unit 12-0,12-1 to 12-N: Coefficient update unit
01,03,15 : 곱셈기 02 : 누산기01,03,15: Multiplier 02: Accumulator
13 : 가산기 14 : 판별기13: adder 14: discriminator
31 : 탭 데이터 변환부 32 : 오류값 변환부31: tap data converter 32: error value converter
33 : 멀티플렉서 34 : 시프트 연산기33: multiplexer 34: shift operator
상기와 같은 목적을 달성하기 위한 본 발명에 따른 필터 계수 갱신 방법은, 입력되는 오류값을 2의 승수 중에서 그 절대값이 오류값의 절대값보다 작거나 같은 수중에서 가장 큰 수로 변환하는 제 1 단계와, 상기 제 1 단계의 오류값의 부호가 양수를 나타내면 입력되는 필터탭 값을 상기 제 1 단계에서 출력되는 지수값만큼 좌로 시프트하는 제 2 단계와, 상기 제 1 단계의 오류값의 부호가 음수를 나타내면 입력되는 필터탭값을 절대값이 같고 부호가 반대인 값으로 변환하는 제 3 단계와, 상기 제 3 단계에서 변환된 값을 상기 제 1 단계에서 출력되는 지수값만큼 좌로 시프트하는 제 4 단계와, 상기 제 2 단계 또는 상기 제 4 단계의 시프트 결과를 이전 값에 더한 후 입력되는 필터탭 값과 곱하여 갱신된 필터 계수로 출력하는 제 5 단계를 포함하여 이루어짐을 특징으로 한다.The filter coefficient updating method according to the present invention for achieving the above object, the first step of converting the input error value to the largest number in the number of the absolute value of the multiplier of 2 less than or equal to the absolute value of the error value And a second step of shifting the input filter tap value to the left by an index value output in the first step if the sign of the error value of the first step indicates a positive number, and the sign of the error value of the first step is negative. Denotes a third step of converting the input filter tap value into a value having the same absolute value and the opposite sign, a fourth step of shifting the value converted in the third step to the left by the exponent value output in the first step; And a fifth step of adding the shift result of the second step or the fourth step to a previous filter value and multiplying the input filter tap value to output an updated filter coefficient. It characterized.
본 발명에 따른 필터 계수 갱신 회로는 입력되는 필터탭 값을 절대값이 같고 부호가 반대인 값으로 변환하는 탭 데이터 변환부와, 입력되는 오류값을 2의 승수 중에서 그 절대값이 오류값의 절대값보다 작거나 같은 수중에서 가장 큰 수로 변환하는 오류값 변환부와, 상기 오류값 변환부를 통해 출력되는 오류값의 부호가 양수이면 입력되는 필터탭값을 선택 출력하고, 음수이면 상기 탭 데이타 변환부의 출력 값을 선택 출력하는 선택부와, 상기 오류값 변환부의 지수값만큼 상기 선택부의 출력을 좌로 시프트시키는 시프트 연산기를 포함하여 구성됨을 특징으로 한다.The filter coefficient updating circuit according to the present invention includes a tap data converting unit for converting an input filter tap value into a value having the same absolute value and the opposite sign, and an absolute value of the error value among the multipliers of two. An error value converting unit converting the largest number among the numbers smaller than or equal to a value, and a filter tap value input if the sign of the error value outputted through the error value converting unit is positive, and outputting the tap data converting unit if the number is negative And a shift calculator for shifting the output of the selector to the left by an index value of the error value converter.
상기 탭 데이터 변환부는 입력되는 필터탭 값이 M비트의 2의 보수이면 필터탭 값의 각 비트를 반전한 후 그 값에 같은 비트의 1을 더하여 절대값이 같고 부호가 반대인 값으로 변환함을 특징으로 한다.If the input tap value of the filter tap is 2's complement of M bits, the tap data converter inverts each bit of the filter tap value and adds 1 of the same bit to the value to convert the value to the same absolute value and the opposite sign. It features.
상기 탭 데이터 변환부는 상기 필터탭 값이 -2M-1이면 필터탭 값의 각 비트를 반전하여 절대값이 같고 부호가 반대인 값으로 변환함을 특징으로 한다.The tap data converting unit converts each bit of the filter tap value into a value having the same absolute value and the opposite sign when the filter tap value is -2 M-1 .
상기 시프트 연산기는 상기 오류값이 N비트의 2의 보수이고, 상위 N번째 비트가 0(양수)이면 상기 오류값 변환부에서 출력되는 값의 N-1번째 비트부터 1인지를 검사하여 1이면 상기 선택부의 출력을 N-2비트 좌로 시프트시키고, 0이면 그 다음 N-2번째 비트를 검사하여 1이면 N-3비트 좌로 시프트시키고, 0이면 그 다음 N-3번째 비트를 검사하는 동작을 마지막 비트까지 반복함을 특징으로 한다.The shift operator checks whether the error value is two's complement of N bits, and if the upper Nth bit is 0 (positive), it is 1 from the N-1th bit of the value output from the error value converting unit. Shifts the output of the selector to the left of N-2 bits, checks the next N-2 bits for 0, shifts to the left N-3 bits for 1, and checks the next N-3 bits for 0, the last bit. It is characterized by repeating until.
상기 시프트 연산기는 상기 오류값이 N비트의 2의 보수이고, 상위 N번째 비트가 1(음수)이면 상기 오류값 변환부에서 출력되는 값을 절대값이 같은 양수로 변환한 후 변환된 값의 N-1번째 비트부터 1인지를 검사하여 1이면 상기 선택부의 출력을 N-2비트 좌로 시프트시키고, 0이면 그 다음 N-2번째 비트를 검사하여 1이면 N-3비트 좌로 시프트시키고, 0이면 그 다음 N-3번째 비트를 검사하는 동작을 마지막 비트까지 반복함을 특징으로 한다.If the error value is two's complement of N bits and the upper Nth bit is 1 (negative), the shift value is converted to a positive number having the same absolute value and then N of the converted value. Check if it is 1 from bit -1, and if it is 1, shift the output of the selector to the left of N-2 bits, if it is 0, check the next N-2 bits and if it is 1, shift it to the left of N-3 bits, if it is 0 The operation of checking the next N-3 bits is repeated until the last bit.
상기 시프트 연산기는 시프터를 더 구비하여 상기 오류값 변환부의 출력이 -2N-1이면 상기 선택부의 출력을 N-1번 좌로 시프트 시킴을 특징으로 한다.The shift operator may further include a shifter to shift the output of the selector to the left by N-1 when the error value converter outputs -2 N-1 .
상기 시프트 연산기는 상기 오류값 변환부의 출력이 -2N-1이면 상기 선택부의 출력을 N-2번 좌로 시프트 시킴을 특징으로 한다.The shift calculator shifts the output of the selector to the left by N-2 when the output of the error value converter is -2 N-1 .
상기 시프트 연산기는 0 또는 상기 선택부의 출력을 제어 신호에 의해 선택 출력하는 M+N-2비트 개의 멀티플렉서로 구성되어, 상기 선택부의 출력을 좌로 p비트 시프트하는 경우, 상기 제어 신호에 의해 전체 M+N-2비트 중에서 하위 p-1비트는 0으로 채우고 상위 N-p-1비트는 상기 선택부의 출력의 부호 비트로 채움을 특징으로 한다.The shift operator is composed of 0 or M + N-2 bit multiplexers for selectively outputting the output of the selector by a control signal. When the output of the selector is p-bit shifted leftward, the entire M + is controlled by the control signal. Among the N-2 bits, the lower p-1 bits are filled with zeros, and the upper Np-1 bits are filled with the sign bits of the output of the selector.
이러한 필터 계수 갱신 방법 및 회로에 의해 곱셈기를 제거함으로써, 회로의 크기를 줄일 수 있고 더불어 수렴 속도를 빠르게 하면서 수렴 후 잡음의 크기를 줄일 수 있다.By eliminating the multiplier by the filter coefficient updating method and the circuit, the size of the circuit can be reduced and the amount of noise after convergence can be reduced while increasing the speed of convergence.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 복잡한 곱셈기 대신 시프트 연산기를 사용하기 위해 상기 수학식 2를 다음의 수학식 6과 같이 다시 쓸수 있다.In the present invention, Equation 2 may be rewritten as Equation 6 below to use a shift operator instead of a complex multiplier.
상기 수학식 6에서 함수 f[e(k)]는 2의 승수중에서 그 절대값이 오류값 e(k)의 절대값보다 작거나 같은 수중에서 가장 큰 수이다. 즉, 오류값 e(k)의 절대값이 2P와 2p+1사이의 값이라면
예를 들면 다음의 수학식 7과 같다.For example, Equation 7 below.
f(6) = 22,f (6) = 2 2 ,
f(7) = 22,f (7) = 2 2 ,
f(8) = 23,f (8) = 2 3 ,
f(-9) = -23 f (-9) = -2 3
과 같다.Same as
이때, 2의 승수와의 곱은 시프트 연산이므로 상기 수학식 6을 적용하면 곱셈기 대신에 시프트 연산기만으로 회로를 구성할 수 있다.In this case, since a product of a multiplier of 2 is a shift operation, the equation 6 may be used to configure a circuit using only a shift operator instead of a multiplier.
또한, 상기 수학식 6에서 오류값 e(k)를 스텝 사이즈 μ만큼 시프트한 후 함수
한편, 시프트 연산은 다음과 같이 할 수 있다.On the other hand, the shift operation can be performed as follows.
먼저 수학식 6에서 오류값 e(k)와 필터탭값 x(k-i)가 각각 2의 보수라고 가정하고 예를 들어 설명한다.First, in Equation 6, an error value e (k) and a filter tap value x (k-i) are assumed to be two's complements, respectively.
e(k) = 5이면 상기 수학식 7에서와 같이 f(5) = 22이므로 x(k-i)의 값을 좌로 2비트 시프트하면 된다.If e (k) = 5, f (5) = 2 2 as in Equation 7 above, so that the value of x (ki) is shifted 2 bits to the left.
한편, e(k) = -9이면 상기 수학식 7에서와 같이 f(-9) = -23이므로, 이때에는 x(k-i)의 값을 바로 시프트하지 않는다. 즉, 오류값 e(k)이 (-) 부호이므로, -23을 곱하는 대신에 x(k-i)를 절대값이 같고 부호가 반대인 값 x'(k-i)으로 변환한 다음에 그 값을 3비트 좌로 시프트한다.On the other hand, if e (k) = -9 is f (-9) = -2 3 as in the equation (7), at this time does not shift the value of x (ki) immediately. That is, because the error value e (k) is a minus sign, instead of multiplying by -2 3 , convert x (ki) to a value of the same absolute value and opposite sign x '(ki) and then convert that value to 3 Shift left bit.
이를 일반화하면 도 2의 흐름도와 같다.Generalizing this is the flowchart of FIG. 2.
즉, 오류값 e(k)와 필터탭 값 x(k-i)가 각각 N비트와 M비트의 2의 보수이고, 오류값 e(k)의 절대값이 2P와 2p+1사이의 값이라면 단계 201에서 판별기(14)를 통해 입력되는 오류값 e(k)은 다음의 수학식 8과 같이 함수
여기서,
그리고, 함수
도 3은 상기 동작을 하드웨어로 구현한 것으로서, 필터탭 값 x(k-i)를 절대값이 같고 부호가 반대인 값 x'(k-i)으로 변환하는 탭 데이터 변환부(31), 입력되는 오류값 e(k)을 2의 승수중에서 그 절대값이 오류값 e(k)의 절대값보다 작거나 같은 수 중에서 가장 큰 수로 변환하는 오류값 변환부(32), 상기 오류값 변환부(32)를 통해 출력되는 함수 f[e(k)]의 부호값 sgn[e(k)]이 양수이면 입력되는 필터탭값 x(k-i)을 선택 출력하고, 음수이면 상기 탭 데이터 변환부(31)의 출력 값 x'(k-i)을 선택 출력하는 멀티플렉서(33), 및 상기 오류값 변환부(32)의 지수값만큼 상기 멀티플렉서(33)의 출력을 좌로 시프트시키는 시프트 연산기(34)로 구성된다. 여기서, 미언급된 02, 03은 도 1에서 언급한 누산기와 곱셈기로 종래와 동일한 구조이다.3 is a hardware implementation of the above operation. The tap data converter 31 converts the filter tap value x (ki) into a value x '(ki) having the same absolute value and the opposite sign, and an input error value e. an error value converting unit 32 and an error value converting unit 32 for converting (k) into the largest number among the multipliers of 2 whose absolute value is smaller than or equal to the absolute value of the error value e (k) If the sign value sgn [e (k)] of the output function f [e (k)] is positive, the filter tap value x (ki) to be input is selected and output. If negative, the output value x of the tap data converter 31 is output. A multiplexer 33 for selectively outputting '(ki)', and a shift operator 34 for shifting the output of the multiplexer 33 to the left by an exponent value of the error value converting unit 32. Here, 02 and 03, which are not mentioned, have the same structure as the accumulator and multiplier mentioned in FIG.
이와같이 구성된 본 발명에서 오류값 e(k)를 N비트의 2의 보수라고 하면, 오류값 변환부(32)는 상기 오류값 e(k)를 2의 승수 중에서 그 절대값이 오류값 e(k)의 절대값보다 작거나 같은 수 중에서 가장 큰 수로 변환하여 시프트 연산기(34)로 출력한다. 이의 구체적인 예를 상기 수학식 7에서 보이고 있다.In the present invention configured as described above, when the error value e (k) is N's two's complement, the error value converting unit 32 converts the error value e (k) from the multiplier of two to the error value e (k). Is converted to the largest number less than or equal to the absolute value of) and output to the shift operator 34. A specific example thereof is shown in Equation 7 above.
이때, 상위 N번째 비트는 부호 비트이다. 따라서, 상기 시프트 연산기(34)는 시프트 연산 횟수를 구하기 위해 상기 부호 비트의 값이 0 즉, 양수이면 상기 오류값 변환부(32)의 출력의 N-1번째 비트부터 1인지 검사한다. 1이면 상기 멀티플렉서(33)의 출력을 N-2비트 좌로 시프트하고, 0이면 그 다음 N-2번째 비트를 검사하여 1이면 N-3비트 좌로 시프트하고, 0이면 그 다음 N-3번째 비트를 검사한다.At this time, the upper Nth bit is a sign bit. Therefore, the shift operator 34 checks whether the value of the sign bit is 1 from the N-1 th bit of the output of the error value converting unit 32 when the value of the sign bit is 0, that is, a positive number, to determine the number of shift operations. If it is 1, the output of the multiplexer 33 is shifted N-2 bits left. If it is 0, the next N-2th bit is examined. If it is 1, it is shifted N-3 bits left. If it is 0, the next N-3 bits are shifted. Check it.
이와 같은 동작을 마지막 비트까지 반복한다. 마지막 1번째 비트까지 모두 0이면 오류값 e(k)의 값이 0이므로 시프트 연산기(34)의 출력은 0이다.This operation is repeated to the last bit. If the last 1st bit is all 0, the output of shift operator 34 is 0 since the value of error value e (k) is 0.
예를 들어, N이 5이고, 시프트 연산기(34)로 입력된 함수 f[e(k)] 값이 23즉, '01000'이면 N-1번째 비트가 1이므로 시프트 연산기(34)는 멀티플렉서(33)의 출력을 N-2비트 즉, 3비트 좌로 시프트시킨다.For example, if N is 5 and the value of the function f [e (k)] input to the shift operator 34 is 2 3, that is, '01000', the shift operator 34 is a multiplexer because the N-1 th bit is 1. The output of (33) is shifted N-2 bits, that is, 3 bits left.
한편, N번째 부호비트의 값이 1이면 즉, 음수이면 시프트 연산기(34)는 f[e(k)] 값을 절대값이 같은 양수로 변환한 후 위에서 설명한 동작을 수행하여 시프트 연산 횟수를 구한다. 예를 들어, N이 5이고, 시프트 연산기(34)로 입력된 f[e(k)] 값이 -23즉, '11000'이면 이를 절대값이 같은 양수로 변환한다. 이때, 절대값이 같은 양수로 변환하기 위해서는 먼저 각 비트를 반전한 후 그 값에 같은 비트의 1을 더하여 구할 수 있다. 따라서, '11000'의 각 비트를 반전하면 '00111'이 되고, 여기에 다시 '1'을 더하면 '01000'이 된다. 이때도 상기와 마찬가지로 '01000'은 N-1번째 비트가 1이므로 시프트 연산기(34)는 멀티플렉서(33)의 출력을 N-2비트 즉, 3비트 좌로 시프트시킨다.On the other hand, if the value of the Nth code bit is 1, that is, the shift operator 34 converts f [e (k)] to a positive number with the same absolute value, the shift operation 34 performs the above-described operation to obtain the number of shift operations. . For example, when N is 5 and f [e (k)] input to the shift operator 34 is -2 3, that is, '11000', it is converted into a positive number having the same absolute value. In this case, in order to convert the absolute value to the same positive number, each bit may be inverted first, and then one of the same bits may be added to the value. Therefore, inverting each bit of '11000' results in '00111', and adding '1' again to '01000'. In this case, as described above, since the N-1 th bit is 1, the shift operator 34 shifts the output of the multiplexer 33 to N-2 bits, that is, 3 bits left.
이때 한가지 예외가 있다. 즉, N비트의 2의 보수중에서 가장 큰 음수는 -2N-1이다. 이것을 절대값이 같은 양수로 변환하면 N비트의 2의 보수로 표현할 수 없다. 예를 들어, N이 5이고, 시프트 연산기(34)로 입력된 f[e(k)] 값이 -24즉, '10000'인 경우, 이를 절대값이 같은 양수로 변환하기 위하여 '10000'의 각 비트를 반전하면 '01111'이 되고 여기에 다시 '1'을 더하면 원래 상태인 '10000'이 된다.There is one exception. In other words, the largest negative of N's two's complement is -2 N-1 . If this is converted to a positive number with the same absolute value, it cannot be represented by two's complement of N bits. For example, if N is 5 and the value of f [e (k)] input to the shift operator 34 is -2 4, that is, '10000', '10000' is used to convert the absolute value to the same positive number. Inverting each bit of '01111' adds '1' to the original state '10000'.
따라서, 이러한 경우를 위해 시프트 연산기(34)에 N-1번을 위한 시프터를 하나 더 구비한 후 이러한 경우가 발생하면 시프트 연산기(34)에서 특별히 N-1번 좌로 시프트 연산을 한다.Therefore, if such a case occurs after the shift operator 34 has one more shifter for N-1, the shift operator 34 shifts the shift to the left of N-1 in particular.
만약 이 경우에도 N-2번 시프트 연산을 하도록 하면 N-1번을 위한 별도의 시프터가 필요없으므로 정확도는 약간 떨어지지만 회로가 더욱 간단해진다.Even in this case, shifting N-2 does not require a separate shifter for N-1, which reduces the accuracy slightly but makes the circuit simpler.
한편, 필터탭값 x(k-i)는 멀티플렉서(33)로 바로 입력됨과 동시에 탭 데이터 변환부(31)에도 입력된다. 상기 탭 데이터 변환부(31)는 x(k-i)를 절대값이 같고 부호가 반대인 값 x'(k-i)으로 변환한 후 상기 멀티플렉서(33)로 출력한다.Meanwhile, the filter tap value x (k-i) is directly input to the multiplexer 33 and also to the tap data converter 31. The tap data converter 31 converts x (k-i) to a value x '(k-i) having the same absolute value and the opposite sign and outputs the result to the multiplexer 33.
즉, 상기 탭 데이터 변환부(31)는 x(k-i)가 M비트의 2의 보수이면 x'(k-i)는 먼저 x(k-i)의 각 비트를 반전한 후 그 값에 같은 비트의 1을 더함으로써 구할 수 있다.That is, if x (ki) is two's complement of M bits, the tap data converter 31 inverts each bit of x (ki) first, and then adds one of the same bits to the value. It can be obtained by
이때에도 마찬가지로 한가지 예외가 있는데, M비트 2의 보수중에서 가장 큰 음의 수는 -2M-1이다. 이 값은 절대값이 같고 부호가 반대인 값으로 변환할 때 M비트의 2의 보수로 표현할 수 없다. 따라서, 이 경우에는 예외로 1을 더하지 않는다. 예를 들어, N이 5이고, 필터탭 값 x(k-i)가 '10000'인 경우, 이는 -24과 같으므로, 상기 탭 데이터 변환부(31)는 이를 절대값이 같고 부호가 반대인 값으로 변환하기 위하여 '10000'의 각 비트를 '01111'과 같이 반전만 시키고 '1'을 더하지 않는다.There is one exception as well, with the largest negative number in M 's complement 2 being -2 M-1 . This value cannot be expressed as two's complement of M bits when converted to a value with the same absolute value and the opposite sign. Therefore, in this case, an exception is not added. For example, when N is 5 and the filter tap value x (ki) is '10000', this is equal to -2 4, and thus the tap data converter 31 has the same absolute value and the opposite sign. In order to convert to, each bit of '10000' is inverted like '01111' and '1' is not added.
만약 모든 경우에 1을 더하지 않으면 x'(k-i)는 x(k-i)보다 절대값이 1 작고 부호가 반대인 값이 된다. 이것은 정확도는 조금 떨어지지만 예외 처리가 없어지므로 회로를 더욱 간단히 할 수 있는 방법이다.If you don't add 1 in all cases, then x '(k-i) is one less than x (k-i) and has the opposite sign. This is a simpler way to make the circuit simpler, although it is less accurate but eliminates exceptions.
한편, 상기 멀티플렉서(33)는 오류값 e(k)의 부호 sgn[e(k)]가 양이면 필터탭 값 x(k-i)을 선택하여 시프트 연산기(34)로 출력하고, 음수이면 절대값이 같고 부호가 반대인 값 x'(k-i)을 선택하여 시프트 연산기(34)로 출력한다.On the other hand, the multiplexer 33 selects the filter tap value x (ki) if the sign sgn [e (k)] of the error value e (k) is positive and outputs it to the shift operator 34, and if the negative value is negative, The same and opposite sign x '(ki) is selected and output to the shift operator 34.
상기 시프트 연산기(34)의 동작 원리는 도 3과 같다.The operation principle of the shift operator 34 is as shown in FIG.
먼저 일반적인 M×N 곱셈기의 출력은 M+N비트인데 비해 본 발명의 시프트 연산기의 출력은 M+N-2비트이다. 그 이유는 부호를 나타내기 위한 1비트, 오류값 e(k)로부터의 최대 시프트 횟수는 N-2, x(k-i)중에서 부호를 제외한 나머지가 M-1비트이므로 이를 모두 더하면, M+N-2비트이기 때문이다. 따라서, 시프트 연산기(34)는 도 3과 같이, 0 또는 멀티플렉서(33)의 출력(x(k-i) 또는 x'(k-i))을 제어 신호에 의해 선택 출력하는 M+N-2비트 개의 멀티플렉서로 구성할 수 있다.First, the output of a general M × N multiplier is M + N bits, whereas the output of the shift operator of the present invention is M + N-2 bits. The reason is that 1 bit to represent a sign and the maximum number of shifts from the error value e (k) are M-1 bits in N-2 and x (ki) except for the sign, so adding them together, M + N- This is because it is 2 bits. Accordingly, the shift operator 34 is an M + N-2 bit multiplexer which selectively outputs 0 or the output (x (ki) or x '(ki)) of the multiplexer 33 by a control signal as shown in FIG. Can be configured.
예를 들어, x(k-i) 값을 좌로 p비트 시프트하는 경우, 멀티플렉서 제어 신호에 의해 멀티플렉서를 제어하여 전체 M+N-2비트 중에서 하위 p-1비트는 0으로 채우고 상위 N-p-1비트는 x(k-i)의 부호 비트로 채우면 된다.For example, in the case of shifting the value of x (ki) to the left by p bits, the multiplexer control signal controls the multiplexer so that the lower p-1 bits are filled with 0 and the upper Np-1 bits are x in all M + N-2 bits. It can be filled with the sign bit of (ki).
이상에서와 같이 본 발명에 따른 필터 계수 갱신 방법 및 회로에 의하면, 적응적 등화기, 디지털 필터등에 적용되는 필터의 계수 갱신시 필터탭 값과 오류값을 곱하는 곱셈기를 없애고 대신에 간단한 시프트 연산기를 사용함으로써, 회로의 복잡도를 크게 감소시키는 효과가 있다. 또한, 시프트 연산시 오류값은 2의 승수중에서 그 절대값이 오류값의 절대값보다 작거나 같은 수 중에서 가장 큰 수로 변환하고 오류값의 부호가 음수이면 필터탭값을 절대값이 같고 부호가 반대인 값으로 변환함으로써, 수렴 속도를 빠르게 하고 수렴 후 잡음의 크기를 작게 하는 효과가 있다.As described above, according to the filter coefficient updating method and circuit according to the present invention, a multiplier for multiplying the filter tap value and the error value when the coefficient of the filter applied to the adaptive equalizer, the digital filter, etc. is updated, and a simple shift operator is used instead. This greatly reduces the complexity of the circuit. In the shift operation, the error value is converted into the largest number among two multipliers whose absolute value is less than or equal to the absolute value of the error value. If the sign of the error value is negative, the filter tap value has the same absolute value and the opposite sign. By converting to a value, the convergence speed is increased and the amount of noise after convergence is reduced.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980027479A KR100277948B1 (en) | 1998-07-08 | 1998-07-08 | Filter Coefficient Update Method and Circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980027479A KR100277948B1 (en) | 1998-07-08 | 1998-07-08 | Filter Coefficient Update Method and Circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000007903A true KR20000007903A (en) | 2000-02-07 |
KR100277948B1 KR100277948B1 (en) | 2001-01-15 |
Family
ID=19543472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980027479A KR100277948B1 (en) | 1998-07-08 | 1998-07-08 | Filter Coefficient Update Method and Circuit |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100277948B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040041182A (en) * | 2002-11-08 | 2004-05-17 | 삼성전자주식회사 | Equalizier for single carrier recevier and a method equalizing thereof |
KR100585638B1 (en) * | 1998-12-31 | 2006-09-06 | 엘지전자 주식회사 | Modulator of High Speed Communication System |
WO2008030031A1 (en) * | 2006-09-05 | 2008-03-13 | Sk Telecom Co., Ltd. | Equalizer and equalizing method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100688510B1 (en) | 2004-12-20 | 2007-03-02 | 삼성전자주식회사 | Coefficient update circuit, adaptive equalizer including the same, and coefficient update method of the adaptive equalizer |
-
1998
- 1998-07-08 KR KR1019980027479A patent/KR100277948B1/en not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100585638B1 (en) * | 1998-12-31 | 2006-09-06 | 엘지전자 주식회사 | Modulator of High Speed Communication System |
KR20040041182A (en) * | 2002-11-08 | 2004-05-17 | 삼성전자주식회사 | Equalizier for single carrier recevier and a method equalizing thereof |
WO2008030031A1 (en) * | 2006-09-05 | 2008-03-13 | Sk Telecom Co., Ltd. | Equalizer and equalizing method |
KR100828915B1 (en) * | 2006-09-05 | 2008-05-13 | 에스케이 텔레콤주식회사 | Equalizer and Equalizing Method |
Also Published As
Publication number | Publication date |
---|---|
KR100277948B1 (en) | 2001-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6363112B1 (en) | Parallel processing decision feedback equalizer | |
US5068818A (en) | Hardware implemented moving average processor | |
US5825809A (en) | Digital filter having an energy level detector for selecting a coefficient | |
US5936870A (en) | Arithmetic operating device for digital signal processing and method therefor | |
US5970094A (en) | Adaptive equalizer employing filter input circuit in a circular structure | |
EP1866741B1 (en) | Canonical signed digit multiplier | |
JP2779617B2 (en) | Finite impulse response filter | |
KR20000070020A (en) | Adaptive filter system having mixed fixed point or floating point and block scale floating point operators | |
KR100320213B1 (en) | Real and complex compatible channel equalizer | |
US5987487A (en) | Methods and apparatus for the processing of digital signals | |
KR100277948B1 (en) | Filter Coefficient Update Method and Circuit | |
US11683093B2 (en) | Wavelength dispersion compensation apparatus, optical receiving apparatus, wavelength dispersion compensation method and computer program | |
US20070210942A1 (en) | Hardware Efficient Implementation of Finite Impulse Response Filters With Limited Range Input Signals | |
EP0255285B1 (en) | Word-sliced signal processors | |
US20080225937A1 (en) | Method and system of providing a high speed tomlinson-harashima precoder | |
JP2002505834A (en) | System for changing the dynamic range of coefficients in digital filters | |
US5898731A (en) | Auto-coefficient renewal digital channel equalizer | |
US4931973A (en) | Method of generating updated transversal filter coefficients | |
US6993071B2 (en) | Low-cost high-speed multiplier/accumulator unit for decision feedback equalizers | |
US6944218B2 (en) | Adaptive filter having a small circuit scale with a low power consumption and tap-coefficients updating method of adaptive filter | |
US7400676B2 (en) | Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device | |
US20230353429A1 (en) | Amplitude optimized reflection canceller in parallel channel equalizers | |
KR100214504B1 (en) | Adaptive-type equalizer | |
US8036260B2 (en) | System and method for equalizing an incoming signal | |
KR100252339B1 (en) | The convergence constance conversion circuit in the least men square equalizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050912 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |