Odpowiedz 
 
Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
DSP VNA by SP3GO (100kHz - 450MHz)
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #31
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Witam!

Konsekwentnie dopiąłeś swojego cel - zazdroszcząc osiagniętego wyniku gratuluje! ;-)

Jak możesz zdradzić trochę ze swojego warsztatu to proszę potwierdź lub sprostuj moje naiwne wybrażenia co do zastosowanej procedury pomiaru i algorytmów.

Zasymulowałem sobie użyte przez Ciebie filtry dolnoprzepustowe i faktycznie, mam niemal identyczne wyniki jak podałeś więc domyślam się, dodatkowo z podanego wcześniej wykresu fft, że pomiar ma charakter homodynowy z częstotliwością przemiany ok. 11kHz?. Jeśli tak to dlaczego ta czestotliwość a nie niższa?

A więc zakładając, że mam rację co do tych 11kHz, w zakresie podstawowym LO oraz CLK generowane są w tej samej pętli PLL (zgodność fazy) z przesunięciem właśnie ok. 11kHz ale dla pomiarów powyżej 225MHz musiałeś zmniejszyć odstęp częstotliwości do ok. 3.7kHz?

Moduł impedancji wyznaczasz na podstawie pomiarów w kanale podstawowym (pomiar skalarny) a kanał referencyjny służy do jednoznacznego wyznaczenia fazy mierzonej impedancji ?

Mając dane w dziedzinie częstotliwości (po fft) stosujesz eliminację progową śmieci o poziomie niższym niż trzecia harmoniczna?

Mówiąc o 2048 próbek masz na myśli taką ich ilość dla jednego okresu mierzonego sygnału?

Jak masz inne ciekawostki dotyczące obróbki danych z pomiaru to chętnie ich wysłucham - zawsze warto uczyć się od lepszych ;-)

Mi chodzi po głowie zastosowanie zaawansowanej obróbki sygnałów do pomiarów bez wspomagania się PC co oznacza implementację fft w chip-ie ale na razie jestem na etapie rozpoznawania tematu :-(

L.J.
22-05-2019 14:11
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3GO Offline
Rafał
***

Liczba postów: 182
Dołączył: 15-04-2015
Post: #32
RE: DSP VNA by SP3GO (100kHz - 450MHz)
(22-05-2019 14:11)SP6FRE napisał(a):  Konsekwentnie dopiąłeś swojego cel - zazdroszcząc osiagniętego wyniku gratuluje! ;-)

Dzięki! Smile
No nie będę ukrywał, że satysfakcję mam niesamowitą z ukończonego dzieła.

(22-05-2019 14:11)SP6FRE napisał(a):  Zasymulowałem sobie użyte przez Ciebie filtry dolnoprzepustowe i faktycznie, mam niemal identyczne wyniki jak podałeś więc domyślam się, dodatkowo z podanego wcześniej wykresu fft, że pomiar ma charakter homodynowy z częstotliwością przemiany ok. 11kHz?. Jeśli tak to dlaczego ta czestotliwość a nie niższa?

Zgadza się - homodyna, a IF to dokładnie 11250Hz.
Przy szukaniu odpowiedniej IF brałem po uwagę wiele parametrów.
Maksymalizowałem IF, aby w krótkim okresie samplowania (a urządzenie ma być możliwie szybkie) zmieściło się możliwie dużo pełnych okresów sygnału. Do tego im większa IF, tym lepiej dla Si5351, bo tam ostrzegają przed interferencjami między kanałami, jeśli nie ma odpowiedniej odległości w częstotliwości między nimi. Od góry z kolei IF ograniczały możliwości procesora - maksymalna częstotliwość samplowania oraz pasmo opampów, aby LPF jeszcze dobrze działały.
Te i inne parametry uwzględniłem w obliczeniach i wyszło mi, że 11250Hz będzie optymalne Smile

(22-05-2019 14:11)SP6FRE napisał(a):  A więc zakładając, że mam rację co do tych 11kHz, w zakresie podstawowym LO oraz CLK generowane są w tej samej pętli PLL (zgodność fazy) z przesunięciem właśnie ok. 11kHz ale dla pomiarów powyżej 225MHz musiałeś zmniejszyć odstęp częstotliwości do ok. 3.7kHz?

Zgadza się. Przy pracy na 3-ciej harmonicznej zarówno częstotliwości składowe jak i IF jest dzielone przez 3. Wtedy IF wynosi dokładnie 3750Hz.

(22-05-2019 14:11)SP6FRE napisał(a):  Moduł impedancji wyznaczasz na podstawie pomiarów w kanale podstawowym (pomiar skalarny) a kanał referencyjny służy do jednoznacznego wyznaczenia fazy mierzonej impedancji ?

