Autor Tema: SDR - Software Defined Radio  (Pročitano 5713 puta)

Van mreže YT1JB

  • Boban Jovanović YT1JB
  • aktivan korisnik
  • **
  • Poruke: 335
  • Pozivni znak:
  • Operator: Boban
  • QTH: Arilje
  • Klasa: 1
  • Radio klub:
SDR - Software Defined Radio
« poslato: 28.08.2012 21:33:30 »
Da li je neko pravio nešto na temu SDR ili se uglavnom koristi Genesis? Sa kristalima ili sintezom?

ssimic

  • Gost
Odg: SDR - Software Defined Radio
« Odgovor #1 poslato: 28.08.2012 23:54:03 »
Zdravo,

ja sam radio Avala transiever (jos u test fazi) i panadapter za FT-950 (radi 100%).

Pozdrav,
Sasa de YT1FZ

Van mreže YU1TTN

  • korisnik
  • aktivan korisnik
  • *
  • Poruke: 185
    • Radio-amaterski portal
  • Pozivni znak:
  • Operator: Filip
  • QTH: Pirot
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #2 poslato: 25.01.2013 12:45:57 »
Naš kolega YU3MA vodi jedan vrlo zanimljiv blog o SDR-u, koga interesuje može da poseti http://mikikg.wordpress.com


73,
Filip YU1TTN

Van mreže YU3MA

  • korisnik
  • posetilac
  • *
  • Poruke: 7
    • Site about Software Defined Radio – SDR
  • Pozivni znak:
  • QTH: Kragujevac
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #3 poslato: 09.02.2013 21:36:15 »
Evo i mene na forumu  ;)

Ako imate kakvih pitanja oko SDR SW/HW tu sam da pomognem.
Site about Software Defined Radio – SDR
http://yu3ma.net/

Van mreže YU3MA

  • korisnik
  • posetilac
  • *
  • Poruke: 7
    • Site about Software Defined Radio – SDR
  • Pozivni znak:
  • QTH: Kragujevac
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #4 poslato: 10.02.2013 00:02:14 »
Ajd da napravim jedan mali rezime posle par godina iskustva oko eksperimentisanja i pravljenja SDR-ova.

Svi prostiji SDR prijeminici koji se baziraju na kvadraturnom demodulatoru (postoje i daleko slozeniji sa brzim AD konvertorima) prakticno po shemi izgledaju isto.
Evo za referencu u daljem tekstu jedna moja "pokazna" shema:
http://yu3ma.net/wp/?p=133

Na pocetku lanca se obicno nalazi jedan wideband 1:4 transformator koji sluzi za konverziju ne-balansirajuceg signala koji stize sa antene u balansirajuci izlaz i dodatno za transformaciju imedance. Takav balansirajuci signal (dva voda i srednji izvod) se dalje vodi u I/Q demodulator. Posto prakticno ima dve sekcije koje ulaze u demodulator, takvi demodulatori se zovu duplo-balansirajuci I/Q demodulatori ili Double-balanced (Taylor) Mixer. Ovaj koncept se pokazao drasticno bolji nege kada se obraduje samo jedna grana jer imaju manje konverzione gubitke i manju intermodulacionu distorziju (IMD). Setite se samo klasicnih prstenastih mixera koji su u stratu imali bar 6dB gubitaka, ovde se radi o gubicima u radngu 0.5 do 1dB i odatle poticu izvraredne perfomanse ovakvog pristupa.

Sam demodulator se veoma prosto realizuje sa analognim prekidackim IC, pocevsi od CD4066 pa do veoma popularnog 74CBT3253. Izbor ovog IC-a uglavnom zavisi od krajnje ucestanosti koju zelimo da primamo i tehnickih osobina samih prekidackih sekcija u IC (sto manji otpor pri ukljucenom stanju tj Ron, to su manji gubici u demodulatoru). Dodatno, ovi IC se prave u razlicitim kucistima, pocevsi od DIP18 pa do SSOP-18 i MSOP-18 SMD kucista sto moze biti vazna stavka zbog potrebe za adekvatnim alatom za lemnjenje. Generalno, najbrzi IC i najbolji izbor je 74CBT3253 ali zbog relativno velike brzine ovog IC (preko 100MHz) oni se prave samo u SMD kucistima (smanjuje se problem sa parazitnim kapacitivnosima).

