doubleanti

12-16-2004, 02:11 AM

Greetings,

I'm programming a DFT-based spectrograph, or... spectrogram (I'm not sure what it's called exactly) viewer. But I'm having a little snafu. My approach to selecting which frequencies to test was as follows:

I figured since the data was sampled discretely at 44.1 KHz, I would use samples as a measure of which frequencies to test rather than just using frequency. For example, I would use a period of 1 sample, or 2 samples, or 3, or 4, or 6, or 8 and so forth because it'd be easiest to calculate a sin/cos table which could be reused. That is, using arbitrary periods would require recalculation of the sin/cos values since the table's period would not coincide with the period we'd be testing for.

But, using 1, 2, 3, and so forth only corresponds to testing for 44.1K, 22.2K, 14.7K, and so forth. Granted, speech generally lies within the the bounds of 8 K, but even when the period gets to this using discrete sample boundaries (44.1/5 samples = 8.82K, next 44.1/6 = 7.35) the delta frequency ends up being a whopping K and a half roughly.

I don't wanna miss out data in that range! So what can I do to improve the resolution in that high frequency range? If I could get data sampled at like, 44.1K * 4 that'd be nice, 'cept what software can do that? Or... can my soundblaster compatible even do that? Help!

Thanks a lot!

I'm programming a DFT-based spectrograph, or... spectrogram (I'm not sure what it's called exactly) viewer. But I'm having a little snafu. My approach to selecting which frequencies to test was as follows:

I figured since the data was sampled discretely at 44.1 KHz, I would use samples as a measure of which frequencies to test rather than just using frequency. For example, I would use a period of 1 sample, or 2 samples, or 3, or 4, or 6, or 8 and so forth because it'd be easiest to calculate a sin/cos table which could be reused. That is, using arbitrary periods would require recalculation of the sin/cos values since the table's period would not coincide with the period we'd be testing for.

But, using 1, 2, 3, and so forth only corresponds to testing for 44.1K, 22.2K, 14.7K, and so forth. Granted, speech generally lies within the the bounds of 8 K, but even when the period gets to this using discrete sample boundaries (44.1/5 samples = 8.82K, next 44.1/6 = 7.35) the delta frequency ends up being a whopping K and a half roughly.

I don't wanna miss out data in that range! So what can I do to improve the resolution in that high frequency range? If I could get data sampled at like, 44.1K * 4 that'd be nice, 'cept what software can do that? Or... can my soundblaster compatible even do that? Help!

Thanks a lot!