|
|
Gleichanteil im Signal eliminieren , aber wieeeeeeee? |
|
Musa Mustafa |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.05.2020, 23:51
Titel: Gleichanteil im Signal eliminieren , aber wieeeeeeee?
|
|
hallo zusammen ,
ich stehe vor folgendem Problem. Ich möchte den Gleichanteil im Signal eliminieren , aber wieeeeeeee?
Beschreibung: |
|
Download |
Dateiname: |
untitled.jpg |
Dateigröße: |
16.09 KB |
Heruntergeladen: |
434 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.05.2020, 08:13
Titel:
|
|
Hallo,
ich würde es so versuchen:
Bitte auch die Forumsuche bemühen. Eine Suche zu Gleichanteil liefert 45 Treffer auf gomatlab. Da dürfte schon was dabei sein, was hilft.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Musa Mustafa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.05.2020, 11:15
Titel:
|
|
Danke für die Antwort
ich habe es probiert und die folgende Fehlermeldung bekommen :
Subscript indices must either be real positive integers or logicals.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.05.2020, 11:23
Titel:
|
|
Hallo,
und wie hast du x vorher definiert?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Musa Mustafa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.05.2020, 11:35
Titel:
|
|
ich habe es so definiert:
signal= load ('signal.dat');
t= signal (:,1); % Erster Spalte : Zeit
x= signal (:,2); % Zweiter Spalte : Spannung
t_mikro=t*10^3 % zeit umwandeln
%Elimination den Gleichanteil.
x_mittel= mean(x) %mittelwetberechnen
x= x-x_mittel% Das O-Signal -Mittelwert
m=max(x);% maximal vom Signal
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.05.2020, 13:37
Titel:
|
|
Hallo,
ohne Beispieldaten kann ich nicht nachvollziehen, wo das Problem liegt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Musa Mustafa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.05.2020, 14:47
Titel:
|
|
|
|
|
Es geht darum , dass ich ein Echo (Signal) als Abtastwerte gespeichert habe ,danach muss folgende Aufgaben mache:
-Bestimmung der Pulslänge: (Eliminieren Sie den Gleichanteil und stellen Sie das Echo zusammen mit der Hüllkurvedar. Wählen Sie für die x-Achse die Zeiteinheit μs. Überlegen Sie, ob es sinnvoll ist,die beiden Signale zu normieren oder nicht. Notieren Sie Ihre Überlegung im Protokoll.
Bestimmen Sie die −6 dB- und die −20 dB-Pulslängen des ersten Echos. Zeichnen Sie
entsprechende Linien zusätzlich zur Hüllkurve ein.)
-Bestimmung der Bandbreite des Pulses : Bestimmen Sie die Mittenfrequenz des Echos aus dem vorangegangenen Teilversuch.
Berechnen Sie die −6 dB- und die −20 dB-Bandbreite des Echos sowie die entsprechenden
relativen Bandbreiten.
Gehen Sie wie folgt vor:
• Eliminieren Sie den Gleichanteil.
• Berechnen Sie die Fourier-Transformierte des Echos. Da Sie in dem interessanten
Frequenzbereich nur sehr wenige Punkte der Fouriertransformierten haben, setzen
Sie bitte Zero-Padding ein, um das Spektrum zu glätten.
• Tragen Sie den Betrag der Fourier-Transformierten über die Frequenz in einem
Bereich von 0MHz bis 40MHz auf. Wählen Sie für die Einheit der x-Achse bitte
auch MHz.
• Die Mittenfrequenz ist die Frequenz, bei der der Betrag der Fourier-Transformierten
das Maximum annimmt.
• Zeichnen Sie die −6 dB- und die −20 dB-Linien ein.
• Die Schnittpunkte dieser Linien mit dem Betrag der Fourier-Transformierten markieren
die Grenzen der entsprechenden Pulsbandbreite.
• Die relativen Bandbreiten berechnen sich als Quotient aus Bandbreite und Mittenfrequenz.
was ich geschrieben habe :
[code]% Das ist mein Programm
signal= load ('signal.dat');
t= signal (:,1); % Erster Spalte : Zeit
x= signal (:,2); % Zweiter Spalte : Spannung
t_mikro=t*10^3
t_0=find (t_mikro<0.1)
%Elimination den Gleichanteil.
x_mittel= mean(x(t_0)) %mittelwetberechnen
x= x-x_mittel% Das O-Signal -Mittelwert
m=max(x);% maximal vom Signal
c=1480;% Lichtgeschwingikeit im wasser
N=length(t);
LdB6=m/2;
LdB20=m/10;
h=abs(hilbert(x))%Das analytische Signal einmal , damit lässt sich die Hüllkurve einfach berechnen
grenz_6=find (h>=LdB6); % liefert indices
grenz_20=find (h>=LdB20); % liefert indices
T6=t_mikro(grenz_6(end))-t_mikro(grenz_6(1)) % liefert Pulsdauer
T20=t_mikro(grenz_20(end))-t_mikro(grenz_20(1))
PulsL_6=c*T6
PulsL_20=c*T20
figure ('name','Darstellung des ersten Signal')
plot (t,x)
xlabel ('Zeit [s]')
ylabel('Spannung [V]')
figure ('name','Pulsbestimmung')
plot (t, x, 'b')
hold on
plot (t, h, 'r')
grid on
plot (t,(zeros(N,1)+LdB6) , 'g')
plot (t,(zeros(N,1)+LdB20), 'k')
xlabel ('Zeit [s]')
ylabel('Spannung [V]')
hold off
title ('Signal mit Huellkurve')
title('Originalsignal und seine Huellkurve')
xlabel('Zeit [s]')
legend('rhosignal','Huellkurve','-6db','-20db')
print('Pulsbestimmung','-dpng')
%%%%%%%%%%3.3.6.%%%%%%%%%%%%%%%%%%%%%%
Delta_T= t(4)-t(3); %Zeit
Fa_ab= 1/(N*Delta_T) %abtastfrequenz bestimmung
f=[1:0.5:2500]*Fa_ab %Frequenzsintervall (abgetastet)
FFTa=abs(fft(x));% Wir berechnen die betrag von FFT des Echos.
G=find(f<=40e6) % Wir tragen den Betrag von die FFT über die Frequenz in dem Bereich zwischen 0MHz und 40MHz.
FT40=FFTa(1:G(end))%Schneide nur die FFT des Signals, die in obengenanten Frequenzintervall [0-40MHz]
f40=f(1:G(end)) % Frequenzintervall
FT_max=max(FT40)
Fm=f40(find(FT40==FT_max))% Mittenfrequenz : Frequenz, bei der die FFT den Max erreicht !!
L6=FT_max/2; % Berechnung der -6dB_Linie
L20=FT_max/10; % Berchnung der -20dB_Linie
Grenz6=find(FT40>=L6);% finde die Positionen, wo der Bertag der FFT des Signal über die -6dB_Linie ist
Grenz20=find(FT40>=L20);% finde die Positionen, wo der Bertag der FFT des Signal über die -20dB_Linie ist
l6=linspace (0,40e6, 300);
l20=linspace (0,40e6, 300);
band6=f40(Grenz6(end))-f40(Grenz6(1));
band20=f40(Grenz20(end))-f40(Grenz20(1));
bandR6=band6/Fm
bandR20=band20/Fm
figure ('name','Plot Bandbreite')
plot (f40, FT40, 'b')
hold on
plot (l6, L6,'.')
grid on
plot (l20, L20, '.')
print('Plot Bandbreite','-dpng')
xlabel ('Frequenz [0 40 MHz]')
ylabel('Spannung [V]')
legend('FFT')
title ('Betrag des FFT des Echos')
hold off
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.05.2020, 15:49
Titel:
|
|
Hallo,
das ist jetzt zwar viel Information, aber ohne eine beispielhafte signal.dat kann ich leider nicht nachvollziehen, wo das Problem liegt.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Musa Mustafa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.05.2020, 16:22
Titel:
|
|
hallo ,
zuerst möchte ich bei dir bedanken für die schnelle Antworten.
Im Anhang habe ich die datei hochgeladen
viele Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 29.05.2020, 16:28
Titel:
|
|
Hallo,
da ist kein Anhang. Sollte gomatlab kein .dat akzeptieren, dann zippen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Musa Mustafa |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 28.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.05.2020, 16:28
Titel:
|
|
Beschreibung: |
|
Download |
Dateiname: |
signal.rar |
Dateigröße: |
8.27 KB |
Heruntergeladen: |
400 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.05.2020, 10:09
Titel:
|
|
Hallo,
bei mir läuft der Code mit der Datei problemlos durch. Bekommst du wirklich noch eine Fehlermeldung? Falls ja, bitte die komplette aktuelle Fehlermeldung posten.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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 - 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.
|
|