Portál AbcLinuxu, 1. listopadu 2024 00:37

GNU Radio first steps: a FM receiver

17.11.2019 01:03 | Přečteno: 37097× | Misc. | Výběrový blog | poslední úprava: 17.11.2019 01:13

I will show you how to use GNU Radio (and the GUI tool Companion) with a SDR to capture a portion of spectrum containing public FM broadcasting and decode it to audio.

Recently, someone has suggested on Hacker News to do a basic walk-through capturing some data from radio to a file and demodulating it. So here is my take. I also did this live at InstallFest 2016, but the commentary is unfortunately in Czech. (also, I don't think I'm really into making screencast in English: but maybe I will try some time, sounds like fun :)

Installation

I will show this for GNU Radio 3.7.13 (the version now available in most distros); there was a version 3.8 released recently, but I did not have a chance to experiment with it yet.

In Debian, install the gqrx-sdr package, it will pull everything else as dependencies. You will also need some radio hardware, for example a $8 rtl-sdr. If you don't have one, I will provide sample capture file at the end of the post, so you can play with it offline.

Receiving data and displaying the spectrum

So, let's start by running gnuradio-companion. An empty flowgraph will open with two default blocks: Options and a sample_rate Variable. Change the Options to WX GUI, as I think the WX GUI blocks are more user-friendly.

Now we need to add a signal source. Pick an osmocom Source block from the right panel (hint: you can search by pressing /) and drop it to the workspace. osmocom OsmoSDR is a library which has drivers for lots of SDRs and provides a unified API. If you don't see the block, you probably don't have gr-osmosdr package installed.

We need to set the sample rate. For rtl-sdr, set 2.048MHz (you can type for example 2.048e6, but SI multiplies are unfortunately not supported). Leave the frequency at 100MHz (or set some other where there is FM broadcast in the place where you live).

You now have a block that will read data from the radio, but it has an unconnected output - this is illegal, so the name of the block is red. We need to add something to consume the data. Add a WX GUI Waterfall Sink and connect it with the osmocom Source block (by clicking on the first tap and then on the second).

Now click the Run button. You will be prompted to save the result and then it will be "compiled" (into an intermediate Python code) and executed.

This display is usually called "waterfall". The Y axis shows time, the X axis shows frequency, and color shows the power detected at the given [time,frequency] point. And we see a chunk of spectrum centered at our receiver's frequency and spawning from -sample_rate/2 to +sample_rate/2. Notice that we are working with a complex-sampled signal, so we have negative and positive frequencies - contrary to real signals (which are common for example in audio processing), the complex wave can rotate clockwise or counter-clockwise in the complex plane, hence the positive or negative frequency. Unfortunately further explanation of this phenomenon is out of scope of this tutorial; you can try this guide, this illustrated guide or the first chapter of my master thesis.

As the center frequency of our receiver is 100MHz, we can see that there is some strong signal at 99.7MHz (100-0.3) and two weaker signals at 99.3MHz and 100.7MHz.

Zero-centering the signal frequency

This is a common situation: we have multiple transmitters in our capture and we need to separate them. This is also advantageous: you can receive multiple things at once with one SDR! Now let's concentrate on that signal at 100.7 MHz.

First, we will use a block called Frequency Xlating FIR Filter. This block can "shift", or "translate", the frequency of a signal. So for example we have that weak signal at +0.7MHz, and we need to shift it to 0, because one usually wants to work with signals that are zero-frequency-centered. Internally, the block does this by generating a new signal with frequency -0.7MHz and multiplying the two signals together.

So remove the connection between the blocks and insert an Xlating block in between. Set the Center Frequency to 700kHz. There is also a mandatory field called "Taps"; for now, just put [1] (a Python list containing a number 1) there, I will explain this later. Click Run again.

We can see the waterfall looks similar to the previous one, but the image is shifted and wrapped around. And our target signal is now at the frequency 0. However, there is still a lot of other stuff, so we need to pick up our target signal and remove everything else.

