03-26-2012 04:54 AM
Does any bosy know how to make HILBERT TRANSFORm using FDAtool AND FIR COMPILER??
I tried one way but it shows error:
CO-efficients provided do not match coefficient structure 'Hilbert', number of co-efficients incorrect.
Is there any other way??
Please let me know.
03-26-2012 07:11 AM
Basically, there are two ways of implementing Hilbert transform:
1) using Fourier transform, processing of results and doing inverse Fourier transform,
2) using FIR filter.
Second method is preferable for implementation in FPGA.
The most important task here is calculation of FIR filter coefficients. You should know that ideal Hilbert transformer will need infinite number of coefficients. So you need to choose filter order and passband.
After that you can export coefficients to 'FIR Compiler' block.
03-30-2012 12:02 PM
The FIR Compiler is optimized to work with Hilbert Transform coefficients.
You can find more information in the Data Sheet.
04-01-2012 07:11 AM
The Hilbert Transform has alternate zeros in the coefficient structure, but the FDATool does not actually write out '0', except for the middle coefficient.
The others are close to zero, but not precisely zero.
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;. Another workaround: In place of Matab Fdatool .