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

Spektrumanalysator 360 Grad Plot 10 Grad Abstand

 

Simon-1
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2015, 09:46     Titel: Spektrumanalysator 360 Grad Plot 10 Grad Abstand
  Antworten mit Zitat      
Hallo

ich versuche aktuell Daten von einem Spektrumanalysator zu plotten.
Ich habe eine Antenne in 10° Schritten um 360° gedreht und jeweils die Amplitudenwerte vom Spektrumanalyator in eine Matrix eingelesen.

Die Matrix hat nun 36x401 Werte.

Mein ziel ist es nun diese Amplitudenwerte in einem 3d Objekt evlt mit sphere anzuordnen - ich bekomm es aber nicht hin.

Hat das schommal jmd gemacht?

Die werte sind nicht komplex sondern einfache Zahlenwerte von -70 bis -130

Auf der X-Achse würde ich die Frequenz antragen wobei das erstmal nicht so wichtig ist.

Anbei die Messdaten

Die Messantenne sollte sozusagen der Mittelpunkt der Kugel sein.

messdaten.zip
 Beschreibung:

Download
 Dateiname:  messdaten.zip
 Dateigröße:  94.96 KB
 Heruntergeladen:  319 mal
Private Nachricht senden Benutzer-Profile anzeigen


Knygs
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 26.03.15
Wohnort: ---
Version: 2015b, 2017a, 2021a
     Beitrag Verfasst am: 26.03.2015, 14:04     Titel:
  Antworten mit Zitat      
Hi Simon,

wie sollen die Amplitudenwerte denn dargestellt werden?
Sind die 401 Werte mit der Zeit oder Entfernung von der Antenne aufgezeichnet worden?

vg Tobi

3d_amps.png
 Beschreibung:
Wenn es vom Abstand abhängt, dann würde es in etwa so aussehen:

Download
 Dateiname:  3d_amps.png
 Dateigröße:  10.18 KB
 Heruntergeladen:  371 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Simon-1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2015, 16:06     Titel:
  Antworten mit Zitat      
Hi Tobi genau so sollte es aussehen.

Die 401 Werte enstprechen der x-Achse am Spektrumanalysator.
Diese wiederum spiegelt die Frquenz wieder.
Dh punkt 1 z.B. immer 1GHz und 401 wäre z.B 2 GHz

Die Amplitudenwerte selbst sind die Leistung an der jeweiligen Frequenz. - so wie du es Dargestellt hast stelle ich es mir vor. Sodass ich auf den ersten Blick sehe welches Spektrum zu welcher Messung gehört.

Kannst du mir sagen wie du den Plot erstellt hast?

Grüße
Simon
Private Nachricht senden Benutzer-Profile anzeigen
 
Knygs
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 26.03.15
Wohnort: ---
Version: 2015b, 2017a, 2021a
     Beitrag Verfasst am: 26.03.2015, 16:40     Titel:
  Antworten mit Zitat      
Okay, dann ists gut ;)

In der ersten for-Schleife bilde ich für die jeweiligen 10° Schritte den x- und y- Anteil (Stichwort Einheitskreis).
der Vektor "lang" ist sozusagen die Entfernung von der Antenne. In deinem Fall musst du es von den Werten nur noch an die Frequenzen anpassen.
In der zweiten for-Schleife stelle ich dann für die jeweiligen 10°-Schritte die Koordinaten-Vektoren auf (Abstand multipliziert mit Position) um jedem Messpunkt einen festen "Ort" zuordnen zu können.

Code:

clear x y x_lang y_lang
counter=0;
for i=0:10:360
    counter=counter+1;
    alpha=i*pi/180;
    x(counter)=cos(alpha);  
    y(counter)=sin(alpha);  
end
figure(1)
hold on
grid on
lang=linspace(0,length(messdaten(1,:)),length(messdaten(1,:))); % Abstandsvektor
for i=1:length(x)
    x_lang(i,:)=lang.*x(i); % x-koordinaten
    y_lang(i,:)=lang.*y(i); % y-koordinaten
    figure(1)
    plot3(x_lang(i,:),y_lang(i,:),messdaten(i,:));
    hold on
end



freut mich wenn ich dir weiterhelfen konnte!
Private Nachricht senden Benutzer-Profile anzeigen
 
Simon-1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2015, 17:06     Titel:
  Antworten mit Zitat      
super vielen dank probier ich aus - jetzt noch die farbe der amplituden je nach höhe von blau nach rot Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Knygs
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 58
Anmeldedatum: 26.03.15
Wohnort: ---
Version: 2015b, 2017a, 2021a
     Beitrag Verfasst am: 27.03.2015, 10:26     Titel:
  Antworten mit Zitat      
Dafür kannst du die colormap(jet) verwenden.
Bei normalen Linienplots funktioniert colormap allerdings nicht, d.h. man muss surf verwenden.
Damit der Pot dann aber komplett 360° umfasst muss man die erste Zeile an Daten an die Plot-Daten wieder hintenanfügen um den Kreis zu schließen.

sieht dann so aus:
Code:

clear x y x_lang y_lang
counter=0;
for i=0:10:360
    counter=counter+1;
    alpha=i*pi/180;
    x(counter)=cos(alpha);
    y(counter)=sin(alpha);
end
figure(1)
hold on
grid on
lang=linspace(0,length(messdaten(1,:)),length(messdaten(1,:)));
for i=1:length(x)-1
    x_lang(i,:)=lang.*x(i);
    y_lang(i,:)=lang.*y(i);
    figure(1)
    %plot3(x_lang(i,:),y_lang(i,:),messdaten(i:i+1,:));
    hold on
end
x_lang(i+1,:)=x_lang(1,:);
y_lang(i+1,:)=y_lang(1,:);
plot_messdaten=messdaten;
plot_messdaten(i+1,:)=messdaten(1,:); % Die originale Messdatei sollte nicht verändert werden, deshalb eine neue Matrix anlegen ;-)
surf(x_lang,y_lang,plot_messdaten)
colormap(jet)


Für eine Legende, was welche Farbe bedeutet, kannst du colorbar benutzen. ;-)
Private Nachricht senden Benutzer-Profile anzeigen
 
Simon-1
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.11.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.03.2015, 14:51     Titel:
  Antworten mit Zitat      
hat funktioniert - vielen dank dafür!

Laughing
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 - 2025 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.