Hallo zusammen,
ich habe eine Karte (FPGA+DAC) und meine Aufgabe ein Dreiecksignal zu
genrieren, aber bevor ich das Signal sende, soll ich seinen Verlauf
plotten.
Dac hat die folgende Angaben:
maximale Conversion rate = 20 Mhz
minimale Converion rate= 20 Khz
maximale Bandbreite B = 4 Mhz
Definion von Dreiecksignal:
4 Cyclus(Perioden)im Interval von 0 bis 3 auf X-achse.
Das Signal soll in tmax= 4ms abgespieplt werden.
so habe ich bis jetzt vorangegangen:
sampels= max. Conversionrate* tmax // anzahl der Samples von dem Signal
x[i]=f(i*3/samples) ; f math.funktion,die ich schön implementiert für
Dreieck
und dann habe die x[i] werte und das spectrum X[i] geplottet und habe
schön 4 Dreieckprioden gekriegt.
1 | //DFT
|
2 | for(i=0; i<samples;i++){
|
3 | a=0;
|
4 | b=0;
|
5 | for(j=0; j<samples;j ++){
|
6 | a+=x[j]*cos((2*pi/N)*i*j);
|
7 | b+=x[j]*sin((2*pi/N)*i*j);
|
8 | }
|
9 | X[i]= sqrt(a*a+b*b); // DFT Amplitudenwerte von Funktion
|
10 | }
|
nun versuche ich den wirkliche Verlauf nach dac quasi darstellen aber
weis noch nicht genau wie ich das machen kann.
meine Idee,dass ich das IDFT von X[n] berechnen, wobei ich X[n]=0 für
n=f ( B <f<fs-B) setze aber weis nicht genau ob es ist richtig ist und
ob die Abtasfrequenz fs gleich conversion rate ist oder nicht.
Kann mir jemand da weiterhelfen.
Bin für jede Tipps sehr Dankbar.
Gruß
CMars