Forum APRS Polska

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Autor Wątek: DSP i 9k6bps  (Przeczytany 8094 razy)

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
DSP i 9k6bps
« dnia: Listopad 13, 2013, 17:55:30 LOC »

Cze,
Po udanej implementacji modemu AFSK 1200bps i pod wpływem konieczności przesłania telemetrii z nieco większą prędkością postanowiłem zająć się nieco bardziej efektywniejszymi metodami modulacji cyfrowych. AFSK kończy się przy 2400bps bo wyższych prędkości po prostu nie da się przenieść w kanale radiowym 12.5kHz. Oczywiście dewiację można do pewnego stopnia zwiększyć a sygnał o wyższych częstotliwościach podawać na Flat-TX-in ale to zwiększa używane pasmo.

Następne co przyszło mi na myśl to użycie "klasycznej" modulacji FSK używanej w Packet Radio 9k6. Po pierwszym eksperymencie z AGW-PE przeżyłem lekkie zdziwienie gdy w głośnikach usłyszałem tylko szum a na FFT nie zobaczyłem żadnego wyraźnego prążka. I tu pojawiło się pierwsze pytanie, na które tylko częściowo sobie odpowiedziałem:

1. W jaki sposób podanie czegoś takiego na wejście modulatora FM ma dać mi przesuw częstotliwości nośnej o x kHz, oraz
2. Jakimi metodami wydobyć z tego szumu zakodowane dane?

Sięgnąłem do znanego pliku d_dspmod.pdf i tam natknąłem się tylko na wzmiankę: "Der “Modulator” und der “Demodulator” besteht bei 9600Baud-G3RUH Packet lediglich aus einem Tiefpaßfilter mit einer Grenzfrequenz von etwa 5kHz " a następnie coś o filtrze FIR. Problem polega na tym, ze ni w cholerę nie znam niemieckiego i nie wiem co autor miał na myśli.

Natknąłem się też na schemat modemu L2PCX. Tam sygnał audio jest podawany przez wzmacniacze operacyjne na wejście przerzutnika 4013. Pytanie tylko w jaki sposób coś takiego ma mi wysterować przerzutnik i co otrzymam na jego wyjściu? Niestety ale o ile w przypadku AFSK1200 w internecie są dostępne dość "niskopoziomowe" materiały to w przypadku FSK9600 czegoś takiego po prostu nie ma. Najbardziej dokładny opis na jaki się natknąłem to: "http://www.jrmiller.demon.co.uk/products/mod96.html" a i tak na jego podstawie raczej nic więcej nie wymyślę.

W związku z tym zastanowiłem się, czy muszę trzymać się standardów. W naszym kraju sieć 9k6 nie istnieje a posiadaczy Kenwoodów jest mało. Może by wykorzystać inną modulację, która na jednym symbolu koduję więcej niż jeden bit? Ponieważ QAM jest dla mnie zbyt hardcorowy zacząłem szukać czegoś o QPSK. Znalazłem to: http://www.ti.com/dsp/docs/litabsmultiplefilelist.tsp?sectionId=3&tabId=409&literatureNumber=spra341&docCategoryId=1&familyId=113 aczkolwiek tamto rozwiązanie bazuję na rzeczywistej i urojonej części sygnału, która to ma być podawana i odbierana z radia. Mając jednak jakieś doświadczenie z modemem AFSK i "implementacją Sailera" zastanawiam się czy nie wydobyć I oraz Q w podobny sposób. Jeżeli zastosować by ton nośny i prędkość symboli równą 2400, to udało by mi się uzyskać 4800 bitów na sekundę, a to już jest coś co by mnie personalnie zadowala.

Albo coś innego. Zastosować MFSK ale z dwoma częstotliwościami emitowanymi na raz, coś w deseń DTMF. Już przy czterech tonach nośnych miałbym prędkość bitową x4 w stosunku do prędkości bodowej (symbolicznej). Czy w takim czymś nie będzie zbyt dużych interferencji między-symbolicznych i w jaki sposób generować coś takiego przez dac??

I teraz mój apel prośba. Czy są u nas na forum jacyś wibytni specjaliści (oprócz SP6VGX i SP9UOB), którzy mogli by pomóc?
Zapisane
Mateusz == 43-300 Bielsko Biała

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: DSP i 9k6bps
« Odpowiedź #1 dnia: Listopad 14, 2013, 04:28:45 LOC »

