Проход по ссылкам навигацииГлавная : Статьи :

DDS-генератор синусоидального сигнала

DDS-генератор синусоидального сигнала

Противоток в эл.счетчике В данном Иэ 5707а-1 как подключить проекте рассмотрим изготовление генератора Переключател один клавишу схема синусоидального сигнала Противоток в эл.счетчике при помощи метода Проверка свечей зажигания под давлением в домашних усл прямого синтеза Авто термометр аналоговый (DDS-метод). Для Противоток в эл.счетчике реализации этого Иэ 5707а-1 как подключить проекта нам не Переключател один клавишу схема потребуется какого-либо дополнительного оборудования Противоток в эл.счетчике кроме самого контроллера Arduino. Проверка свечей зажигания под давлением в домашних усл Частотный диапазон генератора Противоток в эл.счетчике от Авто термометр аналоговый 0 до 16 кГц, с Противоток в эл.счетчике точностью Противоток в эл.счетчике до 1 Иэ 5707а-1 как подключить мкГц! Данное устройство может Переключател один клавишу схема пригодится не Противоток в эл.счетчике только для генерирования Проверка свечей зажигания под давлением в домашних усл звуковых сигналов, Авто термометр аналоговый но в Противоток в эл.счетчике тестовом и Иэ 5707а-1 как подключить измерительном оборудовании радиолюбителя. Переключател один клавишу схема Например в телекоммуникационном оборудовании Противоток в эл.счетчике DDS генератор можно использовать Проверка свечей зажигания под давлением в домашних усл для ЧМ и Противоток в эл.счетчике ФМ Авто термометр аналоговый модуляции (FSK и PSK).

Противоток в эл.счетчике


DDS-метод

Противоток в эл.счетчике В Противоток в эл.счетчике программной части Иэ 5707а-1 как подключить проекта, для реализации DDS Переключател один клавишу схема метода, нам Противоток в эл.счетчике понадобится 4 вещи:
Проверка свечей зажигания под давлением в домашних усл аккумулятор и Авто термометр аналоговый tuning word, Противоток в эл.счетчике который в Иэ 5707а-1 как подключить нашем случае состоит Переключател один клавишу схема из двух long integer Противоток в эл.счетчике переменных;
таблица значений синусоидального Проверка свечей зажигания под давлением в домашних усл сигнала (один период);
Противоток в эл.счетчике цифро-аналоговый Авто термометр аналоговый преобразователь, который обеспечивается внутренним ШИМ Противоток в эл.счетчике Arduino Противоток в эл.счетчике (analogWrite);
генератор Иэ 5707а-1 как подключить тактовых импульсов (используем внутренний Переключател один клавишу схема hard-таймер от Противоток в эл.счетчике ATMega).
Большинство значащих Проверка свечей зажигания под давлением в домашних усл байт аккумулятор Авто термометр аналоговый используется для Противоток в эл.счетчике адресов таблицы Иэ 5707а-1 как подключить синусоидального сигнала. Весь Переключател один клавишу схема циклический процесс, работает по Противоток в эл.счетчике прерыванию от внутреннего тактового Проверка свечей зажигания под давлением в домашних усл генератора.

Программное обеспечение

Противоток в эл.счетчике Для Авто термометр аналоговый работы данного скетча на Arduino Противоток в эл.счетчике Diecimila Противоток в эл.счетчике или Duemilenove Иэ 5707а-1 как подключить подключите потенциометр к аналоговому Переключател один клавишу схема выводу 0 Противоток в эл.счетчике и к GND Проверка свечей зажигания под давлением в домашних усл и +5В. Авто термометр аналоговый Выход генератора Противоток в эл.счетчике находится на Иэ 5707а-1 как подключить выводе 11, куда Переключател один клавишу схема вы можете подключить активные Противоток в эл.счетчике колонки, или ФНЧ фильтр Проверка свечей зажигания под давлением в домашних усл описанный ниже.

