- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to implement a half-band filter in Verilog. The questions are: 1. what is the definition for a half-band filter? Is it the same as what we have in traditional multi-rate DSP "P(z)+P(-z)=constant"? 2. Do we have another way to define it, that is, wp=ws=pi/2?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is a FIR filter that have regular zero every other coeff (except the 3 centre taps) so it can be implemented with half mults. The central coeff can be designed as 2^n implying just pass through if the filter is split into 2 ployphases.
frequency-wise its stopband starts from half of Nyquist. as to multirate it is separate issue. You can use halfband filter on same rate or use it to interpolate by 2(remove images) or decimate by 2 (remove any power beyond input Nyquist). DSPbuilder can do one for you at a click.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the value of n in the example http://www.dsprelated.com/showarticle/124.php? Besides, if there is only two polyphases {(0, 2, 4, 6), (1, 3, 5, 7)}, the filter output still needs to be the convolution of the input and the filter coeffs (not just pass through). Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Should a half band filter satisfy P(z)+P(-z)=constant (or P(w)+P(w+pi)=constant) if P(z) is a half band filter? However, in the example http://www.dsprelated.com/showarticle/124.php, P(z)+P(-z) is almost zero at pi/2, which is much less than what the sum is at 0, pi, 2*pi. Is there a problem here?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Should a half band filter satisfy P(z)+P(-z)=constant (or P(w)+P(w+pi)=constant) if P(z) is a half band filter? However, in the example http://www.dsprelated.com/showarticle/124.php, this sum is very small around pi/2 compared to its value at 0, pi, 2*pi. Besides, the value also alternates between positive and negative. Is there a problem here?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Should a half band filter satisfy P(z)+P(-z)=constant (or P(w)+P(w+pi)=constant) if P(z) is a half band filter? However, in the example http://www.dsprelated.com/showarticle/124.php, this sum is very small around pi/2 compared to its value at 0, pi, 2*pi. Besides, the value also alternates between positive and negative. Is there a problem here? --- Quote End --- The filter given in that example is this: h = [-8,0,27,0, -68,0,146,0,-281,0,499,0,-37,0,1353,0,-2161,0,3547,0,-6561,0,20727,32768,20727,0 -6561,0,3547,0,-2161,0,1353,0,-37,0,499,0,-427,0,-68,0,27,0,-8] the passband ripple is about 1 dB and this too bad for a 45 taps (unless there is typing error by them or me) Otherwise it does cutoff at half Nyquist What are those (P) rules you mentioned and from where did you get them? If you have matlab you can use firnyquist function or firhalfband or even fir1 setting cutoff to .5 and odd filter It is also possible to design IIR halfband but this not that popular.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page