Hello,
I have the si4713 fm transmitter and am using LIN and RIN for analog audio input. How do I force fm transmission to be mono instead of stereo? The only items in the AN332 programming guide that deal with stereo/mono are properties and commands that say they are for "digital audio input" which I am not using.
Thanks!
si4713 transmit fm in mono?
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- dlleigh
- Posts: 225
- Joined: Wed Jan 30, 2013 8:08 pm
Re: si4713 transmit fm in mono?
I'm guessing that the simple method of sending the identical analog audio signal to both the left and right inputs of the chip won't work for you.
If the 19 kHz pilot tone and the L-R (left minus right) signal are present in the output waveform, the result will be noisier to a receiver than a true mono signal, even if the L-R signal is "zero".
Fortunately, the Si4713 allows you to turn off the undesired components. If you look at programming app note AN332, page 36 describes property 0x2100, which allows you disable both the pilot tone and the L-R signal (as well as the RDS signal if you want). Turning all of those off will give you a lean, mean FM mono signal with maximum range and signal-to-noise ratio in a receiver.
If the 19 kHz pilot tone and the L-R (left minus right) signal are present in the output waveform, the result will be noisier to a receiver than a true mono signal, even if the L-R signal is "zero".
Fortunately, the Si4713 allows you to turn off the undesired components. If you look at programming app note AN332, page 36 describes property 0x2100, which allows you disable both the pilot tone and the L-R signal (as well as the RDS signal if you want). Turning all of those off will give you a lean, mean FM mono signal with maximum range and signal-to-noise ratio in a receiver.
- pauljk
- Posts: 16
- Joined: Sun Jan 04, 2015 10:19 pm
Re: si4713 transmit fm in mono?
Thank you for the info! Yes you are correct I would like to turn off the pilot tone, L-R, and RDS. Just to test, at the end of the powerUp method in the library, I added:
setProperty(SI4713_PROP_TX_COMPONENT_ENABLE, 0x0); // no L - R, no pilot, no rds
and also tried just a zero ("0") as well as 0x00 and 0x0000 for the setProperty arguement, but I still get stereo coming from the transmitter. Shouldn't that work? .....or do you have a suggestion on the placement and timing of issuing the above setProperty?
Thank you for your help!
EDIT/UPDATE: I commented out the 3 lines following the "begin the RDS/RDBS transmission" comment in the adaradio test sketch and now I can control stereo/mono! Duh! Again, thank you for the information!
2ND EDIT with a question: beginRDS and setRDSbuffer both turn on pilot + L-R in the si4713 library. The question is: do both pilot and L-R need to be "on" in order for RDS to work? ....ugh....thanks again!
setProperty(SI4713_PROP_TX_COMPONENT_ENABLE, 0x0); // no L - R, no pilot, no rds
and also tried just a zero ("0") as well as 0x00 and 0x0000 for the setProperty arguement, but I still get stereo coming from the transmitter. Shouldn't that work? .....or do you have a suggestion on the placement and timing of issuing the above setProperty?
Thank you for your help!
EDIT/UPDATE: I commented out the 3 lines following the "begin the RDS/RDBS transmission" comment in the adaradio test sketch and now I can control stereo/mono! Duh! Again, thank you for the information!
2ND EDIT with a question: beginRDS and setRDSbuffer both turn on pilot + L-R in the si4713 library. The question is: do both pilot and L-R need to be "on" in order for RDS to work? ....ugh....thanks again!
Please be positive and constructive with your questions and comments.