KR100324729B1 - Finite impulse response filter - Google Patents
Finite impulse response filter Download PDFInfo
- Publication number
- KR100324729B1 KR100324729B1 KR1019940005248A KR19940005248A KR100324729B1 KR 100324729 B1 KR100324729 B1 KR 100324729B1 KR 1019940005248 A KR1019940005248 A KR 1019940005248A KR 19940005248 A KR19940005248 A KR 19940005248A KR 100324729 B1 KR100324729 B1 KR 100324729B1
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- data
- output
- filters
- memory
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Description
본 발명은 유한 충격 응답 필터(FIR)에 관한 것으로 특히, 입력 데이타와 계수의 곱셈 효과를 가지는 램(RAM)의 정보를 파이프 라인으로 작용하는 대칭 회로에 콘트롤 회로를 부가하여 필터 회로의 각 주요 기능을 용이하게 테스트하도록 한 유한 충격 응답 필터에 관한 것이다.The present invention relates to a finite impact response filter (FIR), in particular, by adding a control circuit to a symmetric circuit acting as a pipeline to the information of the RAM (RAM) having a multiplication effect of the input data and the coefficients, each main function of the filter circuit It relates to a finite impact response filter that facilitates testing.
종래 유한 충격 응답 필터는 제1도에 도시된 바와 같이, 디지탈 입력 데이타가 공통 입력되는 1탭 필터(1-1∼1-N)를 순차적으로 접속하고 상기 각 필터(1-1∼1-N)에 계수( Cn-1, Cn-2,..... C1, C0)를 각기 인가하여 상기 최종단 필터(1-N)에서 필터링된 디지탈 데이타가 출력되도록 구성된 것으로, 상기 각 필터(1-1∼1-N)는 디지탈 입력 데이타와 계수(Ci)를 곱하는 곱셈기(101)와, 이 곱셈기(101)의 출력에 전단 필터의 출력을 합산하는 가산기(102)와, 이 가산기(102)의 출력을 일시 저장하여 다음단 필터의 가산기에 출력하는 레지스터(103)로 구성된다.In the conventional finite shock response filter, as shown in FIG. 1, the one-tap filters 1-1 to 1-N to which digital input data are commonly input are sequentially connected and the respective filters 1-1 to 1-N. ) And the digital data filtered by the final stage filter (1-N) is output by applying coefficients Cn-1, Cn-2, ..., C1, C0, respectively. -1 to 1-N are a multiplier 101 for multiplying the digital input data by the coefficient Ci, an adder 102 for summing the output of the front end filter to the output of the multiplier 101, and the adder 102. And a register 103 for temporarily storing the output of the output and outputting the result to the adder of the next stage filter.
이와같은 종래 기술의 동작 과정을 설명하면 다음과 같다.Referring to the operation of the prior art as follows.
일반적으로 유한 개의 기본적인 대칭 구조를 케스케이드(직결)로 연결한 형태의 FIR 필터의 콘볼루션(convolution)의 합은 다음과 같은 식으로 표시된다.In general, the sum of the convolutions of a FIR filter having a cascade (direct connection) of finite basic symmetric structures is expressed as follows.
여기서, Xn, Xn-1,.... X1은 입력 신호, Yn은 출력 신호, a0, a1,....an-1은 디지탈 필터의 각 차수(order)이다.Here, Xn, Xn-1, ... X1 is an input signal, Yn is an output signal, and a0, a1, ... an-1 are each order of the digital filter.
먼저, 디지탈 입력 데이타가 FIR 필터에 입력될 때 1탭 필터(1-1)는 곱셈기(101)가 입력 데이터에 계수(Cn-1)를 곱셈하면 그 곱셈값이 가산기(102)를 통해 레지스터(103)에 일시 저장되고 l탭 필터(1-2)는 곱셈기(101)가 입력 데이타에 계수( Cn-2)를 곱셈하면 이 곱셈값과 전단 필터인 상기 필터(1-1)의 출력이 가산기(102)에서 합산되어 레지스터(103)에 일시 저장된 후 다음단 필터(1-3)로 출력되어진다.First, when the digital input data is input to the FIR filter, the 1-tap filter 1-1 multiplies the input data by the coefficient Cn-1 by the multiplier 101, and the multiplication value is added through the adder 102. When the multiplier 101 multiplies the input data by the coefficient Cn-2, the multiplier 101 outputs the multiplier and the output of the filter 1-1, which is a front-end filter, is added. The data is summed at 102 and temporarily stored in the register 103 and then output to the next stage filter 1-3.
상기와 동일한 동작이 다음단 필터(1-3∼1-N)를 순차적으로 통해 이루어짐에 따라 최종단 필터인 상기 필터(1-N)에서 필터링된 디지탈 데이타가 출력되어진다.As the same operation is performed sequentially through the following stage filters 1-3 to 1-N, the digital data filtered by the filter 1-N, which is the final stage filter, is output.
그런데, 유한 충격 응답 필터는 디지탈 비디오 신호를 처리하기 위해 대칭(symmetrical) 구조로 구현하며 다음과 같은 식이 일반적으로 적용된다.However, the finite shock response filter is implemented in a symmetrical structure to process a digital video signal, and the following equation is generally applied.
여기서, n은 오드 번호이다.Where n is the odd number.
따라서, 대칭적 구조의 유한 충격 응답 필터는 도1에서 필요로 하는 곱셈기 개수의 1/2 만으로 회로를 구현할 수 있다.Therefore, the symmetric finite impact response filter can implement a circuit with only half of the number of multipliers required in FIG.
그리나, 종래에는 기본 구조의 회로를 케스케이드로 접속한 경우 계수와 입력 데이타의 연산을 연속적으로 수행하여야 하는데, 연산 동작을 제어하지 못하여 연속 연산이 수행되지 못함으로 연산된 데이타를 유용하게 이용할 수 없어 필터의 특성 구현시 한계를 가지는 문제점이 있었다.However, conventionally, when a circuit of a basic structure is connected by cascade, the calculation of coefficients and input data must be performed continuously. Since the operation cannot be controlled and continuous operation cannot be performed, the calculated data cannot be usefully used. There was a problem with the limitation in the implementation of
본 발명은 종래의 문제점을 보완하기 위하여 램(RAM)을 이용하여 대칭형 구조를 구현하고 램의 데이타 입출력 제대를 위한 회로 및 램의 출력 데이타를 온오프시키는 게이트를 부가하여 데이타의 필터링 데이타를 조정함에 의해 필터의 특성을 임의대로 설정할 수 있도록 함과 아물러 확장이 용이하도록 창안한 유한 충격 응답 필터를 제공함을 목적으로 한다.The present invention implements a symmetrical structure by using a RAM to compensate for the conventional problems, and adjusts the filtering data of the data by adding a circuit for RAM input / output of the RAM and a gate for turning the output data of the RAM on and off. It is an object of the present invention to provide a finite shock response filter invented so that the characteristics of the filter can be set arbitrarily and to be easily extended.
본 발명은 상기의 목적을 달성하기 위하여 내부 버스의 디지탈 입력 신호에계수 값을 클하는 곱셈 수단과, 이 곱셈 수단의 출력을 저장하는 메모리 수단과, 이 메모리 수단에 저장된 데이타와 전단 필터에서 산출된 제1 데이타를 합산하는 제1 가산 수단과, 이 제1 가산 수단의 출력을 일시 저장하여 후단 필터에 제1 데이터로 출력하는 제1 레지스터와, 상기 메모리 수단에 저장된 데이타와 전단 필터에서 산출된 제2 데이타를 합산하는 제2 가산 수단과, 이 제2 가산 수단의 출력을 일시 저장하여 후단 필터에 제2 데이터로 출력하는 제2 레지스터로 각기 구성된 다수의 필터를 케스케이드로 연결함을 특징으로 한다.The present invention provides multiplication means for increasing a coefficient value to a digital input signal of an internal bus, a memory means for storing the output of the multiplication means, and data stored in the memory means and a calculated filter in the front end filter. First adding means for summing up the first data, a first register for temporarily storing the output of the first adding means and outputting the first data to the downstream filter, and the data stored in the memory means and the first filter calculated in the preceding filter. A plurality of filters, each of which is composed of a second adding means for summing two data and a second register for temporarily storing the output of the second adding means and outputting the second data to the second filter, are cascaded.
이하, 본 발명의 실시예를 도면에 의해 설명하면 다음과 같다.Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
제2도은 본 발명의 실시예를 보인 회로도로서 이에 도시한 바와 같이, 내부 버스의 디지탈 입력 신호와 계수값을 곱하는 곱셈기(1)와, 이 곱셈기(1)의 출력을 저장하는 메모리(2)와, 이 메모리(2)에 저장된 데이타와 전단 필터에서 산출된 제1 데이타를 합산하는 제1 가산기(3)와, 이 제1 가산기(3)의 출력을 일시 저장하며 후단 필터에 제1 데이터로 출력하는 제1 레지스터(4)와, 상기 메모리(2)에 저장된 데이타와 전단 필터에서 산출된 제2 데이타를 합산하는 제2 가산기(5)와, 이 제2 가산기(5)의 출력을 일시 지장하여 후단 필터에 제2 데이터로 출력하는 제2 레지스터(6)로 구성한다.2 is a circuit diagram showing an embodiment of the present invention, as shown therein, a multiplier 1 for multiplying a digital input signal and a coefficient value of an internal bus, a memory 2 for storing the output of the multiplier 1, A first adder 3 for summing up the data stored in the memory 2 and the first data calculated by the previous filter, and temporarily storing the output of the first adder 3 and outputting the first data to the subsequent filter. A second adder 5 for summing up the first register 4, the data stored in the memory 2 and the second data calculated by the front end filter, and the output of the second adder 5 It consists of the 2nd register 6 which outputs a 2nd data to a post filter.
본 발명의 실시예를 위한 케스케이드 연결 구성은 제4도에 도시한 바와 같이, 디지털 입력 데이터와 각기 계수를 곱하고 그 곱셈간에 전단 필터에서 산출된 제1 데이터를 합산하도록 케스케이드로 연결한 1탭 필터(21∼24)와, 상기 1탭 필터(21∼24)에서의 각각의 합산값에 전단 필터에서 산출된 제2 데이터를 합산하도록 케스케이드로 연결한 1탭 필터(30∼27)와, 선택 신호에 따라 연산 데이터 입력을 선택하여 상기 첫번째 단의 1탭필터(24)에 입력시키는 멀티플렉서(25)와, 선택 신호에 따라 연산 데이터 입력을 선택하여 상기 첫번째 단의 1탭 필터(27)에 입력시키는 멀티플렉서(26)와, 상기 마지막 단의 1탭 필터(21)(30)의 최종 출력 신호를 합산하여 필터링된 데이터를 출력하는 가산기(31)로 구성한다.Cascade connection configuration for an embodiment of the present invention, as shown in FIG. 4, a one-tap filter connected by cascade to multiply the digital input data and the respective coefficients and add the first data calculated by the shear filter between the multiplication ( 21 to 24, the one tap filters 30 to 27 connected by cascade to add the second data calculated by the front end filter to the respective sum values of the one tap filters 21 to 24, and the selection signal. The multiplexer 25 selects and inputs the operation data input to the first tap filter 24 of the first stage, and the multiplexer selects and inputs the operation data input to the first tap filter 27 of the first stage according to the selection signal. And an adder 31 for summing the final output signals of the one-tap filters 21 and 30 of the last stage to output the filtered data.
상기 2개의 1탭 필터(21,30)(22,29)(23,28)(24,27)는 도2의 회로도에 도시된 바와 같이 구성된다. 즉, 1탭 필터(21∼24)는 곱셈기(1), 램(2), 가산기(3), 레지스터(4)를 구비하여 각기 구성되고 1탭 필터(27∼30)는 가산기(5), 레지스터(6)를 구비하며 각기 구성된다.The two one-tap filters 21, 30, 22, 29, 23, 28, 24, 27 are configured as shown in the circuit diagram of FIG. That is, the one-tap filters 21 to 24 are each provided with a multiplier 1, a RAM 2, an adder 3, and a register 4, and the one-tap filters 27 to 30 are each an adder 5, It is provided with a register (6), each configured.
이와같이 구성한 본 발명의 동작 및 작용 효과를 상세히 실명하면 다음과 같다.The operation and the effect of the present invention configured as described above will be described in detail as follows.
1탭 필터(21∼24)는 곱셈기(1)에서 내부 버스를 통해 디지탈 입력 데이타와 계수값을 곱셈하며 그 곱셈값을 메모리(2)에 저장하고 전단 필터에서 산출된 제1 데이타를 상기 메모리(2)에 저장된 데이타와 제1 가산기(3)에서 합산하며 제1 레지스터(4)에 일시 저장하며 전단 필터에서 산출된 제2 데이타를 상기 메모리(2)에 저장된 데이타와 제2 가산기(5)에서 합산하여 제2 레지스터(6)에 일시 저장하게 된다.The single tap filters 21 to 24 multiply the digital input data and the coefficient value through the internal bus in the multiplier 1, store the multiplication value in the memory 2, and store the first data calculated by the front end filter in the memory ( 2) data stored in 2) is temporarily added to the first adder 3 and temporarily stored in the first register 4, and second data calculated by the front end filter is stored in the memory 2 and the second adder 5 The sum is temporarily stored in the second register 6.
상기 메모리(2)는 고유 어드레스를 가진 램(RAM)으로 구성한다.The memory 2 is composed of a RAM having a unique address.
이에 따라, 제1,제2 레지스터(4)(6)에 저장된 필터링된 디지탈 데이타는 후단 필터로 입력되며 상기 후단 필터는 상기 동작과 동일하게 수행하여 필터링된 디지탈 데이타를 그 후단 필터로 출력하게 된다.Accordingly, the filtered digital data stored in the first and second registers 4 and 6 is input to the rear end filter, and the rear end filter performs the same operation as the above operation to output the filtered digital data to the rear end filter. .
본 발명의 다른 실시예는 제3도의 회로도의 도시한 바와 같이, 디지탈 입력 데이타와 계수가 곱셈하여 메모리(2)에 저장하는 곱셈기(1)와, 상기 메모리(2)에 저장된 데이터를 출력 시기를 제어하기 위한 제어부(11)와, 상기 메모리(2)에 저장된 데이터가 적합한 시기에 선택 출력되도록 상기 제어부(11)의 출력을 카운터하여 상기 메모리(2)에 어드레스를 출력하는 어드레스 카운터(12)와, 상기 메모리(2)에 저장된 데이터와 연산 데이터를 합산하는 제1,제2 가산기(3)(5)와, 이 제1,제2 가산기(3)(5)의 합산값을 각기 일시 저장하는 제1,제2 레지스터(4)(6)와, 상기 메모리(2)로부터 상기 제1,제2 가산기(3)(5)로의 데이터 출력 경로를 차단하기 위한 제어게이트(13)(15)와, 상기 제1가산기(3)로부터 상기 제1 레지스터(4)로의 데이터 출력 경로를 차단하기 위한 제어 게이트(14)와, 상기 제어 게이트(13∼15)를 제어하기 위한 제어부(16)로 구성한다.According to another embodiment of the present invention, as shown in the circuit diagram of FIG. 3, a multiplier 1 in which digital input data and coefficients are multiplied and stored in the memory 2, and a timing of outputting data stored in the memory 2 is determined. A control unit 11 for controlling and an address counter 12 for outputting an address to the memory 2 by counting the output of the control unit 11 so as to selectively output the data stored in the memory 2 at a suitable time; And temporarily storing first and second adders 3 and 5 for adding data stored in the memory 2 and arithmetic data, and total values of the first and second adders 3 and 5, respectively. First and second registers (4) and (6), and control gates (13) and (15) to block data output paths from the memory (2) to the first and second adders (3) (5); A control gate 14 for blocking a data output path from the first adder 3 to the first register 4; And a control unit 16 for controlling the control gates 13 to 15.
이와같이 구성한 본 발명의 다른 실시예에 대한 동작을 설명하면 다음과 같다.Operation of another embodiment of the present invention configured as described above is as follows.
곱셈기(1)의 출력이 메모리(2)에 저장되면 제어부(11)의 출력을 입력받은 어드레스 카운터(12)가 카운트 동작을 수행하여 상기 메모리(2)에 저장된 데이터의 출력 시기가 되는지 판단한다.When the output of the multiplier 1 is stored in the memory 2, the address counter 12 receiving the output of the control unit 11 performs a count operation to determine whether the output time of the data stored in the memory 2 is reached.
이 후, 메모리(2)에 저장된 데이터의 출려 시기로 판단되면 어드레스 카운터(12)가 상기 메모리(2)에 어드레스를 출력하여 해당 데이타를 제1,제2 가산기(3)(5)로 출력시키게 된다.After that, when it is determined that the data stored in the memory 2 is released, the address counter 12 outputs the address to the memory 2 to output the data to the first and second adders 3 and 5. do.
이때, 제어부(16)는 제어 게이트(13)(15)를 제어하여 메모리(2)로부터 제1,제2 가산기(3)(5)로의 데이타 출력 경로를 온/오프시키게 된다.At this time, the controller 16 controls the control gates 13 and 15 to turn on / off the data output path from the memory 2 to the first and second adders 3 and 5.
이에 따라, 제1,제2 가산기(3)(5)가 연산 데이타와 메모리(2)로부터의 출력 데이터를 합산하면 그 합산값이 제1,제2 레지스터(4)(6)에 저장하게 된다.Accordingly, when the first and second adders 3 and 5 add operation data and output data from the memory 2, the sum values are stored in the first and second registers 4 and 6. .
이때, 제어부(16)는 제어 게이트(14)를 제어하여 제1 가산기(3)로부터 제1 레지스터(4)로의 데이타 출력 경로를 온/오프시킴으로써 해당 데이타를 선택 또는 비선택할 수 있다.In this case, the controller 16 may select or deselect the corresponding data by controlling the control gate 14 to turn on / off the data output path from the first adder 3 to the first register 4.
이 후, 제1,제2 레지스터(4)(6)의 출력은 후단 필터의 연산 입력 데이타로 출력되어진다.Thereafter, the outputs of the first and second registers 4 and 6 are output as operational input data of the rear filter.
따라서, 후단 필터도 상기와 동일한 동작을 수행하며 디지탈 입력 데이타를 필터링하고 그 필터링된 디지탈 데이타를 그 후단 필터로 출력하게 된다.Accordingly, the rear end filter performs the same operation as described above, and filters the digital input data and outputs the filtered digital data to the rear end filter.
상기와 같은 동작을 동일하게 수행하는 대칭 구조의 1탭 필터(21-24)(27-30)를 제4도에 도시한 바와같이, 케스케어드로 접속하고 아울러 상기 첫번째 단의 1탭필터(24)(27)에 연산 데이터를 입력시키도록 병렬 접속된 멀티플렉서(25)(26)하며 아울러 상기 마지막 단의 1탭 필터(21)(30)의 출력값을 합산하여 최종적으로 필터링된 데이터를 출력하도록 가산기(31)를 구비하여 다단의 유한 충격 응답 필터를 구현하게 된다.As shown in FIG. 4, the one-tap filters 21-24 and 27-30 having a symmetrical structure which perform the same operation as described above are connected by cascaded and the one-tap filter 24 of the first stage. A multiplexer (25) (26) connected in parallel to input arithmetic data into the " 27 ", and an adder for summing the output values of the one-tap filters 21 and 30 of the last stage to output the finally filtered data. 31 is provided to implement a multi-stage finite impact response filter.
이러한 구조의 다단 필터는 확장성을 가짐과 아울러 계수 값을 임의로 선정함에 의해 고역 통과 필터 또는 저역 통과 필터의 원하는 특성을 구현할 수 있을 뿐만 아니라 좌우 대칭으로 같은 계수를 선정하여 연산 처리함으로 고속 연산 처리가 가능하게 된다.This multi-stage filter has the expandability and can implement the desired characteristics of the high pass filter or the low pass filter by arbitrarily selecting coefficient values. It becomes possible.
상기에서 상세히 설명한 바와 같이 본 발명은 램인 메모리를 이용하여 곱셈값을 저자함과 아울러 메모리의 저장 데이타의 출력을 제어 게이트를 통해 출력 제어함으로써 곱셈 결과값 또는 가산 결과값을 시험할 수 있고 프로그램이 가능하도록 하여 임의의 특성을 갖는 필터의 구현이 용이할 뿐만 아니라 저전력 소모 및 고속 연산 처리를 위한 환경에 적합한 효과가 있다.As described in detail above, the present invention can test a multiplication result or an addition result by writing a multiplication value using a RAM, a RAM, and controlling the output of the stored data of the memory through a control gate. In addition, it is easy to implement a filter having arbitrary characteristics, and there is an effect suitable for an environment for low power consumption and high speed arithmetic processing.
제1도는 종래의 유한 충격 응답 필터를 보인 회로도.1 is a circuit diagram showing a conventional finite shock response filter.
제2도는 본 발명의 실시예를 보인 회로도.2 is a circuit diagram showing an embodiment of the present invention.
제3도는 본 발명의 다른 실시예를 보인 회로도.3 is a circuit diagram showing another embodiment of the present invention.
제4도는 본 발명의 실시예에 따른 다단 접속 구성을 보인 예시도.Figure 4 is an exemplary view showing a multi-stage connection configuration according to an embodiment of the present invention.
** 도면의 주요부분에 대한 부호 설명 **** Explanation of symbols on the main parts of the drawing **
1 : 곱셈기 2 : 메모리1: multiplier 2: memory
3,5 : 가산기 4,6 : 레지스터3,5 adder 4,6 register
11,16 : 제어부 12 : 어드레스 카운터11,16 control unit 12 address counter
13-15 : 제어 게이트13-15: control gate
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940005248A KR100324729B1 (en) | 1994-03-16 | 1994-03-16 | Finite impulse response filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940005248A KR100324729B1 (en) | 1994-03-16 | 1994-03-16 | Finite impulse response filter |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100324729B1 true KR100324729B1 (en) | 2002-06-20 |
Family
ID=37478103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940005248A KR100324729B1 (en) | 1994-03-16 | 1994-03-16 | Finite impulse response filter |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100324729B1 (en) |
-
1994
- 1994-03-16 KR KR1019940005248A patent/KR100324729B1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6279021B1 (en) | Digital filters | |
US5262972A (en) | Multichannel digital filter apparatus and method | |
US4766561A (en) | Method and apparatus for implementing multiple filters with shared components | |
US5103416A (en) | Programmable digital filter | |
US5255216A (en) | Reduced hardware look up table multiplier | |
US7046723B2 (en) | Digital filter and method for performing a multiplication based on a look-up table | |
US4947363A (en) | Pipelined processor for implementing the least-mean-squares algorithm | |
US4802111A (en) | Cascadable digital filter processor employing moving coefficients | |
KR940006211B1 (en) | Finite impulse response filter | |
EP0097167A4 (en) | A time multiplexed n-ordered digital filter. | |
EP0285316A2 (en) | Programmable multistage digital filter | |
US5383145A (en) | Digital filter and digital signal processing system | |
EP0988699B1 (en) | Sharing resources in a digital filter | |
EP0197945A1 (en) | A digital signal processor for single cycle multiply/accumulation | |
KR100324729B1 (en) | Finite impulse response filter | |
EP0713291A2 (en) | Signal processing apparatus | |
US5166895A (en) | Input-weighted transversal filter | |
JPH0767063B2 (en) | Digital signal processing circuit | |
JP4295234B2 (en) | FIR type digital filter | |
JPH082015B2 (en) | Digital filter and digital signal processing system | |
KR960008223B1 (en) | Digital filter | |
JPH03211910A (en) | Digital filter | |
SU942247A1 (en) | Digital non-recursive filter | |
JPH0199312A (en) | Arithmetic unit | |
JPH02288675A (en) | Ghost eliminating device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20051201 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |