Beste Radio Frequenz finden...

lano

Mitglied
Moin.

ich komm da nicht so recht weiter.

Am besten ich erklär das mal von vorn.

ich hab rtl_power das gibt mir sowas aus.
Code:
2020-07-27, 17:38:03, 88000000, 90500000, 9765.62, 64, -5.73, -5.96, -6.19, -6.60, -5.17, -1.91, -6.49, -3.74, -5.05, -4.19, -4.72, -4.55, -4.58, -5.24, -7.05, -5.90, -6.60, -6.95, -6.48, -6.60, -6.40, -5.96, -5.17, -5.24, -4.67, -4.44, -5.36, -4.79, -4.41, -5.38, -6.54, -5.36, -5.97, -4.71, -5.42, -4.44, -4.01, -4.26, -5.01, -3.79, -5.60, -4.80, -5.70, -5.91, -6.20, -5.76, -5.31, -6.50, -6.90, -6.42, -5.78, -5.27, -4.76, -4.84, -5.24, -4.06, -4.38, -4.46, -5.18, -5.07, -4.14, -3.29, -5.16, -5.47, -6.86, -4.60, -4.34, -4.41, -4.27, -4.64, -6.20, -4.81, -5.14, -3.82, -5.94, -4.40, -5.27, -5.10, -6.02, -6.36, -6.74, -6.62, -6.67, -4.82, -5.48, -5.32, -5.21, -4.16, -3.09, -2.00, -3.74, -3.81, -3.80, -3.91, -5.41, -3.41, -1.78, 0.33, 2.87, 8.49, 13.06, 16.51, 13.90, 9.78, 5.09, 1.79, -1.26, -2.24, -5.01, -4.37, -4.24, -4.15, -4.21, -3.65, -3.31, -2.93, -3.22, -2.93, -3.45, -4.40, -6.27, -5.92, -6.35, -6.11, -6.98, -7.22, -6.24, -6.80, -6.13, -6.13, -5.46, -5.72, -4.55, -4.86, -4.57, -5.51, -5.52, -5.25, -7.54, -6.83, -6.09, -6.64, -6.13, -6.24, -5.71, -4.87, -4.51, -4.91, -4.30, -5.24, -5.63, -5.72, -6.58, -5.40, -5.69, -6.57, -6.73, -5.79, -5.12, -3.56, -4.18, -3.06, -3.66, -3.70, -4.02, -5.16, -3.87, -4.20, -4.41, -3.82, -6.52, -6.34, -5.56, -5.21, -6.13, -6.05, -5.67, -5.39, -5.76, -4.39, -4.80, -4.97, -4.24, -5.22, -5.50, -6.26, -5.35, -6.24, -4.53, -3.74, -2.85, -1.62, 2.88, 9.20, 10.94, 5.15, 0.74, -4.04, -5.24, -4.10, -5.50, -5.81, -4.26, -4.95, -4.56, -4.71, -4.67, -4.45, -5.28, -6.29, -4.35, -4.84, -5.24, -5.55, -7.15, -5.99, -6.62, -6.11, -5.17, -5.11, -3.69, -2.71, -4.14, -4.88, -3.17, -6.23, -5.57, -7.31, -6.59, -6.18, -5.81, -5.74, -6.62, -5.92, -4.07, -5.30, -4.90, -5.88, -5.99, -5.44, -5.49, -5.91, -6.60, -6.60, -6.10, -6.66, -7.17, -6.20, -6.13, -7.01, -6.67, -1.84, -5.96, -5.95, -6.08, -5.70, -5.70
Das Format ist: date, time, Hz low, Hz high, Hz step, samples, dB, dB, dB, ...

Das sagt einem im Grunde folgendes. Am date time wurde von Hz low bis Hz hihg in Hz steps folgende db werte gemessen...

Jetzt nehme ich die Ausgabe und pipe die an ein perl script was mir dann die frequenzbereiche anzeigt mit den "kanälen" die über 10dB liegen.

Das sieht dann so aus:
Code:
Freq: 88.99 MHz -- subCh: #101 -- dB: 13.6
Freq: 89.00 MHz -- subCh: #102 -- dB: 16.0
Freq: 89.01 MHz -- subCh: #103 -- dB: 12.1
Freq: 89.90 MHz -- subCh: #195 -- dB: 12.9
Freq: 91.49 MHz -- subCh: #101 -- dB: 12.9
Freq: 91.50 MHz -- subCh: #102 -- dB: 16.4
Freq: 91.51 MHz -- subCh: #103 -- dB: 15.9
Freq: 91.52 MHz -- subCh: #104 -- dB: 14.0
Freq: 94.58 MHz -- subCh: #162 -- dB: 11.7
Freq: 94.59 MHz -- subCh: #163 -- dB: 11.2
Freq: 97.39 MHz -- subCh: #194 -- dB: 14.4
Freq: 97.40 MHz -- subCh: #195 -- dB: 15.3
Freq: 97.41 MHz -- subCh: #196 -- dB: 15.3
Freq: 97.42 MHz -- subCh: #197 -- dB: 10.2
Freq: 101.40 MHz -- subCh: #92 -- dB: 19.8
Freq: 101.41 MHz -- subCh: #93 -- dB: 16.2
Freq: 103.49 MHz -- subCh: #50 -- dB: 11.8
Freq: 103.50 MHz -- subCh: #51 -- dB: 12.7
Freq: 103.51 MHz -- subCh: #52 -- dB: 12.2
Freq: 106.28 MHz -- subCh: #80 -- dB: 11.4
Freq: 106.29 MHz -- subCh: #81 -- dB: 15.9
Freq: 106.30 MHz -- subCh: #82 -- dB: 14.8
Freq: 106.31 MHz -- subCh: #83 -- dB: 18.2
Nu kann das ja sein das die Signalstärke ja auf mehreren Kanälen nebeneinander üner 10dB ist. ich möchte aber nur den bei dem es am höchsten ist, also nicht von allen kanälen sondern nur von denen die neben einander liegen. Keine Idee wie ich das sinnig angehen sollte.