Nie do końca tak.
Z mostka dostaję sygnał, który jest wprost proporcjonalny do współczynnika odbicia Gamma. Fazę tej Gammy mam z porównania fazy z kanałem referencyjnym. Tym sposobem mam Gammę zespoloną.

Dalej do Gammy zespolonej stosuję kalibrację wektorową (z zebranych wcześniej danych Open-Short-Load) i mam skalibrowaną Gammę zespoloną.

Z zespolonej Gammy obliczam zespoloną impedancję.
A stąd mam już moduł impedancji, o który pytasz Smile

(22-05-2019 14:11)SP6FRE napisał(a):  Mając dane w dziedzinie częstotliwości (po fft) stosujesz eliminację progową śmieci o poziomie niższym niż trzecia harmoniczna?

Nie ma takiej potrzeby. Po prostu interesuje mnie tylko jeden BIN z całego FFT.
A śmieci niech sobie będą - fajnie wyglądają na wykresie FFT, bo przynajmniej widać, że się wykres odświeża Wink

(22-05-2019 14:11)SP6FRE napisał(a):  Mówiąc o 2048 próbek masz na myśli taką ich ilość dla jednego okresu mierzonego sygnału?

Nie. Tyle sampli jest pobieranych i przesyłanych do PC dla każdego kanału. A to ile tam się zmieści okresów zależy od częstotliwości samplowania i IF (czyli częstotliwości samego mierzonego sygnału).

