http://www.sbrac.org/files/fm_stereo_test.ogg
This is tuned to a station that’s approximately 100km from my location.
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org/files/fm_stereo_test.ogg
This is tuned to a station that’s approximately 100km from my location.
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
Wow, sounds good, I’ve got a bunch of 50KW stations about 2 miles away
and I cannot get any to sound good at all. What receiver code are you
using?
On Sun, Mar 11, 2012 at 17:50, Marcus D. Leech [email protected]
wrote:
…with the gain set right…
This is where I’ve run into a lot of issues. Too much gain, the lower
end of the dynamic range is filled with IMD. Too little gain, the
noise figure is too high. It’s hard to get even 12 bits of ADC
dynamic range in the presence of strong signals.
Johnathan
On 11/03/12 10:54 PM, Johnathan C. wrote:
This is where I’ve run into a lot of issues. Too much gain, the lower
end of the dynamic range is filled with IMD. Too little gain, the
noise figure is too high. It’s hard to get even 12 bits of ADC
dynamic range in the presence of strong signals.
It’s the “dirty little secret” of SDR–analog considerations continue to
be important. Although I suppose
with a direct-sampled 28-bit ADC running at a few Gsps, you’d have
enough dynamic range and oversampling
to cope with anything–as long as whatever gain stages you had in
front of the ADC would remain nice and
linear
Some broadcast FM receivers (even analog ones) have a tracking filter in
the front end, to eliminate the
IMD problem before it becomes a problem. That eliminates the “broad
as a barn door” front-end issues.
I’m using the TVRX2, which uses the TDA18272 chip, which has a built-in
4-band band-select filter, so that
may improve things quite a bit in terms of keeping subsequent stages
linear.
–
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
Marcus,
Have you done any improvements to the good old RDS code in cgran?
Best regards,
Rafael D.
Rafael:
I added methods for resetting the state machines on the
demodulator and the decoder, but apart from that, no.
My code relies
on those updates so I pushed the updates up to CGRAN for
radio_data_system
-Marcus
On Mon, 12 Mar 2012 06:09:11 -0700, Rafael
Diniz wrote:
Marcus,
Have you done any improvements to the good
old RDS code in cgran?Best regards,
Rafael D.On
03/11/2012 08:40 PM, Andrew D. wrote:Wow, sounds good, I’ve
got a bunch of 50KW stations about 2 miles away and I cannot get any to
sound good at all. What receiver code are you using?
The code that I
put on on CGRAN yesterday: **
https://www.cgran.org/svn/projects/simple_fm_rcv [1] And the supporting
RDS code: ** https://www.cgran.org/svn/projects/radio_data_system [2]
I’m using a TVRX2 on a B100, and this was with 8-bit baseband samples at
320Ksps input rate to the FM demod. Your problem might actually be that
you have a bunch of 50KW stations close by. Although with 70+ dB of
dynamic range even at 12-bit ADC sampling, with the gain set right, you
shouldn’t have too many problems.
_______________________________________________ Discuss-gnuradio mailing
list [email protected] [3]
Discuss-gnuradio Info Page [4]
[1] https://www.cgran.org/svn/projects/simple_fm_rcv
[2]
https://www.cgran.org/svn/projects/radio_data_system
[3]
mailto:[email protected]
[4]
Discuss-gnuradio Info Page
On 03/11/2012 08:40 PM, Andrew D. wrote:
Wow, sounds good, I’ve got a bunch of 50KW stations about 2 miles away
and I cannot get any to sound good at all. What receiver code are you
using?
The code that I put on on CGRAN yesterday:
** https://www.cgran.org/svn/projects/simple_fm_rcv
And the supporting RDS code:
** https://www.cgran.org/svn/projects/radio_data_system
I’m using a TVRX2 on a B100, and this was with 8-bit baseband samples at
320Ksps input rate to the FM demod.
Your problem might actually be that you have a bunch of 50KW stations
close by. Although with 70+ dB of dynamic range
even at 12-bit ADC sampling, with the gain set right, you shouldn’t
have too many problems.
On 03/12/2012 09:09 AM, Rafael D. wrote:
Marcus,
Have you done any improvements to the good old RDS code in cgran?
Just updated the simple_fm_rcv code to use 250e3 sample rate, since
that’s a common rate between B100/USRP1/E1XX and N2XX family, and
all the math “works out”. That will more lightly load the cpu as
well, compared to 320e3.
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
Doesn’t sound as good to me, maybe it’s just a bad sample. I for some
reason ( I know the math tells me otherwise ) I find it sounds better
the faster I sample, like 500M. I feel like it has something to do
with more exact following of the FM signal curve or something.
So how exactly does the software FM Demod work ( crossing detection )?
And why can my $5 toy FM radio sound so much cleaner?
On 12/03/12 10:08 PM, Andrew D. wrote:
Doesn’t sound as good to me, maybe it’s just a bad sample. I for some
reason ( I know the math tells me otherwise ) I find it sounds better
the faster I sample, like 500M. I feel like it has something to do
with more exact following of the FM signal curve or something.
I had the bass turned up, which matches my speakers well, but now that
I’m listening to the
“Baba O’Reilly” sample on my headphones, it’s quite a bit too bassy.
So how exactly does the software FM Demod work ( crossing detection )?
And why can my $5 toy FM radio sound so much cleaner?
It’s a quadrature demodulator using ATAN2–not a simple crossing
detector. It should be quite high
fidelity.
Some of these “listening tests” are notoriously subjective as well, and
the source material varies wildly
in quality.
The other thing is this receiver doesn’t do any deemphasis processing,
choosing instead to have a 3-band
equalizer with settable gains that allow you to tweak the audio
spectrum of the output a bit. Some keener
could make it more fine-grained to tune the resulting sound to suit
personal preferences/room/etc.
–
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
On 03/12/2012 09:01 PM, Marcus D. Leech wrote:
And here’s an audio sample using the new “common” sample rate:
http://www.sbrac.org/files/fm_stereo_test2.ogg
–
Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
Thanks for posting this - it appears to work just fine with an
Ultra-cheap RTL2832U-based USB dongle. Sounds pretty good too.
Eric
I found a bug with de-emphasis, the coefficients in de denominator
should
change their sign in gnuradio…
One question. I have tried your simple_fm_rcv and a similar version that
I
made on my own. In both cases I have found that there is a phase shift
in
the pilot tone. In the image the red curve is the L-R modulated signal
and
the green line is the recovered 38Khz carried recovered after squaring
the
pilot tone. It looks like the zero crossings are pi/2 rad shifted so the
demodulated signal is almost zero.
http://gnuradio.4.n7.nabble.com/file/n42875/Screen_Shot_2013-08-01_at_6.04.35_PM.png
By delaying the pilot by one sample (which is almos pi/2) the problem
solves, but I do not see any reason for doing this
Of course, I have been careful and all the filters to split the mux
signal
have the same delay and have linear phase
Any idea?
–
View this message in context:
http://gnuradio.4.n7.nabble.com/Sample-audio-from-my-FM-stereo-receiver-tp1897p42875.html
Sent from the GnuRadio mailing list archive at Nabble.com.
I found a bug in the deemphasis block… The denominator coefficients
should be passed with the sign changed (except for the firt 1), I have
checked the frequency response in matlab and with this change, the block
approximates very well the theorerical analog response
The other thing is this receiver doesn’t do any deemphasis processing,
choosing instead to have a 3-band
equalizer with settable gains that allow you to tweak the audio
spectrum of the output a bit. Some keener
could make it more fine-grained to tune the resulting sound to suit
personal preferences/room/etc.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs