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

Sinus filtern und mehrere Frequenzen plotten

 

qwert142

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 16:26     Titel: Sinus filtern und mehrere Frequenzen plotten
  Antworten mit Zitat      
Hallo,

trotz mehreren stunden suchen und probieren ist es mir leider nicht gelungen
eine Aufgabe für die uni zu erledigen. Eigentlich ist es recht simpel aber ich bekomme es einfach nicht hin.

ich möchte ein Sinussignal filtern mit einem Tiefpass erster Ordnung und dann halt ein plot erstellen in dem der normale 50Hz Sinus enthalten ist und auf ihn sollen dann 5-6 gefilterte Signale geplottet werden, jeweils mit einer höheren Frequenz.

Ich bitte um eure Hilfe, vielen Dank.


DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.04.2015, 16:35     Titel:
  Antworten mit Zitat      
Hallo,

dann zeige doch erstmal bitte was du bisher geschafft hast und stelle genauere Fragen wo es hakt.

Hier wird dir sicherlich niemand deine Hausaufgaben erledigen, damit du in der Sonne liegen kannst Wink
Private Nachricht senden Benutzer-Profile anzeigen
 
qwert142

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 16:46     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort.

Code:



t = 0:0.01:(2*pi);
     x = sin(t);
   
     
     
fg=0.02;
[A,B]=butter(4,2*fg);
fd = 0.1;
n = 1;
plot(t,x,'k'); hold on;
while n < 5
 
    t = 0:fd:(2*pi);
    y2=filter(A,B,x);
    plot(t,y2,'r-.');
    n = n + 1;
    fd = fd*2;

end


     
     
     axis([0 2*pi -1.5 1.5])
   



 
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.04.2015, 19:56     Titel:
  Antworten mit Zitat      
Und wo genau ist jetzt dein Problem (Ich hatte um eine genauere Fragen gebeten)? Mal abgesehen von der Tatsache, dass sich das Signal x innerhalb der Schleife nie ändert und somit y2 auch immer gleich ist.

Ist ein Sinussignal nicht aber folgendermaßen definiert?

Code:
y = Amplitude * sin(2 * pi * Signalfrequenz * t)


Ebenso kann dies kein Tiefpass 1. Ordnung sein, wenn man für die ordnung eine 4 angibt.

Code:
[A,B]=butter(4,2*fg);


fg des Filters sollte an Hand der Signalfrequenz definiert werden. Wie ist denn die Freq. des Sinus? Außerdem muss die Grenzfrequenz des Filters ins Verhältnis zur Abtastfrequenz des Signals gesetzt werden, da es sich in deinem genutzten Aufruf um ein digitales Filter handelt.
Private Nachricht senden Benutzer-Profile anzeigen
 
qwert142

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 20:11     Titel:
  Antworten mit Zitat      
ja ich habe schon gemerkt das was ich da abgeliefert habe nicht viel sinn ergibt.

Das ist z.B ein problem von mir ich habe es nicht geschafft ein vernünftigen sinus zu plotten zusammen mit den gefilteren Signalen.
ich will halt das das diagram von 0-2pi geht damit man auch alle Signale in ein Diagramm legen kann, unabhängig von der frequenz.

ich habe jetzt das ganze etwas anders aber das ist auch falsch...

Code:


%Frequenz der Eingansspannung
Grundfrequenz = 50;
%Grenzfrequenz
fgtief = 100;
fghoch =  25;
%Abtastrate
fs = 10000;
%Periodendauer
Pd = 1/Grundfrequenz;
%Anzahl filterdurchläufe
Anz = 5;

t = 0Razzd:(2*pi);
Ue = sin(t);


n = 0;    
Multiplikator = 1;
figure(1)
%plot der Eingansspannung
plot(t,Ue,'k'); hold on;
%Tiefpassfilter 1.Ordnung
[b, c] = butter(1,fgtief/(0.5*fs),'low');


% Schleife zum wiederholten plotten der verschiedenen frequenzen
while n < Anz
 
   Pd = 1/Grundfrequenz*Multiplikator;
   

t = 0Razzd:(2*pi);
Ue = sin(t);
Ua = filter(b,c,Ue);

plot(t,Ua,'r-.');hold on;


Multiplikator =Multiplikator *2;
n= n + 1;
end

 


Es soll einfach nur ein Sinus signal gefiltert werden und dann mehrfach geplottet mit unterschiedlichen Frequenzen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.04.2015, 20:44     Titel:
  Antworten mit Zitat      
Da ich die genaue Aufgabenstellung nicht kenne und deine Fragen auch nicht wirklich zielführend sind.

Nochmals der Hinweis:

Code:
y = Amplitude * sin(2 * pi * Signalfrequenz * t)


Du hast nun zwar eine Schleife geschrieben, bei der sich das Sinussignal ändert, aber der Ansatz ist falsch. Nicht der Zeitvektor t muss sich ändern sondern die Sinusfreq. So ändert sich einfach nur die Schrittweite zwischen den Abtastwerten.
Private Nachricht senden Benutzer-Profile anzeigen
 
qwert142

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 21:01     Titel:
  Antworten mit Zitat      
Danke schonmal.

Ich habe das denke ich soweit verstanden aber mein problem bleibt trotzdem.


Zitat:

t = 0:pi/100:2*pi;
f1 = 1;
f2 = 2;
y1 = sin(2 * pi * f1 * t);
y2 = sin(2 * pi * f2 * t);
plot(x,y1,x,y2);



Ich suche nach einer Möglichkeit Sinuskurven mit unterschiedlichen frequenzen in ein einem diagram von 0 bis 2pi zu plotten.
wenn die x Achse von 0-2pi geht ist die frequenz ja eher unrelevant und die Nullstellen sollten ja egal ob 2 Hz oder 5000 Hz auf der selben position liegen.
Vielleicht kannst du ja mit der Angabe mehr anfangen.
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 10.04.2015, 21:19     Titel:
  Antworten mit Zitat      
qwert142 hat Folgendes geschrieben:

wenn die x Achse von 0-2pi geht ist die frequenz ja eher unrelevant und die Nullstellen sollten ja egal ob 2 Hz oder 5000 Hz auf der selben position liegen.


Wieso sollten die Nullstellen bei unterschiedlichen Frequenzen an der selben Stelle liegen? Die Darstellung von 0...2*Pi bedeutet doch nur, dass eine volle Periode dargestellt wird. Ist aber die Frequenz 1Hz, ist die Signaldauer 1sec...bei 2Hz sind es nur noch 0.5sec. Wäre deine Aussage zutreffend, woran erkennt man dann überhaupt das die Signalfreq. unterschiedlich ist?
Private Nachricht senden Benutzer-Profile anzeigen
 
qwert142

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 21:24     Titel:
  Antworten mit Zitat      
zu meiner Aussage sage ich einfach mal besser nicht.
dann hat sich das jetzt erledigt Very Happy
Trotzdem vielen dank, bin ein großes stücken weiter gekommen.
 
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.