(22-05-2019 14:11)SP6FRE napisał(a):  Mi chodzi po głowie zastosowanie zaawansowanej obróbki sygnałów do pomiarów bez wspomagania się PC co oznacza implementację fft w chip-ie ale na razie jestem na etapie rozpoznawania tematu :-(

Da się to zrobić pewnie, a implementacja FFT wcale nie jest trudna, ale na pewno będziesz potrzebował nieco większego (RAM) i szybszego procesora, niż ten mój malutki (ale i tani) STM32F103 Smile

Pozdrawiam,
Rafał SP3GO
22-05-2019 23:50
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9BSL Offline
Sławek
*****

Liczba postów: 774
Dołączył: 20-10-2015
Post: #33
RE: DSP VNA by SP3GO (100kHz - 450MHz)
FFT na F103 jest możliwa do zrobienia, ale z powodu braku FPU będzie to koszmarnie wolno chodzić, no chyba że użyje się czegoś specjalnego napisanego w asmie i z ograniczeniem dokładności. Tu lepiej uzyć procesora F4 lub F7.

Rafale jaką masz f próbkowania ADC?

73 Sławek
23-05-2019 10:21
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #34
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Witam!

Właśnie z powodu ograniczeń mikroprocesorów zależy mi okrojeniu algorytmu do niezbędnego minimum.

Przyłączam się więc do pytania o częstotliwość próbkowania. Stosując bardziej ostry filtr w torze p.cz. można byłoby ograniczyć wyższe harmoniczne mocniej, ich wpływ na skałdowa podstawową (X1) w fft dodatkowo by spadł co zmniejsza wymagania na ilość próbek, obliczeń itd.

Kolejne pytanie dotyczy dokładności konwersji ADC. Na razie nie robiłem obliczeń ale zastanawiam się jak zmniejszenie dynamiki do 10 bitów wpłynęłoby na dokładność wyniku końcowego. Przy 12 bitach masz 4096 progów - w zakresie przetwarzania 3.3V to ok. 0.81mV, dla 10 bitów to to 0k.3.2mV, czy szumy własne sygnału pośredniej nie są większe od kroku dla 12 lub 10 bitów?

L>J.
23-05-2019 10:45
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9BSL Offline
Sławek
*****

Liczba postów: 774
Dołączył: 20-10-2015
Post: #35
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Leszku, niezbędne minimum to jednopunktowa DFT na sygnale pomiarowym z użyciem sygnału referencyjnego... Trzeba by tylko przesunąć sygnał referencyjny o 90 stopni, np za pomocą filtra FIR - Hilberta. Co do precyzji pomiarów lepiej mić 12 bitów niż 10, do tego i tak dochodzi tzw FFT processing gain.
Ot dywagacje, przepraszam za zaśmiecanie wątku...

73 Sławek
(Ten post był ostatnio modyfikowany: 23-05-2019 11:12 przez SP9BSL.)
23-05-2019 11:12
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3GO Offline
Rafał
***

Liczba postów: 182
Dołączył: 15-04-2015
Post: #36
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Aktualnie mam częstotliwość samplowania ustawioną na 240kHz.
Teoretycznie dla tej konfiguracji sprzętowej (takie a nie inne obciążenie portów ADC) można tam dać maksymalnie jakieś 500kHz.
Oczywiście im wyższa Fs tym mniejsza rozdzielczość FFT dla tej samej liczby próbek.

A ja mam w takim razie do Ciebie pytanie Sławku: masz jakieś materiały do tego jednopunktowego DFT i referencyjnym przesuniętym o 90 stopni?
Bo czytałem ostatnio o takim miksowaniu sygnału przed FFT, że IF = 0, a więc do poziomu DC - zastanawiam się właśnie, jak z tego wydobyć fazę, skoro tam się nic nie "kręci", a mamy tylko napięcie stałe. To właśnie o takim 1-punktowym pomiarze myślisz, prawda?

P.S.
Wszystkie PCB rozdałem. Było więcej chętnych niż płytek, więc tak sobie pomyślałem, że może zorganizować osobne zamówienie na nową paczkę.
Tyle, że tym razem koszty byłyby trochę większe, bo:
- AllPCB.com chce 5$ za 10 płytek
- do tego 21$ za DHL
- do tego 23% podatku (od całości niestety, czyli razem z wysyłką)
- do tego 100zł za pakowanie i wysyłkę wszystkich 10 płytek do odbiorców;

Mógłbym się tego podjąć, jeśli byliby chętni na równy podział tych kosztów na osobę i wpłatę przed wysłaniem gerberów do realizacji.
Wychodziłoby jakieś ~25zł na osobę za jedną PCB...
Są chętni?

A może już ktoś gerbery zlecił?

Pozdrawiam,
Rafał SP3GO
23-05-2019 14:22
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6FRE Offline
Leszek
****

Liczba postów: 725
Dołączył: 20-09-2009
Post: #37
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Witam!

Policzyłem szybko, że 4096 dla przetwornika ADC to dynamika ok. 72dB i tyle chyba pokazałeś wcześniej dla RL choć widać, że szumy własne to kilka dB. Dla wyższego pasma szumy rosną "na oko" trzykrotnie co się wydaje naturalne. Dla przetwornika 10 bitów teoretyczna dynamika to jeszcze 60dB a więc znacznie lepiej niż dla rozwiązań sprzęgaczowych.

240kHz oznacza dla częstotliwości pośredniej 11.25kHz możliwość odtworzenia mniej więcej 10-tej harmonicznej w widmie częstotliwości (ok. 21 próbek w okresie częstotliwości pośredniej) .
Twój filtr w pośredniej osiąga tłumienie -70dB względem maksimum mniej wiecej dla 140kHz a więc wydaje się, że masz próbkowanie dobrze dobrane do spodziewanych produktów w badanym sygnale.
Jakby nie sprawiło Ci to wielkiego problemu i znalazłbyś chwilę czasu to sprawdź proszę jak zmienią się wskazania miernika kiedy drastycznie obniżysz ilość próbek np. do 512?. Po cichu liczę, że stosując nieco mniejszą pośrednią i bardziej stromy lub selektywny filtr w pośredniej znacząco obniżą się wymagania obliczeniowe dla fft a może nawet przy tych parametrach filtry taka ilość próbek nie jest konieczna?

Sławek mówiąc o jednopunktowym DFT miał chyba na myśli nie składową X(0) czyli składową stałą a raczej X(1) czyli prażek podstawowy. Przesunięcie w fazie za pomocą filtru cyfrowego ma zapewnić prawdopodobnie ortogonalność wyników, w innym przypadku mielibyśmy dwie dane z których jedna byłaby przemnożona skalarnie.
Implementacja filtru cyfrowego w chip-ie mikrokontrolera to dodatkowy czas procesora czego wolałbym uniknąć stosując raczej rozwiązania analogowe właśnie w formie stromego filtru na pośredniej a może nawet filtru rezonasowego.

Na razie snuję rozważania teoretyczne a że nie mam jak ich jeszcze sprawdzić w praktyce to muszę prosić o pomoc dobrych ludzi ;-) . Ostatnio naczytałem się trochę o fft, nie mam jeszcze sprecyzowanego pomysłu do czego tego użyć ale na początek pewnie chciałbym uruchomić algorytm Cooley-Tukey-a.

L.J.
23-05-2019 15:28
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9BSL Offline
Sławek
*****

Liczba postów: 774
Dołączył: 20-10-2015
Post: #38
RE: DSP VNA by SP3GO (100kHz - 450MHz)
(23-05-2019 14:22)SP3GO napisał(a):  A ja mam w takim razie do Ciebie pytanie Sławku: masz jakieś materiały do tego jednopunktowego DFT i referencyjnym przesuniętym o 90 stopni?
Bo czytałem ostatnio o takim miksowaniu sygnału przed FFT, że IF = 0, a więc do poziomu DC - zastanawiam się właśnie, jak z tego wydobyć fazę, skoro tam się nic nie "kręci", a mamy tylko napięcie stałe. To właśnie o takim 1-punktowym pomiarze myślisz, prawda?

