K.M. Borkowski, Centrum Astronomii UMK (TCfA), Toruń
AutoFFT, a Fortran program for preliminary
reduction
Summary:
This document describes in detail changes and improvements of a program used hitherto for initial reduction of data obtained from the
TCfA spectrograph.
In this context, basic theoretical relations are derived or presented
which pertain to channel statistics, to distortions of the autocorrelation function (ACF) due to one-bit and three-level signal sampling, to
Fourier transformation of corrected ACF, and to location of Doppler
shifted line in the spectrum.
Perhaps of general interest is the formula Eq. (13),
which can be used in practice to compute (by numerical integration)
the correction function for a three-level correlator whose quantization thresholds are asymmetric with respect to the zero level. The formula
may be considered a generalization of the well known Hagen and Farley solution, Eq. (8) (which is good for symmetric thresholds only).
of data from the TCfA autocorrelator |
Tabela 1Wejście 1: -1 -1 -1 0 0 0 +1 +1 +1 Wejście 2: -1 0 +1 -1 0 +1 -1 0 +1 |
Zauważmy najpierw, że oczekiwane wartości zliczeń korelatora trójpoziomowego możemy analizować tak, jak gdyby generował on niezmienione wartości korelacji (nie powiekszone o 1), gdyż znając czas integracji lub liczbę cykli korelacji próbek, od zakumulowanych wartości możemy po prostu odjąć te dodane jedynki w liczbie równej liczbie cykli korelacji w danej integracji ACF, Nmax. W dalszym ciągu zakładamy, że ta pierwsza operacja (odejmowanie Nmax) została wykonana. Przyjmiemy również, że sygnał przed ograniczaniem i próbkowaniem ma normalny (gaussowski) rozkład amplitud o zerowej średniej i odchyleniu standartowym σ, które jest zarazem RMS (wartością średnikwadratową albo mocą skuteczną) sygnału. Ten rozkład prawdopodobieństwa ma postać: 1/[σ √{2π}] exp[–x2/(2σ2)], gdzie x jest amplitudą sygnału. Założenie o normalności sygnału generalnie jest dobrze spełnione, gdyż obserwowane linie widmowe są bardzo słabe. Obraz ten psują jednak zakłócenia, dlatego poniższe rozważania tracą słuszność w obecności silnych zakłóceń lub bardzo silnych linii widmowych.
Spodziewane zliczenia w kanałach z niezerowym zapóźnieniem
|
|
|
|
|
|
która przy jednakowych (co do wartości bezwzględnej) progach kwantowania, v,
redukuje się do znanego z literatury wzoru:
|
Wzory (1) i (2) łatwo przekształcić do postaci:
|
Do przybliżonych ocen wysokości i wzajemnej relacji progów kwantowania dla obecnej konfiguracji autokorelatora TCfA mogą w praktyce posłużyć poniższe wykresy pokazujące zależność wysokości tych progów od statystyk w kanale z zerowym zapóźnieniem oraz w końcowych kanałach ACF. Poszczególne krzywe odpowiadają różnym zmierzonym średnim w dalszych kanałach zgodnie z opisem w ramce wewnątrz rysunku. Czarne krzywe dotyczą idealnie symetrycznych progów kwantowania.
Rys. 1: Poziom progów kwantowania, u = V/σ, w funkcji współczynnika korelacji w zerowym kanale autokorelatora trójpoziomowego dla różnych wartości zliczeń w końcowych kanałach, N/Nmax. |
Wzór (1) mówi, że przy nierównych poziomach kwantowania podczas korelacji sygnału losowego w postaci całkowicie niezależnych próbek powstaje pewna stała nadwyżka we wszystkich 'niezerowych' kanałach w funkcji absolutnej wartości różnicy tych poziomów. W praktyce tę nadwyżkę można łatwo zmierzyć licząc średnią wartość surowej ACF z końcowych kanałów autokorelatora, gdzie idealna (pod względem tych poziomów) ACF powinna być bliska zera. Jeśli odejmiemy ją od wszystkich niezerowych kanałów, otrzymamy inną ACF. W oparciu o teorię możnaby sądzić, że taką ACF, jaką otrzymalibyśmy z korelatora przesuwając niższy (co do wartości bezwzględnej) poziom do wartości wyższego (bo generowałby on teraz mniej jedynek, a więcej zer, co zmniejszyłoby wartość średnią ACF). I tak się w praktyce robi (odejmuje się średnią). Widzieliśmy jednak, że w zerowym kanale jest inna nadwyżka, niż w pozostałych. Mianowicie, ze wzoru (2) łatwo wydedukować, że nadwyżka spowodowana różnymi poziomami kwantowania wyniesie tutaj konkretnie:
|
Aby uczynić zmierzoną ACF taką, jaką dostaje się z korelatora o jednakowych poziomach kwantowania, kanał zerowy należałoby poprawić odejmując od niej pierwiastek kwadratowy ze średniej wyznaczonej z końcowej części ACF, a w końcowych kanałach odjąć tę średnią. Ponieważ w rzeczywistości kolejne próbki są początkowo silnie ze sobą skorelowane (choćby dlatego, że sygnał jest filtrowany do względnie wąskiego pasma), w kanałach pośrednich (1, 2, 3, ...) należałoby odjąć coś pośredniego (ale nieznanego) między tymi dwoma poprawkami na skrajnych zapóźnieniach. Stąd, naszym zdaniem, odjęcie tej samej wartości średniej od wszystkich kanałów przed nieliniową korekcją (tak jak się czyni w przypadku przynajmniej niektórych korelatorów na świecie) wprowadza niepotrzebnie dodatkowe zniekształcenia ACF. Dlatego w programie AutoFFT od ACF odejmuje się tylko instrumentalne obciążenie (stały bias elementarnych korelatorów równy Nmax). |
Pokazaliśmy, że niezrównoważenie poziomów kwantowania nie można skompensować po prostu odejmując wartość średnią. Z pomiarów wynika jednak, że autokorelator TCfA może mieć pewien 'rozbalans' progów, gdyż wartość średnia ACF dalszych kanałów stanowi ok. 0.03% Nmax. Zanim ten rozbalans zostanie potwierdzony i opracowana pełniejsza teoria korekty ACF na efekt nierównych poziomów kwantowania, tymczasem zajmiemy się prostszym do analizy korelatorem, który ma równe poziomy: V2 = –V1 = v.
Wiadomo, że optymalna pod względem czułości wartość ustawienia poziomu ograniczania (kwantowania) sygnału wynosi ok. v = 0.6 σ (z niewielką stratą gdzie indziej w zakresie od ok. 0.4 do ok. 0.85 v/σ; patrz rys. niżej). Dla tej wartości v/(σ√2) = 0.6/√2 = 0.424264.
Rys. 2: Względny czas integracji potrzebny do uzyskania tej samej wartości współczynnika korelacji autokorelatorem 3-poziomowym i wielopoziomowym. W optymalnej konfiguracji, przy v/σ = 0.62 trzeba 1.525 razy dłużej integrować funkcję korelacji. W przypadku v = 0 (korelator 1-bitowy) ten współczynnik jest równy (π/2)2 = 2.4674, czyli o ok. 62% (1.62 razy) gorzej. |
Przy takim poziomie
No/Nmax = 1 –
Erf(0.424264) = 0.548506, co oznacza, że kanał z zerowym zapóźnieniem
w czasie integracji powinien zliczać średnio około 55% jedynek i 45% zer.
Zatem optymalna 'trójpoziomowa' ACF po znormalizowaniu (przez podzielenie przez
liczbę korelowanych próbek) ma taką właśnie wartość w swoim maksimum.
Dla nieoptymalnych konfiguracji autokorelatora 3-poziomowego zliczenia w zerowym
kanale mogą być większe lub mniejsze, jak pokazano na niżej załączonym rysunku.
Rys. 3:
Względny poziom progów kwantowania, v, w funkcji współczynnika korelacji w zerowym kanale autokorelatora trójpoziomowego. |
Znając stosunek No/Nmax z pomiarów autokorelatorem, możemy za pomocą powyższego rysunku lub tablicy wartości numerycznych wyznaczyć faktyczną wysokość progu kwantyzacji w urządzeniu próbkującym w stosunku do poziomu sygnału i tak dobrać obie wartości (np. tłumiąc sygnał lub regulując wartość samego poziomu), aby z pomiarów ACF w kanale z zerowym zapóźnieniem uzyskać No/Nmax bliski optymalnemu, który wynosi 0.5485. Bezpośrednio z korelatora TCfA dostaje się celowo (hardware'owo) obciążone wyniki korelacji (dodanie 1 do każdego wyniku korelacji), dlatego w praktyce zakumulowane zliczenia w zerowym kanale powinny być 1.5485 razy większe od wartości średniej w pozostałych (a raczej tylko końcowych) kanałach. |
W osobnym pliku znajduje się tabela zawierająca
wartości numeryczne No/Nmax w funkcji
v/σ w większym niż na rysunku zakresie, od 0 do 4.00
z krokiem 0.01.
Funkcja autokorelacji sygnału ograniczonego jest wypaczoną wersją ACF pierwotnego sygnału (x), dlatego oprócz odjęcia Nmax i normalizacji względem kanału zerowego, przed przekształceniem na widmo mocy wymaga nieliniowej korekty. Do zrealizowania tego kroku trzeba znać funkcyjną postać spodziewanego wyniku korelacji. Wartość oczekiwaną współczynnika korelacji r (dla dowolnego zapóźnienia) sygnałów skwantowanych oblicza się z zależności
|
|
Gorzej wygląda sytuacja dla kwantowania 3-poziomowego. Istnieje tutaj
pośrednie rozwiązanie analityczne dla jednakowych poziomów kwantowania.
To rozwiązanie opisuje wyrażenie (np. JB Hagen i DT Farley, 1973,
Radio Science, 8, 775):
|
|
Rys. 4: Przykłady nieliniowych zależności między ACF otrzymaną z cyfrowego autokorelatora (r) i poprawioną (ρ) na wpływ kwantowania sygnału przed korelacją. |
Dysponując zależnością ρ(r) właściwą dla danego autokorelatora 3-poziomowego (chodzi w istocie tylko o wysokość progu kwantowania, v, względem mocy skutecznej mierzonego sygnału) możemy za jej pomocą poprawiać zmierzoną i znormalizowaną ACF, obliczając po prostu ρ(ACF).
Ponieważ autokorelator TCfA ma poziom v bliski optymalnemu, w programie AutoFFT zastosowano korekcję według wyżej podanego wielomianu piątego stopnia (z niewielką jego modyfikacją przez usunięcie pierwszej stałej i znormalizowanie do wartości 0.548506 dla ρ = 1). W istocie program zawiera jeszcze dwie inne funkcje korygujące. Wybór właściwej funkcji następuje automatycznie według zmierzonej wartości ro = No/Nmax. Dla ro > 0.9 jest to poprawka Van Vlecka (potrzebna, gdyż autokorelator można przestawić na jednobitowy tryb pracy), między tą wartością a 0.3 — poprawka dla optymalnego poziomu (v = 0.6σ), zaś dla ro ≤ 0.3 jest to wielomian czwartego stopnia z powyższego rysunku (wykorzystywany zasadniczo tylko dla testów).
Do przekształcenia poprawionej ACF na widmo mocy służy transformacja Fouriera. W programie wykorzystano gotowy podprogram (taki jak w Numerical Receipes, four1, po zamianie zmiennych typu real*4 na real*8, tj. do podwójnej precyzji). Jest to procedura oparta na algorytmie FFT (szybkiej transformaty Fouriera) dla ciągu liczb zespolonych. ACF jest rzeczywistą funkcją parzystą, dlatego jej transformata też jest rzeczywista i parzysta. Ze względu na tę symetrię ACF i jej rzeczywistość, oraz specyfikę FFT należy specjalnie przygotować dane przed użyciem podprogramu FFT. Mianowicie, z ciągu danych ACF (w liczbie 4096; tyle jest kanałów) należy utworzyć nowy ciąg 8192 liczb, w którym co druga (części zespolone) jest zerem. Następnie kolejne 8192 liczby zapełnić tym samym ciągiem, ale od tyłu i poczynając od 8185 komórki tablicy danych (tj. z pominięciem 8193 i następnej, które można zapełnić zerami, bądź powtórzyć ostatnią liczbę zespoloną ACF — tak się robi w AutoFFT). Ponieważ FFT wymaga liczby danych będącej potęgą 2, znaczy to, że kopia pierwszej liczby ACF nie zmieści się w tak przygotowanej tablicy. Jest to zgodne z faktem, że parzystość ACF oznacza symetrię tej funkcji względem pierwszej wartości (dla zapóźnień ujemnych ACF jest taka sama, jak dla dodatnich), czyli nieparzystą liczbę danych. Po transformacji otrzymuje się widmo — także w postaci funkcji parzystej i rzeczywistej. Te operacje można ująć w następujący schemat, w którym zerom odpowiadają części urojone:
ACF 1 2 3 ... 4096 ACF* 1 0 2 0 3 0 ... 4096 0 4096 0 4096 0 ... 3 0 2 0 Widmo 1 0 2 0 3 0 ... 4096 0 4096 0 4096 0 ... 3 0 2 0 |
Rozdzielczość uzyskanego w taki sposób widma wynosi 1.21 Δf / K, gdzie Δf to szerokość pasma analizowanego sygnału, a K = 4096 — liczba kanałów autokorelatora. W praktyce tę maksymalną rozdzielczość celowo pogarsza się poprzez ważenie ACF jakąś funkcją malejącą ku końcowi ACF, aby wygładzić widmo (które jest splotem widma ACF i widma funkcji ważącej). W AutoFFT użyto okna Hanna, [1 + cos(πi/K)]/2. Po takim wygładzeniu rozdzielczość widma wynosi 2 Δf / K, co jest równe podwojonemu odstępowi kanałów końcowego spektrogramu.
Do dalszej analizy obserwacji konieczna jest znajomość częstości radiowych, którym odpowiadają poszczególne kanały czy składniki widma, a raczej stowarzyszone z obserwowanym radioźródłem prędkości radialne.
Zerowy kanał w widmie odpowiada radiowej częstości równej sumie lub różnicy częstości oscylatorów lokalnych; w naszym przypadku: fo = fLO1 ± fLO2 w zależności od ustawienia wyższego z nich, fLO1, względem częstości obserwowanej linii f (od dołu +, od góry –). Ostatni kanał odpowiada częstości o Δf wyższej lub niższej od fo w zależności od ustawienia fLO1 względem częstości obserwowanej linii (od dołu, czy od góry) i wyboru wstęgi bocznej przy fLO2 (USB lub LSB; fLO2 i wstęgi ustawia się na konwerterach BBC). Program AutoFFT rozpoznaje kierunek częstości w widmie po wartościach częstości oscylatorów lokalnych i częstości obserwowanej linii f. Tę ostatnią poprawia się najpierw na dopplerowskie przesunięcie wynikające z ruchu Słońca w Galaktyce, Ziemi wokół Słońca i radioteleskopu wokół osi rotacji Ziemi oraz na ruch własny źródła (jego znaną prędkość w lokalnym układzie odniesienia, vLSR):
Miejsce w widmie FFT, w którym powinniśmy szukać maksimum obserwowanej linii widmowej znajduje się w odległości |fvideo| / Δf od kanału z zerową częstością widmową. Odległości tej odpowiada oczywiście kanał o numerze:
Dla potrzeb pakietu SLAB, do pliku wynikowego z widmem wpisuje się taki ułamek q, który pomnożony przez liczbę kanałów K da numer kanału z linią (numer liczony od zera, czyli np. k' = k – 1). Dla efektywnej LSB (fvideo ujemne) jest więc
Wątpliwość czytelnika może budzić różnica o 1/K między wyrażeniami na q+ i q–. Bierze się ona stąd, że kanał pierwszy (o częstości 0 MHz) ma szerokość dwa razy mniejszą od pozostałych, czyli od odstępu kanałów, który wynosi Δf / K. W związku z tym ostatni kanał (K-ty) ma częstość środkową (K – 1) Δf / K, a nie po prostu Δf. Aby numer kanału w dziedzinie prędkości radialnych wskazywał dokładnie tę samą linię, niezależnie czy widmo pochodzi z dolnej czy z górnej wstęgi bocznej, musieliśmy wprowadzić to subtelne rozróżnienie.
Prędkości radialne w 1024 kanale w dziedzinie prędkości radialnych oblicza się ze wzoru:
Zmiany wniesione do AutoFFT w stosunku do pierwotnej wersji
(au-new)
1) Podprogram do obliczanie dopsetu (przesunięcia dopplerowskiego) dop działał poprawnie, ale był niewłaściwie wołany (m.in. miał błędnie zadawany rok obliczany z dnia miesiaca, co się brało z przypisania nyear=iie). Mimo, ze po poprawkach podprogram ten mógł być dalej używany, w nowej wersji został zastąpiony innym, dokładniejszym: VdRT32. Różnice prędkości zrzutowanej na kierunek zródła w trzech sprawdzanych przykładach wyniosły 0.003 do 0.004 km/s. W tej nowej wersji dokładność obliczania prędkości Ziemi (która decyduje o wspomnianych różnicach) nie odbiega od tej wyznaczonej z precyzyjnych efemeryd JPL o więcej niż 0.0006 km/s, co zostało sprawdzone dla lat od 1990 do 2019.
2) W algorytmie obliczania dopsetu dodano precesję (stosownie do zmiany w danych współrzędnych na katalogowe) i nutację pozycji obserwowanego źródła. Dodanie nutacji spowodowało zmiany rzutowanej prędkości do 0.0015 km/s (stwierdzone na trzech przykładach obserwacji z grudnia 2007).
3) Poprawiono przyjęte w programie przybliżone współrzędne RT32 na dokładne wyznaczenia z obserwacji VLBI (dla porządku, gdyż prawdopodobnie nie ma to większego znaczenia dla dokładności obliczeń dopsetu, ale to nie było sprawdzane). Ponadto współrzędne horyzontalne i galaktyczne wpisywane do pliku wyjściowego obecnie nie są przepisywane z danych, lecz obliczane z równikowych.
4) Zmieniono sposób liczenia wpływu przesunięcia Dopplera na widmo; dodano obliczanie spodziewanego numeru kanału w dziedzinie częstości i dziedzinie prędkości radialnych. Uproszczono sposób określania efektywnej wstęgi bocznej widma (USB czy LSB), która decyduje o obracaniu, lub nie, końcowego widma.
5) Zmieniono odejmowanie średniej z ostatnich 240 kanałów funkcji autokorelacji
(ACF) od tej funkcji na odejmowanie ocenianej liczby cykli akumulacji ACF,
Nmax. Ta zmiana wynika z faktu, ze
poprzednio pierwszy składnik widma fourierowskiego (zerowa częstotliwość, czyli
wartość średnia z całej ACF) miał bardzo duże i ujemne wartości w części
rzeczywistej (urojona wprawdzie jest zerowa, ale dawniej widmo liczono jako
moduł, który zawsze był dodatni). Ponieważ widmo jest w tym przypadku
widmem mocy, powinno być dodatnie i z bliską zeru składową o częstości zerowej.
Odjęcie niewłaściwej wartości od ACF wypacza ACF(0), tj. składnik o
zerowym zapóźnieniu, a to z kolei prowadzi do wyboru niewłaściwej korekty
nieliniowej (typu Van Vlecka, lecz stosownej do 3-poziomowego korelatora) oraz
psuje kalibrację gęstości strumienia. Obecna ocena Nmax zakłada,
że wartość średnia z ostatnich 240 kanałów ACF jest równa lub nieco większa
niż liczba cykli akumulacji. Dokładna wartość Nmax znajdowana jest
w następujący sposób (fragment kodu programu):
average = sum/240.0 c Calculate the true number of samples accumulated, Nmax. This calculation c is based on the fact that the average should contain about the number c and the auto(0,i) should be an integer multiple of the number multiple = nint(auto(0,i)/average) Nmax = nint(auto(0,i)/multiple) bias0 = average/Nmax - 1 ! extra bias due to unequal thresholds(poprawiono też obliczanie średniej, average, gdyż pierwotny program do sum brał 241 kanałów, co efektywnie zwiększało jej wartość o ponad 0.4 %). W programie tablica auto, mieszcząca zmierzoną ACF, ma wymiar (0:4097,1:4), przy czym zakłada się, że auto(0,i) zawiera pewną ścisłą wielokrotność liczby cykli integracji. W 16 analizowanych ACF uzyskanych w czterech obserwacjach Nmax był 8-krotnie (nie 4-rokrotnie, jak wynikałoby z czasu integracji!) mniejszy od liczby towarzyszącej każdej ACF. Taka procedura w zastosowaniu do analizowanych ACF prowadzi do resztkowego bias0 ok. 0.03%, korelacji w zerowym kanale ACF 0.44 do 0.53 (czyli całkiem blisko optimum) oraz niweluje nadmierną wartość FFT(0) (zmniejsza ją o ok. rząd i, gdy nie ma silnych zakłóceń, czyni dodatnią).
6) Korekcja ACF została zmieniona z poprawki Van Vlecka (stosownej do korelatora jednobitowego) na specjalnie opracowaną korekcję właściwą dla korelatora trójpoziomowego o specyficznych dla przyrządu TCfA wartościach progów kwantowania sygnału i ich relacji do skutecznego napięcia sygnału wejściowego. Funkcja CorrectACF(ri,r0,rMean) wybiera rodzaj poprawki dla zmierzonej autokorelacji ri w zależności od wartości korelacji w kanale zerowym, r0, i warości średniej rMean = bias0. Obecnie jeśli rMean ≤ 0.00001 i 0.3 < r0 ≤ 0.9 poprawia się tak jak w korelatorze optymalnym (v/Vrms = 0.5485; tutaj Vrms = σ), dla mniejszych r0 – tak jak w korelatorze o progu v/Vrms = 1.9, a dla r0 > 0.9 wprowadzana jest poprawka Van Vlecka. Jeśli rMean > 0.00001 ACF poprawia się w przybliżeniu zgodnie z teoretyczną charakterystyką trójpoziomowego autokorelatora o progach v2/v1 = u2/u1 = 1.09 i u1 = 0.6 ± 0.2.
7) Dodano obliczanie niektórych parametrów korelatora ze statystyk ACF. Są one wyświetlane na monitorze, m.in. wysokość progu kwantyzacji (v/Vrms = u) ze wzoru (3).
8) Podprogram obliczania wielowymiarowego widma FOURN został zastąpiony równoważnym FOUR1 lecz prostszym, gdyż liczącym jednowymiarową transformatę Fouriera (algorytmem FFT). Ponadto FOUR1 zmodyfikowano tak, by wszystko było liczone w podwójnej precyzji.
9) Wynik szybkiej transformacji Fouriera poprzednio był dzielony przez 8192 a potem przemnażany przez 1000. Obecnie nie jest w ogóle skalowany (numerycznie wartości widma są więc teraz około 8 razy większe i bliskie jedności).10) Częstość w linii, restfreq, wybierana jest z listy, która była w programie au-new (niektóre częstości w tej liście mają więcej cyfr znaczących niż te w plikach danych). Jeśli jednak na liście nie ma częstości o części całkowitej (przed kropką) takiej jak w pliku danych, brana jest częstość z pliku (z komunikatem na ekran).
11) Plik wyjściowy (opcjonalnie WYNIK.DAT) ma dokładnie taki sam format jak wcześniej, ale w wierszu z prędkością radialną są inne dane. Mianowicie było:Przykładowe wykonanie programu (literalna kopia ekranu z okna DOS pod Windowsami):
Program AutoFFT for TCfA AUTOCORRELATION SPECTROMETER Corrects 4096 point autocorrelation function for each of 4 BBCs and computes corresponding FFT. Each spectrum has 4096 points but, due to the Hanning smoothing the frequency resolution is only BW/2048. This program calculates also expected location of line in the spectrum (velocity channel) using given source rest frequency, frequencies of LOs and comp- uted Doppler shift. Version of Feb 19, 2008 Type output [#*]filename (max 30 characters) [Enter=WYNIK.DAT]: 5cm1 ...A file "5CM1" already exists! Overwrite? [Enter=Yes, a=Append]: Type [+-]filename with list of data files [+- means f_LO+-BW/4]: -5cm1 Scan: 1. Data file: G32P7_2008023001.DAT Outfile: 5CM1.DAT INT 31.000 'g32p7 ' RADEC 18 51 22.000 0 -12 -6.000 2000.000 AZEL 41.718 29.063 LB 33.451 -0.432 UTST 11 51 21 21 14 24 DATE 1201089081 23 Wed Jan 23 11:51:21 2008 FREQ 6668.231 6668.231 6668.231 6668.231 FREQA 6668.230 6668.230 6668.230 6668.230 REST 6668.518 6668.518 6668.518 6668.518 LO 5899.500 -1.000 5900.000 -1.000 BBCFR 767.230 767.230 767.230 767.230 BW 2.000 2.000 2.000 2.000 POL A C A C VLSR 38.500 38.500 38.500 38.500 TSYS 47.000 33.000 47.800 32.400 f(LSR)/MHz f(sky) LO1(RF) LO2(BBC) fvideo V(Dopp) [km/s] V(LSR) 6668.5180 6668.2310 5899.5000 768.7310 1.5010 -25.5955 38.5000 ===> Frequency domain: line is in channel No 3075, V1024f = 83.522 km/s ===> Velocity domain (.0220 km/s/ch): 1022, V1024v = 38.544 km/s ACFs (USBeff), Nmax: 58621204 BBC1 BBC2 BBC3 BBC4 r0=N0/Nmax (best is .5485) 0.4243 0.5209 0.4923 0.5209 rMean (bias of zero, %) 0.0296 0.0345 0.0216 0.0256 Threshold (u=V/Vrms) 0.7991 0.6420 0.6867 0.6419 |
Początkowy fragment pliku 5CM1.DAT z powyższego przykładu
??? 18 51 22 0 -12 -6 32 45 0 -5 41 48 29 1 230108 21 14 24 47 0 0 $$$ 4096 2.0000000 0.2492778 38.5000 6668.51800 g32p7 *** 11 51 21 31 0.36362 0.35695 0.35714 0.35865 0.35757 0.35251 0.34985 0.35309 0.35306 0.35260 0.35706 0.35893 0.35882 0.35824 0.35899 0.36126 0.35826 0.35242 0.35224 0.35630 0.35742 0.35759 0.35730 0.35232 |
Problemy jeszcze oczekujące na rozwiązanie 1) Wydaje się, że liczniki korelatora gromadzą za małe sumy — za małe aż o czynnik 2. W każdym cyklu integracji ACF do liczników powinna dodawać się średnio przynajmniej jedynka, gdyż z elementarnych korelatorów z każdym cyklem dostajemy wynik korelacji zwiększany zawsze o 1, tymczasem w licznikach dalszych kanałów (z dużymi numerami, gdzie ACF jest bliska zeru) nalicza się średnio tylko nieznacznie powyżej Nmax/2 (połowa liczby dodanych jedynek czyli liczby integrowanych próbek ACF). Efekt jest więc taki, jak gdyby do akumulatorów była dodawana tylko co druga próbka!
2) Progi (poziomy) kwantowania wydają się niewiele różne (różnica
w wartościach bezwzględnych ok. 9 %) i w przybliżeniu na optymalnym poziomie
w stosunku do mocy sygnału wejściowego. Na dobrą sprawę należałoby
opracować funkcję korekcji ACF dla aktualnego stanu autokorelatora
(chodzi o poziomy kwantowania). 3) Pliki danych obecnie zawierają niepoprawną wartość częstości pierwszego oscylatora lokalnego umieszczaną w wierszu LO (patrz przykład powyżej), która jest niższa lub wyższa o ćwierć szerokości odbieranego pasma (wartość z wiersza BW tego samego przykładu). Program AutoFFT daje użytkowi możliwość 'ręcznego' naprawienia tego niedostatku podczas wczytywania pliku (poprzedzenie nazwy pliku z listą plików znakiem + lub –), jednak taka technika nie przynosi nam chwały (wszak w 'logach' FS ta informacja jest zapisywana, chociaż w nieco mylny sposób).
4) Istnieje nadzieja na poprawienie jakości końcowych widm przez
zastosowanie procedury ich czyszczenia z silnych zakłóceń. Chodziłoby o to,
aby na podstawie oceny mocy tych zakłóceń poprawić obserwowaną ACF na wpływ
niegaussowskiego sygnału i stosownie do tej poprawionej ACF zastosować
korekcję typu Van Vlecka w zależności od poprawionego zerowego kanału.
Procedura mogłaby polegać na wyszukiwaniu 'spajków' w wstępnie uzyskanym
widmie, ewentualnym spleceniu sumy odpowiadających im 'delt' (analogicznych
do tych w procedurze CLEAN stosowanej w syntezie apertury) z funkcją
transferu (transformatą Fouriera okna ACF i ewentualnie kwadratem
transformaty Fouriera prostokątnego okna czasu integracji,
które mają postać funkcji sin(x)/x, ewentualnie w kwadracie) i odjęciu
transformaty (FFT) tego splotu od ACF. Sam splot wspomnianej funkcji
z deltami jest oczywiście
zwykłą sumą tych funkcji przesuniętych tak, by ich maksima wypadły
w miejscach znalezionych delt, a wysokości były jakimś ułamkiem mocy
(wysokości) poszczególnych zakłóceń (wtedy czyszczenie powinno odbywać
się w pętli kilku powtórzeń) lub wręcz im równe. Przed odjęciem
przetransformowanego splotu od oryginalnej ACF należałoby jeszcze
zdeformować go w podobny sposób jak czyni to proces kwantowania i korelacji.
W bardziej zaawansowanym podejściu należałoby
ocenić amplitudę prawie monochromatycznego sygnału wejściowego
(przed kwantowaniem) każdego zakłócenia. Potrzebny byłby wtedy teoretyczny
model wpływu dodania sygnału deterministycznego do losowego na wyjście
autokorelatora, co pozwoliłoby w pełniejszzy sposób wyrugować zakłócenie
z ACF. Nie ulega wątpliwości, że każde z tych podejść prowadziłoby do
lepszej oceny obserwowanej linii widmowej.
|
W pobieżnym przeglądzie dostępnej literatury przedmiotu nie znaleźliśmy żadnego
śladu rozwiązania na odpowiedź cyfrowego autokorelatora na sygnał kwantowany
nierównymi progami. Znane rozwiązania bazują na podejściu Hagena i Farleya, którzy
jako pierwsi przedstawili rozwiązanie dla kwantowania
trójpoziomowego. Podejście to korzysta z twierdzenia Price'a, które mówi, że w przypadku normalnego rozkładu p(x,y,ρ) dwóch
skorelowanych zmiennych losowych, pochodna cząstkowa z wartości oczekiwanej
dowolnej funkcji tych zmiennych g(x,y),
|
|
|
(a) | (b) | (c) |
Rys. 5: Unormowany rozkład prawdopodobieństwa dwóch skorelowanych zmiennych losowych o współczynnikach korelacji (a) ρ = 0, (b) ρ = 0.6 i (c) ρ = 0.9. Płaszczyzna cięcia górnej części prawych rysunków znajduje się na wysokości maksimum lewego, tj. na wysokości 1/(2π) = 0.16. |
Nasze rozwiązania mają postać:
|
|
(a) | (b) | |
Rys. 6: (a) Płaszczyzna, po której całkuje się funkcję Ψ(x,y) P(x,y,ρ). Funkcja Ψ przyjmuje wartości niezerowe tylko w obszarach zaznaczonych kolorem czerwonym (tu ma wartość +1) i niebieskim (gdzie Ψ = –1). Ze względu na symetrię funkcji P(x,y,ρ), całkowanie po obszarze –u2 < x < –u1, u2 < y < ∞ można zamienić na całkowanie w zakresach u1 < x < u2, –∞ < y < –u2, co pokazuje prawa część rysunku, (b). Widać stąd, że na półpłaszczyźnie y > 0 pozostaje teraz do scałkowania dokładnie połowa przypadku, gdy u1 = u2, czyli składnik r(u1,ρ)/2. Na dolnej połowie mamy natomiast niepełną (brakuje kwadratowego wycinka zaznaczonego linią przerywaną) połowę przypadku, gdy u2 = u1. Ten brakujący przyczynek jest równoważny prawemu składnikowi naszego drugiego rozwiązania dla nierównych progów na zależność trójpoziomowej ACF od współczynnika korelacji. |
Rys. 7: Teoretyczna (otrzymana z całkowania numerycznego) funkcja korygująca ACF zmierzoną autokorelatorem TCfA (czarna krzywa) oraz odstępstwa (dziesięciokrotnie powiększone) od niej innych funkcji zaimplementowanych w programie AutoFFT. Wielkość r jest tutaj pomiarem z autokorelatora znormalizowanym do zliczeń w zerowym kanale. |
Jak widać z tego rysunku, funkcja wyznaczona wcześniej dla idealizowanego przypadku
optymalnych progów kwantowania (u1 = u2 = 0.6; krzywa
niebieska) niewiele rózni się od tej bliższej stanowi faktycznemu korelatora
TCfA (krzywa czerwona). Funkcja ta pokazana jest też w pełnej postaci (kółka na
czarnej krzywej) i w tej skali na całej długości częściowo pokrywa się
z krzywą integracji numerycznej dla nierównych progów (różniących się o 9 %).
Porównując różne funkcje z Rys. 7 warto też pamiętać, że w praktyce wielkość r poza kanałem zerowym (gdzie ma wartość 1) jest zwykle mała i mieści się głęboko w przedziale ±0.2. Ilustrują to dwa kolejne rysunki, gdzie nieznormalizowane pomiary (czyli ok. dwukrotnie mniejsze niż odpowiednie wartości r) niewiele przekraczają poziomy ±0.02. Jednakże, w przypadku próbkowania z częstością kilkakrotnie większą od częstości Nyquista (co czasem się robi ze względu na pewien zysk w czułości), sąsiednie próbki stają się silnie skorelowane, co znaczy, że współczynnik autokorelacji dla małych zapóźnień może wtedy nawet zbliżyć się do tego z kanału zerowego.
Rys. 8: Cztery funkcje autokorelacji z serii 139 30-sekundowych skanów różnych źródeł w paśmie L (18 cm). Za widoczną bardzo silną (amplituda rzędu 0.001) i regularną strukturę w dalszych kanałach odpowiedzialne są zakłócenia. (Więcej szczegółów można zobaczyć po kliknięciu na obrazek.) |
Rys. 9:
Wykres analogiczny do Rys. 8 ale z obserwacji w paśmie C (5 cm), w którym
generalnie jest mniej zakłóceń. Dane zebrane z BBC2 (żółte punkty) wydają
się wolne od silnych zakłóceń, dlatego przy wyznaczaniu progów kwantowania
autokorelatora TCfA oparliśmy się na pomiarach z tego właśnie urządzenia.
"Pod" tym rysunkiem można znaleźć powiększenie wykresu danych z samego
BBC2.
|
Niektóre statystyki z pomiarów przedstawionych na Rys. 8 i 9 zawiera Tab. 2. Jedne i drugie wyniki świadczą, że (wbrew oczekiwaniom) pomiary bardzo silnie zależą od urządzenia. Pomiary 18-cm były wykonywane w paśmie o szerokości 1 MHz, a 5-cm – 2 MHz. Wszystkie BBC były nastrojone na te same częstości ale sygnał o innej polaryzacji (z innego odbiornika; LCP) doprowadzano do BBC1 i BBC3, a o innej do BBC2 i BBC4 (RCP). Może to źle świadczyć o sprawności samych konwerterów (BBC), ale też umniejsza wartość naszego wyznaczenia funkcji korekcji ACF – takiej samej dla wszystkich urządzeń.
Tabela 2: Średnie zliczenia autokorelatora TCfA w kanale zerowym, ACF0, i w ostatnich 240 kanałach, ACF(240), oraz ich odpowiednie błędy (odchylenia standartowe), ±sigma, w obserwacjach z dni 18 (na fali 18 cm) i 23 stycznia 2008 (5 cm) |
L-band (18 cm) C-band (5 cm) ACF0 ±sigma ACF(240) ±sigma ACF0 ±sigma ACF(240) ±sigma BBC1 0.46643 0.0026 0.000335 0.000023 0.42450 0.0014 0.000301 0.000009 BBC2 0.53064 0.0027 0.000269 0.000006 0.52326 0.0039 0.000348 0.000008 BBC3 0.49568 0.0025 0.000047 0.000075 0.49254 0.0013 0.000209 0.000024 BBC4 0.52875 0.0030 0.000257 0.000029 0.52307 0.0022 0.000257 0.000014 Mean 0.50538 0.0266 0.000227 0.000116 0.49084 0.0404 0.000278 0.000055 |
Wgląd w widma z poszczególnych BBC (Rys. 10 i 11) upewnia, że oprócz zrozumiałych różnic w kształtach pasm przenoszenia, na wykresach, gdzie powinniśmy widzieć prążki w tych samych kanałach (para krzywych o kolorach karmazynowym i jasnoniebieskim lub żółtym i jasnozielonym) pojawiają się także różne struktury (zakłócenia).
Rys. 10: Uśrednione
(ze 139 pomiarów ACF) widma z obserwacji na fali 18 cm w dniu 18 stycznia 2008 r.
Pokazano tutaj dwie wersje każdego widma: jedno (wykreślne
nieco grubszą linią niebieską) obliczone z korekcją ACF według zależności opracowanej
dla optymalnego autokorelatora (z symetrycznymi progami) i nałożone na nie drugie
(cińsza kreska w czterech różnych kolorach) obliczone z korekcją właściwą dla
autokorelatora TCfA (z nieco różną wysokością progów kwantowania).
|
Rys. 11:
Taki sam wykres jak na Rys. 10, ale dla danych z obserwacji linii metanolu (5 cm).
Więcej szczegółów środkowej części widma zawiera ten
rysunek. Uważny czytelnik dostrzeże lustrzane odbicie tła tych widm względem
Rys. 10, co wynika z z różnej wypadkowej wstęgi w tych dwóch obserwacjach (linię
metanolu obserwowano w efektywnej górnej wstędze bocznej, zaś OH – w dolnej), gdy
widma są prezentowane zawsze w funkcji rosnącej prędkości radialnej źródła.
Astrofizyczne linie widmowe znajdują się w okolicach kanałów 1024 i 3072 i pochodzą od różnych
radioźródeł (wypada dodać, że kolejne półminutowe obserwacje były wykonywane na
częstościach różniących się o pół szerokości pasma (2048 kanałów), na przemian, ale
do celów tego opracowania zostały potraktowane jednakowo, dlatego linie występują
tutaj jednocześnie w dwóch miejscach).
|
Te same wyniki, tj. Rys. 10 i 11, zdają się też wskazywać, że chyba nieznaczące są różnice między widmami otrzymanymi przy wykorzystaniu opisanych tutaj funkcji korekcji ACF stosownej do symetrycznych progów kwantyzacji i niesymetrycznych. W istocie te dwie funkcje niewiele się różnią (Rys. 7). Dużo większe różnice pojawiają się między tymi widmami a podobnymi uzyskanymi z korekcją Van Vlecka (prosimy spojrzeć na ten rysunek). Mimo to, jak wynika z Rys. 12, linie widmowe nie doznają znaczących zniekształceń w swojej strukturze (pomijając skalę, którą wszakże można wykalibrować innymi metodami).
Rys. 12:
Jedno (pierwsze) z widm metanolu z serii obserwacji wykonanych dnia 18 stycznia
2008 r. w dwóch polaryzacjach wziętych z dwóch wybranych konwerterów wideo
i uzyskanych z ACF poprawionych według dwóch różnych funkcji korekcji: Van Vlecka
i trójpoziomowej dla niesymetrycznych progów kwantowania. Nominalne położenie
linii widmowej (przy założeniu prędkości własnej źródła 38.5 km/s) to 1022 kanał
(odstępy kanałów są równe 0.0220 km/s).
|
Można więc wnosić, że korekcja surowej funkcji autokorelacji (ACF) nie jest krytyczna dla naukowej wartości widm uzyskiwanych z autokorelatora TCfA. Wprawdzie przedstawione w tym dokumencie funkcje korygujące 3-poziomowe ACF mogłyby być dalej udoskonalane, ale nie należy stąd oczekiwać istotnej poprawy jakości końcowych widm. |