/Противоток в эл.счетчике Авто термометр аналоговый *
 *
 * DDS Sine Generator mit Противоток в эл.счетчике ATMEGS Противоток в эл.счетчике 168
 * Иэ 5707а-1 как подключить Timer2 generates the  31250 Переключател один клавишу схема KHz Clock Противоток в эл.счетчике Interrupt
 *
 * Проверка свечей зажигания под давлением в домашних усл KHM 2009 Авто термометр аналоговый /  Martin Противоток в эл.счетчике Nawrath
 * Иэ 5707а-1 как подключить Kunsthochschule fuer Medien Переключател один клавишу схема Koeln
 * Academy of Противоток в эл.счетчике Media Arts Cologne
 
 */
 
Проверка свечей зажигания под давлением в домашних усл #include "avr/pgmspace.h"
 
Противоток в эл.счетчике // Авто термометр аналоговый table of 256 sine values Противоток в эл.счетчике / Противоток в эл.счетчике one sine Иэ 5707а-1 как подключить period / stored in Переключател один клавишу схема flash memory
Противоток в эл.счетчике PROGMEM  prog_uchar sine256[]  Проверка свечей зажигания под давлением в домашних усл = {
  Авто термометр аналоговый 127,130,Противоток в эл.счетчике 133,136,Иэ 5707а-1 как подключить 139,143,146,Переключател один клавишу схема 149,152,155,158,Противоток в эл.счетчике 161,164,167,170,Проверка свечей зажигания под давлением в домашних усл 173,176,178,Противоток в эл.счетчике 181,Авто термометр аналоговый 184,187,190,192,195,Противоток в эл.счетчике 198,Противоток в эл.счетчике 200,203,Иэ 5707а-1 как подключить 205,208,210,212,Переключател один клавишу схема 215,217,Противоток в эл.счетчике 219,221,223,Проверка свечей зажигания под давлением в домашних усл 225,227,Авто термометр аналоговый 229,231,Противоток в эл.счетчике 233,234,Иэ 5707а-1 как подключить 236,238,239,Переключател один клавишу схема 240,
  242,243,244,Противоток в эл.счетчике 245,247,248,Проверка свечей зажигания под давлением в домашних усл 249,249,250,251,Противоток в эл.счетчике Авто термометр аналоговый 252,252,253,253,253,Противоток в эл.счетчике Противоток в эл.счетчике 254,Иэ 5707а-1 как подключить 254,254,254,254,254,254,Переключател один клавишу схема 253,253,253,Противоток в эл.счетчике 252,252,251,Проверка свечей зажигания под давлением в домашних усл 250,Авто термометр аналоговый 249,249,248,Противоток в эл.счетчике 247,245,Иэ 5707а-1 как подключить 244,243,242,Переключател один клавишу схема 240,239,238,236,Противоток в эл.счетчике 234,233,231,229,Проверка свечей зажигания под давлением в домашних усл 227,225,223,
  Противоток в эл.счетчике 221,Авто термометр аналоговый 219,217,215,212,210,Противоток в эл.счетчике 208,Противоток в эл.счетчике 205,203,Иэ 5707а-1 как подключить 200,198,195,192,Переключател один клавишу схема 190,187,Противоток в эл.счетчике 184,181,178,Проверка свечей зажигания под давлением в домашних усл 176,173,Авто термометр аналоговый 170,167,Противоток в эл.счетчике 164,161,Иэ 5707а-1 как подключить 158,155,152,Переключател один клавишу схема 149,146,143,139,Противоток в эл.счетчике 136,133,130,127,Проверка свечей зажигания под давлением в домашних усл 124,121,118,Противоток в эл.счетчике 115,Авто термометр аналоговый 111,108,105,102,99,Противоток в эл.счетчике 96,Противоток в эл.счетчике 93,90,Иэ 5707а-1 как подключить 87,84,81,78,
  Переключател один клавишу схема 76,73,Противоток в эл.счетчике 70,67,64,Проверка свечей зажигания под давлением в домашних усл 62,59,Авто термометр аналоговый 56,54,Противоток в эл.счетчике 51,49,Иэ 5707а-1 как подключить 46,44,42,Переключател один клавишу схема 39,37,35,33,Противоток в эл.счетчике 31,29,27,25,Проверка свечей зажигания под давлением в домашних усл 23,21,20,Противоток в эл.счетчике 18,Авто термометр аналоговый 16,15,14,12,11,Противоток в эл.счетчике 10,Противоток в эл.счетчике 9,7,Иэ 5707а-1 как подключить 6,5,5,4,Переключател один клавишу схема 3,Противоток в эл.счетчике 2,2,Проверка свечей зажигания под давлением в домашних усл 1,1,1,Авто термометр аналоговый 0,Противоток в эл.счетчике 0,Иэ 5707а-1 как подключить 0,0,0,0,0,Переключател один клавишу схема 1,1,1,2,2,Противоток в эл.счетчике 3,4,5,5,Проверка свечей зажигания под давлением в домашних усл 6,7,9,Противоток в эл.счетчике 10,Авто термометр аналоговый 11,12,14,15,16,Противоток в эл.счетчике 18,Противоток в эл.счетчике 20,21,Иэ 5707а-1 как подключить 23,25,27,29,Переключател один клавишу схема 31,
  33,Противоток в эл.счетчике 35,37,39,Проверка свечей зажигания под давлением в домашних усл 42,44,Авто термометр аналоговый 46,49,Противоток в эл.счетчике 51,54,Иэ 5707а-1 как подключить 56,59,62,Переключател один клавишу схема 64,67,70,73,Противоток в эл.счетчике 76,78,81,84,Проверка свечей зажигания под давлением в домашних усл 87,90,93,Противоток в эл.счетчике 96,Авто термометр аналоговый 99,102,105,108,111,Противоток в эл.счетчике 115,Противоток в эл.счетчике 118,121,Иэ 5707а-1 как подключить 124
 
};
#define cbi(sfr, Переключател один клавишу схема bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define Проверка свечей зажигания под давлением в домашних усл sbi(sfr, bit) Авто термометр аналоговый (_SFR_BYTE(sfr) |= Противоток в эл.счетчике _BV(bit))
 
