Hi, I'm still tracing the problems in my code and yes it seems there is no perceptible difference between using the sdram and the internal dm_data. I'm using transposed direct form II filters with coeffs a3,a2,a1 and b5,b4,b3,b2,b1,b0. I use hundreds of these filters with each one being delayed 16 samples from the next one. The last filter is the undelayed filter. So essentially they are parallel filters since they have one input (they are not cascaded) and the output of the other filters are stored in delay buffers before they are added to the output of the undelayed filter. The problem is there is ringing in my output that joins the output voice and gets louder as the voice input gets louder. There is no ringing when there is no voice input. I heard that ringing is more often found in high order iir filters but my filters are low order filters. The coefficients are supposed to work, they run in Matlab even up to a few thousands of filters in parallel w/o any distortion. I tried right shifting my input to reduce possible saturation but the ringing is still there having the same proportion with the output voice. Does anybody have any idea what is happening? tnx ishmael |
parallel low-order transposed direct form II filters and ringing in ADSP 21065L
Started by ●July 23, 2002