Tutaj jest mniejwiecej opisana zasada dzialania modemu G3RUH: http://www.sp7ydd.ampr.org/ksiazka/str05_03.htm

Problemem moze byc samo radio, sposob podpiecia do niego itp.

W sumie alternatywnie mozna pobawic sie w GMSK (nie jest to trudne) i przy okazji ma sie czesc do D-STAR :) z tym ze dalej tutaj musimy pokombinowac z podpieciem sie do radia. Jesli chodzi o QAM czy QPSK to juz niestety sporo zabawy, ja bym sobie to odpuscil... W sumie w QPSK mozna sie bawic przy wiekszych predkosciach, majac najlepiej szersze pasmo kanalu...

Jesli chodzi o pare kwadraturowa (I Q) to wydobyc mozna - jak ja masz to dalej mozesz sobie robic dowolny demodulator... choc to raczej dobre rozwiazanie dla SDR-a lub jak robisz transceiver z DSP... Jak chcesz sie pobawic w takie pierdoly to polecam tunerek DVB-T/DAB (popularne na RTL) - mozna sie pobawic z para kwadraturowa i napisac sobie jakis demodulator...

A jeszcze dodam takie male info, ostatnio dorwalem ksiazke "O Sygnalach bez calek": 
http://www.radmor.com.pl/pol/Aktualnosci/O-sygnalach-bez-calek

Z czystym sumieniem moge ja polecic wszystkim ktorzy chca dowiedziec sie troche o modulacjach itd. fajnie i przystepnie napisana...
« Ostatnia zmiana: Listopad 14, 2013, 04:38:28 LOC wysłana przez SP6VGX »
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP9UOB

  • *
  • Offline Offline
  • Wiadomości: 165
Odp: DSP i 9k6bps
« Odpowiedź #2 dnia: Listopad 24, 2013, 10:56:09 LOC »

Mateusz,

Jeśli chcesz się pobawić, polecam gnuradio + rtlSDR. Ten zestaw jest o tyle fajny że nie musisz kupować USRP które wiemy ile kosztuje, a pozwala w prosty sposób testować różne idee, tak żeby później gotowy algorytm zaimplementować na docelowej platformie.

Mnie niestety po przejściu z 32 na 64 bity na domowym kompie (i instalacji linuxa nowego) gnuradio wyczynia różne cuda (głównie coredumpy), ale wcześniej zabawa była przednia :-)
 
Zapisane

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: DSP i 9k6bps
« Odpowiedź #3 dnia: Listopad 25, 2013, 13:55:22 LOC »

GNU Radio jest fajne ale do czasu, niestety bloki laczace w phython-ie maja swoje wady i czasem robi sie okropnie upierdliwe cos dobrze zrobic... Choc u mnie na OS X 64 bit spokojnie dziala z RTL SDR...

Jak bawisz sie troche w C# to tez jest troche przykladowych zrodel (np. http://sdrsharp.com/ ) jak mozna to sobie oprogramowac i testowac pod windows...

Tuner spokojnie dorwiesz na Alledrogo :) ja placilem cos w okolicach 60zl z tego co pamietam...
Tutaj jest identyczny (nie wiem czy najlepsza cena pierwsza z brzegu oferta na allegro z takim tunerem): http://allegro.pl/mini-tuner-mpeg-4-dvb-t-na-usb-rtl2832u-ftl-sdr-i3736159483.html


« Ostatnia zmiana: Listopad 25, 2013, 14:13:58 LOC wysłana przez SP6VGX »
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: DSP i 9k6bps
« Odpowiedź #4 dnia: Luty 02, 2014, 10:59:29 LOC »

Odgrzewam kotleta, choć postępów nie poczyniłem ze względu na konieczność pociągnięcia do przodu innych projektów. Mam prośbę do Tomka VGX aby podesłał mi na maila archiwum zip z kodem źródłowym z kursu STM-DSP z Elektroniki Praktycznej, o którym kiedyś wspominał. PDFa mam ale nie mogę znaleźć tych źródeł a bardzo by one pomogły w zabawach z filtrami. Mam source multimona i FIRy z bertos ale ze względu na brak komentarzy jest to trochę ciężkie do wyczajenia.. I tak przy okazji jak byś mógł Tomek na PW jakiś aktualny kontakt do siebie typu skype czy numer telefonu, bo to co mam wydaje się być nieaktualne
Zapisane
Mateusz == 43-300 Bielsko Biała

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: DSP i 9k6bps
« Odpowiedź #5 dnia: Luty 03, 2014, 10:40:41 LOC »