Sam I/Q modulator radi tako sto se signal razlozi u vremenu na 4 signala i tako iz ovih prekidackih kola dobijamo signale (produk mesanja) koji su pomereni za 0, 90, 180 i 270 stepeni. Ova funkcija se prakticno realizuje tako sto lokalni oscilator koji mora da bude 4x vece ucestanosti od one koju zelimo da primamo, provuce najcesce kroz dve sekcije D-FLIP-FLOP-a poput 74AC74 koji daje selekt signale za prekidacki IC (binarno 00,01,10,11 i tako u krug). Signali koji izlaze iz prekidackog IC se dalje uzimaju kao komplementarni parovi (0 i 180, 90 i 270) koji se vode u klasican operacioni pojacivac na njegove +/- ulaze, tj diferencialno. Dodavanjem po jednog kondeznatora na sve 4 linije ispred ulaza u OP (tehnicki dobijamo integrator), dobijamo na izlazu iz OP krajni produkt mesanja, ajd da kazem IF, koji se krece u rangu od 0Hz do 200KHz i to dve grane gde je jedna grana pomera u odnosu na drugu za 90 stepeni. To su I/Q signali! Na kraju se ovi signali digitalizuju za AD konvertorima (zvucnim karticama) i sama cinjenica da imamo signale koji su vremenski pomereni, omogucava da se u SDR programu od toga pravi "cudo" :)

Kod SDR prijemnika gde zelimo da primao sirok opseg ucestanosti (prostija opcija je samo jedan band, koristi se neki fiksni kristalni oscilator), najveci izazov je oko promenjlivog lokalnog oscilatora. Svi manje-vise znamo koliko to moze da bude problematicno (stabilnost, korak, fazni shum, opseg itd itd) kod SDR je nesto laksa stvar jer nije neophodno da imamo oscilator koji daje sinusni signal jer tehnicki mi upravljamo samo digitalnim selekt signalima prekidackog IC pa u tom smislu mogu da se iskoriste moderni digitalni IC (PLL-ovi) koji su frekvetno stabilisani nekim kristalom. Na trzistu trenutno postoje razna resenja za tu svrhu, od DDS-ova poput AD9850, preko veoma popularnog u SDR krugovima Silicon Labs Si570 koji objedinjuje i oscilator i programibilni PLL u jednom kucistu do nesto novijeg IC od Silicon Labs Si5350 koji koristi jevtine 25 ili 27MHz kristale za svoju referencu. Moram napomenuti da svi ovi IC zahtevaju digitalno upravlljanje, najcesce preko I2C protokola pa u tom smislu je neophodan nekakav mikrokontroler koji ce da upisuje u njihove registre potrebne vrednosti preracunate od zahtevane izlazne frekevencije.

Sto se tice SDR predajnika, situaicija je potpuno ista samo je smer signala obrnut :). Isto ima prekidacki IC, diferencialni pojacivac za I/Q signale, LO koji mora biti 4x veci itd ...
Evo ovde moja shema veoma prostog I/Q modulatora:
http://yu3ma.net/wp/?p=169

Ovo bi bio neki osnovni koncept SDR-a i nisam ulazio u finese poput ulaznih BPF, niskosumnih OP, programske logike za upravljanje PLL-ovima, niskosumnih stabilizatora napona, low ESR kondezatora u integratoru (demodulatoru), low-power pristupa, samih SDR programa i sl. Ko bude dosao dotle radu cu mu pomoci koliko znam ;)

73 de YU3MA

Site about Software Defined Radio – SDR
http://yu3ma.net/

YT2CQ

  • Gost
Odg: SDR - Software Defined Radio
« Odgovor #5 poslato: 27.02.2013 22:36:13 »
Ako neko zna nek nam pomaga.
Pokusavamo da instaliramo SDRSharp na Ubuntu 11.04.
Instrukcije koje pratimo su: http://www.rtlsdr.org/softwarelinux
sve korake smo prosli do:
•Type #mono SDRSharp.exe and you should see the following!

