DSPRelated.com
Forums

frequency detection Maximum sampling rate

Started by kazino December 22, 2008
Hello everyone,

I am new to dsp and working on a project where I need to take 1000 8-bit
samples per second. Each sample will be at 1 of 11 predefined
frequencies.

My question is, is it possible to detect frequencies at a sampling rate
of 1 per millisecond. (1000 samples per second). I would like to use a
computer to do this rather than any hardware.

Any help would be greatly appreciated.


kazino wrote:
> Hello everyone, > > I am new to dsp and working on a project where I need to take 1000 8-bit > samples per second. Each sample will be at 1 of 11 predefined > frequencies. > > My question is, is it possible to detect frequencies at a sampling rate > of 1 per millisecond. (1000 samples per second). I would like to use a > computer to do this rather than any hardware. > > Any help would be greatly appreciated.
A fundamental requirement is that the sample rate be greater than twice the highest frequency present in the signal. That means that a sample interval of a millisecond can deal with frequencies only below 500 Hz, and the less below, the more difficult the task. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Jerry Avins <jya@ieee.org> wrote:
> kazino wrote:
>> I am new to dsp and working on a project where I need to take 1000 8-bit >> samples per second. Each sample will be at 1 of 11 predefined >> frequencies.
>> My question is, is it possible to detect frequencies at a sampling rate >> of 1 per millisecond. (1000 samples per second). I would like to use a >> computer to do this rather than any hardware.
> A fundamental requirement is that the sample rate be greater than twice > the highest frequency present in the signal. That means that a sample > interval of a millisecond can deal with frequencies only below 500 Hz, > and the less below, the more difficult the task.
True, but it isn't so obvious in this case. The 1 of 11 predefined frequencies is an important restriction, as is the rate of change of the frequency. I believe that there are some cases with fairly high frequencies where the 11 can be separated at the given sampling rate, and given a sufficiently slow change in frequency. -- glen
glen herrmannsfeldt wrote:
> Jerry Avins <jya@ieee.org> wrote: >> kazino wrote: > >>> I am new to dsp and working on a project where I need to take 1000 8-bit >>> samples per second. Each sample will be at 1 of 11 predefined >>> frequencies. > >>> My question is, is it possible to detect frequencies at a sampling rate >>> of 1 per millisecond. (1000 samples per second). I would like to use a >>> computer to do this rather than any hardware. > >> A fundamental requirement is that the sample rate be greater than twice >> the highest frequency present in the signal. That means that a sample >> interval of a millisecond can deal with frequencies only below 500 Hz, >> and the less below, the more difficult the task. > > True, but it isn't so obvious in this case. > > The 1 of 11 predefined frequencies is an important restriction, > as is the rate of change of the frequency. I believe that there > are some cases with fairly high frequencies where the 11 can be > separated at the given sampling rate, and given a sufficiently > slow change in frequency.
By a newbie? Ummm. (There was no indication that the frequencies are presented one at a time.) Still, you might be right. 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;
kazino wrote:
> Hello everyone, > > I am new to dsp and working on a project where I need to take 1000 8-bit > samples per second. Each sample will be at 1 of 11 predefined > frequencies. > > My question is, is it possible to detect frequencies at a sampling rate > of 1 per millisecond. (1000 samples per second). I would like to use a > computer to do this rather than any hardware. > > Any help would be greatly appreciated. > >
What are the 11 predefined frequencies? Do you have freedom to choose them ahead of time? You might be able to "cheat" Nyquist if they alias down to unique normalized frequencies. -- Jim Thomas Principal Applications Engineer Bittware, Inc jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 A pessimist is an optimist with experience
>kazino wrote: >> Hello everyone, >> >> I am new to dsp and working on a project where I need to take 1000
8-bit
>> samples per second. Each sample will be at 1 of 11 predefined >> frequencies. >> >> My question is, is it possible to detect frequencies at a sampling
rate
>> of 1 per millisecond. (1000 samples per second). I would like to use a >> computer to do this rather than any hardware. >> >> Any help would be greatly appreciated. >> >> > >What are the 11 predefined frequencies? Do you have freedom to choose >them ahead of time? You might be able to "cheat" Nyquist if they alias >down to unique normalized frequencies. > >-- >Jim Thomas Principal Applications Engineer Bittware, Inc >jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 >A pessimist is an optimist with experience >
Thank you very much for your responses. You are correct, I would like to choose the desired frequencies a head of time and only 1 frequency will be recorded per millisecond. There should never be a time when more than 1 frequency is present in any millisecond sample. Looking at the problem again, it would also be benefitial to lower the bit depth of the sample from 8 bits per millisecond to only 3 bits per millisecond. At such a low bit depth, will it be possible to then detect the 11 frequencies with any accuracy. My preliminary research indicates that a frequency range of 6db per bit is possible, therefore should I not be able to represent up to 18 unique frequencies with only 3 bits. If so then I should easily be able to represent the 11 frequencies that I desire.
kazino schrieb:
>> kazino wrote: >>> I am new to dsp and working on a project where I need to take 1000
>>> 8-bit samples per second. Each sample will be at 1 of 11 predefined
>>> frequencies. >>> >>> My question is, is it possible to detect frequencies at a sampling >>> rate of 1 per millisecond. (1000 samples per second).
> I would like to choose the desired frequencies a head of time and
> only 1 frequency will be recorded per millisecond. There should never > be a time when more than 1 frequency is present in any millisecond sample. What are you trying to build? Do you want to transmit a sequence of sinus signals and decode the received frequecies/symbols? How long will a constant-frequency interval (symbol) be? I assume your samples are plain time domain samples with no or just an anti-alias low pass filter. You will need several samples from a stationary signal (constant frequency sinus with constant amplitude) to determine which frequency (from a set) it is. To keep things simple, i suggest the frequency set (n+1)/16 * 500Hz, n=[1..11]. You can then use a 16-point DFT and determine the bin with largest amplitude. You'll need 16 samples of each symbol and you might need to find out when such a symbol starts. Alternatively, use (n+1)/13 * 500Hz and a 13-point DFT.
> Looking at the problem again, it would also be benefitial to lower the bit > depth of the sample from 8 bits per millisecond to only 3 bits per > millisecond.
Lowering the bit depth makes things worse. Assuming a perfect modulation scheme, the lower the bit depth, the more samples you'll need of each constant-frequency period. If you follow my suggestion, you can try reducing the bit depth. At some point, frequency detection will become unreliable. I assume this point will be around 4 bits if you input signal amplitude is perfectly adjusted.
> My preliminary research indicates that a frequency range of 6db per bit is > possible, therefore should I not be able to represent up to 18 unique > frequencies with only 3 bits.
Decibels measure amplitude range, not frequency range. Hendrik vdH

