**UPGRADE YOUR BROWSER**

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Turn on suggestions

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

Showing results for

- Community Forums
- :
- Forums
- :
- Intellectual Property
- :
- DSP IP and Tools
- :
- What is wrong with this Hilbert coe file?

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

olsene03

Visitor

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

02-10-2016 12:11 PM

6,286 Views

Registered:
02-10-2016

What is wrong with this Hilbert coe file?

Can anyone tell me what is wrong with this .coe file I generated for a Hilbert filter? FIR Compiler 6.3 tells me the coefficients do not match the expected Hilbert structure. It reads the coefficients fine, but just doesn't like the structure. I generated these coefficients using Matlab's FDA tool.

radix=10; coefdata= 0, -0.003073, 0, -0.003360, 0, -0.005130, 0, -0.007456, 0, -0.010464, 0, -0.014310, 0, -0.019198, 0, -0.025443, 0, -0.033516, 0, -0.044247, 0, -0.059193, 0, -0.081715, 0, -0.120592, 0, -0.208110, 0, -0.635245, 0, 0.635245, 0, 0.208110, 0, 0.120592, 0, 0.081715, 0, 0.059193, 0, 0.044247, 0, 0.033516, 0, 0.025443, 0, 0.019198, 0, 0.014310, 0, 0.010464, 0, 0.007456, 0, 0.005130, 0, 0.003360, 0, 0.003073, 0

5 Replies

bwiec

Xilinx Employee

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

02-10-2016 07:35 PM

6,249 Views

Registered:
08-02-2011

Re: What is wrong with this Hilbert coe file?

www.xilinx.com

olsene03

Visitor

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

02-11-2016 05:20 AM

6,222 Views

Registered:
02-10-2016

Re: What is wrong with this Hilbert coe file?

Hi bwiec

In the FIR compiler, under Filter Specification, I chose Hilbert from the drop down menu, and then the Inferred Coefficient Structure sets itself to Negative Symmetric or Non Symmetric, and I cannot change this value. In Coefficient Structure, the Inferred option is selected and I cannot change this. I do not see anywhere that I can explicitly set the coefficient structure.

Something else I just noticed, on the Summary page, it says the filter type is Interpolated, even though I have Hilbert selected, and the Coefficient Structure is Non Symmetric. Any idea why the Summary page is not lining up with what I am actually selecting on the previous pages?

balkris

Xilinx Employee

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

02-11-2016 05:25 AM

6,218 Views

Registered:
08-01-2008

Re: What is wrong with this Hilbert coe file?

The Hilbert Transform has zeros for every other coefficient, but the FDATool does not actually write out '0', except for the middle coefficient. The others are close to zero, but not precisely zero. For the attached example, if one tries to pass the coefficients from the FDATool to the FIR Compiler block using the traditional argument above, the error message below is displayed.

One workaround is to export the coefficients to a variable (Num), then run this script:

Num(2:2:end) = 0;

This will make the coefficients '0' versus "close to zero". Then, if you use 'Num' in the Fir Compiler coefficient field, things will work.

Note that if you change the filter order from 10 (11 taps) to 12 (13 taps), then the outer coefficients would be zero. In that case, you would have to use this:

Num(1:2:end) = 0;

A CR has been filed against the FIR Compiler block to be able to support this.

Another workaround:

In place of Matab Fdatool . you can use scilab

Software freely available for download from following link

http://www.scilab.org/products/scilab/download

Use this software for generating Hilbert coefficient

for example

>>hilb(31)

It will generate the coefficient

- 0.0424413, 0., - 0.0489708, 0.,- 0.0578745,0.,- 0.0707355,

0., - 0.0909457, 0., - 0.1273240,0.,- 0.2122066,0., -

0.6366198,0.,0.6366198,0.,0.2122066,0., 0.1273240,0.,0.0909457,0.,

0.0707355,0.,0.0578745,0.,0.0489708,0.,0.0424413

You can use these coefficients as shown in snap shot. These coefficients infer Hilbert transform.

Thanks and Regards

Balkrishan

--------------------------------------------------------------------------------------------

Please mark the post as an answer "Accept as solution" in case it helped resolve your query.

Give kudos in case a post in case it guided to the solution.

Balkrishan

--------------------------------------------------------------------------------------------

Please mark the post as an answer "Accept as solution" in case it helped resolve your query.

Give kudos in case a post in case it guided to the solution.

olsene03

Visitor

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

02-11-2016 07:44 AM

6,208 Views

Registered:
02-10-2016

Re: What is wrong with this Hilbert coe file?

balkris,

If you look at the coefficients I posted they are exactly zero. I have done the process you described already in Matlab.

olsene03

Visitor

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

02-12-2016 01:14 PM

6,142 Views

Registered:
02-10-2016

Re: What is wrong with this Hilbert coe file?

Well I figured it out.

Apparently the FIR compiler 6.3 doesn't like the leading and trailing zero valued coefficients. This is weird because it calculates the frequency response correctly. So, the lesson is, get rid of the leading and trailing zero that Matlab generates and these coefficients will be recognized correctly.