gde nam izbacuje sledece:
    yt5ct@yt5ct:~/SDRSharp$ sudo mono SDRSharp.exe
    **
    ERROR:class.c:1351:mono_class_setup_fields: assertion failed: ((packing_size & 0xfffffff0) == 0)
    Stacktrace:
     
      at (wrapper remoting-invoke-with-check) SDRSharp.MainForm..ctor () <0x0002c>
      at (wrapper remoting-invoke-with-check) SDRSharp.MainForm..ctor () <0x0002c>
      at SDRSharp.Program.Main () <0x000db>
      at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0x0003a>
     
    Native stacktrace:
     
            mono() [0x80dbc5b]
            [0xb6140c]
            /lib/i386-linux-gnu/libc.so.6(abort+0x17e) [0x31034e]
            /lib/i386-linux-gnu/libglib-2.0.so.0(g_assertion_message+0x150) [0x1b13a0]
            /lib/i386-linux-gnu/libglib-2.0.so.0(+0x6897d) [0x1b197d]
            mono() [0x81276f4]
            mono(mono_class_init+0x4d2) [0x8125bd2]
            mono() [0x81a5076]
            mono() [0x81a5497]
            mono(mono_get_method_full+0xe5) [0x81a5b45]
            mono() [0x808dd35]
            mono() [0x80607c8]
            mono() [0x8061f42]
            mono() [0x8062ade]
            mono() [0x80dcd40]
            [0x11b066]
            [0xa922a4]
            [0xa923eb]
            mono() [0x8062bc8]
            mono(mono_runtime_invoke+0x3e) [0x814037e]
            mono(mono_runtime_exec_main+0xe0) [0x8142e70]
            mono(mono_runtime_run_main+0x11d) [0x814317d]
            mono(mono_main+0x1676) [0x80b7706]
            mono() [0x8059355]
            /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x2f8e37]
            mono() [0x8059291]
     
    Debug info from gdb:
     
    [Thread debugging using libthread_db enabled]
    [New Thread 0x4508b70 (LWP 2367)]
    [New Thread 0x818b70 (LWP 2366)]
    0x00b61416 in __kernel_vsyscall ()
      3 Thread 0x818b70 (LWP 2366)  0x00b61416 in __kernel_vsyscall ()
      2 Thread 0x4508b70 (LWP 2367)  0x00b61416 in __kernel_vsyscall ()
    * 1 Thread 0xb2c6f0 (LWP 2365)  0x00b61416 in __kernel_vsyscall ()
     
    Thread 3 (Thread 0x818b70 (LWP 2366)):
    #0  0x00b61416 in __kernel_vsyscall ()
    #1  0x006347d5 in sem_wait@@GLIBC_2.1 () from /lib/i386-linux-gnu/libpthread.so.0
    #2  0x082035b8 in mono_sem_wait ()
    #3  0x08118068 in ?? ()
    #4  0x081b7e84 in ?? ()
    #5  0x081ec48a in ?? ()
    #6  0x08216c82 in ?? ()
    #7  0x0062de99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
    #8  0x003b273e in clone () from /lib/i386-linux-gnu/libc.so.6
     
    Thread 2 (Thread 0x4508b70 (LWP 2367)):
    #0  0x00b61416 in __kernel_vsyscall ()
    #1  0x0063248c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
    #2  0x081fa5a4 in ?? ()
    #3  0x081fa614 in ?? ()
    #4  0x081e86af in ?? ()
    #5  0x08167a56 in ?? ()
    #6  0x00a93df8 in ?? ()
    #7  0x00a93caa in ?? ()
    #8  0x00a93c5b in ?? ()
    #9  0x00a93b81 in ?? ()
    #10 0x00a93ac1 in ?? ()
    #11 0x08062bc8 in ?? ()
    #12 0x0814037e in mono_runtime_invoke ()
    #13 0x08140684 in mono_runtime_delegate_invoke ()
    #14 0x081b7f9b in ?? ()
    #15 0x081ec48a in ?? ()
    #16 0x08216c82 in ?? ()
    #17 0x0062de99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
    #18 0x003b273e in clone () from /lib/i386-linux-gnu/libc.so.6
     
    Thread 1 (Thread 0xb2c6f0 (LWP 2365)):
    #0  0x00b61416 in __kernel_vsyscall ()
    #1  0x0063552b in read () from /lib/i386-linux-gnu/libpthread.so.0
    #2  0x080dbe3d in ?? ()
    #3  <signal handler called>
    #4  0x00b61416 in __kernel_vsyscall ()
    #5  0x0030ce71 in raise () from /lib/i386-linux-gnu/libc.so.6
    #6  0x0031034e in abort () from /lib/i386-linux-gnu/libc.so.6
    #7  0x001b13a0 in g_assertion_message () from /lib/i386-linux-gnu/libglib-2.0.so.0
    #8  0x001b197d in g_assertion_message_expr () from /lib/i386-linux-gnu/libglib-2.0.so.0
    #9  0x081276f4 in ?? ()
    #10 0x08125bd2 in mono_class_init ()
    #11 0x081a5076 in ?? ()
    #12 0x081a5497 in ?? ()
    #13 0x081a5b45 in mono_get_method_full ()
    #14 0x0808dd35 in ?? ()
    #15 0x080607c8 in ?? ()
    #16 0x08061f42 in ?? ()
    #17 0x08062ade in ?? ()
    #18 0x080dcd40 in ?? ()
    #19 0x0011b066 in ?? ()
    #20 0x00a922a4 in ?? ()
    #21 0x00a923eb in ?? ()
    #22 0x08062bc8 in ?? ()
    #23 0x0814037e in mono_runtime_invoke ()
    #24 0x08142e70 in mono_runtime_exec_main ()
    #25 0x0814317d in mono_runtime_run_main ()
    #26 0x080b7706 in mono_main ()
    #27 0x08059355 in ?? ()
    #28 0x002f8e37 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
    #29 0x08059291 in ?? ()
     
    =================================================================
    Got a SIGABRT while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================


