Post Reopened by Peter K.
    Post Closed as "Needs details or clarity" by Peter K.
2 Minor formatting changes
source | link

Using a micro-processor of 48MHz, I am trying to output a sine wave from the DAC (digital to analog ), and I am not sure if my Nyquist and calculations are good.

1.I have to output sine in frequencies range of 1KHz to 3MHz

2.I have created an array of a sine samples that has 1000 points(for 1 period )

3.I am running a timer between samples, and the frequency calculation is :

float timerFrequency=sineFrequency*1000; //(timerT*1000=finalSineT)
  1. I have to output sine in frequencies range of 1KHz to 3MHz

  2. I have created an array of a sine samples that has 1000 points(for 1 period )

  3. I am running a timer between samples, and the frequency calculation

    float timerFrequency=sineFrequency*1000; //(timerT*1000=finalSineT)

But then I was thinking that for 3MHz sine wave, I will need a timer frequency of 3GHz with this approach(!). (3Mhz signal * 1000 sine samples)

Something here is very wrong with everything, because if I have a processor that is 48MHz, I can probably output a 3MHz , isn't it ?

1.Whats wrong with my approach, and what are my limits with these assumptions ?

2.Can I reduce the sine samples array to lets say 100 ? what would it do to the Nyqvist at 3MHz ?

3.How many samples should my sine array needs? (the min), and my timer frequency?

Thanks!

  1. Whats wrong with my approach, and what are my limits with these assumptions ?

  2. Can I reduce the sine samples array to lets say 100 ? what would it do to the Nyqvist at 3MHz ?

  3. How many samples should my sine array needs? (the min), and my timer frequency?

Using a micro-processor of 48MHz, I am trying to output a sine wave from the DAC (digital to analog ), and I am not sure if my Nyquist and calculations are good.

1.I have to output sine in frequencies range of 1KHz to 3MHz

2.I have created an array of a sine samples that has 1000 points(for 1 period )

3.I am running a timer between samples, and the frequency calculation is :

float timerFrequency=sineFrequency*1000; //(timerT*1000=finalSineT)

But then I was thinking that for 3MHz sine wave, I will need a timer frequency of 3GHz with this approach(!). (3Mhz signal * 1000 sine samples)

Something here is very wrong with everything, because if I have a processor that is 48MHz, I can probably output a 3MHz , isn't it ?

1.Whats wrong with my approach, and what are my limits with these assumptions ?

2.Can I reduce the sine samples array to lets say 100 ? what would it do to the Nyqvist at 3MHz ?

3.How many samples should my sine array needs? (the min), and my timer frequency?

Thanks!

Using a micro-processor of 48MHz, I am trying to output a sine wave from the DAC (digital to analog ), and I am not sure if my Nyquist and calculations are good.

  1. I have to output sine in frequencies range of 1KHz to 3MHz

  2. I have created an array of a sine samples that has 1000 points(for 1 period )

  3. I am running a timer between samples, and the frequency calculation

    float timerFrequency=sineFrequency*1000; //(timerT*1000=finalSineT)

But then I was thinking that for 3MHz sine wave, I will need a timer frequency of 3GHz with this approach(!). (3Mhz signal * 1000 sine samples)

Something here is very wrong with everything, because if I have a processor that is 48MHz, I can probably output a 3MHz , isn't it ?

  1. Whats wrong with my approach, and what are my limits with these assumptions ?

  2. Can I reduce the sine samples array to lets say 100 ? what would it do to the Nyqvist at 3MHz ?

  3. How many samples should my sine array needs? (the min), and my timer frequency?

1
source | link

Output a sine wave from samples-limits?

Using a micro-processor of 48MHz, I am trying to output a sine wave from the DAC (digital to analog ), and I am not sure if my Nyquist and calculations are good.

1.I have to output sine in frequencies range of 1KHz to 3MHz

2.I have created an array of a sine samples that has 1000 points(for 1 period )

3.I am running a timer between samples, and the frequency calculation is :

float timerFrequency=sineFrequency*1000; //(timerT*1000=finalSineT)

But then I was thinking that for 3MHz sine wave, I will need a timer frequency of 3GHz with this approach(!). (3Mhz signal * 1000 sine samples)

Something here is very wrong with everything, because if I have a processor that is 48MHz, I can probably output a 3MHz , isn't it ?

1.Whats wrong with my approach, and what are my limits with these assumptions ?

2.Can I reduce the sine samples array to lets say 100 ? what would it do to the Nyqvist at 3MHz ?

3.How many samples should my sine array needs? (the min), and my timer frequency?

Thanks!