Filtering

We will use a low-pass FIR filter to attenuate everything beyond certain frequency, say +/-70kHz (we can estimate - or look up - that the signal is about 140kHz wide).

To generate a FIR filter, we can use lots of on-line tools or the builtin generator in GNU Radio. Start a Python (2.7) interpreter and enter:

>>> from gnuradio.filter import firdes
>>> firdes.low_pass(1, 2048000, 70000, 20000, firdes.WIN_HAMMING)
(0.00019855154096148908, 0.00018326807185076177, 0.00015975582937244326, ...)
The first parameter is the filter gain, leave it to 1. The second parameter is the sample rate - 2.048MHz for our radio. The third parameter is the cutoff frequency - 70kHz for our signal. The fourth parameter is a transition band: it is not possible to create an ideal filter that passes everything from 0 to 70kHz and attenuates everything else, so we say with this "between 60 and 80 kHz is a transitional area". The fifth parameter is the window used to create the filter, which for now does not really matter.

We can plot the frequency response of the resulting filter:

from gnuradio.filter import firdes
b = firdes.low_pass(1, 2048000, 70000, 20000, firdes.WIN_HAMMING)
from scipy import signal
w, h = signal.freqz(b)
import matplotlib.pyplot as plt 
import numpy as np
plt.plot(w, 20 * np.log10(abs(h)), 'b')
plt.ylabel('Amplitude [dB]', color='b')
plt.xlabel('Frequency [rad/sample]')
plt.show()

Now, we need to filter the signal with the resulting coefficients. You can either copy-paste them to the Taps field of the Xlating block, or you can just enter firdes.low_pass(1, 2048000, 70000, 20000, firdes.WIN_HAMMING) there - the fields can contain Python code that will be evaluated.

Now everything else disappeared and only our target signal is left. However, you can see there is a lot of empty space: the signal is still sampled at 2.048MHz, despite the effective bandwidth being only 140kHz. We need to decimate it.

Decimation

Decimation is a process where we drop some samples from the signal. For example, in our case, we will drop 7 samples out of every 8, decreasing the sampling frequency to 2048/8 = 256kHz.

The Xlating block has a convenient option for this: Decimation. Set it to 8.

However, if you now run our flowgraph, the waterfall display will be very slow and the frequencies will be all wrong: it still expects data at the original sample rate! So also edit the Sample Rate parameter of the Waterfall Sink to samp_rate/8.

Now our signal is in a reasonable form. We can even see the modulation and guess that it's FM broadcast of speech with pauses between words. We can also see that the center of the signal is pretty off as rtl-sdr uses crappy clock and I have not calibrated it beforehand.

Demodulating audio

Now the last step: demodulate the audio. We will use a WBFM Receive block. Set Quadrature Rate to the sample rate of the (filtered and decimated) signal, that is, 256e3, and Audio Decimation to 8: it will take 8 samples from the input and output 1 sample of audio; that is, the audio will be sampled at 32kHz, which is a sample rate supported by most sound cards.

Notice the output tap of the receiver is orange: that's because it is real. You can get information about colors, which GNU Radio Companion uses to distinguish data types, in Help→Types.

Now add another Waterfall (don't forget to switch it to real and set the sample rate correctly) and an Audio Sink. And ta-daaa: you should see spectrogram of the sound and hear it!

Saving and loading files

There are blocks called File Sink and File Source. You can simply connect them anywhere in your flowgraph and File Sink will dump what you send to it to a file. File Source will load data from a file and dump them to your flowgraph. The format of the file is just a stream of complex floats, that is, each sample is one 32-bit float (in your machine endianness) for the real part and one for the imaginary part.

This is however a bit wasteful, especially if you are recording the entire baseband: your SDR has probably only 8bit (rtl-sdr) or 12bit (higher-end devices) AD converter, and we are using 32 bits for each sample. So if I need some longer recording and need to conserve space, I use the program from the SDR vendor (rtl_sdr CLI tool for rtl-sdr) which can give you the raw samples. You must then convert it to floats with appropriate blocks in GNU Radio. For example, I have captured a file with rtl_sdr:

$ rtl_sdr -f 100e6 -g 20 -n 10000000 fm.bin
and the GNU Radio flowgraph looks like this:

We convert the uint8_t samples to float, remove the DC offset (the output is uint8_t where zero is 127.5 and the signal goes up and down), normalize it from -127..127 to -1..1 and merge two consecutive samples into one complex sample. Yes, it's a hassle, but the file is 4 times smaller.

You can download the file here.

Interactive GUI controls

You can add GUI blocks, for example WX GUI Slider, that allow you to control parameters while the flowgraph is running.

Add a GUI Slider, set a reasonable range (for example -1 to +1 MHz) and copy its ID (default: variable_slider_0) into the control you want to adjust: for example into the Center Frequency parameter of the Xlating block. Now when you run the flowgraph, you can tune your radio.

The generated Python code

You can see in the console (or in process manager of your operating system) that every time you click Run, it generates a Python script and runs it. The code looks something like this (truncated for brevity):

#!/usr/bin/env python2
from gnuradio import *
class top_block(grc_wxgui.top_block_gui):
    def __init__(self):
        self.wxgui_waterfallsink2_1 = waterfallsink2.waterfall_sink_f()
        self.Add(self.wxgui_waterfallsink2_1.win)
        self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + '' )
        self.osmosdr_source_0.set_sample_rate(samp_rate)
        self.osmosdr_source_0.set_center_freq(100e6, 0)
        self.freq_xlating_fir_filter_xxx_0 = filter.freq_xlating_fir_filter_ccc(8, (firdes.low_pass(1, 2048000, 70000, 20000, firdes.WIN_HAMMING)), 700e3, samp_rate)
        self.audio_sink_0 = audio.sink(32000, '', True)
        self.analog_wfm_rcv_0 = analog.wfm_rcv(quad_rate=256e3,audio_decimation=8)

        self.connect((self.analog_wfm_rcv_0, 0), (self.audio_sink_0, 0))
        self.connect((self.analog_wfm_rcv_0, 0), (self.wxgui_waterfallsink2_1, 0))

if __name__ == '__main__':
    tb.Start(True)
It instantiates the blocks, connects them and runs them. You can use this top_block object in your own code and do whatever you want: you have a radio receiver controlled from your own Python program.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

17.11.2019 12:09 _
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
What hardware do I need to actually receive the data from air?
Gréta avatar 17.11.2019 14:11 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver

tam piše v odstavci installation že ti stačí obyč rtl-sdr za vosum doláčů a takovejch je plná čína ;D jde tam najít i novej nepoužitej levnější mam otamtaď za ~5$ ale už se mi nedařej najít takže ty žlutý děti co je montovali se asi už zadávili neschválenejma chemickejma stabilizátorama z čínskejch jedovatejch plastů :D doporučuju z těch rtl-sdr svlíkat plastový pouzdra a ekologicky je spálit za vysoký teploty v kamnech. jako bonus se budou odhalený součástky líp chladit jen si pak musíš dávat pozor u zajímavejch signálů abys třeba ty čipy neposlintal když už teda nejsou chráněný ;D

17.11.2019 15:43 _
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Sorry, I do not understand a word.
18.11.2019 07:21 /dev/urandom
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Czech motherf***er do you speak it ???!!!!
Jendа avatar 17.11.2019 16:17 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Any radio supported by gr-osmosdr, or, in more general, GNU Radio. As an entry-level hardware, I'd recommend a RTL2832U + R820T2 dongle like this one. The quality is not great, but lots of things can be done with it anyway (you can receive pretty much all strong signals -- nearby FM walkie-talkies, Tetra, Tetrapol, ADS-B from airplanes, and with better antenna HAM traffic in 2m and 70cm bands, weather probes and some satellites).
17.11.2019 22:27 _
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
And if I am interested in weaker signals and willing to spend around 100 USD, what is recommended?
Jendа avatar 17.11.2019 23:31 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Gréta avatar 17.11.2019 14:14 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin

a bude se taky chytat družice na kus drátu?? je to celkem snadný a zajímavý ;D

oslavná píseň na pana soudruha generalisima prezidentčíka Petra Pavla Pávka 🎶🫡🦚🎶
Jendа avatar 17.11.2019 16:30 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Příloha:
Ano, například jsem na kus drátu (dipól na dvoumetr přilepený na klacku bez jakékoli symetrizace) přijímal obrázky z ISS. Myslel jsem si, že tam budou záběry zevnitř, a ony to byly nějaké pohlednice :(
17.11.2019 18:21 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To je SSTV?
Jendа avatar 17.11.2019 20:34 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Bedňa avatar 17.11.2019 22:01 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Tak neviem či to poznáš, ale skús virtuálnu prechádzku po ISS.
KERNEL ULTRAS video channel >>>
Gréta avatar 18.11.2019 15:46 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver

supr pohlednice z nízký orbity náhodou :D horší by bylo kdybys na ně do někde do tří do čtyř ráno čekal než poletěj v rozumný elevaci a voni zrovna chrápali a neposílali dolu nic ;D

a podařilo se ti chytit LRPT novýhoj ruskýho meteoru M 2-2 taky někde na těch dvou metrech?? na githubu je někde skript na chytání toho starýho ale ten už s novým satelitem nefunguje a je v tom asi něco víc než že se jenom přepne ten symbol rate ze 72k na 80k :'(

Jendа avatar 18.11.2019 18:50 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
a podařilo se ti chytit LRPT novýhoj ruskýho meteoru M 2-2 taky někde na těch dvou metrech??
Nezkoušel jsem.
Gréta avatar 20.11.2019 13:33 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
17.11.2019 14:24 j
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
Chybí tam jedna podstatná informace: PROČ?
17.11.2019 15:22 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Proc ne? Takhle - treba - kdyz vyjde tisici-padesata-druha IoT sit, Jenda proste pujde, poklika si prijimaci (a podle vybaveni i vysilaci) chain a jede, bez toho, aby cekal, az budou dostupne obvody.

Navic, cim vic komunikaci vzduchem clovek intuitivne rozumi (protoze to ma osahane), tim lip se debuguji problemy s radiem obecne - a tim bliz je clovek navrhnuti idealniho komunikacniho reseni, at je postaven cca pred "libovolny" problem. Clovek pak ma v hlave arzenal reseni, z kterych se da vybirat a kombinovat. To se hodi.
--- vpsFree.cz --- Virtuální servery svobodně
Jendа avatar 17.11.2019 16:25 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Protože jsem ti dal obecný návod, jak se naladit na libovolnou frekvenci, získat výkonové spektrum, vyfiltrovat si libovolně široký kanál a dumpnout si jeho baseband do souboru. A to všechno navíc automaticky pythoním skriptem (poslední odstavec). To je první krok k čemukoli, co chceš s digitálním signálem dělat. FM rádio takhle samozřejmě poslouchat nebudeš (i když první verze mé Tamary fungovala přesně takhle, i s tím FM rádiem, akorát se věci popsané v tomto článku děly synchronizovaně na několika počítačích, a finální verze vlastně není moc odlišná, jenom jsem to musel kvůli realtimovosti přepsat z naklikaného flowgraphu do numpy + custom C modulů), ale už třeba FM vysílačky (amatérský provoz, metro, různé ostrahy, hasiči při zásahu a do nedávna i trunk) je lepší chytat takhle než na hardwarový skener, protože právě to skriptování všeho a přijímání 2.4MHz chunku najednou.
17.11.2019 19:57 j
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To je první krok k čemukoli, co chceš s digitálním signálem dělat.
= nic
17.11.2019 20:53 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Ok, cool, tak v tom případě bys mohl pokračovat třeba na nějakej blog filatelistů jim tam říct, že nesbíráš známky, nebo rybářům, že nechodíš na ryby, a nespamovat tady, kthxbye...
18.11.2019 00:07 j
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
A proč jako ne, právě jsme oslavily 30 let svobody!
17.11.2019 16:23 R
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
Super vec je aj rtl_433 - dekoduje to vysielanie vonkajsich jednotiek teplomerov, meteostanic aj radiovych dialkovych ovladacov.
17.11.2019 16:51 tom11111
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
Pěkné. Jak je to realtime filtrování a dekódování náročné na výpočetní výkon?
Jendа avatar 17.11.2019 21:01 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Uvedený příklad žere 47 % jednoho jádra i3-2350M, a když se vypnou ty grafické waterfally, tak 25 %. A při příjmu Tetry to zvládá 25-30 kanálů najednou (s FCL), pak to začne zahazovat samply.

Takže tak středně.
19.11.2019 22:04 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak moc je SDR vhodné pro HAMy? (Hlavně by mě asi zajímalo QRO / výkony vyšší než pár wattíků, protože QRP se dá dělat s lecčíms.)

Jak moc je feasible sestavit SDR ekvivalent něčeho jako třeba FT-897D nebo podobně? (Příp. je to praktické?)

PS. HAM už pěkných pár let nedělám, takže moje informace jsou možná dost outdated...
What Big Oil knew about climate change
19.11.2019 22:07 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Hm asi jsem měl na mysli spíš FT-857D ...
20.11.2019 09:53 prqek | blog: prqek
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Funguje to. Ani by mě moc nepřekvapilo kdyby dnešní modely měli vevnitř nějaké SDR. Jenže aby to fungovalo pořádně, tak kolem toho samotného SDR modulu potřebuješ filtry, zesilovače, antény a kdovíco ještě. Jinak je to víceméně laboratorní záležitost. Zkoušel jsem s rtlsdr chytat něco v CB pásmu, ale naladil jsem spíš komerční rádia. Mám pocit, že mi snad dokonce i Jenda tady kdysi vysvětloval, jak je to možné.
20.11.2019 11:23 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Taková KX3 je SDR rádio. Mám ho doma na stole a ten přijímač je prostě skvělý. Nejen na HAM pásma, ale i poslech KV rozhlasu je moc příjemný. Nebo RS918 , ale s ním nemám zkušenosti. Popularita SDR roste velice rychle, FLEX také vyrábí úžasná rádia.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
20.11.2019 13:19 prqek | blog: prqek
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To vypadá pěkně :) jen trochu jiná kategorie než rtlsdr :)
Gréta avatar 20.11.2019 13:34 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver

vypadá jak autorádio simtě :D :D :D :D

20.11.2019 14:16 prqek | blog: prqek
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To je taky trochu jiná kategorie...
20.11.2019 20:55 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To rozhodně. KX3 není přehledový přijímač, je primárně určen pro radioamatéry. Dobrá citlivost v celém KV rozsahu je vlastně bonus :). Přijímač super, čistota výstupního signálu super, stereo efekt na telegrafu super, filtr super, integrovaný automatický tuner super. Skoro všechno je vlastně super. Až na integrovaný elektronický klíč, ten nesnáším :D.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Gréta avatar 21.11.2019 14:43 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver

to je jako na co přesně tam ten integrovanej elektronickej klíček??

21.11.2019 15:32 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
:D :D

Integrovaným klíčem jsem myslel SW pro vysílání morseovky pomocí pastičky. Musím používat externí, s interním se prostě nejsem schopen domluvit. Vysílá si to co chce.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Gréta avatar 23.11.2019 18:13 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver

jsem nečekala že to radioamatéři ještě dneska řešej tak staromódně teda :D ale asi by byla menší sranda strčit do vysílače z kompu usbčko a nechat komp za sebe všechno udělat. nevim.

23.11.2019 22:49 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
ale asi by byla menší sranda strčit do vysílače z kompu usbčko a nechat komp za sebe všechno udělat.
Přesně tak, radioamatéřina je pro zábavu (a poučení) a to platí i pro CW. Možná se to nezdá, ale morseovka je pro lidi, pro stroje až tak moc ne...

