More work on README
This commit is contained in:
parent
e474651aee
commit
a7a9329ceb
|
|
@ -38,6 +38,8 @@ The more general syntax for running Pi-FM-RDS is as follows:
|
||||||
pi_fm_rds [-freq freq] [-wav file.wav] [-ppm ppm_error] [-pi pi_code] [-ps ps_text] [-rt rt_text]
|
pi_fm_rds [-freq freq] [-wav file.wav] [-ppm ppm_error] [-pi pi_code] [-ps ps_text] [-rt rt_text]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
All arguments are optional:
|
||||||
|
|
||||||
* `-freq` specifies a frequency (in MHz). Example: `-freq 87.5`.
|
* `-freq` specifies a frequency (in MHz). Example: `-freq 87.5`.
|
||||||
* `-wav` specifies a WAV file to play. It must be sampled at 228 kHz, but no frequency above 18 kHz must be present. Example: `-wav sound.wav`.
|
* `-wav` specifies a WAV file to play. It must be sampled at 228 kHz, but no frequency above 18 kHz must be present. Example: `-wav sound.wav`.
|
||||||
* `-ppm` specifies your Raspberry Pi's oscillator error in parts per million (ppm), see below.
|
* `-ppm` specifies your Raspberry Pi's oscillator error in parts per million (ppm), see below.
|
||||||
|
|
@ -50,14 +52,14 @@ pi_fm_rds [-freq freq] [-wav file.wav] [-ppm ppm_error] [-pi pi_code] [-ps ps_te
|
||||||
|
|
||||||
The RDS standards states that the error for the 57 kHz subcarrier must be less than ± 6 Hz, i.e. less than 105 ppm (parts per million). The Raspberry Pi's oscillator error may be above this figure. That is where the `-ppm` parameter comes into play: you specify your Pi's error and Pi-FM-RDS adjusts the clock dividers accordingly.
|
The RDS standards states that the error for the 57 kHz subcarrier must be less than ± 6 Hz, i.e. less than 105 ppm (parts per million). The Raspberry Pi's oscillator error may be above this figure. That is where the `-ppm` parameter comes into play: you specify your Pi's error and Pi-FM-RDS adjusts the clock dividers accordingly.
|
||||||
|
|
||||||
In practice, I found that Pi-FM-RDS works okay even without using the `-ppm` parameter.
|
In practice, I found that Pi-FM-RDS works okay even without using the `-ppm` parameter. I suppose the receiver are more tolerant than the RDS spec.
|
||||||
|
|
||||||
One way to measure the ppm error is to play the `pulses.wav` file: it will play a pulse for precisely 1 second, then play a 1-second silence, and so on. Record the audio output from a radio with a good audio card. Say you sample at 44.1 kHz. Measure 10 intervals. With Audacity for instance, measure determine the number of samples of these 10 intervals: it should be 441,000 samples. With my Pi, I found 441,132 samples. Therefore, my ppm error is (441132-441000)/441000 = 299 ppm, *assuming that my sampling device has no clock error...*
|
One way to measure the ppm error is to play the `pulses.wav` file: it will play a pulse for precisely 1 second, then play a 1-second silence, and so on. Record the audio output from a radio with a good audio card. Say you sample at 44.1 kHz. Measure 10 intervals. Using [Audacity](http://audacity.sourceforge.net/) for measure determine the number of samples of these 10 intervals: in the absence of clock error, it should be 441,000 samples. With my Pi, I found 441,132 samples. Therefore, my ppm error is (441132-441000)/441000 = 299 ppm, *assuming that my sampling device has no clock error...*
|
||||||
|
|
||||||
|
|
||||||
## Diclaimer
|
## Diclaimer
|
||||||
|
|
||||||
Never use this to transmit VHF-FM data through an antenna, as it is
|
Never use this program to transmit VHF-FM data through an antenna, as it is
|
||||||
illegal in most countries. This code is for testing purposes only.
|
illegal in most countries. This code is for testing purposes only.
|
||||||
Always connect a shielded transmission line from the RaspberryPi directly
|
Always connect a shielded transmission line from the RaspberryPi directly
|
||||||
to a radio receiver, so as *not* to emit radio waves.
|
to a radio receiver, so as *not* to emit radio waves.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue