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

Gleichanteil im Signal eliminieren , aber wieeeeeeee?

 

Musa Mustafa
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 00:51     Titel: Gleichanteil im Signal eliminieren , aber wieeeeeeee?
  Antworten mit Zitat      
hallo zusammen ,
ich stehe vor folgendem Problem. Ich möchte den Gleichanteil im Signal eliminieren , aber wieeeeeeee?

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  16.09 KB
 Heruntergeladen:  382 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 09:13     Titel:
  Antworten mit Zitat      
Hallo,

ich würde es so versuchen:
Code:


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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Musa Mustafa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 12:15     Titel:
  Antworten mit Zitat      
Danke für die Antwort
ich habe es probiert und die folgende Fehlermeldung bekommen :
Subscript indices must either be real positive integers or logicals.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 12:23     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Musa Mustafa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 12:35     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 14:37     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Musa Mustafa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 15:47     Titel:
  Antworten mit Zitat      
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 16:49     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Musa Mustafa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 17:22     Titel:
  Antworten mit Zitat      
hallo ,
zuerst möchte ich bei dir bedanken für die schnelle Antworten.
Im Anhang habe ich die datei hochgeladen

viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.05.2020, 17:28     Titel:
  Antworten mit Zitat      
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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Musa Mustafa
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 29.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.05.2020, 17:28     Titel:
  Antworten mit Zitat      


signal.rar
 Beschreibung:

Download
 Dateiname:  signal.rar
 Dateigröße:  8.27 KB
 Heruntergeladen:  354 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2020, 11:09     Titel:
  Antworten mit Zitat      
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 ;)
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.