ECE 448: Lab 7 Design and Testing of an FIR Filter.

Slides:



Advertisements
Similar presentations
Design of Digital IIR Filter
Advertisements

Mini-Lecture 8 Intellectual Property. Agenda Discussion of Lab7 Solutions and lessons learned Intellectual Property Description of class agenda from this.
Drawing Circles on a Tight Budget Using an 8-pin PIC12F675 microcontroller, harmonic oscillator theory and software PWM to generate in-phase sine and cosine.
DSPs Vs General Purpose Microprocessors
Programmable FIR Filter Design
Distributed Arithmetic
Lock-in amplifiers Signals and noise Frequency dependence of noise Low frequency ~ 1 / f –example: temperature (0.1 Hz), pressure.
BASICS OF DIRECT DIGITAL SYNTHESIS Calen Carabajal EECS /3/2013.
ECE 353 Introduction to Microprocessor Systems Michael G. Morrow, P.E. Week 14.
Lecture 9: D/A and A/D Converters
IMPLEMENTATION OF DSP RADIO RECEIVER Amaar Ahmad Syed.
EET260: A/D and D/A converters
Gheorghe M. Ştefan
FIR Tap Filter Optimization CE222 Final Project Spring 2003 S oleste H ilberg N icole S tarr.
Sampling, Reconstruction, and Elementary Digital Filters R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2002.
Digital Theremin Nicolas Lauzon Albert Ma Celia Valel Farooq Ahmad Alesya Bajoria Tim Church EE 552 High Level ASIC Design Using CAD Tools.
Capacitance Sensor Project
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
Test #2 Combinational Circuits – MUX Sequential Circuits – Latches – Flip-flops – Clocked Sequential Circuits – Registers/Shift Register – Counters – Memory.
Lock-in amplifiers
Group member: Zhaoxin Mamengduo Cfang Stanley The Implementation of Delta-Sigma Modulation in Digital-to-Analog Converter 1.
Digital Signals and Systems
ECE 448: Lab 4 FIR Filters.
electronics fundamentals
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
Word-Size Optimization for Low Energy, Variable Workload Sub-threshold Systems Sudhanshu Khanna, Anurag Nigam ECE 632 – Fall 2008 University of Virginia.
Chapter 19 Electronics Fundamentals Circuits, Devices and Applications - Floyd © Copyright 2007 Prentice-Hall Chapter 19.
Sine Wave Generation on the XUP Virtex-II Pro Development System Steven Wasson ECE 443 – Hardware Design in VHDL Assignment 3 – Sine Wave Generation October.
A Bit-Serial Method of Improving Computational Efficiency of Dot-Products 1.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “A Tutorial“ Greg Goslin Digital Signal Processing.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
© 2003 Xilinx, Inc. All Rights Reserved Answers DSP Design Flow.
Digital Signal Processing and Generation for a DC Current Transformer for Particle Accelerators Silvia Zorzetti.
Overlapped modulation structure Overlapped modulation structure Overlapped harmonic structure Overlapped harmonic structure Spurious spectral components.
Beam phase and intensity measurement Grzegorz Kasprowicz Richard Jacobsson.
Students:Alexander Kinko Roni Lavi Instructor:Inna Rivkin Duration:2 Semesters Midterm Presentation Part 1 - Spring 2008 Midterm Presentation Part 1 -
ECE 448: Lab 6 DSP and FPGA Embedded Resources (Digital Downconverter)
Initial Performance Results of the APS P0 (Transverse Bunch-to-Bunch) Feedback System N. DiMonte#, C.-Y. Yao, Argonne National Laboratory, Argonne, IL.
ECE 448: Lab 5 DSP and FPGA Embedded Resources (Signal Filtering and Display)
Reaction Timer Project
Quiz 1 Review. Analog Synthesis Overview Sound is created by controlling electrical current within synthesizer, and amplifying result. Basic components:
Generating Sinusoidal Signals Prof. Brian L. Evans Dept. of Electrical and Computer Engineering The University of Texas at Austin EE 445S Real-Time Digital.
Analog-to-Digital and Digital-to-Analog Conversion
Which one? You have a vector, a[ ], of random integers, which can modern CPUs do faster and why? //find max of vector of random ints max=0; for (inda=0;
A Mini Stereo Digital Audio Processor Design DINESH GUNDU VIGNESH SABARINATH.
Digital Signal Processing
Research Progress Seminar
© 2003 Xilinx, Inc. All Rights Reserved Answers DSP Design Flow.
DEPARTMENTT OF ECE TECHNICAL QUIZ-1 AY Sub Code/Name: EC6502/Principles of digital Signal Processing Topic: Unit 1 & Unit 3 Sem/year: V/III.
ECE 3450 M. A. Jupina, VU, 2016 Capacitance Sensor Project Goal: Creation of a digital capacitance sensor circuit where a variation in capacitance changes.
ECE 3551 – Microcomputer Systems 1 Fall 2010 Siobhan Ireland.
ECE 3450 M. A. Jupina, VU, 2016 Capacitance Sensor Project Goal: Creation of a digital capacitance sensor circuit where a variation in capacitance changes.
Musical Sculpture A Final Project Block Diagram Presentation by: Clare Davis, Chen Li, & Austyn Hill.
Variable-Frequency Response Analysis Network performance as function of frequency. Transfer function Sinusoidal Frequency Analysis Bode plots to display.
Mark Neil - Microprocessor Course 1 Digital to Analog Converters.
VLSI Design of 2-D Discrete Wavelet Transform for Area-Efficient and High- Speed Image Computing - End Presentation Presentor: Eyal Vakrat Instructor:
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and ISim. Using Seven-Segment Displays, Buttons, and Switches.
Finite Impulse Response Filtering EMU-E&E Engineering Erhan A. Ince Dec 2015.
ECE 448 Lab 3 FPGA Design Flow Based on Xilinx ISE and Isim. Using Seven-Segment Displays, Buttons, and Switches.
Measurement and Instrumentation
Embedded Systems Design
By: Mohammadreza Meidnai Urmia university, Urmia, Iran Fall 2014
Direct Digital Synthesis: Applications to Radar
Generating Sinusoidal Signals
Multiplier-less Multiplication by Constants
FIGURE 1: SERIAL ADDER BLOCK DIAGRAM
ECE 448: Lab 4 FIR Filters.
Digital Signal Processing
CSC3050 – Computer Architecture
ECE 448 Lab 3 – Part 1 FPGA Design Flow Based on
Presentation transcript:

