Forum: Digitale Signalverarbeitung / DSP / Machine Learning Signale Generieren


von Ctoly (Gast)


Lesenswert?

Hallo  zusammen,

ich habe paare Verständnisfragen bzw. benötige Tipps wie ich meine 
Aufgaben lösen kann.

ich bin dabei verschiedene Siganle softwarmässig zu generieren und über 
eine Karte (FPGA+14-Bit DAC)  zu senden.die karte hat maximale 
Bandbreite 100 kHz , Samples rate kann bis zu 2 Mhz  und vor Dac ist ein 
FIFO, auf dem bis zu 55245 Samples geschrieben werden können.

als Einstieg versuche ich Sinus- und Sägezahnschwingung zu erzeugen, die 
Schwingung soll zwischen -3.14 und 3.14 und in 3 ms gesendet weren:
1
   fs=2*B;               // fs abtastfrequenz , ich habe B als maximale Bandreite 2 MHZ gewählt
2
   inputrate=fs;          // samples rate
3
   tmin=0;               // Abtastwerte  in 3 ms abgespielt werden
4
   tmax=3;  
5
   samplessize=(tmax-tmin)*fs;       // anzahl der Samples
6
   xmin=-3,14;
7
   xmax=3.14;
8
   xr=(xmax-xmin)/samplessize;  
9
10
   for(X=Xmin;X<Xmax;X+=xr){ 
11
      Y[i]=(int)floor(double)2^14*sin(X));  // Abtastwerte mit 2^14 Amplitudenstuffen
12
     i++
13
     }
Für die Generierung Sägezahnschwingung habe auch das gleich gemacht:
1
  fs=2*B;           // fs abtastfrequenz , ich habe B als maximale Bandreite 2 MHZ gewählt               inputrate=fs;      // samples rate 
2
  tmin=0;
3
  tmax=3;
4
  samplessize=(tmax-tmin)*fs;       // anzahl der Samples
5
  xmin=-3,14;
6
  xmax=3.14;
7
  xr=(xmax-xmin)/samplessize;  
8
   
9
  periode =3;                // anzahl der Perioden zw. xmin und xmax
10
  double T=(double)((xmax-xmin)/periode); 
11
  Amin=-5;                                         // minimale Amplitude
12
  Amax=5;                                         //maximale Amplitude
13
  double rest=0;
14
  for(X=xmin; X<xmax; X+=xr){ 
15
          rest=fmod(X,T); 
16
         Y[i]=(int)floor((double)2^14* (((Amax-Amin)/T)*rest+Amin)/(Amax-Amin)));  
17
         i++
18
   }

nun meine Frage: habe ich die Abtastwerte und die Quantisierung der 
Amplitude richtig gemacht und wie kann ich am besten  die Abtastfrequenz 
bzw Samplesrate und die Anzahl der Samples  auswählen.

bin für jede Hilfe sehr dankbar.

Gruß
Ctoly

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.