www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP sound signal mit scilab


Autor: asfari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!
ich möchte gerne ein audio signal in scilab programmieren und zwar ein 
signal der von 0 bis 2s eine horizontale geradelinie ist und von 2 bis 
6s ein sinussignal und von 6s bis 8s wieder eine horizontale gerade 
linie ist.
wie kann ich auch das signal bitte in scilab abspielen.

vielen dank für die hilfe

Autor: guelcki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tschuldigung, kann dir zwar nicht die Lösung für Scilab sagen, aber was 
soll bitte bei einem Audiosignal eine gerade Linie sein? Meinst du 
einfach 2 s Stille?

Bei Matlab lautet der Befehl "wavplay(y,Fs)" wobei y dein Vektor mit den 
PCM Werten ist, und Fs die zugehörige Abtastfrequenz.

Keine Ahnung, wie das bei Scilab ist, aber viele Befehle sind ja gleich.

Autor: asfari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo guelcki !
vielen dank für deine hilfe,
ja die gerade Linie ist einfach Stille, die meisten befehle in Scilab 
sind änlich wie bei Matlab aber ergendwie kann ich den befehl nicht 
ausführen:-(
muss man das programme zuerst speicheren?
danke

Autor: guelcki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab mir mal Scilab angesehen:

z=zeros(1,44100*2);                      //2 s Stille bei fs=44,1 kHz
s=0.2*sin(2*%pi*1000*[1:4*44100]./44100);//Ton 4 s, 1 kHz, fs=44,1 kHz
signal=[z,s,z];                          //Zusammenfügen der Vektoren
playsnd(signal,44100);                   //abspielen des Vektors, 
fs=44,1 kHz

Hoffe das hilft dir!

Autor: guelcki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>playsnd(signal,44100);                   //abspielen des Vektors,
>fs=44,1 kHz

Also die letzte Zeile gehört natürlich nicht zum Programm, da ist nur 
der Kommentar verrutscht.

Autor: asfari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oh, vielen vielen  Dank.
ich werd s heute abend ausführen und sag dir morgen bescheid.
danke noch mal

Autor: Asfari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen!
ich habe das programme in scilab ausgeführt aber ergedwie fehlt noch was
bem befehl: signal=[z,s,z]; bekomme ich eine fehler meldung, und auch 
wenn ich es ploten will dann zeichnet er mir eine komische kurve,kein 
sinus.
wäre dir noch mal dankbar wenn du mir weiter hilfst

Autor: guelcki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, es ist erstmal ziemlich ungeschickt nach der Lösung für einen 
Fehler zu fragen, ohne den Fehler zu benennen (sprich Fehlermeldung 
hinschreiben).

Zweitens habe ich das jetzt nochmal ausprobiert, ohne Programmeditor, 
einfach Zeile für Zeile in den Interpreter kopiert (nach jeder Zeile 
RETURN drücken), und es läuft ohne Fehlermeldung und genau wie 
gewünscht.

Kann also nicht nachvollziehen, wo es hakt. Die vier Zeilen 
funktionieren in Scilab!

Autor: Asfari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morgen!
ja das war ziemlich doff von mir:-(
ich habe s auch noch mal probiert, und es klappt wunderbar.
vielen dank

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.