kazino wrote:
> > >kazino wrote: > >> Hello everyone, > >> > >> I am new to dsp and working on a project where I need to take 1000 > 8-bit > >> samples per second. Each sample will be at 1 of 11 predefined > >> frequencies. > >> > >> My question is, is it possible to detect frequencies at a sampling > rate > >> of 1 per millisecond. (1000 samples per second). I would like to use a > >> computer to do this rather than any hardware. > >> > >> Any help would be greatly appreciated. > >> > >> > > > >What are the 11 predefined frequencies? Do you have freedom to choose > >them ahead of time? You might be able to "cheat" Nyquist if they alias > >down to unique normalized frequencies. > > > >-- > >Jim Thomas Principal Applications Engineer Bittware, Inc > >jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 > >A pessimist is an optimist with experience > > > > Thank you very much for your responses. You are correct, I would like to > choose the desired frequencies a head of time and only 1 frequency will be > recorded per millisecond. There should never be a time when more than > 1 frequency is present in any millisecond sample. > > Looking at the problem again, it would also be benefitial to lower the bit > depth of the sample from 8 bits per millisecond to only 3 bits per > millisecond. At such a low bit depth, will it be possible to then detect > the 11 frequencies with any accuracy. > > My preliminary research indicates that a frequency range of 6db per bit is > possible, therefore should I not be able to represent up to 18 unique > frequencies with only 3 bits. If so then I should easily be able to > represent the 11 frequencies that I desire.
I think if you could get to the point where you ask a clear understandable question you could probably answer it yourself. As it is now your question can't be answered without doing some serious guessing. You only need one bit data to detect 11 chosen frequencies if the signal is clean and known to have only one frequency at any given time and that there is enough time allocated to determine each frequency. That is, all you need is a comparator and count zero crossings, and the resolution that you can achieve is determined by how long you get to examine each frequency burst. Given enough time with each frequency you can have a huge number of possible frequencies. -jim
kazino wrote:
>> kazino wrote: >>> Hello everyone, >>> >>> I am new to dsp and working on a project where I need to take 1000 > 8-bit >>> samples per second. Each sample will be at 1 of 11 predefined >>> frequencies. >>> >>> My question is, is it possible to detect frequencies at a sampling > rate >>> of 1 per millisecond. (1000 samples per second). I would like to use a >>> computer to do this rather than any hardware. >>> >>> Any help would be greatly appreciated. >>> >>> >> What are the 11 predefined frequencies? Do you have freedom to choose >> them ahead of time? You might be able to "cheat" Nyquist if they alias >> down to unique normalized frequencies. >> >> -- >> Jim Thomas Principal Applications Engineer Bittware, Inc >> jthomas@bittware.com http://www.bittware.com (603) 226-0404 x536 >> A pessimist is an optimist with experience >> > > Thank you very much for your responses. You are correct, I would like to > choose the desired frequencies a head of time and only 1 frequency will be > recorded per millisecond. There should never be a time when more than > 1 frequency is present in any millisecond sample. > > Looking at the problem again, it would also be benefitial to lower the bit > depth of the sample from 8 bits per millisecond to only 3 bits per > millisecond. At such a low bit depth, will it be possible to then detect > the 11 frequencies with any accuracy. > > My preliminary research indicates that a frequency range of 6db per bit is > possible, therefore should I not be able to represent up to 18 unique > frequencies with only 3 bits. If so then I should easily be able to > represent the 11 frequencies that I desire.
Each frequency above half the sample rate will alias to one less than the sample rate according to a well defined scheme. If you are at liberty to choose the frequencies, you might as well choose them all so there's no need to determine how they will alias. Choose frequencies far enough apart to be readily distinguishable. Six dB/bit refers to dynamic range. Have you considered that you need polarity? 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;