int Иэ 5707а-1 как подключить ledPin = 13;                 Переключател один клавишу схема // LED pin 7
Противоток в эл.счетчике int testPin = 7;
Проверка свечей зажигания под давлением в домашних усл int t2Pin = Противоток в эл.счетчике 6;
Авто термометр аналоговый byte bb;
 
double dfreq;
// Противоток в эл.счетчике const Противоток в эл.счетчике double refclk=31372.Иэ 5707а-1 как подключить 549;  // =16MHz / Переключател один клавишу схема 510
const Противоток в эл.счетчике double refclk=31376.6;      Проверка свечей зажигания под давлением в домашних усл // measured
 
Авто термометр аналоговый // variables Противоток в эл.счетчике used inside Иэ 5707а-1 как подключить interrupt service declared Переключател один клавишу схема as voilatile
volatile byte Противоток в эл.счетчике icnt;              // var inside Проверка свечей зажигания под давлением в домашних усл interrupt
volatile byte Противоток в эл.счетчике icnt1;             Авто термометр аналоговый // var inside interrupt
volatile Противоток в эл.счетчике byte Противоток в эл.счетчике c4ms;              // Иэ 5707а-1 как подключить counter incremented all 4ms
Переключател один клавишу схема volatile unsigned Противоток в эл.счетчике long phaccu;   // Проверка свечей зажигания под давлением в домашних усл pahse accumulator
Авто термометр аналоговый volatile unsigned Противоток в эл.счетчике long tword_m;  Иэ 5707а-1 как подключить // dds tuning Переключател один клавишу схема word m
 
