Witam kolegów,
Trochę późno odpowiadam, ale byłem w ostatnim czasie bardzo zajęty zawodowo i po prostu nie miałem czasu tutaj zajrzeć. Myślę, że niedługo pochwalę się tym co już zrobiłem. Wracając do tego co napisał kolega Piotr SP9FKP, to niestety właśnie tak jest, że w znanych programach takich jak PowerSDR, Winrad, czy też SDRMax przetwarzanie sygnału odbywa się w dziedzinie częstotliwości tzn w FFT. Przestudiowałem dosyć dobrze źródła tych programów i mówię to w całej odpowiedzialności, zresztą wzorując się na programie PowerSDR, który korzysta za źródeł programu "dttsp" (notabene napisanego pierwotnie pod Linux'em) również napisałem sobie taki programik, aby przetestować jak to działa. Niestety programy takie potrzebują dużego bufora przy samplingu 48kHz rzędu 2048 bajtów, a przy samplingu 96kHz jeszcze większego (4096) i dlatego działają z dużą latencją (opóźnieniem). Zresztą wystarczy poczytać opinie (na eham.net) ludzi, którzy pracują ze sprzętem i oprogramowaniem FlexRadio. To co widzimy na ekranie monitora - spektrum - jest dokładnie tym co jest przetwarzane w przychodzącym sygnale, a dokładnie są to "sklejone" dwa obrazy sygnałów tzw "real" i "image" ( sygnał rzeczywisty 0...fp/2 i lustrzany -fp/2...0 ), dlatego możemy zauważyć w środku spektrum (przy braku sygnału z anteny) "szpilę" szumów bardzo niskich częstotliwości, która rozciąga się od DC do ok 1 kHz ( w jedną i w drugą stronę spektrum ). To oczywiście bardzo ładnie działa i mamy ładne spektrum sygnału, ale jak to bywa w życiu wszystko ma swoje zalety i wady. Problemy zaczynają się przy nadawaniu, a głównie przy przechodzeniu z odbioru na nadawanie, gdzie przytoczone wcześniej opóźnienia dają się we znaki. Najbardziej jest to odczuwalne przy emisji CW, gdzie zwłoka pomiędzy nadawaniem i odbiorem powinna być jak najmniejsza (max rzędu kilkudziesięciu milisekund).
W takim wypadku nadawanie CW powinno być rozwiązane w inny sposób - osobny odbiornik i osobny nadajnik - pracujące niezależnie od siebie. Tutaj sytuacja się dosyć mocno komplikuje. Widziałem też rozwiązanie takie, gdzie zastosowano dwie karty dźwiękowe, gdzie jedna obsługuje odbiornik, a druga nadajnik. Pomysł dobry, ale oprogramowanie musi to uwzględniać, no i dochodzi nam większa ilość użytego sprzętu (druga karta dźwiękowa).
Pomysł przetwarzania sygnału w tzw drugiej IF ( drugiej pośredniej) rzędu kilkunastu kHz + przetwarzanie w tzw dziedzinie czasu ( tradycyjny sposób filtrowania - nie FFT) jest w porównaniu z tym co wcześniej napisałem o wiele prostszy. Wymaga tylko jednego kanału karty dźwiękowej (czy też kodeka) przy odbiorze i jednego przy nadawaniu. Nie trzeba tutaj mieć wyprowadzonych sygnałów IQ, ponieważ są one tworzone wewnątrz programu DSP, poza tym nie jesteśmy tutaj zobligowani wielkością bufora przetwarzanego sygnału, co wyraźnie zmniejsza latencję sygnału na wyjściu układu. Dodatkowo tłumienie niepożądanej wstęgi bocznej nie jest uzależnione od wykonania detektora kwadraturowego IQ i jest ono znacznie większe (rzędu 90dB). Myślę, że właśnie z tych powodów tego typu rozwiązanie jest obecnie stosowane w radiach z przetwarzaniem DSP.
Przepraszam za nudną rozprawkę naukową na ten temat, ale powinniśmy znać zasady, które rządzą przetwarzaniem sygnałów w urządzeniach typu DSP, jeśli takowe chcemy budować.
Dzisiejsze rozwiązania takie jak Elekraft K3 lub Picastar opierają się właśnie na tego typu rozwiązaniu i jak wszyscy wiemy są bardzo dobre. Oczywiście budowanie systemu DSP opartego na kodeku i procesorze DSP nie jest takie proste, dlatego prostszym rozwiązaniem jest wykorzystanie komputera PC i karty dźwiękowej. Komputer + karta dźwiękowa to "gotowy" system DSP nie wymagający żadnego wysiłku w budowanym przez nas urządzeniu. Jedyny wysiłek polega na napisaniu odpowiedniego programu, który zaprzęgnie do pracy ten system
Pozdrawiam,
Krzysiek sp9nld