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

Sinusfunktion mit Diskontinuität

 

Stefano
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.03.2013, 21:17     Titel: Sinusfunktion mit Diskontinuität
  Antworten mit Zitat      
Hi,
ich versuche im moment ein Signal zu simulieren dass zeigen soll wie wichtig eine Fensterung sein kann um ein gute Fourierspektrum zu erhalten. Das Signal, in meinem Fall ein normaler Sinus, soll nach einer vom Anwender vorgegebenen Zeit abgebrochen werden, und dann wieder neu Anfangen. Das neue Signal soll dann die restliche Zeit auffüllen. Das ganze wird später in eine GUI integriert. Bisher habe ich nur soviel dass das Signal nach der bestimmten Zeit 0 ist. Häng mitlerweile schon ewig an dem Problem fest. Sad
Hab mal die Datei hier angehängt.
Hoffe jemand kann mir weiterhelfen.

Diskontinuitaet.m
 Beschreibung:

Download
 Dateiname:  Diskontinuitaet.m
 Dateigröße:  449 Bytes
 Heruntergeladen:  618 mal
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: 08.03.2013, 02:40     Titel:
  Antworten mit Zitat      
Meinst du so etwas?

Code:

function Diskontinuitaet
dis = 1.1;% Die Zeit wann die Funktion abgebrochen werden soll
fs = 100;% Abtastfrequenz
T = 4; % Gesamtzeit
f1=4; % Frequenz
a1=1; % Amplitude
werte = fs*T; % Anzahl der Werte
t = linspace(0,T,werte);
N = fs*dis; % Anzahl Werte bis Abbruch
t_user = linspace(0,dis,N);

% User Sinus bis Abbruchzeit dis
w1 = 2*f1*pi;% Omega
sinus_user = a1*sin(w1*t_user);

% Restsignal bis T erzeugen
t_rest = linspace(0,T-dis,werte-N);
sinus_rest = a1*sin(w1*t_rest);    
   
% beide Signale aneinanderhängen
signal = [sinus_user, sinus_rest];

plot(t,signal);
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefano
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 07.03.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.03.2013, 17:29     Titel:
  Antworten mit Zitat      
Ja meinte genau so etwas. Bin jetzt doch noch zu einer Lösung gekommen.


function Diskontinuitaet
dis = 1.7;%Die Zeit wann die Funktion abgebrochen werden soll
fs = 20;%Abtastfrequenz
T = 4; %Gesamtzeit
f1=2; %Frequenz
a1=1; %Amplitude
werte = fs*T; %Anzahl der Werte
t = linspace(0,T,werte);
w1 = 2*f1.*pi;% Omega

sinus = a1*sin(w1*t);



size (t)
werte2= fs*dis;
werte2 = floor (werte2);
werte3=werte-werte2;
a=1:1:werte2;
b=1:1:werte3;


sinus= [([sinus(a),sinus(b)])];

plot(t,sinus);



Trotzdem Danke Smile
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.