DSPRelated.com
Forums

A stupid question about FIR filter

Started by phuture_project July 22, 2004
phuture_project wrote:

   ...

>>Jerry: > > >>The theory is right. It appears that your implementation falls short. > > > I'm happy to know the theory is right! I'm sorry but what does "falls > short" mean?
"Falls short" means "doesn't reach the goal". In other words, there's something wrong with it. There could be a simple bug in the program, or even a basic misunderstanding of what needs to be done. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
jim wrote:

> > phuture_project wrote: > >>I'm happy to know the theory is right! I'm sorry but what does "falls >>short" mean? > > > Find a body of water that is wider than you are capable of jumping. Attempt to > jump across it. Repeat as often as need to fully understand the concept of > "falling short".
Good analog. As for my use of the idiom, do you think I meant to say that our friend is all wet? What I think is that a reasonable question is best matched with a reasonable answer, rather than a statement that one might have guessed. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������

Jerry Avins wrote:
> > jim wrote: > > > > > phuture_project wrote: > > > >>I'm happy to know the theory is right! I'm sorry but what does "falls > >>short" mean? > > > > > > Find a body of water that is wider than you are capable of jumping. Attempt to > > jump across it. Repeat as often as need to fully understand the concept of > > "falling short". > > Good analog. As for my use of the idiom, do you think I meant to say > that our friend is all wet?
Let's put it this way - If you had said: "The theory is right. It appears that your implementation graxferlat." How many different meanings would one suppose for 'graxferlat'. -jim -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
jim wrote:

-- snip --
> How many different meanings would one suppose for 'graxferlat'. > > -jim > > > -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- > http://www.newsfeeds.com - The #1 Newsgroup Service in the World! > -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
You fnorging gblibnitz! How dare you use such language in an international newsgroup! -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
jim wrote:

> > Jerry Avins wrote: > >>jim wrote: >> >> >>>phuture_project wrote: >>> >>> >>>>I'm happy to know the theory is right! I'm sorry but what does "falls >>>>short" mean? >>> >>> >>>Find a body of water that is wider than you are capable of jumping. Attempt to >>>jump across it. Repeat as often as need to fully understand the concept of >>>"falling short". >> >>Good analog. As for my use of the idiom, do you think I meant to say >>that our friend is all wet? > > > Let's put it this way - If you had said: > > "The theory is right. It appears that your implementation graxferlat." > > How many different meanings would one suppose for 'graxferlat'. > > -jim > > > -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- > http://www.newsfeeds.com - The #1 Newsgroup Service in the World! > -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
-- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
jim wrote:

> > Jerry Avins wrote: > >>jim wrote: >> >> >>>phuture_project wrote: >>> >>> >>>>I'm happy to know the theory is right! I'm sorry but what does "falls >>>>short" mean? >>> >>> >>>Find a body of water that is wider than you are capable of jumping. Attempt to >>>jump across it. Repeat as often as need to fully understand the concept of >>>"falling short". >> >>Good analog. As for my use of the idiom, do you think I meant to say >>that our friend is all wet? > > > Let's put it this way - If you had said: > > "The theory is right. It appears that your implementation graxferlat." > > How many different meanings would one suppose for 'graxferlat'.
Just enough to leave room for confusion. Obviously! Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Hi,

Thanks for the translation of "falling short"! ;:)

Now, has anybody an idea to suggest for the issue i meet?

Thanks.

phuture_project wrote:
> > Hi, > > Thanks for the translation of "falling short"! ;:) > > Now, has anybody an idea to suggest for the issue i meet?
You've explained what you are doing in theory, but gave no details of the implementation. Obviously there's something amiss in your implemenytation, but how are we supposed to guess what it might be? One guess, that you are using a very long filter on a very short amount of data. Or maybe just a typo in your code. -jim -----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Hi Jim,

