Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to do fractional downsampling using Lagrange?

Status
Not open for further replies.

bravoegg

Member level 2
Joined
Mar 28, 2016
Messages
51
Helped
1
Reputation
2
Reaction score
1
Trophy points
8
Activity points
501
So if there are four integer point : point0 point1 point2 and point3
Set downsampling point at the fractional point location 0.1. The value of point 0.1 could be calculated using Lagrange interpolation.

In matlab it’s very easy to calculate the downsampling location point: mod(downsampling_factor*(0:n), 1). The downsampling_factor is between [1,2).

My problem is that there’re arbitrary downsampling rates, so it’s impossible to store the downsampling location in lookup table...that’ll be only valid for one downsampling rate.

Suppose the incoming data sampling rate fs, output downsampled rate fd, and downsampling_factor are known, I want to know how do I calculate the exact downsampling point location in FPGA?

I don’t need to know the absolute time location, just the relative location between like point1 and point2, that is The interval between point 1 and point2 is divided into smaller sections, if point1 is used as base point in Lagrange.
B6ACC9E0-CED4-4E06-BF79-C405100896C9.jpeg


To add a few things, the system clock is fs(also the incoming data rate). And the output downsampled rate fd is generated using dds(because the downsamping factor is known), also using system clock fs. So fs and fd are synchronous.
 
Last edited:

I don't think that it makes much sense to discuss abstractly about interpolation methods without considering the signal characteristic, e.g. it's spectrum. Down sampling is usually designed avoiding aliasing, this put some constraints on suitable interpolation and necessary decimation filter properties.

A general approach in multi rate signal processing would be to up-sample first to the DDS input clock and the down-sample to output rate. If spectral constraints are more relaxed, simple piecewise linear interpolation may be the first choice. Polynomial interpolation is unlikely to give good characteristics for signal processing, I guess.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top