Sub- Nyquist Sampling Expander Module

29
Supervisors : Moshe Mishali, Ina Rivkin Students : Amir Bishara, Morad Awad

description

High Speed Digital Systems Lab Electrical Engineering Department, Technion. Sub- Nyquist Sampling Expander Module. Winter/Spring 2010. Supervisors : Moshe Mishali, Ina Rivkin Students : Amir Bishara, Morad Awad. Agenda. Part A Reminder Last time Completing Part A NCO Part B Goals - PowerPoint PPT Presentation

Transcript of Sub- Nyquist Sampling Expander Module

Page 1: Sub- Nyquist  Sampling  Expander Module

Supervisors : Moshe Mishali, Ina Rivkin

Students : Amir Bishara, Morad Awad

Page 2: Sub- Nyquist  Sampling  Expander Module

AgendaPart A Reminder

Last timeCompleting Part A

NCOPart B

GoalsThe Development process

Migrating between FPGA cards Changes in architecture Simulations

ResultsProject outcome

Page 3: Sub- Nyquist  Sampling  Expander Module

Memory

CTF(Support recovery) DSP

(Baseband)

AnalogBack-end

(Realtime)Detector

Analog Hardware

Expand1:3

3 1 2

1

2

3

Frequency domain elaboration:

30Mhz

10Mhz

-30Mhz -10Mhz

10Mhz

10Mhz

10Mhz

-10Mhz

-10Mhz

-10Mhz

Reminder

Page 4: Sub- Nyquist  Sampling  Expander Module

Last TimeCompleted:

AlgorithmArchitectureDesignImplementation (VHDL)Testing

Page 5: Sub- Nyquist  Sampling  Expander Module

Expander Module

Page 6: Sub- Nyquist  Sampling  Expander Module

Single Channel Architecture

Modulation

Modulation

Sync

Filter

Filter

Filter

Init Cont.

Page 7: Sub- Nyquist  Sampling  Expander Module

Completing part AInaccurate results with real data, but good with

synthetic dataImprove testing environment to have automatic

tests for all modulesAll modules work as expected

System level problem

Use MATLAB to perform different parts of the algorithmProblem with the modulation

The modulation module doesn’t produce an accurate cos/sin signals

Page 8: Sub- Nyquist  Sampling  Expander Module

NCO : Entity

Page 9: Sub- Nyquist  Sampling  Expander Module

NCOUse Altera’s MegaFunction to produce the

cos/sin signalsThe modulation module uses this component

to produce the cos/sin signalNCO issues

Can choose between 4 architecturesTo get full accuracy the VHDL needs to be

manually modified

Page 10: Sub- Nyquist  Sampling  Expander Module

Part B : GoalsRunning the system successfully on the FPGASuccessful integration (logic level) with the

DSP and CTF blocks

Page 11: Sub- Nyquist  Sampling  Expander Module

Development ProcessIntegration with the architecture teamMigrating to the new board

More resourcesFasterMeant to be used in the future

Changes in architectureTo save resources

Changes in designTo meet timing constraints

Adapt the testing environment to the architecture team environment

Testing

Page 12: Sub- Nyquist  Sampling  Expander Module

Migrating to the new boardWhy?

More resourcesFasterMeant to be used in the future

Issues :The card wasn’t responsiveCreated new ProcWizard projectChanged architecture team software

Page 13: Sub- Nyquist  Sampling  Expander Module

Changes in the architectureWhy?

Saving resourcesSolving problems arising at hardware

debugging Changes:

NCO module is taken out from modulation module Made global to all channels

Add logic to control NCO phase

Page 14: Sub- Nyquist  Sampling  Expander Module

cos/sin generator

Set Phase to zero

Page 15: Sub- Nyquist  Sampling  Expander Module

Changes in designWhy?

To meet timing constraintsHow?

Break the combinational logic using pipelineConvert non-optimized generic code to specific

codeWhere?

Multiplication + addition block Generic code for addition

FIR filter , Polyphase Long Muxing paths

Page 16: Sub- Nyquist  Sampling  Expander Module

Before

areset

clock

clock_ena

a0[17..0]

b0[17..0]

a1[17..0]

b1[17..0]

a2[17..0]

b2[17..0]

a3[17..0]

b3[17..0]

result[37..0]

areset

clock

clock_ena

a0[17..0]

b0[17..0]

a1[17..0]

b1[17..0]

a2[17..0]

b2[17..0]

a3[17..0]

b3[17..0]

result[37..0]

areset

clock

clock_ena

a0[17..0]

b0[17..0]

a1[17..0]

b1[17..0]

a2[17..0]

b2[17..0]

a3[17..0]

b3[17..0]

result[37..0]

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

COUT

SHAREOUT

STRATIXIII_LCELL_COMB

DATAB

DATAC

DATAD

CIN

SHAREIN

SUMOUT

STRATIXIII_LCELL_COMB

D QPRE

ENA

CLR

0

0

node6

node7

node8

node9

node10

node11

node12

node13

node14

node15

node16

node17node18

node19node20

node21node22

node23node24

node25node26

node27node28

node29node30

node31node32

node33

node34

clk_procenable

pause (GND)

enable_pipe_in

enable_pipe_out

A_data_in[215..0]B_data_in[215..0]

data_out[17..0]

dsp_block_noreg:\dsp_blocks:1:dsp

node1

node4

rst

dsp_block_noreg:\dsp_blocks:3:dsp

node3reg[3..1]

node2

node5

dsp_block_noreg:\dsp_blocks:2:dsp

Page 17: Sub- Nyquist  Sampling  Expander Module

After

Page 18: Sub- Nyquist  Sampling  Expander Module
Page 19: Sub- Nyquist  Sampling  Expander Module

Adapting the testing environmentThe architecture team expects different

format for input filesOutputs different format for output files

VHDL code converts between the formatsSmall modifications from the files at part A

Page 20: Sub- Nyquist  Sampling  Expander Module

TestingTesting environment diagram

Results

Showing the resultsSystem

Expander -FPGA

DSP

CTF

אותות משוחזרים

תמך שהתגלה

Matlab Simulation

Preparing the input

FPGA Simulation Matlab Matlab

Interfaces AddedInterfaces Added

FPGA instead of MODELSIMFPGA instead of MODELSIM

Page 21: Sub- Nyquist  Sampling  Expander Module

ResultsSeveral synthetic inputs were testedThree different real input signals were tested

fm259_252_sin824_809fm259_252_am_872.697am_872.697_sin824

All tests were successful Integration team was able to:

Produce same results independently on FPGA using the new architecture

Run logic simulations of the Expander with DSP and CTF successfully

Page 22: Sub- Nyquist  Sampling  Expander Module

Demonstrationam_872.697_sin824

1 2 3 4 5 6 7 8 9 10-160

-150

-140

-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #1

1 2 3 4 5 6 7 8 9 10-140

-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #1

Page 23: Sub- Nyquist  Sampling  Expander Module

1 2 3 4 5 6 7 8 9 10-150

-140

-130

-120

-110

-100

-90

-80

-70

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #2

1 2 3 4 5 6 7 8 9 10-130

-120

-110

-100

-90

-80

-70

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #2

Page 24: Sub- Nyquist  Sampling  Expander Module

fm259_252_sin824_809

1 2 3 4 5 6 7 8 9 10-180

-170

-160

-150

-140

-130

-120

-110

-100

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #1

1 2 3 4 5 6 7 8 9 10-170

-160

-150

-140

-130

-120

-110

-100

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #1

Page 25: Sub- Nyquist  Sampling  Expander Module

1 2 3 4 5 6 7 8 9 10-160

-150

-140

-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #2

1 2 3 4 5 6 7 8 9 10-140

-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #2

Page 26: Sub- Nyquist  Sampling  Expander Module

fm259_252_am_872.697

1 2 3 4 5 6 7 8 9 10-180

-170

-160

-150

-140

-130

-120

-110

-100

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #1

1 2 3 4 5 6 7 8 9 10-170

-160

-150

-140

-130

-120

-110

-100

-90

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #1

Page 27: Sub- Nyquist  Sampling  Expander Module

1 2 3 4 5 6 7 8 9 10-150

-140

-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

MATLAB :Reconstructed sequence #2

1 2 3 4 5 6 7 8 9 10-130

-120

-110

-100

-90

-80

-70

-60

Frequency (MHz)

Pow

er/f

requ

ency

(dB

/Hz)

FPGA :Reconstructed sequence #2

Page 28: Sub- Nyquist  Sampling  Expander Module

Improvements and future developmentFor future expansion :

Create a new module that represents a single output channel Contains a modulation module and Polyphase module Gets modulation signal as input

Mid channel “modulation” signal is 1 Allows changing expansion factor (now is 1->3) easily

Add input signal to Expander system that allows changing modulation frequency at runtime

Make modulation phase shift register changeable at runtime

Resources sharing:Make module that holds filter coefficients

Each filter requests for coefficients Can reduce coefficients memory by a factor of 12

Page 29: Sub- Nyquist  Sampling  Expander Module

Project outcomeMATLAB simulations files for the algorithmVHDL code implementing the designVHDL + MATLAB code for testing

environmentTwo project booksUser Manual for changing configurations and

testing