Z tego co pamietam to w BertOS byly filtry IIR ktore sa trudniejsze do zaprojektowania niz FIR, za to wymagaja mniej obliczen.
Postaram sie wieczorem zebrac to co mam i gdzies umiescic do sciagniecia, moze przyda sie innym osoba :)

Jesli chodzi o implementacje FIR-a to jest to banalnie proste, jak juz nie raz pisalem jest to znany z matematyki splot (ktory w DSP wystepuje bardzo czesto) - jedynie wspolczynniki sa inne. A nie jeako ze jest to splot to jest to sporo mnozenia (w zaleznosci od ilosci wspolczynnikow) - wiec cos co zajmuje sporo czasu procesorowi. Natomiast im wiecej wpolczynnikow (dluzszy filtr) tym jest on bardziej stromy, do tego FIR-y maja ta zalete ze przesuniecie fazowe w praktyce jest pomijalne (choc oczywiscie wystepuje).. Tutaj tez po czesci fajnie sprawdzaja sie procesory STM32 F4 ktore maja swietne instrukcje przydatne do robienia splotu (znacznie wszystko przyspieszaja).

ot tutaj maly przyklad uzycie (widac o ile to dopala):

for(i=0;i<SAMPLEPERBIT;i +=2)
{

d = (data[(ptr+i+1)%SAMPLEPERBIT] << 16) + data[(ptr+i)%SAMPLEPERBIT];

out_mark_i = __SMLAD( d, *(int32_t *)(corr_mark_i + i), out_mark_i);
out_mark_q = __SMLAD( d, *(int32_t *)(corr_mark_q +i), out_mark_q);
out_space_i = __SMLAD( d, *(int32_t *)(corr_space_i + i), out_space_i);
out_space_q = __SMLAD( d, *(int32_t *)(corr_space_q + i), out_space_q);

}

Ja natomiast tez ostatnio praktycznie nie siedzialem przy jakimkolwiek projekcie, mialem troche zawirowan z praca zawodowa (zmian pracy itd.) wiec czasu wiele nie bylo. W sumie od tego miesiaca juz sie unormowalo i od marca powinienem znowu posiedziec. W sumie w planie mam odpalenie digi i igate w rodzinnej miejscowosci... tylko musze radio jakies dorwac :)



« Ostatnia zmiana: Luty 03, 2014, 10:50:47 LOC wysłana przez SP6VGX »
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: DSP i 9k6bps
« Odpowiedź #6 dnia: Luty 05, 2014, 22:35:35 LOC »

Cze. Mi głównie chodzi właśnie o metodę obliczania współczynników filtru. Przy korelacji wzajemnej to było oczywiste bo tam po prostu był przebieg funkcji sinus a w filtrach tak nie jest. Czy też może korzystasz z jakiegoś gotowego programu do projektowania filtrów, który wrzuca wszystko w formie tablicy C? I jeszcze jedno... Jak obliczyć poziom sygnału za filtrem? Czy robić to po prostu jako RMS obliczany jako średnia kwadratowa z x próbek?
Zapisane
Mateusz == 43-300 Bielsko Biała

SP9UXY

  • *
  • Offline Offline
  • Wiadomości: 69
Odp: DSP i 9k6bps
« Odpowiedź #7 dnia: Luty 06, 2014, 14:24:03 LOC »

proponuję użyć matlaba.
Zapisane

sq6oxk

  • *
  • Offline Offline
  • Wiadomości: 38
Odp: DSP i 9k6bps
« Odpowiedź #8 dnia: Czerwiec 19, 2016, 18:44:06 LOC »

Sięgnąłem do znanego pliku d_dspmod.pdf i tam natknąłem się tylko na wzmiankę: "Der “Modulator” und der “Demodulator” besteht bei 9600Baud-G3RUH Packet lediglich aus einem Tiefpaßfilter mit einer Grenzfrequenz von etwa 5kHz " a następnie coś o filtrze FIR. Problem polega na tym, ze ni w cholerę nie znam niemieckiego i nie wiem co autor miał na myśli.

Czy ktoś z Was ma kopie tego dokumentu na koputerze? Oryginał niestety zniknął...
Zapisane