WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Faltungssatz auf Signal anwenden

 

DerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.06.2012, 20:29     Titel: Faltungssatz auf Signal anwenden
  Antworten mit Zitat      
Hallo goMatlab-Community,
wie der Titel schon sagt geht es darum den Faltungssatz anzuwenden.
Als erstes lese ich das Monosignal f(t), t Element von [0,T], ein. Dieses soll dann mit dem Filter g(t) gleicher Länge gefaltet werden.
Wobei g(t) = sinc(ct) + sinc(c(T-t)).
(Die Konstante c kann frei gewählt werden, z.B. so, dass sich eine Wellenlänge von ca. 100 ms einstellt.)
Die Faltung selber findet dann durch f*g(t) statt.
Danach speichere ich das Ergebnis als neue wav-Datei ab.

Hier mein Code:
Code:
% Wave-Datei einlesen (t Element von [0,T])
f(t) = wavread('filename');

% Die Faltung berechnen
F = f*filter(c, t, T);

% Als wav-Datei abspeichern
wavwrite(f(t), 'new filename');


und die Funktion "filter":
Code:
function g = filter(c, t, T)
g = sinc(ct) + sinc(c(T-t));
end


Bitte nehmt es mir nicht übel, ich bin noch ziemlich neu in Matlab.
Aber wo ist mein Fehler bzw wo sind meine Fehler?
Ich freue mich auf jede Hilfe!

lg


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 22.06.2012, 10:47     Titel:
  Antworten mit Zitat      
Hallo,

als erstes einmal unabhängig vom Programm...es ist immer schlecht, wenn eigene Funktion den Namen von schon bereits vorhandenen Funktionen von Matlab verwenden. Das führt zu Fehlern/Fehlermeldung, die dann auf den ersten Blick erstmal kaum Sinn ergeben und man sich deshalb mit der Korrektur schwer tut. filter ist so eine Funktion.

Du solltest dir mal die Funktion
Code:
anschauen...diese führt eine Faltung durch. In der Doku wird auch genau beschrieben, wie eine Faltung im Zeitbereich durchgeführt wird. Es ist nämlich nicht nur eine reine Addition bzw. Multiplikation.

Außerdem empfehle ich dir, erstmal die Grundlagen von Matlab durchzuarbeiten. Wie arbeitet man mit Vektoren, Matrizen, Funtkionen...etc.

f(t) drückt nämlich in Matlab nicht das aus, wie es aus der Mathematik bekannt ist.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.