xilinx multichannel fir alignment

Jul 23, 2007 3 Replies

I'm using the v5.1 coregen fir, decimate by 2, two channel operation to process my I/Q. My system clock is 56 Mhz and the I/Q data rate is 500 ksps so I'm sure the latency is okay for the single dsp48 mac engine. Anyway, the output I get is misaligned, that is if I input a complex sinusoid and then plot the output on an x-y plot I get an ellipse instead of a circle.



To figure out the misalignment I changed to input the same I sample on both channels expecting that I should get the same output on both channels. The outputs don't match. AND its not that they are shifted in time, they just do not match. I get the same result with modelsim and in my system.



Does anyone have a working two channel fir example with testbench that I can use as a reference? Any ideas on why the channels would be misaligned?



Thanks, Clark


I don't have an answer for you, but I did a 2-channel interpolating FIR using the FIR Compiler and it worked fine. At the moment I am implementing both 8-channel decimation and 8-channel interpolation filter, but again using the compiler. I believe the compiler has less bugs than the MAC FIR...

/Mikhail

FIR...

Thanks for the suggestion. I switched to fir compiler and I got the same result though. Was interesting that output actually appears to be registered now. (It only changes with the rdy line where before it changed many times even though I had 'register output' selected both times.)

Is there a restriction on filter length? I am using 65 taps symmetric. Maybe the odd length is causing a problem with the decimate by 2 structure?

Thanks, Clark

I

implementing

registered

Maybe

Actually, nevermind. I had an extra clock in the input mux so the I and Q were on different phases into the fir. -Clark

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required