Unnnd. Ich filter nur Kanäle über 10 dB raus. War am überlegen ob das mit nem überm Querschitt besser wäre.
 

BAGZZlash

Neues Mitglied
Verstehe ich das richtig, Du suchst die lokalen Maxima bei 89.00, 91.50, 97.40 bzw. 97.41, 101.40 usw.?
 

BAGZZlash

Neues Mitglied
Na dann, für jeden Wert schauen, ob der davor und der danach kleiner ist als der aktuelle Wert. Hier mal in R mit den Rohdaten:

Code:
Low <- 88000000
High <- 90500000
Step <- 9765.62

dB <- c(-5.73, -5.96, -6.19, -6.60, -5.17, -1.91, -6.49, -3.74, -5.05, -4.19, -4.72, -4.55, -4.58, -5.24, -7.05, -5.90, -6.60, -6.95, -6.48, -6.60, -6.40, -5.96, -5.17, -5.24, -4.67, -4.44, -5.36, -4.79, -4.41, -5.38, -6.54, -5.36, -5.97, -4.71, -5.42, -4.44, -4.01, -4.26, -5.01, -3.79, -5.60, -4.80, -5.70, -5.91, -6.20, -5.76, -5.31, -6.50, -6.90, -6.42, -5.78, -5.27, -4.76, -4.84, -5.24, -4.06, -4.38, -4.46, -5.18, -5.07, -4.14, -3.29, -5.16, -5.47, -6.86, -4.60, -4.34, -4.41, -4.27, -4.64, -6.20, -4.81, -5.14, -3.82, -5.94, -4.40, -5.27, -5.10, -6.02, -6.36, -6.74, -6.62, -6.67, -4.82, -5.48, -5.32, -5.21, -4.16, -3.09, -2.00, -3.74, -3.81, -3.80, -3.91, -5.41, -3.41, -1.78, 0.33, 2.87, 8.49, 13.06, 16.51, 13.90, 9.78, 5.09, 1.79, -1.26, -2.24, -5.01, -4.37, -4.24, -4.15, -4.21, -3.65, -3.31, -2.93, -3.22, -2.93, -3.45, -4.40, -6.27, -5.92, -6.35, -6.11, -6.98, -7.22, -6.24, -6.80, -6.13, -6.13, -5.46, -5.72, -4.55, -4.86, -4.57, -5.51, -5.52, -5.25, -7.54, -6.83, -6.09, -6.64, -6.13, -6.24, -5.71, -4.87, -4.51, -4.91, -4.30, -5.24, -5.63, -5.72, -6.58, -5.40, -5.69, -6.57, -6.73, -5.79, -5.12, -3.56, -4.18, -3.06, -3.66, -3.70, -4.02, -5.16, -3.87, -4.20, -4.41, -3.82, -6.52, -6.34, -5.56, -5.21, -6.13, -6.05, -5.67, -5.39, -5.76, -4.39, -4.80, -4.97, -4.24, -5.22, -5.50, -6.26, -5.35, -6.24, -4.53, -3.74, -2.85, -1.62, 2.88, 9.20, 10.94, 5.15, 0.74, -4.04, -5.24, -4.10, -5.50, -5.81, -4.26, -4.95, -4.56, -4.71, -4.67, -4.45, -5.28, -6.29, -4.35, -4.84, -5.24, -5.55, -7.15, -5.99, -6.62, -6.11, -5.17, -5.11, -3.69, -2.71, -4.14, -4.88, -3.17, -6.23, -5.57, -7.31, -6.59, -6.18, -5.81, -5.74, -6.62, -5.92, -4.07, -5.30, -4.90, -5.88, -5.99, -5.44, -5.49, -5.91, -6.60, -6.60, -6.10, -6.66, -7.17, -6.20, -6.13, -7.01, -6.67, -1.84, -5.96, -5.95, -6.08, -5.70, -5.70)

Freq <- seq(from = Low, to = High, by = Step)
Freq <- Freq / 1000000

Data <- cbind(Freq, dB)

plot(Data, type = "l")

Indices <- as.numeric()
Pointer <- 1

for (i in 2:(length(dB) - 1))
{
    if (dB[i - 1] < dB[i] & dB[i + 1] < dB[i])
    {
        Indices[Pointer] <- i
        Pointer <- Pointer + 1
    }
}

Result <- Data[Indices, ]

Result[Result[, 2] > 10, ]
Produziert nebenbei dieses Bildchen:

Frequenzdaten.png


Als Ergebnis am Ende kommt raus, nachdem nur Signalstärken größer 10 ausgefiltert wurden:

Code:
         Freq    dB
[1,] 88.98633 16.51
[2,] 89.89453 10.94
 

BAGZZlash

Neues Mitglied
Dann sind Deine oben geposteten Daten abgeschnitten, die gehen nur bis ca. 90.5 MHz. Macht aber nichts, das Vorgehen bleibt dasselbe.
 
Oben Unten