From a7a9329cebbc06ffc4f32b5c466eb1ef2afd5b2f Mon Sep 17 00:00:00 2001 From: Christophe Jacquet Date: Sun, 6 Apr 2014 20:09:16 +0200 Subject: [PATCH] More work on README --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 49b4c13..bf4e63f 100644 --- a/README.md +++ b/README.md @@ -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] ``` +All arguments are optional: + * `-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`. * `-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. -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 -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. Always connect a shielded transmission line from the RaspberryPi directly to a radio receiver, so as *not* to emit radio waves.