This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.
Miroslav Slugeň thunder.m at email.czThanks for testing, is it 32bit arch? All memory buffers used in SSE should be 16bit aligned, please try no SSE version: rtl_fm -X -F 2 -J 5 -f yourfreq Also you can try modified rtl_fm version i send as attachment which use memalign to allocate buffers instead of malloc, but it is only for gcc. On X86_64 platform all malloc are 16bit aligned so i missed this. Those errors when compiling are not important, but also in SSE part. Miroslav Slugeň +420 724 825 885 Michał Morański napsal(a): > W dniu 2013-09-16 11:38, Miroslav Slugeň pisze: >> Hi, i used git from 14.9.2013, if you get errors from actual git it >> could be because some functions might go into upstream, i also add as >> attachment just rtl_fm.c so just replace it your version with this >> version and it should work. > Thanks for rapid answer. I just compiled your code. > First, i got this message when compiling: > /usr/lib/gcc/i486-linux-gnu/4.4.3/include/emmintrin.h:32:3: error: > #error "SSE2 instruction set not enabled" > Then i've added line to CMakeLists.txt: > set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-msse -msse2 -msse3") > After that i was able to compile the code, but with some warnings: > > /usr/src/rtl-sdr/src/rtl_fm.c: In function ‘low_pass_complex’: > /usr/src/rtl-sdr/src/rtl_fm.c:451: warning: dereferencing pointer ‘v_r’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:436: note: initialized from here > /usr/src/rtl-sdr/src/rtl_fm.c:452: warning: dereferencing pointer ‘v_i’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:436: note: initialized from here > /usr/src/rtl-sdr/src/rtl_fm.c: In function ‘low_pass_real’: > /usr/src/rtl-sdr/src/rtl_fm.c:769: warning: dereferencing pointer ‘v_m’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:755: note: initialized from here > /usr/src/rtl-sdr/src/rtl_fm.c:850: warning: dereferencing pointer ‘v_m’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:872: warning: dereferencing pointer ‘v_m’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:834: note: initialized from here > /usr/src/rtl-sdr/src/rtl_fm.c:851: warning: dereferencing pointer ‘v_p’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:834: note: initialized from here > /usr/src/rtl-sdr/src/rtl_fm.c:852: warning: dereferencing pointer ‘v_s’ > does break strict-aliasing rules > /usr/src/rtl-sdr/src/rtl_fm.c:873: warning: dereferencing pointer ‘v_s’ > does break strict-aliasing rules > > Now i got segfaults when i try to run rtl_fm -X -f 90.4e6 : > root at dabplus:/usr/src/rtl-sdr# rtl_fm -X -f 90.4e6 - > Found 1 device(s): > 0: Realtek, RTL2838UHIDIR, SN: 00000001 > > Using device 0: Lifeview LV5TDeluxe > Found Fitipower FC0013 tuner > Oversampling input by: 6x. > Oversampling output by: 1x. > Buffer size: 7.11ms > Tuned to 90704000 Hz. > Sampling at 1152000 Hz. > Output at 48000 Hz. > LP Complex: FIR hamming (SSE2), size: 32 > LP Real: FIR hamming stereo (SSE2), size: 64 > Tuner gain set to automatic. > Tuner AGC ON. > De-epmhasis IIR: 50.0 us > Segmentation fault > > My processor: > root at dabplus:/usr/src/rtl-sdr# cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 28 > model name : Intel(R) Atom(TM) CPU D525 @ 1.80GHz > ..... > root at dabplus:/usr/src/rtl-sdr# cat /etc/issue > Ubuntu 10.04.4 LTS \n \l > > root at dabplus:/usr/src/rtl-sdr# uname -r > 2.6.32-38-generic-pae > > > >> >> I have RDS decoder also, but it is very ugly and not all issues are >> solved. > Wow :) If you searching for help with that you can count on me. > >> >> Miroslav Slugeň >> +420 724 825 885 >> >> Michał Morański napsal(a): >>> W dniu 2013-09-13 15:22, Miroslav Slugeň pisze: >>>> Hi again, >>>> >>>> I am working on my own SDR project for Stereo FM radio support, but i >>>> would like to also improve quality for rtl_fm application, i made >>>> unoficial patch to add: >>>> >>>> Complex FIR - to filter strong signals close to wanted signal >>>> Real FIR - to filter pilot from FM >>>> Stereo FIR >>>> Stereo Deemphasis >>>> AGC support - it can give better resolution of IQ data >>>> >>>> Some other improvments in FM radio code. >>>> >>>> All FIR filters has 3 possible variants, simple, LUT, SSE2 instricts, >>>> of course SSE is the fastest one and it should works on Intel Atoms, >>>> but not on ARM. >>>> >>>> Feel free to use any part of code in any of you programs, I know that >>>> this code is little to much to add it into rtl_fm, but maybe it could >>>> somebody help to recieve HW stereo FM radio. >>>> >>>> Speed of SSE code is much better than anything you can get around >>>> here, on Core i7 it consume only 5% of one CPU, so i could demodulate >>>> at least 80 channels at the same time in stereo quality of course. >>>> >>>> I tried this code only on AMD64 and GCC Linux, so i am not sure if it >>>> can be compiled under windows. >>>> >>> Hi! Very nice to hear, that someone working on Stereo FM reception. I'm >>> building a small remote devices with rtl-dongles as fm stereo receivers. >>> Now i'm using gnu-radio to decode fm-stereo, but as you all know, >>> gnu-radio is a large and heavy project and it's wasting its >>> capatibilities in that role. >>> It would be very nice if native rtl-sdr software can decode fm-stereo. >>> >>> Which version of rtl-sdr was used as base version? I'm getting errors >>> after applying the patch to last version: >>> >>> patching file rtl_fm.c >>> Hunk #2 succeeded at 47 (offset 5 lines). >>> Hunk #3 succeeded at 87 (offset 9 lines). >>> Hunk #4 succeeded at 144 (offset 9 lines). >>> Hunk #5 succeeded at 169 (offset 9 lines). >>> Hunk #6 succeeded at 190 (offset 9 lines). >>> Hunk #7 FAILED at 239. >>> Hunk #8 FAILED at 258. >>> Hunk #9 succeeded at 314 (offset 13 lines). >>> Hunk #10 succeeded at 420 (offset 13 lines). >>> Hunk #11 succeeded at 994 (offset 13 lines). >>> Hunk #12 FAILED at 1106. >>> Hunk #13 succeeded at 1148 (offset 15 lines). >>> Hunk #14 succeeded at 1259 (offset 35 lines). >>> Hunk #15 succeeded at 1268 (offset 35 lines). >>> Hunk #16 succeeded at 1290 (offset 35 lines). >>> Hunk #17 succeeded at 1301 with fuzz 2 (offset 36 lines). >>> Hunk #18 succeeded at 1351 (offset 38 lines). >>> Hunk #19 succeeded at 1378 (offset 38 lines). >>> Hunk #20 succeeded at 1389 (offset 38 lines). >>> Hunk #21 succeeded at 1508 (offset 50 lines). >>> Hunk #22 succeeded at 1527 (offset 50 lines). >>> 3 out of 22 hunks FAILED -- saving rejects to file rtl_fm.c.rej >>> >>> P.S. Are you planning to add support for RDS in the future? >>> >>> Regards, Michał. >>> >>> > > -------------- next part -------------- A non-text attachment was scrubbed... Name: rtl_fm.c Type: text/x-csrc Size: 48789 bytes Desc: not available URL: <http://lists.osmocom.org/pipermail/osmocom-sdr/attachments/20130916/63d11836/attachment.bin>