|
josekamara |

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.09.2008, 14:50
Titel: Erstellung eines Filters
|
 |
Servus Allerseits,
wenn man z.B den Verlauf eines Filters bzw seiner Übertragungsfkt. kennt, d.h gegeben ist Amplitude A über die Frequenz f punktweise. Das zu filternde Signal sei X.
Zum Erstellen des Filters geht man folgendermassen vor:
Das Problem ist dass die bekannte Frequenzachse nicht normalisiert ist also nicht zwischen 0 und pi, z.b:
f = [0 2 .........400];
Wie kann ich es jetzt machen damit das Signal auch richtig gefiltert wird?
Ich freue mich auf jeden Vorschlag.
Jose.[/code]
_________________
Simulation
|
|
|
|
|
student |

Forum-Anfänger
|
 |
Beiträge: 25
|
 |
|
 |
Anmeldedatum: 10.03.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.0
|
 |
|
|
 |
|
Verfasst am: 26.09.2008, 16:29
Titel:
|
 |
Hallo,
vieleicht habe ich eine Lösung für dich.
Die Winkelgeschwindigkeit wird allgemein als
Zitat: |
omega = 2 * pi / T = 2 * pi * f |
beschrieben.
Die Sampling Frequenz Fs kennst du bereits, da du sie schon eingegeben hast [H,F] = FREQZ(B,A,N,Fs)
Die MAXIMALE-frequenz, die "gesehen" werden kann ist gerade die sampling frequenz
Zitat: |
omega_max = 2 * pi *fs |
Da aber das Shannon/Nyquist Theorem beachtet werden sollte (muss), ergibt sich sinnvolle Werte für alle Frequenzen unter
Normalerweise werden die Winkelgeschwindigkeiten noch mit der Samplingfrequenz normiert um vergleichbare resultate zu bekommen.
Also, (endlich) die eigentliche Lösung für dein Problem.
Multipliziere den Frequenzvektor f = [0 2 .........400]
und normiere mit
Verwende NUR die resultate bis w_n<=pi!!!!!!!! (Amplituden von grösserer Frequenz sind alles nur Aliase )
Viele Grüsse Student
|
|
|
josekamara |
Themenstarter

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.09.2008, 15:07
Titel:
|
 |
Kann man nicht auf die Grenzfrequenz z.b hier 400 normieren:
W_n=pi* fi/fn
_________________
Simulation
|
|
|
josekamara |
Themenstarter

Forum-Meister
|
 |
Beiträge: 529
|
 |
|
 |
Anmeldedatum: 26.04.08
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.10.2008, 13:36
Titel:
|
 |
Irgendwie läuft mit dem Filter überhaupt nicht.
Normalerweise wie ich sagte, zur Filterung eines Signal X durch beliebige Übertragungsfkt. geht es folgendermaßen:
den Verlauf der Übertragungsfunktion nach Frequenzachse ist scho gegeben: [H,F];
Zur Berechnung der Zählen und Nenner-Koeffizienten der Übertragungsfunktion:
[code]
[bb,aa]=invfreqz(H,F,n,m);
Dann braucht ich den Signal X zu filtern:
[code]
X_neu =filter(bb,aa,XX);
Aber der Filter gibt mir meisten NaN-Werte,
Bitte sobald eine Idee hat, würde ich die dringend brauchen.
Danke Euch.
Jose[/code]
_________________
Simulation
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|