YT2CQ

  • Gost
Odg: SDR - Software Defined Radio
« Odgovor #6 poslato: 28.02.2013 00:39:37 »
Uspeli smo da pokrenemo GQRX program ( http://vereniging.opensource.nl/wiki/index.php/Software-Defined_Radio_on_Ubuntu )
Zvuk stekce jos nismo otkrili zasto (dal je do hardwera ili softwera)
Evo jedan screenshot:




Oprema:
PC: Athlon 1.8GHz 1GB RAM Ubuntu 11.04
Stick: MSI DigiVox ultimate pro (a device manager ga vidi kao: Lifeview LV5TDLX DVB-T [RTL2832U] G-Tek Electronics Group) FC0012
Modifikovan po YU3MA: http://yu3ma.net/wp/?p=370
« Poslednja izmena: 28.02.2013 00:43:09 od strane YT2CQ »

Van mreže YU3MA

  • korisnik
  • posetilac
  • *
  • Poruke: 7
    • Site about Software Defined Radio – SDR
  • Pozivni znak:
  • QTH: Kragujevac
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #7 poslato: 28.02.2013 18:17:31 »
@YT2CQ Da ne pisem ponovo, evo odgovor ovde:
http://www.elitesecurity.org/p3258097
Site about Software Defined Radio – SDR
http://yu3ma.net/

Van mreže YT1ZO

  • član SRS
  • aktivan korisnik
  • **
  • Poruke: 45
  • Pozivni znak:
  • Operator: Đuka
  • QTH: Paraćin
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #8 poslato: 26.06.2014 09:50:24 »
tema je baš zapostavljena :D ... pa rekoh da je malo osvežim  ;)
Može li neko da preporuči projekat SDR primopredajnika za samogradnju?

Van mreže S56A

  • aktivan korisnik
  • **
  • Poruke: 112
  • Pozivni znak:
  • Operator: Mario
  • QTH: Ljubljana
  • Klasa: A
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #9 poslato: 16.08.2014 09:16:51 »
tema je baš zapostavljena :D ... pa rekoh da je malo osvežim  ;)
Može li neko da preporuči projekat SDR primopredajnika za samogradnju?

U Srbiji imate YU1LM, u dezeli S53MV ali ovakva pitanja se cesto ponavljaju!  Google i ja sve znamo.

73 de Mario, S56A, N1YU

Van mreže YT2CQ

  • korisnik
  • aktivan korisnik
  • *
  • Poruke: 100
  • Pozivni znak:
  • Operator: Mili
  • QTH: Novi Sad
  • Klasa: 1
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #10 poslato: 16.08.2014 21:42:47 »
Sta deca sve rade sa SDR-om u USA :)

http://www.irongeek.com/i.php?page=videos/defcon-wireless-village-2014/mainlist

Van mreže S56A

  • aktivan korisnik
  • **
  • Poruke: 112
  • Pozivni znak:
  • Operator: Mario
  • QTH: Ljubljana
  • Klasa: A
  • Radio klub:
Odg: SDR - Software Defined Radio
« Odgovor #11 poslato: 17.08.2014 20:08:29 »
Sta deca sve rade sa SDR-om u USA :)

http://www.irongeek.com/i.php?page=videos/defcon-wireless-village-2014/mainlist

Uglavnom su prijemne aplikacije, a kod predajnika ipak treba biti oprezniji sem ISM opsega.