Glad to hear you're still interested.
The rtl-fm.c file location depends on what directory you download it to but in my case it's "/home/pi/rtl-sdr-keen1/rtl-sdr/src".
Just make sure you download the keenerd fork (which has the 0 padding) at
https://github.com/keenerd/rtl-sdr
Once you make the change to set the minimum bandwidth, it has to be recompiled and installed of course. Also when you run rtl-sdr you want to explicitly point to the location of rtl-fm in the startup commands. e.g. "sudo /usr/local/bin/rtl_fm ...."
I'm still trying to get sox working that has a better filter to handle the 150Hz buzz. Any suggestions from anyone on that issue are welcome
.
Good Luck,
Jack
Good morning, Jack.
I made the changes to the rtl_fm.c file but it doesn't seem to change the sample rate.
Using keenerd fork:
[-E enable_option (default: none)]
use multiple -E to enable multiple options
edge: enable lower edge tuning
no-dc: disable dc blocking filter
deemp: enable de-emphasis filter
swagc: enable software agc (only for AM modes)
swagc-aggressive: enable aggressive software agc (only for AM modes)
direct: enable direct sampling
no-mod: enable no-mod direct sampling
offset: enable offset tuning
wav: generate WAV header
pad: pad output gaps with zeros
lrmix: one channel goes to left audio, one to right (broken)
Changes made to rtl_fm.c:
#define DEFAULT_SAMPLE_RATE 2500
#define DEFAULT_BUF_LENGTH (1 * 16384)
#define MAXIMUM_OVERSAMPLE 16
#define MAXIMUM_BUF_LENGTH (MAXIMUM_OVERSAMPLE * DEFAULT_BUF_LENGTH)
#define AUTO_GAIN -100
#define BUFFER_DUMP 4096
#define MAXIMUM_RATE 2400000
#define FREQUENCIES_LIMIT 1000
#define PI_INT (1<<14)
#define ONE_INT (1<<14)
static volatile int do_exit = 0;
static int lcm_post[17] = {1,1,1,3,1,5,3,7,1,9,5,11,3,13,7,15,1};
static int ACTUAL_BUF_LENGTH;
static uint32_t MINIMUM_RATE = 250000;
Command I am using to start it:
sudo /usr/local/bin/rtl_fm -d 0 -M fm -f 460.400M -g 20 -p 54 -l 75 -t 10 -s 12k -E pad | /usr/bin/lame -r -s 12 --resample 22.05 -m m --cbr --lowpass 4 --highpass 0.241 - - | /usr/bin/ezstream -q -c /etc/ezstream_ice.xml
Here is what is returned:
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to 19.70 dB.
Tuner error set to 54 ppm.
Tuned to 460652000 Hz.
Oversampling input by: 84x.
Oversampling output by: 1x.
Buffer size: 8.13ms
Exact sample rate is: 1008000.009613 Hz
Sampling at 1008000 S/s.
Output at 12000 Hz.
As you can see the sampling rate is still 1008000. Did I miss something?
Thanks
Jim