> You've explained what you are doing in theory, but gave no details of the > implementation. Obviously there's something amiss in your implemenytation, but > how are we supposed to guess what it might be? > One guess, that you are using a very long filter on a very short amount of > data. Or maybe just a typo in your code.
What are you missing? I thought i explained all the useful things. Did you read all my posts on this subject? Anyway, please tell me what you are missing, and i'll give it. To repeat it, i use a 401 coefficients FIR filter (maybe that's what you call a very long filter, i don't know) and as far as the amount of data is concerned, i just asked how many samples should i get in order to have a good response. I tried with 200, 401, 500 or even 802 samples. Everytime i have the same result. Maybe it can help, so here is a part of my code: void main(void) { /* Initializations */ .... /* Transf float->Q15 of the filter coefficients */ fltoq15(t,h,802); asm(" RSBX INTM"); /* Global IT enabled */ *(volatile unsigned int *)0x0000=0x0008; /* bit TINT0=1 (IMR register) =>Timer 0 IT enabled */ *(volatile unsigned int *)0x0026 &=0xFFEF; /* Timer 0 start */ while(j!=802); /* Wait for all the samples to be recovered by IT */ for(k=0;k<nb_sample;k++) s[k]=(float)x[k]*2.5/2560; /* Transf unsigned int ->float of the samples */ fltoq15(s,a,nb_sample); /* Transf float -> Q15 of the samples */ fir(a,h,y,&tcptr,NC,NX); /* FIR filter */ q15tofl(y,output,nb_sample); /* Transf Q15 -> float of the y(n) */ for(k=0;k<nb_sample;k++) { output1[k]=output[k]*2560/2.5; } } For the transformations, i explained why i must do that in my previous post. Anyway if you have questions, please ask. Thanks again.

phuture_project wrote:
> > Hi Jim, > > > You've explained what you are doing in theory, but gave no details of the > > implementation. Obviously there's something amiss in your implemenytation, but > > how are we supposed to guess what it might be? > > One guess, that you are using a very long filter on a very short amount of > > data. Or maybe just a typo in your code. > > What are you missing? I thought i explained all the useful things. Did > you read all my posts on this subject? Anyway, please tell me what you > are missing, and i'll give it.
No I probably, haven't read all your posts. Have you somewhere explained what results you are getting? Disregarding the first 400 samples of your output - Is the output a scaled version of your input sinusoid? Or what? -jim
> To repeat it, i use a 401 coefficients FIR filter (maybe that's what > you call a very long filter, i don't know) and as far as the amount of > data is concerned, i just asked how many samples should i get in order > to have a good response. I tried with 200, 401, 500 or even 802 > samples. Everytime i have the same result. > > Maybe it can help, so here is a part of my code: > > void main(void) > { > /* Initializations */ > .... > > /* Transf float->Q15 of the filter coefficients */ > fltoq15(t,h,802); > > asm(" RSBX INTM"); /* Global IT enabled */ > > *(volatile unsigned int *)0x0000=0x0008; /* bit TINT0=1 (IMR > register) =>Timer 0 IT enabled */ > > *(volatile unsigned int *)0x0026 &=0xFFEF; /* Timer 0 start */ > > while(j!=802); /* Wait for all the samples to be recovered by IT */ > > for(k=0;k<nb_sample;k++) s[k]=(float)x[k]*2.5/2560; /* Transf > unsigned int > ->float of the samples */ > > fltoq15(s,a,nb_sample); /* Transf float -> Q15 of the samples */ > > fir(a,h,y,&tcptr,NC,NX); /* FIR filter */ > > q15tofl(y,output,nb_sample); /* Transf Q15 -> float of the y(n) */ > > for(k=0;k<nb_sample;k++) > { > output1[k]=output[k]*2560/2.5; > } > > } > > For the transformations, i explained why i must do that in my previous > post. Anyway if you have questions, please ask. > > Thanks again.
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =----- http://www.newsfeeds.com - The #1 Newsgroup Service in the World! -----== Over 100,000 Newsgroups - 19 Different Servers! =-----