Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[color=orange]problem with CIC filter noise[/color]

Status
Not open for further replies.

dianahu

Newbie level 3
Joined
Jul 6, 2004
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
41
problem. now i am working with DDC. i use CIC filter to change sampling rate. i'v designed a three stages and decimation factor by 20 cic filter and simulate use Matlab simulink.
with my ideal's simple model i have not added any noise. just input a discrete sine waves and then use this CIC filter. after running my model come noise. that means CIC filter produced noise. i wonder where come this noise . who can tell me why and how can i resolve this problem. thanx a lot
dianahu 8O :(
 

well this is strange.
so after running your model, you just get noise, and your sine wave has disapeared ?

- I suggest you should simulate separetely each blocks of your CIC filter (integrator block and comb block), especially it could be a stability problem of your integrator block.

- also what is the amplitude of your noise compared to the amplitude of your input signal ? maybe your sine wave has been completely filtered because of the nyquist frequency that is not respected within your decimation factor.

regards
 

Could you post your Z transform and architecture of CIC filter ?
There might be something wrong.
You can also change the input sine wave frequency to test your CIC filter.
 

to altivec:
Hallo altivec, thanx for ur reply.
after running my model, also keep my sine wave but added noise. just like u said, i'v checked each blocks of my CIC filter, this noise come. after first comb block. then increased each comb a littel more. and this noise will increased also dependent an running time. the longer time the more noise. if this is stability problem, in CIC filter only delay unit and sum unit, how can i resolve this problem?

about the amplitude, my sine wave's amplitude has a attenuates, and the amplitude of my noisse increased dependent on running time. when i running this model for a longer time, it's terrible. the noise amplitude fast 50 or 60% compare with my sine wave's amplitude.
 

to dinolin,
hey, dinolin. glad to see ur words.
my Z transform als this: H_I(Z) = 1/(1-Z^(-1)), H_C(Z) = 1-Z^(-RM).
i'v also tried to change input sine wave frequency but have the same result. :(
 

dianahu said:
to altivec:
Hallo altivec, thanx for ur reply.
after running my model, also keep my sine wave but added noise. just like u said, i'v checked each blocks of my CIC filter, this noise come. after first comb block. then increased each comb a littel more. and this noise will increased also dependent an running time. the longer time the more noise. if this is stability problem, in CIC filter only delay unit and sum unit, how can i resolve this problem?

so first thing I would pinpoint is that in the excellent paper from Matthew Donadio ( **broken link removed** ), the CIC Decimator is build as follows : Intergrator blocks => Decimation => Comb blocks. The CIC interpolator is as follows : Comb blocks => Interpolation => Integrator. so i don't remmember whether it is important or not as I can't remmeber the explanation right now. but it could be some kind of trouble in your CIC architecture.

concerning the noise after your first comb block, I think it is not normal, because as you said, the comb block is just a simple unit FIR filter with a M-sample delay. maybe you just missed some parameters in your simulink block or you used a wrong transfer function. My matlab code for the comb function is :

% filtre en peigne à base de FIR et d'un delai différentiel réglable M
% 02/07/2004
% comb filter involving FIR filtering with a delay of M samples

function output=comb(input,M)

N = length(input);

b=[1 zeros(1,M-1) -1];
for i=1:N,
output=filter(b,1,input);
end;

% output = zeros(1,N);
% for i=1+M:N
% output(i) = input(i) - input(i-M);
% end



about the amplitude, my sine wave's amplitude has a attenuates, and the amplitude of my noisse increased dependent on running time. when i running this model for a longer time, it's terrible. the noise amplitude fast 50 or 60% compare with my sine wave's amplitude.

another potential problem is the reduced bandwidth of CIC filtering. maybe you are getting some distorsion. but your noise seems to be too important for these sorts of distorsion effect.

hope it would be helpful
regards
 

Diana,
you may also change your input signal, also to check to some zero frequency of CIC .....
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top