22.03.2013, 14:25
Beitrag #1
|
amine
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Nov 2012
2010
2012
DE
|
Interpolierte Funktion aufrufen
Hey,
ich habe eine Polynom Interpolation entworfen für die Tabelle von PD (im Anhang).Es wird hier nur die positive Bereich betrachtet aus genauigkeitgründe PIn [0 dBm bis 10 dBm].die Idee war dass ich für jede jeweiligen Frequenzen immer eine neuer interpolierten Funktion erstellt wurde. das ist mir soweit klar. Nun möchte ich die polynomiale koeffizienten irgendwie speichern , vor Beginn der Messung (die 80 DAQ kanäle einlesen) soll das Programm erkennen welche interpolierte polynom verwendet wird. der Sinn des Programms ist zu wissen, für eine gelieferte Spannungswert vom AD Wandler die zugehörige Leistung aus der Tabelle PD bekommen wird. Die gennante Punkte sind mir unklar und habe keine idee wie muss ich weiter noch das ganz machen ...ich hoffe dass Sie mir helfen könnten.
Gruß Amin
Polynom Interpolation.vi (Größe: 99,05 KB / Downloads: 200)
|
|
|
22.03.2013, 15:39
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2013 17:39 von Lucki.)
Beitrag #2
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Interpolierte Funktion aufrufen
Kann jetzt Deine Frage nicht beantworten, habe aber aber einen Blick auf dein VI (richtiger müsste es heißen: auf deine VI-Tapete ) geworfen.
Du willst doch sicherlich das Ergebnis der Interpolation auch optisch im Graphen erleben? So wie du das machst geht das aber nicht: bei nur 6 Originalpunkten muss natürlich der interpolierte Plot aus mehr als 6 Samples bestehen, sonst sieht man statt einer glatten Polynomkurve nur die linearen Verbindunglinien zwischen den 6 Punkten.
So wäre es besser:
|
|
|
22.03.2013, 16:56
Beitrag #3
|
amine
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Nov 2012
2010
2012
DE
|
RE: Interpolierte Funktion aufrufen
Danke Lucki,
Also Das Ziel wäre, dass man die Ausgangsspannung UOUT in Abhängigkeit der zwei Variablen Frequenz F und Leistung PIN mit einem funktionalen Zusammenhang
f(F,PIN)=UOUT beschreiben kann... Von daher gibt der User zuerst die Frequenz ein
dadurch bildet sich eine Polynome Interpolation. ich habe jeder frequenz selber betrachtet. und für eine unbekannte Frequenz die keine Stützpunkte hat muss der User die Stützpunkte selber eingeben durch messen (ist nur bei einer neuer Frequenz bsp F=20 MHz)
und das Programm berechnet die Interpolation. Hier ist genau meine frage wie kann ich die ganze Interpolationsdaten speichern sodass das Programm nach der Eingabe der Frequenz weiß welche Polynom Interpolation verwenden, und wie macht es den Aufruf diesem Polynom??
ich hoffe dass ich
|
|
|
22.03.2013, 17:00
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2013 17:04 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.467
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Interpolierte Funktion aufrufen
Hallo amine,
der ganze Aufwand ist nur gerechtfertigt, wenn du bestimmte (nicht-lineare) Interpolationen durchführen willst. Für das einfache Interpolieren in einem 2D-Kennfeld gibt es schon fertige Funktionen wie diese hier...
So kann das aussehen, wenn man zu einem X-/Y-Punkt den Z-Wert sucht:
(Du musst noch eine "schöne" Methode wie bilinear wählen...)
|
|
|
22.03.2013, 17:58
(Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2013 18:04 von Lucki.)
Beitrag #5
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Interpolierte Funktion aufrufen
(22.03.2013 16:56 )amine schrieb: Also Das Ziel wäre, dass man die Ausgangsspannung UOUT in Abhängigkeit der zwei Variablen Frequenz F und Leistung PIN mit einem funktionalen Zusammenhang
f(F,PIN)=UOUT beschreiben kann...
Das VI von Gerd macht genau das:
Uout für jedes f und jedes Pin auszugeben.
Aber Uout würde eben nicht aus einem "funktionalem Zusammenhang" heraus berechnet, sondern durch intelligente (- damit meine ich besser als lineare -) Interpolation zwischen den Werten der gegebenen Tabelle.
Der Zweck wäre aber doch in beiden Fällen erreicht. Was würde Dich denn stören, wenn Du keine analytische Funktion hast? Als einziger Grund fällt mir ein, dass es höherwertige schöngeistige Interessen sind, die Dich nach einer solchen Funktion suchen lassen. Aber ein praktischer Grund fällt mit da nicht ein.
|
|
|
22.03.2013, 19:40
(Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2013 09:13 von Lucki.)
Beitrag #6
|
|
|
22.03.2013, 20:38
Beitrag #7
|
amine
LVF-Grünschnabel
Beiträge: 15
Registriert seit: Nov 2012
2010
2012
DE
|
RE: Interpolierte Funktion aufrufen
Oh cool
ich bin euch beide sehr dankbar
@Lucki ich würde es denn noch für die weitere 11*11 erweitern....
Gruß Amin
|
|
|
22.03.2013, 23:48
(Dieser Beitrag wurde zuletzt bearbeitet: 23.03.2013 09:18 von Lucki.)
Beitrag #8
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Interpolierte Funktion aufrufen
(22.03.2013 20:38 )amine schrieb: @Lucki ich würde es denn noch für die weitere 11*11 erweitern....
..und für das Ergebnis besteht dann Vorzeigepflicht! (Forumsregel §0815)
Gruß Ludwig
Edit: Da hatte ich doch glatt vergessen, in dem geposteten VI die mühsam eingetippten Werte "als Standard" zu speichen, so dass die Tabelle leer daherkam. Habs oben geändert. Das wird Dir hoffentlich nicht passieren, wenn Du die Tabelle vervollständigst und das VI postest!
|
|
|
24.03.2013, 10:35
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Interpolierte Funktion aufrufen
Das verstehe ich trotzdem nicht. Angenommen, Du hast ein SubVI mit 2 Eingängen (Spannung, Frequenz) und einem Ausgang (Leistung). Es berechnet dir genau das was Du suchst. Was interessiert Dich dann, wie das SubVÍ im Inneren funktioniert? Ob es den Ausgangswert mittels einer Funktion oder mittels Interpolation einer Tabelle berechnet? (Der Unterschied ist nur: Die Tabelleninterpolation ist der Spatz in der Hand, die Berechnung mit Funktion die Taube auf dem Dach)
Nicht nur Labview, auch kein anderes Programm wird so schlau sein, dass es Dir eine Funktion benennt, die am besten zu irgendwelchen Messwerten passt. Diese Funktion musst Du selbst wählen. Da ist es z.B. vorteilhaft zu wissen, welche physikalischen Gesetzte dahinter stehen.
Beispiel: Approximation mit Polynom a + b*x + c*x²
Die Entscheidung für ein Polynom mit 3 Koeffizhienten musste von Dir kommen. Labview kann dann die optimalen Koeffizienten a, b, c finden. Genau so funktionert das auch mit Funktionen mit 2 unabhänigen Variablen.
Fazit: Wenn Du unbedingt den funktionalen Zusammenhang haben willst, benenne zuerst eine passende Funktion z = f(x,y) (mit freien Parametern so viel du willst). Der Rest ist Routine.
|
|
|
| |