void setup()
Противоток в эл.счетчике {
  pinMode(ledPin, OUTPUT);      // Проверка свечей зажигания под давлением в домашних усл sets the digital Противоток в эл.счетчике pin Авто термометр аналоговый as output
  Serial.begin(115200);        // Противоток в эл.счетчике connect Противоток в эл.счетчике to the Иэ 5707а-1 как подключить serial port
  Serial.println("DDS Переключател один клавишу схема Test");
 
  pinMode(6, Противоток в эл.счетчике OUTPUT);      // sets Проверка свечей зажигания под давлением в домашних усл the digital Авто термометр аналоговый pin as Противоток в эл.счетчике output
  pinMode(7, Иэ 5707а-1 как подключить OUTPUT);      // sets Переключател один клавишу схема the digital pin as Противоток в эл.счетчике output
  pinMode(11, OUTPUT);     // Проверка свечей зажигания под давлением в домашних усл pin11= PWM  output Противоток в эл.счетчике / Авто термометр аналоговый frequency output
 
  Setup_timer2();
 
  // disable Противоток в эл.счетчике interrupts Противоток в эл.счетчике to avoid Иэ 5707а-1 как подключить timing distortion
  cbi (TIMSK0,Переключател один клавишу схема TOIE0);              // Противоток в эл.счетчике disable Timer0 !!! delay() Проверка свечей зажигания под давлением в домашних усл is now Авто термометр аналоговый not available
  Противоток в эл.счетчике sbi (TIMSK2,Иэ 5707а-1 как подключить TOIE2);              // enable Переключател один клавишу схема Timer2 Interrupt
 
  dfreq=1000.0;                    Противоток в эл.счетчике // initial output frequency Проверка свечей зажигания под давлением в домашних усл = 1000.o Противоток в эл.счетчике Hz
  Авто термометр аналоговый tword_m=pow(2,32)*dfreq/refclk;  // calulate DDS Противоток в эл.счетчике new Противоток в эл.счетчике tuning word
 
Иэ 5707а-1 как подключить }
void loop()
{
  Переключател один клавишу схема while(1) {
     Противоток в эл.счетчике if (c4ms > Проверка свечей зажигания под давлением в домашних усл 250) {                 Авто термометр аналоговый // timer Противоток в эл.счетчике / wait Иэ 5707а-1 как подключить fou a full Переключател один клавишу схема second
      c4ms=0;
      dfreq=analogПротивоток в эл.счетчике Read(0);             // read Poti on analog Проверка свечей зажигания под давлением в домашних усл pin 0 to Противоток в эл.счетчике adjust Авто термометр аналоговый output frequency from 0..1023 Противоток в эл.счетчике Hz
 
      Противоток в эл.счетчике cbi (TIMSK2,Иэ 5707а-1 как подключить TOIE2);              // disble Timer2 Переключател один клавишу схема Interrupt
      tword_m=pow(2,Противоток в эл.счетчике 32)*dfreq/refclk;  // calulate Проверка свечей зажигания под давлением в домашних усл DDS new Авто термометр аналоговый tuning word
      Противоток в эл.счетчике sbi (TIMSK2,Иэ 5707а-1 как подключить TOIE2);              // enable Переключател один клавишу схема Timer2 Interrupt
 
      Противоток в эл.счетчике Serial.print(dfreq);
      Serial.print("  ");
      Serial.Проверка свечей зажигания под давлением в домашних усл println(tword_m);
    }
 
   sbi(PORTD,Противоток в эл.счетчике 6); Авто термометр аналоговый // Test / set PORTD,Противоток в эл.счетчике 7 Противоток в эл.счетчике high to Иэ 5707а-1 как подключить observe timing with a Переключател один клавишу схема scope
   cbi(PORTD,Противоток в эл.счетчике 6); // Test Проверка свечей зажигания под давлением в домашних усл /reset PORTD,Авто термометр аналоговый 7 high Противоток в эл.счетчике to observe Иэ 5707а-1 как подключить timing with a Переключател один клавишу схема scope
  }
 }
