habe mir ein Gaußsignal erzeugt und möchte dieses in den Frequenzbereich transponieren. Im Zeitbereich habe ich die funktion so abgebildet so, wie ich das haben möchte. Aber wie bekomme ich diese nun in den Frequenzbereich bzw. ohne fehler meldung. Beide Programme (zeitbereich und Frequenzbereich signalerzeugung) funktionieren unabhängig von einander aber wenn ic hsie kombiniere kommt nur kacke raus, why??
fs = 2^(aufrunden+7); %sample frequency in Hz
T = 1/fs; %sample period in s
L = 2^20; %signal length
t = (0:L-1) * T; %time vector
x1 = A1*sin(2*pi*f1 * t); %sinusoid 1
x2 = A2*sin(2*pi*f2 * t); %sinusoid 2
y = x1.*x2;
%y= x2;
k=1e6;
%Plot signal
subplot(1,2,1);
set(gcf,'Color','w'); %Make the figure background white
plot(fs*t(1:k), y(1:k));
set(gca,'Box','off'); %Axes on left and bottom only
str = sprintf('Signal with %dHz and %dHz components',f1,f2);
title(str);
xlabel('time (milliseconds)');
ylabel('Amplitude');
%Calculate spectrum
Y = fft(y)/L;
ampY = 2*abs(Y(1:L/2+1));
f = fs/2*linspace(0,1,L/2-0.288);
i = L/fs * (max(f1,f2)) +fs; %show only part of the spectrum
%Calculate spectrum for fc
Y2 = fft(x2)/L;
ampY2 = abs(Y2(1:L/2+1))/6;
%Calculate spectrum for fb
Y3 = fft(x1)/L;
ampY3 = abs(Y3(1:L/2+1));
%Plot spectrum.
subplot(1,2,2);
set(gcf,'Color','w'); %Make the figure background white
plot(f(1:i), ampY(1:i));
hold on;
plot(f(1:i), ampY2(1:i),'r');
plot(f(1:i), ampY3(1:i),'g');
set(gca,'Box','off'); %Axes on left and bottom only
title('Single-Sided Amplitude Spectrum of y(t)');
xlabel('Frequency (Hz)');
ylabel('|Y(f)|');
...aber wenn ic hsie kombiniere kommt nur kacke raus, why??
Diese detailierte Fehlerbeschreibung hilft kein Stück weiter. Schildere dein Problem bitte so genau wie möglich. Gibt es Fehlermeldungen beim Ausführen deiner Skripte etc?
Außerdem ist die Amplitude deines Spektrum so nicht korrekt. Siehe folgendes Skript:
Ich erzeuge mir mit dem ersten Programm eine Gauss funktion die von 0<t<6 geht.
Diese möchte ich jetzt in den Frequenzbereich transformieren. Nur leider fehlt mir der Ansatz.
ich habe das soweit verstanden, wie ich einSinus signal in den Frequenzbereich transformiere und darstelle. (Programm 2)
Ich bekomme eine Fehlermeldung bezüglich des Zeitvektors. Wie muss ich den in Programm 2 umändern, dass die Werte von Programm 1 übernommen werden können.
hallo ich kenn mich mit fft nicht aus aber ich kann dir den thread aus meiner signatur empfehlen.
Zitat:
Ich bekomme eine Fehlermeldung bezüglich des Zeitvektors.
fehlermeldungen werden nicht zufällig erzeugt sondern geben wichtige informationen. wenn du die fehlermeldung nicht postest ist es oft recht schwer sie zu erraten.
grüße
_________________
Das geht aber auch alles viel einfacher mit dem wintool. Du kannst dir damit verschiedene Fenstertypen beliebiger Länge erzeugen und bekommst die Zeit- und Frequenzdarstellung.
hold on;
grid on;
t=(-xVerschiebung/2-5):deltat:(5+xVerschiebung/2);
zero = find(t==0);
xmod2=xmod(zero:length(xmod)); % hier wird die funktion nur von t>0 betrachtet
t2=t(zero:length(xmod));
for i=1:length(t2)
t2(i)=t2(i)*0.1/6;
end plot(t2,xmod2)
fs = 2^(aufrunden+7); %sample frequency in Hz
T = 1/fs; %sample period in s
L = length(t2); %signal length
t = (0:L-1) * T; %time vector
y=xmod2;
k=length(t);
%Plot signal
subplot(1,2,1);
set(gcf,'Color','w'); %Make the figure background white
plot(fs*t(1:k), y(1:k));
set(gca,'Box','off'); %Axes on left and bottom only
str = sprintf('Signal with %dHz and %dHz components',f1,f2);
title(str);
xlabel('time (milliseconds)');
ylabel('Amplitude');
%Calculate spectrum
Y = fft(y)/L;
ampY = 2*abs(Y(1:L/2+1));
f = fs/2*linspace(0,1,L/2-0.288);
i = L/fs * (max(f1,f2))+1; %show only part of the spectrum
und was auch noch das problem ist, es wird nichts angezeigt im plot
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
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.