https://ieeexplore.ieee.org/abstract/document/7033995
Abstract
FIR filters are used in every aspect of present-day technology because filtering is one of the basic tools of information acquisition and manipulation. Different types of digital FIR filters are implemented on external signal by using VERILOG HDL language over FPGA.
* [FIR fiter(Finite Impulse Response)]
: 신호처리에서 FIR 필터는 임펄스 응답 (또는 유한 길이 입력에 대한 응답)이 유한 시간 내에 0으로 고정되므로 지속 시간이 유한한 필터
- FIR 필터는 입력에 대한 응답이 유한한 시간 동안에만 존재
- FIR 필터는 입력과 필터 계수들을 선형적으로 조합하여 출력을 생성하는 선형 시스템

*[Impulse Response, 임펄스 응답]
: 선형 시스템에 단위 임펄스 함수 (δ(t)) 를 입력으로 가했을 때의 출력(응답)
Introduction
Model based design approach is utilized in this project by using MATLAB and Simulink.
System Level Description
The top level block diagram shown in figure-1 comprises of central cyclone-II FPGA interfaced with peripherals. Here the peripherals are on board audio codec WM-8731, function generator and oscilloscope. This is a basic set-up required for any type of signal processing on FPGA, be it an electrical signal or biomedical signal.
(function generator (함수 발생기)는 주파수, 진폭, 위상 등을 조절하여 다양한 형태의 신호를 생성하는 장치이며, 여러 가지 종류의 신호를 필요한 형태로 생성할 수 있음. ultrasonic meter 같은 응용분야에서도 이러한 function generator를 사용해 초음파 신호를 생성한다고 함. 즉 ultrasonic meter 내부에 function generator는 일반적으로 tx generater(송신기) 역할을 수행함)

여기서 외부 사인파는 함수 발생기를 사용하여 생성되어 ADC에 제공됩니다.
Data coming from ADC are stored in serial in parallel out shift register. (직렬 및 병렬 출력 shift register에 저장됨)
MUX1은 스위치(17)에 의해 제어되는 SIPO(Serial In Parallel Out) 레지스터에 연결됩니다. SIPO의 동일한 출력은 다른 유형의 기본 FIR 필터를 통과합니다. 기본 FIR 필터의 출력은 다시 MUX2의 입력이 됩니다. 측면 FPGA 블록 MUX는 Verilog 프로그램을 사용하여 설계되었습니다. 이전에는 FPGA의 ROM 내부에 내부 사인파를 생성하는 데 필요한 SINE lookup table이 있었음.
MUX1의 출력과 SINE lookup table은 MUX2의 입력으로 제공됩니다. 이 MUX2는 DE2 보드에 있는 스위치 16에 의해 제어됩니다.
MUX2의 출력은 PISO(병렬 직렬 출력) 레지스터에 대한 입력으로 공급됩니다. PISO 레지스터의 출력은 DAC에 의해 아날로그 형식으로 변환되고 최종적으로 오실로스코프에 표시됩니다.
Verilog 프로그램은 스위치 16과 17이 OFF('0')일 때 내부 사인파가 생성되고 DAC를 통해 오실로스코프에 표시되도록 설계되었습니다. 스위치 16이 ON('1')이고 스위치 17이 OFF('0')인 경우에도 내부 사인파가 생성됩니다.
스위치 16이 꺼져 있고 스위치 17만 켜져 있으면 외부 사인파가 오실로스코프에 표시됩니다. 두 스위치가 모두 ON 상태이면 함수 발생기에서 나오는 외부 신호가 FIR 필터를 통과하고 필터링된 출력이 오실로스코프에 표시됩니다.
이 FIR 필터는 LPF, HPF, BPF 및 BSF와 같은 4가지 FIR 유형 필터 중 하나일 수 있습니다. 필터 차수를 늘리고 필터 설계의 주파수 및 밀도 계수를 변경하면 필터의 응답을 관찰할 수 있으며 필요에 따라 개선할 수 있습니다.
The peripherals are described as follows:
- FUNCTION GENERATOR:
A function generator of frequency starting from 1 KHz to 10 MHz is taken. Because, within the above range all signals come which will be analyzed using lab environment. - OSCILLOSCOPE:
A digital storage oscilloscope is taken to display the results. - ADC and DAC
WM8731은 DE2 보드에 존재하는 저전력 오디오 코덱 [2] 입니다. 코덱에는 on-board sigma-delta ADC에 대한 라인 및 마이크 입력, on-board sigma-delta DAC의 라인 및 헤드폰 출력, 수정 발진기, 구성 가능한 디지털 오디오 인터페이스 및 2선 또는 3선 MPU 직렬 제어 인터페이스 선택이 포함됩니다. . 라인 입력에는 로그 볼륨 레벨 조정 및 음소거 기능이 있습니다. ADC는 저전력 애플리케이션에서 최적의 성능을 제공하는 high-quality multi-bit high order oversampling architecture입니다.
ADC의 출력은 digital audio interface 에서 사용할 수 있습니다. The on-board DAC는 digital audio interface로부터 디지털 데이터를 받아들입니다. 32KHz, 44.1KHz 및 48KHz의 Digital filter de-emphasis는 소프트웨어 제어 하에 디지털 데이터에 적용될 수 있습니다. 아래 그림-2 는 오디오 코덱 WM8731의 내부 아키텍처입니다.

ADC의 디지털 데이터는 ADC high pass filter로 공급됩니다. The ADC filter는 24 bit signal processing 를 수행하여 ADC에서 샘플링된 raw multi-bit 데이터를 변환하여 digital audio interface에 대한 샘플링 주파수 출력을 수정합니다.
DAC 필터는 또한 24비트 신호 처리를 수행하여 지정된 샘플링 속도로 digital audio interface 에서 들어오는 데이터를 아날로그 DAC에서 처리할 수 있도록 샘플링된 데이터의 다중 비트로 변환합니다. 여기에 사용된 DAC도 다중 비트 시그마 델타 변환기입니다. 두 라인 출력 모두 낮은 임피던스이므로 다른 관찰을 위해 오실로스코프에 사용됩니다.
*multi-bit sigma delta converter를 사용하는 DAC
(설명 참고: https://post.naver.com/viewer/postView.naver?volumeNo=28848799&memberNo=6863292AC)
: 입력으로 주어진 multi-bit 샘플링된 데이터를 아날로그 출력으로 변환함
1.