Противоток в эл.счетчике //******************************************************************
// timer2 Проверка свечей зажигания под давлением в домашних усл setup
// set prscaler to Противоток в эл.счетчике 1, Авто термометр аналоговый PWM mode to phase correct Противоток в эл.счетчике PWM,  Противоток в эл.счетчике 16000000/510 = Иэ 5707а-1 как подключить 31372.55 Hz clock
Переключател один клавишу схема void Setup_timer2() Противоток в эл.счетчике {
 
// Timer2 Проверка свечей зажигания под давлением в домашних усл Clock Prescaler Авто термометр аналоговый to : Противоток в эл.счетчике 1
  sbi Иэ 5707а-1 как подключить (TCCR2B, CS20);
  cbi Переключател один клавишу схема (TCCR2B, CS21);
  cbi (TCCR2B, Противоток в эл.счетчике CS22);
 
  // Timer2 PWM Проверка свечей зажигания под давлением в домашних усл Mode set to Противоток в эл.счетчике Phase Авто термометр аналоговый Correct PWM
  cbi (TCCR2A, COM2A0);  Противоток в эл.счетчике // Противоток в эл.счетчике clear Compare Иэ 5707а-1 как подключить Match
  sbi (TCCR2A, COM2A1);
 
  Переключател один клавишу схема sbi (TCCR2A, Противоток в эл.счетчике WGM20);  // Mode Проверка свечей зажигания под давлением в домашних усл 1  / Авто термометр аналоговый Phase Correct Противоток в эл.счетчике PWM
  cbi Иэ 5707а-1 как подключить (TCCR2A, WGM21);
  cbi Переключател один клавишу схема (TCCR2B, WGM22);
}
 
Противоток в эл.счетчике //******************************************************************
// Timer2 Interrupt Service Проверка свечей зажигания под давлением в домашних усл at 31372,550 Противоток в эл.счетчике KHz Авто термометр аналоговый = 32uSec
// this is Противоток в эл.счетчике the Противоток в эл.счетчике timebase REFCLOCK Иэ 5707а-1 как подключить for the DDS generator
Переключател один клавишу схема // FOUT Противоток в эл.счетчике = (M (REFCLK)) Проверка свечей зажигания под давлением в домашних усл / (2 Авто термометр аналоговый exp 32)
Противоток в эл.счетчике // runtime Иэ 5707а-1 как подключить : 8 microseconds Переключател один клавишу схема ( inclusive push and Противоток в эл.счетчике pop)
ISR(TIMER2_OVF_vect) {
 
  sbi(PORTD,Проверка свечей зажигания под давлением в домашних усл 7);          Противоток в эл.счетчике // Test / Авто термометр аналоговый set PORTD,7 high to Противоток в эл.счетчике observe Противоток в эл.счетчике timing with Иэ 5707а-1 как подключить a oscope
 
  phaccu=phaccu+tword_m; // Переключател один клавишу схема soft DDS, Противоток в эл.счетчике phase accu with Проверка свечей зажигания под давлением в домашних усл 32 bits
  Авто термометр аналоговый icnt=phaccu >> Противоток в эл.счетчике 24;     // Иэ 5707а-1 как подключить use upper 8 Переключател один клавишу схема bits for phase accu Противоток в эл.счетчике as frequency information
                         // Проверка свечей зажигания под давлением в домашних усл read value fron Противоток в эл.счетчике ROM Авто термометр аналоговый sine table and send to Противоток в эл.счетчике PWM Противоток в эл.счетчике DAC
  OCR2A=pgm_read_byte_near(sine256 Иэ 5707а-1 как подключить + icnt);   
 
  if(icnt1++ == Переключател один клавишу схема 125) {  Противоток в эл.счетчике // increment variable Проверка свечей зажигания под давлением в домашних усл c4ms all Авто термометр аналоговый 4 milliseconds
    Противоток в эл.счетчике c4ms++;
    icnt1=0;
   Иэ 5707а-1 как подключить }  
 
 cbi(PORTD,7);            Переключател один клавишу схема // reset PORTD,7
Противоток в эл.счетчике }


Результат

