Forum: Digitale Signalverarbeitung / DSP / Machine Learning Sinusgenerator in MATLAB ( Nicht der Funktionsblock in Simuling)


von m. S. (marek)


Lesenswert?

Hallo @ all,

ich hab mal eine Frage, im MATLAB/Simuling gibt es ja den Funktionsblock 
zur erzeugung von Sinus Signalen. Ich will mir aber gerne selber einen 
erstellen bzw. muss mir selber einen erstellen. Mir wurde gesagt es soll 
ihrgend wie mit hinterlegung von TAbbellen gehen die die entsprechenden 
Were bei bestimmten Winkeln hinterlegt haben. Hat sich damit schon 
jemande beschäftigt so das er mir vielleicht einen denk Ansatz geben 
kann bzw. einen Hinweis wo ich mich dazu belesen kann. Da ich bis jetzt 
nur verweise auf den Sinulink Sinusgenerator bekomme. Danke euch schon 
mal die mir weiterhelfen und dan die die sich bemüchen.

mfg
m.s.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Ein abgetasteter Sinus, hier mit Octave gemacht (Matlab sollte ähnlich 
sein), und bewusst zur Demonstration mit mehr Variablen als man wirklich 
braucht:
1
f   = 1e6;               % Frequenz
2
T   = 1/f;               % Periodendauer
3
A   = 1;                 % Amplitude
4
off = 0;                 % Y-Offset
5
phi = 0;                 % Phasenverschiebung
6
K   = 20;                % Anzahl Abtastwerte pro Periode
7
8
fs  = K * f;             % Abtastfrequenz
9
Ts  = 1 / fs;            % Abtastperiode
10
N   = 1;                 % Anzahl abzutastender Perioden
11
ts  = 0:Ts:(T * N);      % Zeitpunkte an denen abgetastet wird
12
                         %   plus ein letzter Wert, damit der Plot
13
                         %   besser aussieht. Ansonsten
14
% ts  = 0:Ts:(T * N - Ts);
15
16
x = off + A * sin(2 * pi *f * ts + phi); % abgetasteter Sinus
17
18
% Nur zum Spass:
19
plot(ts, x)

von Jan K. (jan_k)


Lesenswert?

Bedenke, matlab ist (hauptsächlich) ein numerisches Programm. Du musst 
also erst einen Vektor (eine Tabelle..) von Zeitpunkten erstellen, die 
dann von einer Funktion (z.B. sin(t), t ist eine Zahl oder ein Vektor, 
dann wird der Sinus auf alle Zahlen des Vektors angewendet) benutzt 
werden, um daraus deine y-Werte zu erzeugen.

Du hast also hinterher einen t Vektor für z.B. 200 Zeitpunkte in 
bestimmtem Abstand und die dazugehörigen Funktionswerte.

Wie das geht hat Hannes Jaeger oben schön demonstriert.

ts ist der Zeitvektor, x deine Funktionswerte.

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.