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

Übertragungsfunktion

 

humbold
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2011, 08:16     Titel: Übertragungsfunktion
  Antworten mit Zitat      
Hallo,
ich möchte die Übetragungsfunktion von folgendem Filzter plotten:

Code:

function s = preemphasis(sof)
 
beta = 28180 * 2^(-15);
 
sof_alt = 0;
s = zeros(1, length(sof));
% Rekursion
for k = 1:length(sof),
    s(k) = sof(k) - beta*sof_alt;
    sof_alt = sof(k);
end


habe gelesen, das TF funktioniert. geht das hier? wenn ja, welche Werte müssen verwendte werden? Oder geht es eleganter bzw. anders?

Gruß, hum
Private Nachricht senden Benutzer-Profile anzeigen


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 23.08.2011, 10:21     Titel:
  Antworten mit Zitat      
Für die Transferfunction tf benötigst du die Koeffizienten von Zähler (b) und Nenner (a) des Filters. Diese werden hier aber nicht berechnet.

Code:

% z-Übertragungsfunktion
sys = tf(b,a, TS);
 


Ich verstehe aber ehrlich gesagt nicht, was das für ein Filter sein soll. Ich habe mir hiermit die Impulsantwort des Filters ausgeben lassen.

Code:

% Dirac-Impuls
imp=[1;zeros(1023,1)];
% Filter - Impulsantwort
s = preemphasis(imp);
plot(imp);
hold on;
plot(s,'r');
grid on;
 


Evtl. kannst du das ja aufklären, um was für ein Filter es sich handelt.
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2011, 10:29     Titel:
  Antworten mit Zitat      
Das soll ein"FIR Filter erster Ordnung" sein. Kann man die Koeefizienten nicht aus dem Code berechnen?

Es werden tiefe Frequenzen verringert und hohe verstärkt.

Zuletzt bearbeitet von humbold am 23.08.2011, 10:37, insgesamt 2-mal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.08.2011, 10:30     Titel:
  Antworten mit Zitat      
Mir geht es in erster Linie um Fhasen und Amplitudenverlauf
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 23.08.2011, 10:59     Titel:
  Antworten mit Zitat      
Was ist denn das beta? Bei einem FIR 1. Ordnung hast du ja...

B(z) = b1 + b2*z^-1

Du kannst ja mal folgendes testen...

Code:

TS = 1/100; % Abtastfrequenz des Signals sof
b= [1 beta]; % b1 = 1
a = [1 0];
sys=tf(b,a,TS)
bode(sys);
 


Edit: Hier kommt aber ein Tiefpass und kein Hochpass raus Question
Beim einem Hochpass muss es dann lauten:

Code:
b= [1 -beta]; % b1 = 1
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 09:50     Titel:
  Antworten mit Zitat      
Kann das sein, dass der Filter so aussieht?

pre1.png
 Beschreibung:

Download
 Dateiname:  pre1.png
 Dateigröße:  23.47 KB
 Heruntergeladen:  900 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 09:58     Titel:
  Antworten mit Zitat      
Kann man die mit TF eingegebene Übertr.Funkt. auch auf werte anwenden?
Würde sie dann mal mit dem Filter vergleichen, ob das gleiche rauskommt?!.
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 10:28     Titel:
  Antworten mit Zitat      
Noch ne andere Frage:

Kann das sein das es so lauten muss? (ersten und 2. Wert bei a und b vertauscht) :

Code:

TS = 1/8000; % Abtastfrequenz des Signals sof
% b= [1 -beta]; % b1 = 1
% a = [1 0];
b= [-beta 1]; % b1 = 1
a = [0 1];
sys=tf(b,a,TS)
bode(sys);


dann schreibt er :

"Transfer function:
-0.86 z + 1"

und "z" ist doch genau ein Zeitschritt also ein T oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.08.2011, 10:30     Titel:
  Antworten mit Zitat      
Oh mir ist gerade aufgefallen z^-1 ist ja nicht =z ...?!
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 29.08.2011, 11:12     Titel:
  Antworten mit Zitat      
Schau dir einfach mal das hier an Wink

Code:

TS = 1/8000; % Abtastfrequenz des Signals sof
b = [1 -beta]; % b1 = 1
a = [1 0];
b2 = [-beta 1]; % b1 = 1
a2 = [0 1];
sys = tf(b,a,TS)
sys2 = tf(b2,a2,TS)
bode(sys,sys2);
 


Um das Verhalten des Systems mit einem eigenen Signal zu untersuchen, gibt es folgenden Befehl:

Code:
lsim(sys,u,t)


Edit: Das Signalflußschema stimmt nicht, denn es fehlt noch b0. b0 kommt noch vor dem Verzögerungsglied...
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.08.2011, 07:43     Titel:
  Antworten mit Zitat      
Was ist denn b0?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 30.08.2011, 08:17     Titel:
  Antworten mit Zitat      
In mancher Literatur wird die Gleichung auch so angegeben:

B(z) = b0 + b1*z^-1 Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
humbold
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 20.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2011, 09:18     Titel:
  Antworten mit Zitat      
Wie müsste das Signalflußschema denn aussehen? b0 ist doch 1 und wird daher direkt zur addition durchgeleitet, und b1 ist beta, müsste doch stimmen?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.09.2011, 18:36     Titel:
  Antworten mit Zitat      
Wenn b0 = 1 ist dann stimmt es tatsächlich so...
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 - 2024 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.