Komp samozřejmě můžeš nechat všechno dělat, říká se tomu digi módy ;-) Na přenášení textu jsou určené RTTY, PSK a další...
24.11.2019 16:32 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Jo, ta móda dorazila i do amatérského rádia. Připojit počítač k rádii a dívat se jestli píše nebo nepíše. Kdybych chtěl aby si dva počítače pokecaly, připojím je do Internetu, ne k rádii. Je to jako mor. Hlavně se nic moc neučit, připojit jeden kabel, nastavit pár hejbátek a už děláme spojení. Teda vlastně ty počítače, člověk je tam tak nějak skoro navíc. Už existuje SW, který takto dělá spojení úplně sám, ani člověka není potřeba. Nová forma zábavy. Jejich boj, není to nic pro mne.
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
21.11.2019 15:39 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To bude asi tohle. Přijde mi to od pohledu takový moc mrňavý...
20.11.2019 14:51 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Hmm. Dělá to na mě dojem, že to FTčko nebo podobný trxy jsou asi zřejmě pořád ještě o dost víc cost-effective řešení, zejména pokud je člověk spíš začátečník / není fajnšmekr...

No nicméně ty SDR-based věci budou oproti tomu určitě zajímavější technologicky, díky za odkazy ;-)
20.11.2019 20:53 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
FTčko bude určitě levnější. Ale zkus si s ním večer na 80M fungovat bez zapnutého atenulátoru. Stejně tak v závodech. Dneska už je 250Hz filtr málo. Ve velkých mezinárodních závodech se u telegrafie překvapivě často hodí 100Hz filtr. To bez SDR uděláš velice těžko, navíc Ti to také umožnuje tvarovat hrany filtru. Prostě pomalu zázraky, které s analogem neuděláš buď vůbec, nebo jen velice těžko a draho.

Pro začátečníka bych ale opravdu volil něco cenově přijatelnějšího a z druhé ruky. Záleží jaké má potřeby, čemu se chce věnovat. A jaký má rozpočet.

"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Jendа avatar 20.11.2019 21:52 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
<lama>Na to nepotřebuje skutečné SDR, ale stačí přepnout přijímač do SSB módu, zdemodulovaný signál dát do zvukovky/navzorkovat na 8 kHz, a úzký filtr udělat na tom, ne?</lama> (někdo by mohl říct, že tím se vlastně udělalo skoro-SDR, což je pravda, ale spustí to na tom FTčku nebo libovolně historickém SSB přijímači)
21.11.2019 15:28 PetrHL | skóre: 17 | blog: petr_h | Neratovice
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
To bohužel nestačí. Kvůli intermodulační (ne)odolnosti se do šířky filtru dostanou i signály, které v éteru ve skutečnosti nejsou. Ty způsobují rušení, takže si moc nepomůžete. Trochu jo, ale ne moc. Kvalitní vstupní obvody nezachrání ani DSP, které bude dělat ta zvukovka.

Použití zvukovky se dříve dělalo, občas je vidět i teď, ale líp se ladí knoflíkem než klikat myší. Samozřejmě jak komu. Já prostě potřebuju ten knoflík, kterým budu točit :-).
"Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
Jendа avatar 1.2.2021 01:23 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: GNU Radio first steps: a FM receiver
Odpovědět | Sbalit | Link | Blokovat | Admin
Another, much more advanced tutorial
Denacifikovat

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.