Forum Discussion
Altera_Forum
Honored Contributor
13 years ago --- Quote Start --- Thanks FvM. I assume the equations for bit growth given in attached doc look too involved to be wrongly typed from original source(Hogenauer's). But I did notice discrepancy of last equation when applied to i = N as Bout = Bin + N -1 Anyway do you have access to Hogenauer's doc? or do you know where those given equations go wrong. I know Hogenauer also included method for register pruning to reduce bit growth by distributing quantisation noise across stages. Naturally too involved and too specialised corner and may be unwarranted with FPGAs applications. --- Quote End --- I have got the Hogenauer's doc.i am attaching that document .In that observe cic interpolation filter design.In that observe register growth equation and design example.with the matlab code as below Bin = 8; %input width N = 4; %stages of comb or integrator M = 2; %differential delay R = 512; %interpolation rate %cic decimator at any stage Bout = N * log2(R*M) + Bin; %cic interpolator per ith stage %stages 1~N for i = 1:N G = 2^i; Bout =( Bin + log2(G)); d(i) = Bout; end %N+1 ~ 2N stages for i = N+1:N*2 G = (2^(2*N-1)*(R*M)^(i-N))/R; Bout =( Bin + log2(G)); d(i) = Bout; end for i = 1:N*2 fprintf( '%i %i\r',i,d(i)); end I got the bout values 1 9 2 10 3 11 4 12 5 16 6 26 7 36 8 46 which is not matching the values 9,10, 11,12, 12,21,30, and 39, respectively,which is not equal to the got values.is there any mistake in the matlab code?