Ниже представлена Проверка свечей зажигания под давлением в домашних усл осциллограмма, на верхней Противоток в эл.счетчике части Авто термометр аналоговый которой изображен ШИМ-сигнал на 11 Противоток в эл.счетчике выходе, Противоток в эл.счетчике а в Иэ 5707а-1 как подключить нижней части этот же Переключател один клавишу схема сигнал после Противоток в эл.счетчике фильтра низких частот Проверка свечей зажигания под давлением в домашних усл (ФНЧ). Синусоида Авто термометр аналоговый выглядит не Противоток в эл.счетчике очень чистой, Иэ 5707а-1 как подключить но это в Переключател один клавишу схема основном из-за ограниченной разрешающей Противоток в эл.счетчике способности цифрового осциллографа.

Противоток в эл.счетчике


Спектрограмма Проверка свечей зажигания под давлением в домашних усл показала неожиданно хороший Противоток в эл.счетчике результат. Авто термометр аналоговый Большой пик - это на Противоток в эл.счетчике частоте Противоток в эл.счетчике около 1000 Иэ 5707а-1 как подключить Гц. Все нежелательные искажения Переключател один клавишу схема находятся ниже Противоток в эл.счетчике 50 дБ, возникшие Проверка свечей зажигания под давлением в домашних усл из-за того, Авто термометр аналоговый что использовался Противоток в эл.счетчике 8 битный Иэ 5707а-1 как подключить ЦАП (1/256 = Переключател один клавишу схема 48 дБ).

Противоток в эл.счетчике


Выходной фильтр Противоток в эл.счетчике низких частот

Для начала, Проверка свечей зажигания под давлением в домашних усл вы можете подсоединить Противоток в эл.счетчике 11 Авто термометр аналоговый пин контроллера к активным колонкам. Противоток в эл.счетчике Но Противоток в эл.счетчике скорее всего, Иэ 5707а-1 как подключить вам еще понадобится ФНЧ-фильтр, Переключател один клавишу схема который также Противоток в эл.счетчике будет отфильтровывать частоту Проверка свечей зажигания под давлением в домашних усл дискретизации 32 Авто термометр аналоговый кГц. Ниже Противоток в эл.счетчике представлена схема Иэ 5707а-1 как подключить такого фильтра с Переключател один клавишу схема частотой среза 12 кГц.

Противоток в эл.счетчике


Противоток в эл.счетчике Аппаратная реализация DDS

Данная Проверка свечей зажигания под давлением в домашних усл программная реализация алгоритма Противоток в эл.счетчике DDS Авто термометр аналоговый имеет некоторые недостатки, связанные с Противоток в эл.счетчике ограниченной Противоток в эл.счетчике скоростью алгоритма Иэ 5707а-1 как подключить программы, а также возможностями Переключател один клавишу схема микроконтроллера ATMega. Противоток в эл.счетчике Специализированные DDS-микросхемы лишены Проверка свечей зажигания под давлением в домашних усл этих недостатков Авто термометр аналоговый и покрывают Противоток в эл.счетчике диапазон от Иэ 5707а-1 как подключить 0 до 100 Переключател один клавишу схема МГц.

WSPR

Извещатель о Противоток в эл.счетчике прохождении слабого сигнала (Weak Проверка свечей зажигания под давлением в домашних усл Signal Propagation Reporter) Противоток в эл.счетчике - Авто термометр аналоговый программное обеспечение позволяющее передавать и Противоток в эл.счетчике принимать Противоток в эл.счетчике сигналы радиомаяков, Иэ 5707а-1 как подключить задействуя не только передатчик, Переключател один клавишу схема но и Противоток в эл.счетчике интернет. При помощи Проверка свечей зажигания под давлением в домашних усл данного DDS-генератора Авто термометр аналоговый можно генерировать Противоток в эл.счетчике 4 тоновых Иэ 5707а-1 как подключить последовательности частотой 1497.Переключател один клавишу схема 8 1499.3 1500.Противоток в эл.счетчике 7 1502.2 Гц.

Проверка свечей зажигания под давлением в домашних усл Источник: http://interface.khm.Противоток в эл.счетчике de/