ECE 448: Lab 7 Design and Testing of an FIR Filter

Finite Impulse Response (FIR) Filters FIR: Given an impulse input, the filter output goes to zero in a finite number of clocks because there is no feedback of the output to the input Filter: manipulate the frequency response Examples: low-pass, high-pass, band pass, notch, arbitrary Equation: y: output x: input h: filter taps (coefficients) N: number of taps

Low Pass Filter

Parallel Architecture Output every clock cycle N multipliers (one per tap) One N-input adder N-stage shift register (no reset!) Constants h[i] stored in registers or hardwired Note the bit growth x[m] y[m] x[m-1] x[m-2] x[m-(N-1)]

Serial Architecture Output every N clock cycles One multiplier One 2-input adder N-stage shift register (no reset!) Constants h[i] stored in a single-port ROM Multiplier-Accumulator (MAC) Note the bit growth x[m] x[m-1] x[m-2] x[m-(N-1)] MAC h[i] y[m]

Parallel-Serial Architecture Output every N/K clock cycles K multipliers One K+1 input adder N-stage shift register (no reset!) Constants h[i] stored in N/K single-port ROMs Adder-Accumulator (AAC) Note the bit growth ROM with N/K coefficients... x[m] x[m-1] x[m-2] x[m-(N-1)] AAC y[m] N/K-to-1 MUX N/K-to-1 MUX.. ROM with N/K coefficients

Selected Architecture and Parameter Values Parallel-Serial Architecture N=256 K=16 L=M=18 Clock frequency = 100 MHz

Lab 4 Top Level Numerically Controlled Oscillator Finite Impulse Response Filter

Task 1: Numerically Controlled Oscillator (NCO) Number of samples per period = 1024/(4  step), where step = Distance between samples = 391 clock periods = 3910 ns Amplitude = 2 17 Generator of digital samples

Task 1: Numerically Controlled Oscillator (NCO) Calculates numerical samples of the sinusoidal signal f(t)=2 17  sin(2πt/1024) with the frequency determined by step=sw[5..0], which is in the range 0..63, and t is a value of an accumulator incremented by 4  step every 391 clock cycles Each sample is represented as an 18-bit signed integer in the range from to The total number of samples per period is given by 1024/(4  step) if step≠0, and 1 if step=0 The distance between samples is equal to 391 clock periods = 3910 ns Values of the function f(t)=2 17  sin(2πt/1024) for t= stored in Block RAM

Task 1: Numerically Controlled Oscillator (NCO) 6-bit Frequency Control Word (FCW) or step size 10-bit accumulator: sum[n] = sum[n-1] + step*4, sum[0]= bit signed sine values in a Lookup Table (LUT) Accumulator addresses the LUT Sine values stored in 1 Block RAM Update every 391 clock cycles valid pulse asserted for one clock cycle when output out updated

Task 1: Numerically Controlled Oscillator (NCO) Clock frequency of the oscillator: f OSC =  100 MHz = step  KHz ≈ step  1 KHz T OSC = 4  step 1024  391  T CLK 4  step 1024  391

Task 1: Simulating Analog Signals Change the signal property in ModelSim to: Show the waveform in analog form Change the height of the analog waveform Change the radix of the signal to signed or unsigned

Task 2: Filter 256-tap FIR Filter using Parallel-Serial Architecture K=16 18x18 Multipliers N=256 samples stored in a 256-stage shift register Taps stored in K=16 single-port ROMs of the size N/K x 18 = 16 x 18 Starts processing when valid input is high Generates a valid output pulse

Task 3: Magnitude, Scale, Moving Average Calculates when valid is high Magnitude: magnitude = abs(in) Scale: scale = magnitude / 2^28 Moving Average: Store 1024 of the most recent scaled values in circular buffer acting as a shift-register. Implement circular buffer using a 1024x16 Block RAM using CORE Generator sum[n] = sum[n-1] + scale[n] - scale[n-1024] Don’t forget to account for the accumulator bit growth avg = sum / 2^10

Task 3: Magnitude, Scale, Moving Average 0 Average Magnitude g(t)=abs(FIR(f(t)) FIR(f(t)) is an output from the filter Average Magnitude large if f(t) passed by the filter Average Magnitude small if f(t) attenuated by the filter

Task 4: Seven Segment Display

Task 5: Filter Select Switch[7:6] selects one of four filters in the Tap Buffer Sketch the frequency response of each filter

Task 5: Tap ROMs 64 deep

Task 6: Digital-to-Analog Converter Generates analog signal to show on oscilloscope Convert signed to biased unsigned (ex: [-128:127] to [0:255]) Button[0] cycles between the NCO, Filter, and Magnitude NCO selected: out = nco / 2^10and LED[0] on Filter selected: out = filter / 2^36and LED[1] on Magnitude selected: out = mag / 2^36and LED[2] on pmod[7..0] 8

8-Bit Parallel Digital-to-Analog Converter (DAC) PMOD-R2R

PMOD Pins on Board NET "PMOD "LOC = "T12"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "V12"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "N10"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "P11"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "M10"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "N9"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "U11"| IOSTANDARD = LVTTL ; NET "PMOD "LOC = "V11"| IOSTANDARD = LVTTL ;

Switch and Buttons Functions Switch[5:0] NCO Frequency Control Word (step) –Used in NCO and Shape Generator Switch[7:6] Filter Select Button[0] DAC Select –NCO –Filter –Magnitude

CORE Generator Demonstration