: RTL-SDR (Young-Ju Kim: Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR) (Regular Paper) 243, 2019 5 (JBE Vol. 24, No. 3, May 2019) https://doi.org/10.5909/jbe.2019.24.3.485 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) RTL-SDR a) Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR Young-Ju Kim a) Realtek RTL2832 TV - universal serial bus (USB). USB,,,,.,. C++ (GNU Radio). Abstract A software-driven real-time frequency de-modulator is implemented with the aid of universal-serial-bus (USB) type software defined radio dongle. An analog stereo frequency modulation (FM) broadcast signal is down-converted to the basedband analog signal then converted to digital bit streams in the USB dongle. Computer software such as Matlab, Python, and GNU Radio manipulates the incoming bit streams with the technique of digital signal processing. Low pass filtering, band pass filtering, decimation, frequency discriminator, double sideband amplitude demodulation, phase locked loop, and deemphasis function blocks are implemented using such computer languages. Especially, GNU Radion is employed to realize the real-time demodulator. Keyword : SDR, GNU Radio, RTL-SDR, discriminator, deemphasis a) (College of Electrical and Computer Engineering, School of Information and Communication Engineering, Chungbuk National University) Corresponding Author : (Young-Ju Kim) E-mail: yjkim@cbnu.ac.kr Tel: +82-43-261-3375 ORCID: https://orcid.org/0000-0002-5844-8612 Manuscript received December 4, 2018; Revised March 11, 2019; Accepted May 13, 2019. Copyright 2016 Korean Institute of Broadcast and Media Engineers. All rights reserved. This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.
(JBE Vol. 24, No. 3, May 2019). (radio frequency, RF) (software defined radio, SDR) 30 [1]. SDR (physical layer, PHY) (discrete signal processing, DSP). SDR - (analog-to-digital converter, ADC). 1 (Rafael Micro) R820T2 (Realtek) RTL2832U - 20 RTL-SDR SDR SDR [2]. 2010 (Eric Fry) 8 (unsigned integer) (inphase, I) (quadrature, Q) SDR.,, 20MHz 1900MHz. 3.6Msps (symbol per second). SDR,... RTL-SDR RTL-SDR 2 (behavioral level). (low noise amplifier). R820T (local oscillator) 1. RTL-SDR Fig. 1. Block diagram of Realtek RTL-SDR 2. RTL-SDR Fig. 2. A behavioral level model of the RTL-SDR
: RTL-SDR (Young-Ju Kim: Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR). (low pass filter). 1/2. (transition) 80%. 2 cos sin,. 2., R820T RTL2382U I/Q. (quantizer). (automatic gain control),. RTL-SDR 8.. (Osmocom). RTL-SDR USB Zadig. Zadig SDR (dynamic link library, dll) (execution, exe). RTL-SDR rtl_sdr.exe. 94.1MHz FM [3]. 2.4 30dB classicfm.bin. classicfm.bin,. function y = loadfile(filename) % y = loadfile(filename) % reads complex samples from fm941.bin % fid = fopen(filename,'rb'); y = fread(fid,'uint8=>double'); y = y-127; y = y(1:2:end) + i*y(2:2:end); x=loadfile( fm941.bin ) x RTL-SDR. III... cos cos,. [4][5][10]. c:\sdrsharp\rtl_sdr.exe s 2.4e6 f 94.1e6 g 30 classicfm.bin FM 94.1 MHz,.
(JBE Vol. 24, No. 3, May 2019) 3. Fig. 3. FM demodulator block diagram,,,, (voltage). (, quadri-correlator)..,.,... cos sin cos sin,., tan..
: RTL-SDR (Young-Ju Kim: Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR) function disdata = discrim(x) % disdata = disccrim(x) % where x is an angle modulated signal in complex % baseband form. % % Baseband discriminator % X = real(x); % X is the real part of the received signal Y = imag(x); % Y is the imaginary part of the received % signal b = [1 1]; % filter coefficient for discrete derivative a = [1 0]; % filter coefficient for discrete derivative dery = filter(b, a, Y); % derivative of Y derx = filter(b, a, X); % derivative of X disdata = (X.* dery - derx.* Y)./ (X.^2 + Y.^2);.. (digital signal processing, DSP) DSP (ToolboxTM) [6]. 3 RTL-SDR I Q. sound(z, Fs). Fs, z 1 2. 1 2. 1 +1. max(abs(z)). 4. IV. 4. Fig. 4. Matlab functions used to develop demodulator 5. Fig. 5. Python functions used to develop demodulator
(JBE Vol. 24, No. 3, May 2019). IPython, Jupyter Notebook Anaconda Enthough Canopy. IBM Cognitive class Lab.. numpy, 2 (2 dimension, 2D) matplotlib import. scipy.signal (scientific Python) import, 5.. Msps,,. Ksps Ksps.,,. ( time constant) 75 (singl pole). [10]. ( ) 5 10 2. 93.1 MHz. 25... SDRSharp. ( ). 100 KHz. FM 300 KHz ±100 KHz. ( ) 6.,.. 63 6. ( ). ( ). 7. 15 KHz, 19 KHz,. 57 KHz 4~5 KHz (radio broadcast data service, RBDS). 6. Fig. 6. Stereo demultiplexing block diagram of software radio ( ). 30
: RTL-SDR (Young-Ju Kim: Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR) 7. Fig. 7. The demodulated broadcast FM signal s frequency spectrum Hz 15 KHz. 15 KHz 48 Ksps..wav sound(z, fs2). (deemphasis). ( ) L-R 38KHz. L-R. B2 L-R. ( ) (single pole) (infinite impulse response). [5]., 3dB. ( ) 1. a= [1, ], b=[1 ], y=filter (b,a,x). y=lfilter(b,a,x)..,... 8. Fig. 8. Frequency spectrum of real-time demodulated frequency demodulated boradcast signal
(JBE Vol. 24, No. 3, May 2019) V. (GNR Radio) [7]. C++. (GUI) RTL-SDR [8][9].. 4. (Options). top_ block QT GUI. samp _rate. RTL-SDR 3.2 Msps. 2.4Msps. 1MHz.,, RF., RF,.,,,, (radio digital service, RDS) (scope) sink. RTL-SDR Source. 8. 8. 9. SDR. RTL-SDR 2.4Msps 2.0Msps...,,, PSK,.. 9. Fig. 9. Frequency demodulator upper part implemented by GNU Radio
: RTL-SDR (Young-Ju Kim: Implementation of Real-time Stereo Frequency Demodulator Using RTL-SDR) Time Sink Frequency Sink. 10. 11 FM. VI. 20..,,, 19 KHz, 38 KHz, 57 KHz (RBDS),,..,. 10. Fig. 10. Phase locked loop part implemented by GNU Radio (References) [1] J. Mitola, Software radios survey, critical evaluation and future directions. National Telesystems Conference, pp. 13-23, 1992. [2] T. Collins, R. Getz, D. Pu, A. Yuglinkski, Software Defined Radio for Engineers, Artecj Jpise. 2018. [3] https://osmocom.org/projects/rtl-sdr/wiki/rtl-sdr [4] http://www.rtl-sdr.com/an-intro-to-rtl-sdr-technical-dsp-concepts-explained/ [5] A. Oppenheim, R. Schafer, Discrete-time Signal Processing, Prentice Hall, 1989. [6] http://www.eas.uccs.edu/~mwickert/ [7] http://wiki.gnuradio.org [8] https://wiki.gnuradio.org/index.php/tutorials [9] http://files.ettus.com/tutorials/labs/lab_1-5.pdf [10] Y. Kim, Implementation of real-time FM de-modulator using software-defined radio, Journal of the Research Institute for Computer and Information Communication, Vol.26, No.1, pp.1-4, 2018. 11. Fig. 11. Constellation of digital data implemented by GNU Radio
(JBE Vol. 24, No. 3, May 2019) - 1988 ~ 1993 : LG - 1996 ~ 1997 : - 1994 ~ 2001 : - 2011 ~ 2012 : - 2003 ~ : - ORCID : https://orcid.org/0000-0002-5844-8612 - :,