|
|||||||
| Home | Forums | Rules | Articles | Store | Gallery | Blogs | Register | Donations | FAQ | Calendar | Search | Today's Posts | Mark Forums Read | Search |
| Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc. |
|
Please consider donating to help us continue to serve you.
Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving |
|
![]() |
|
|
Thread Tools | Search this Thread |
|
|
#11 | |
|
diyAudio Member
Join Date: Nov 2007
|
Quote:
Lets take example with 10 tap halfbandfilter. Halfband filter has a property that every other coeff is zero except the middle one. These are very commonly used in upsamling. 1st filter output halfband filter: 0.04 0.00 -0.16 0.00 0.62 1.00 0.62 0.00 -0.16 0.00 0.04 input sequence: 0 x1 0 x2 0 x3 0 x4 0 x5 0 output (dot product): x3 2nd filter output halfband filter: 0.04 0.00 -0.16 0.00 0.62 1.00 0.62 0.00 -0.16 0.00 0.04 input sequence: x1 0 x2 0 x3 0 x4 0 x5 0 x6 output: 0.04*x1 -0.16*x2 +0.62*x3 +0.62*x4 -0.16*x5 +0.04*x6 First we see that original samples are not being touched. When calculating the "interpolated" sample, I find it quite logical that also equal amount of "future" taps are accumulated. The reason for accumulating almost infinite number of samples, becomes from time-frequency duality. There are no samples that are too far in past or future. The filter weights are getting smaller, further the sample is. With 169 nonzero taps you easily reach -100dB stopband rejection. |
|
|
|
|
#12 |
|
diyAudio Member
Join Date: Apr 2004
Location: MN
|
so if the length of the filter kernel is say 116 points then the new value of the current sample being processed would be recalculated by applying the filter coeficients to 58 sammples on either side of that sample, right ? And the diminishing filter coeficients determined by the sinc function on either side of the center would act as "weights", correct ?
For now I am referring to the online version of the book - The Scientist and Engineer's Guide to DSP by Steven Smith. More specifically Ch.16 which deals with Windowed-Sinc Filters - http://www.dspguide.com/CH16.PDF I guess it would help to look at simple yet real/practical algorithms for such a filter. Can anyone point me into that direction ? |
|
|
|
#13 |
|
diyAudio Moderator
Join Date: Oct 2007
Location: Santa Cruz, California
|
well, no. The 58 samples ahead of the current sample are in the future and don't exist yet.
at least for real time systems. The output sample is usually calculated by summing the coefficient products of the most recent 116 samples - this is why all digital filters have delay. A simple filter would be one that averages all the samples. It's fairly intuitive that this would tend to reduce the amplitude of high frequencies. As the filter length increases the low pass roll off frequency lowers. If you're going to get into this you should start using MATLAB or equivalent. And keep reading! |
|
|
|
#14 |
|
diyAudio Member
Join Date: Apr 2004
Location: MN
|
Oh I was thinking it would buffer ahead that many samples instead.
Yes I was going to install Matlab soon. Any good reading you'd like to suggest ? |
|
|
|
#15 |
|
diyAudio Moderator
Join Date: Oct 2007
Location: Santa Cruz, California
|
Well, the online book by Smith that you cite is as good as any I've read. There are the pivotal works by Oppenheim & Shafer, Hamming and others. Rorabaugh has some good general overview books.
Anything published in the AES is worth reading. But really, nothing tells you how to do what you specifically want to do. For that you have to start doing it. MATLAB is good because it provides an excellent debug safety net. The Mathworks website and MATLAB central forum and code library is just a wealth of information. http://www.mathworks.com/matlabcentral/ Start playing with the math and post your peculiar discoveries here. There's a lot of geeky math types here that love this stuff (a heady goal I myself aspire to!) <edit> oh, and the help menu in MATLAB is an education in itself. I learned a much from just reading the MATLAB tutorials & function descriptors. |
|
|
|
#16 |
|
Banned
Join Date: Dec 2007
|
an AES publication slideshow touching the subject is available for free on www.hypex.nl
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Digital active filtering using PC | manu27 | Digital Line Level | 3 | 27th August 2010 02:19 PM |
| Price-no-object design for dynamic/complex music ? | FlorianO | Multi-Way | 81 | 23rd January 2009 01:03 AM |
| CDROM Digital Signals | glt | Digital Source | 0 | 2nd December 2008 08:16 AM |
| Combining digital Coax Signals | Darkeyce | Digital Source | 2 | 14th February 2006 07:29 AM |
| New To Site? | Need Help? |
| Page generated in 0.10062 seconds (80.16% PHP - 19.84% MySQL) with 10 queries |