Nie, 1 punktowe DFT to krótko mówiąc pomiar dla jednej częstotliwości (funkcji bazowej), której próbki stanowią pomiar referencyjny.
Wzór ogólny DFT dla jednej częstotliwości masz tutaj, w sekcji "Definition".. Pomysł polega na tym że jeżeli w tym wzorze zamiast wyliczać funkcje sinus i cosinus podstawisz próbki sygnału referencyjnego przesuniętego w fazie 0 i 90stopni (czyli odpowiednio jako sinus i cosinus) otrzymasz tą samą liczbę zespoloną którą otrzymujesz w wyniku odejmowania 2 binów otrzymanych z potraktowania przebiegów pomiaru i referencyjnego funkcjami FFT. Dla uzyskania sygnału referencyjnego przesuniętego w fazie o 90 stopni trzeba wyliczyć filtr Hilberta lub inny który da przesunięcie 0/90 lub +/-45 stopni.

Nie mam linku w sieci do opisu tej metody ale stosuję ją w precyzyjnych pomiarach impedancji z tą różnicą że przebieg sinusoidalny jest wytwarzany przez DAC'a przez co zamiast obliczeń funkcji sinus/cosinus podstawiam jego tablicę.

Pomiar o którym wspomniałeś na IF=0 jest stosowany w analizatorze N2PK, gdzie przesunięcie fazy 0/90 stopni wykonywane jest DDSem który stanowi LO dla mieszaczy.

73 Sławek
(Ten post był ostatnio modyfikowany: 23-05-2019 15:45 przez SP9BSL.)
23-05-2019 15:44
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9RQA Offline
Krzysztof
****

Liczba postów: 369
Dołączył: 30-09-2009
Post: #39
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Wygląda na to, że drugi DSP VNA w SP dziś rozpocznie działalność ;-)
İmage

i pierwsze pomiary kalibracyjne:
İmage

Rezystor wzorcowy 50R HP (deklarowane pasmo 300MHz)
İmage
İmage
jakiś dołek się pojawił w paśmie 10m.

MD380:
İmage

A najpiękniejsze w tym mierniku jest to, że nie trzeba nawijać żadnego transformatorka...

(Ten post był ostatnio modyfikowany: 25-05-2019 11:42 przez SP9RQA.)
25-05-2019 11:42
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP3GO Offline
Rafał
***

Liczba postów: 182
Dołączył: 15-04-2015
Post: #40
RE: DSP VNA by SP3GO (100kHz - 450MHz)
Temat SWR został poprawiony w najnowszej wersji oprogramowania.
Chciałbym tu jednak krótko opisać, na czym polegał problem, bo jest to dość ciekawe.

SWR w programie obliczam tradycyjnie, a więc jako:
(1 + Gamma) / (1 - Gamma)
gdzie Gamma jest tutaj modułem współczynnika odbicia.

Z mostka pomiarowego dostaję napięcie, które jest wprost proporcjonalne do Gammy właśnie. Jest ono największe dla portu otwartego. Po kalibracji O-S-L Gamma powinna więc mieścić się w zakresie od 0 (pełne dopasowanie) do 1 (pełne niedopasowanie).

Okazuje się jednak, że kiedy na mostku pojawiają się czyste reaktancje, to napięcie z mostka może być nawet wyższe, niż to dla portu otwartego (!)
To powoduje, że po kalibracji obliczona Gamma jest w okolicach 1 (bo na porcie mamy czystą reaktancję, a więc pełne niedopasowanie), ale przekracza ona o jakiś ułamek wartość 1.
To z kolei czysto matematycznie daje sytuację, w której tak obliczony SWR jest bardzo duży, ale ujemny - co jest oczywiście bzdurą w sensie fizycznym.

Dlatego wprowadziłem drobną korektę do obliczeń poprzez obliczanie wartości bezwzględnej z SWR obliczonego na podstawie Gammy.
Dzięki temu SWR nie spada nigdy poniżej 1.

Poza tym dla takich czystych reaktancji SWR to kiepska miara (bo to, czy SWR jest 200, czy 400 niewiele nam mówi) - lepiej wtedy patrzeć na reaktancję i inne miary.

Leszku - do tematu liczby próbek w FFT jeszcze wrócę, kiedy znajdę dłuższą chwilę czasu na to.

Pozdrawiam,
Rafał SP3GO
25-05-2019 15:17
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: