Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- FPGAs and Programmable Solutions
- FPGA Intellectual Property
- FIR compiler II parameter settings for sample rates below 1Mhz

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-21-2015
04:14 AM

1,488 Views

FIR compiler II parameter settings for sample rates below 1Mhz

Hello,

i am trying to set the FIR Compiler II parameters to accomplish the following operation. interpolation factor: 5 decimation factor: 2 channels: 6 input sample rate ( per channel) 260ksps the data is arriving from an Avalon source stream which is being clocked at 25Mhz (the ratio of data arrival over the Avalon channel to dead time works out to the net per channel data rate of 260k this results in an output sample rate of 650ksps, the total bandwidth required is therefore 3.9msps for all six channels. I have derived the fir taps from matlab and set the LPF cutoff freq to be 33khz. so I have a few questions which are not clear from reading the fir compiler manual or viewing the online tutorials. 1) can numbers less than one I.e.real values be entered in for sample rate? In this case 0.260? 2) does the sample rate entry apply to the input sample rate, the resultant output sample rate, or something else in the case of multichannel, multi rate filters? 3) will the fir work correctly if the ratio from clock frequency to sample rate is not an integer, I.e. Arbitrary real number greater than total aggregate sample rate. In this case 25mhz/1.3mhz = 19.23 or in the case of output rate 25mhz/(0.650*6)= 25mhz/3.9mhz= 6.41 thanks in advance. richardLink Copied

6 Replies

Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-21-2015
06:52 AM

27 Views

Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-22-2015
03:50 PM

27 Views

No, the 33khz cutoff is as desired. There are a number of reasons related to the hardware design and signal flow that results in a per channel sample rate of 260ksps. However, the signal of interest is band limited to <= 33khz. There are also technical reasons why I want the output rate to input rate to be the specified ratio of 2.5,

The fractional filter rate is not the same as input sample rate and only relates output sample rate to input sample rate. As I mentioned, the Avalon input stream is carrying six time multiplexed channels with the Avalon stream clocking at 25mhz with a per channel sample rate of 260ksps in which the signal of interest lies below 33khz. Thus the Avalon data valid input line only is asserted periodically consistent with the multiplexed data input rate. Additional decimation takes place after the fir and I don't want aliasing to occur after the subsequent decimations which is why the 33khz cutoff is required. You seem to have missed my point on question 1. The filter requires input in the multi rate case for clock rate, interpolation, decimation, AND sample rate. The clock rate, interpolation and decimation values are as indicated (25Mhz, 5 and 2 respectively.) what I wanted to know is if the filter will function correctly if I input the sample rate value as 0.26 since the manual indicates that the sample rate input is expected to be in units if MHz and my input sample rate is 260khz per channel. This results in a real number which is less than 1 and the manual also implies that the input needs to be an integer in that field. Hope this explains my confusion.
Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-22-2015
07:17 PM

27 Views

Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-23-2015
05:45 PM

27 Views

Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-23-2015
06:53 PM

27 Views

On the issue of cutoff point. If your signal extends from 0 to 33KHz and there is no unwanted power outside 33KHz then aliasing will not occur if your cutoff is 520 - 33 = 487KHz

The filter works at 1300Khz so your cutoff ratio becomes 487/1300. your passband will be 33Khz and transition band from 33 to 487 If you cutoff at 33KHz sharp then that requires a ratio of 33/1300 and makes a big difference. The Nyquist will be 650Khz at output so 487 will stop any aliasing.
Altera_Forum

Honored Contributor I

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

05-25-2015
04:18 PM

27 Views

Once I came to understand that the filter taps need to be determined for the output of the interpolation stage everything started to make sense. That particular bit isn't spelled out anywhere in the documentation. The matlab model was also helpful to get a handle on the operation of the filter. Inspecting the matlab model makes it clear that the filter is applied afte interpolation, and the final decimation is just subsampling, which assumes any aliasing issues have already been addressed by the filter cutoff frequency that preceded.

So ive got it nailed down now. Thanks for you feedback. RichardTopic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

For more complete information about compiler optimizations, see our Optimization Notice.