Go Back   Home > Forums > Source & Line > Digital Source
Home Forums Rules Articles Store Gallery Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

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
Reply
 
Thread Tools Search this Thread
Old 18th July 2008, 09:49 PM   #11
diyAudio Member
 
Join Date: Nov 2007
Quote:
Originally posted by percy

In the music signal however, I would imagine that the frequency content between say sample# 1 to 500 could be very different from the freq content of the same samples but now broken up into two batches of 1 to 250 and then 250 to 500. I mean the music content between sample# 1 to 250 could be very different from sample# 250 to 500.
According to Parsevals theorems, the frequency content from 1 to 500, is sum of those two patches.

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.
  Reply With Quote
Old 21st July 2008, 05:10 PM   #12
percy is offline percy  United States
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 ?
  Reply With Quote
Old 21st July 2008, 06:07 PM   #13
diyAudio Moderator
 
Iain McNeill's Avatar
 
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!
  Reply With Quote
Old 21st July 2008, 07:44 PM   #14
percy is offline percy  United States
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 ?
  Reply With Quote
Old 24th July 2008, 03:38 AM   #15
diyAudio Moderator
 
Iain McNeill's Avatar
 
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.
  Reply With Quote
Old 24th July 2008, 01:01 PM   #16
flshzug is offline flshzug  Antarctica
Banned
 
Join Date: Dec 2007
an AES publication slideshow touching the subject is available for free on www.hypex.nl
  Reply With Quote

Reply


Hide this!Advertise here!

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


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?

All times are GMT. The time now is 06:04 PM.

Page generated in 0.10062 seconds (80.16% PHP - 19.84% MySQL) with 10 queries

Copyright ©1999-2012 diyAudio