DSPRelated.com
Forums

Frequency notch filter with 5 possible coefficients

Started by DSP_student November 3, 2008
Hello everyone,

I would like to know whether it's possible to find a sequence of FIR
coefficients of even length such that each coefficient can be 1 out of 5
possibilities: 1, -1, 0, j, -j. I'm trying to create a Band-Stop filter
using a sequence of coefficients like this.

The literature is packed with all sorts of low-correlation sequences, and
some of them (like legendre sequences) possess a DC notch. This is good,
but i'm looking for the ability to create notches at each one of the
frequency samples, not just the DC.

Can anyone help me with relevant information?

Thank you in advance,
Dan





DSP_student wrote:

> Hello everyone, > > I would like to know whether it's possible to find a sequence of FIR > coefficients of even length such that each coefficient can be 1 out of 5 > possibilities: 1, -1, 0, j, -j. I'm trying to create a Band-Stop filter > using a sequence of coefficients like this. > > The literature is packed with all sorts of low-correlation sequences, and > some of them (like legendre sequences) possess a DC notch. This is good, > but i'm looking for the ability to create notches at each one of the > frequency samples, not just the DC. > > Can anyone help me with relevant information?
You can build any kind of filter using just +/-1, +/-j and 0 as the coefficients. I can't name a book from the top of my head; however the problem reminds me of the phase shifters used with the phased array antennas. Don't know of the systematic way of designing such filters; however for the length ~ 10 you can easily do that by the brute force search. The basic bandstop would be X - { 1 0 -1 }. Got the idea? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

DSP_student wrote:

> Hello everyone, > > I would like to know whether it's possible to find a sequence of FIR > coefficients of even length such that each coefficient can be 1 out of 5 > possibilities: 1, -1, 0, j, -j. I'm trying to create a Band-Stop filter > using a sequence of coefficients like this. > > The literature is packed with all sorts of low-correlation sequences, and > some of them (like legendre sequences) possess a DC notch. This is good, > but i'm looking for the ability to create notches at each one of the > frequency samples, not just the DC. > > Can anyone help me with relevant information?
You can build any kind of filter using just +/-1, +/-j and 0 as the coefficients. I can't name a book from the top of my head; however the problem reminds me of the phase shifters used with the phased array antennas. Don't know of the systematic way of designing such filters; however for the length ~ 10 you can easily do that by the brute force search. The basic bandstop would be X - { 1 0 -1 }. Got the idea? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky wrote:
> > > DSP_student wrote: > >> Hello everyone, >> >> I would like to know whether it's possible to find a sequence of FIR >> coefficients of even length such that each coefficient can be 1 out of 5 >> possibilities: 1, -1, 0, j, -j. I'm trying to create a Band-Stop filter >> using a sequence of coefficients like this. >> >> The literature is packed with all sorts of low-correlation sequences, and >> some of them (like legendre sequences) possess a DC notch. This is good, >> but i'm looking for the ability to create notches at each one of the >> frequency samples, not just the DC. >> >> Can anyone help me with relevant information? > > You can build any kind of filter using just +/-1, +/-j and 0 as the > coefficients. I can't name a book from the top of my head; however the > problem reminds me of the phase shifters used with the phased array > antennas. Don't know of the systematic way of designing such filters; > however for the length ~ 10 you can easily do that by the brute force > search. The basic bandstop would be X - { 1 0 -1 }. Got the idea?
How would you implement a coefficient of j in an FIR filter? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������

Jerry Avins wrote:


>> You can build any kind of filter using just +/-1, +/-j and 0 as the >> coefficients. > > How would you implement a coefficient of j in an FIR filter? >
It is simple if the input is represented in the complex form. VLV
> You can build any kind of filter using just +/-1, +/-j and 0 as the > coefficients. I can't name a book from the top of my head; however the > problem reminds me of the phase shifters used with the phased array > antennas. Don't know of the systematic way of designing such filters; > however for the length ~ 10 you can easily do that by the brute force > search. The basic bandstop would be X - { 1 0 -1 }. Got the idea?
Thank you very much for the quick response! I'm sorry but i don't completely understand what you've said about phase shifters. If you discussed the idea of shifting a fourier transform by multiplying by growing phase shifts, you're absolutely right. The problem is that using 4 phases i can place the notch at 4 different places only, which is much better than nothing, but still doesn't solve the whole problem. As for the brute force, it definitely works for ~10 length. The thing is that I'm looking for 32 and 64 lengths, where a full search will take years to complete. What i did learn from short brute force searches is that there are no sequences which will have a total notch in every frequency sample, so i'll probably have to look for a 20dB+ attenuation. I would also very much appreciate if you could recall anything regarding where you've seen the technique of designing filters using +/-1, +/-j and 0 only. I haven't heard of anything like this and will be very happy to learn. Thank you again
On Nov 3, 10:57&#4294967295;am, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> Jerry Avins wrote: > >> You can build any kind of filter using just +/-1, +/-j and 0 as the > >> coefficients. > > > How would you implement a coefficient of j in an FIR filter? > > It is simple if the input is represented in the complex form. >
so you take your real input from your real A/D converter and put it into the real part of a complex array with the imaginary part set to zero. so you multiply by j and the result is imaginary. what do you do with it? r b-j
robert bristow-johnson wrote:
> On Nov 3, 10:57 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com> > wrote: >> Jerry Avins wrote: >>>> You can build any kind of filter using just +/-1, +/-j and 0 as the >>>> coefficients. >>> How would you implement a coefficient of j in an FIR filter? >> It is simple if the input is represented in the complex form. >> > > so you take your real input from your real A/D converter and put it > into the real part of a complex array with the imaginary part set to > zero. so you multiply by j and the result is imaginary. what do you > do with it?
Obviously, move it to the imaginary part of said complex array. There's part of this I just don't get! Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

robert bristow-johnson wrote:

> On Nov 3, 10:57 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com> > wrote: > >>>>You can build any kind of filter using just +/-1, +/-j and 0 as the >>>>coefficients. >> > > so you take your real input from your real A/D converter and put it > into the real part of a complex array with the imaginary part set to > zero. so you multiply by j and the result is imaginary. what do you > do with it?
I can do Hilbert over the imaginary part at the output to get back to the real numbers. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky wrote:
> > > robert bristow-johnson wrote: > >> On Nov 3, 10:57 am, Vladimir Vassilevsky <antispam_bo...@hotmail.com> >> wrote: >> >>>>> You can build any kind of filter using just +/-1, +/-j and 0 as the >>>>> coefficients. >>> >> >> so you take your real input from your real A/D converter and put it >> into the real part of a complex array with the imaginary part set to >> zero. so you multiply by j and the result is imaginary. what do you >> do with it? > > I can do Hilbert over the imaginary part at the output to get back to > the real numbers.
What coefficients do you use in your HT? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;