PiFmRds icon indicating copy to clipboard operation
PiFmRds copied to clipboard

Baseband frequency is half with raspberry pi 3 model B

Open evertverduin opened this issue 4 years ago • 9 comments

I was playing with this software and experienced:

  • No stereo
  • No RDS
  • Audio too slow.

I found out that the complete baseband is at half of it's frequency. The pilot runs at 9.5 KHz, DSB at 19khz, RDS also 2 times lower. The samplerate of the baseband signal is too low.

I think there is a mistake with the baseband upsampler or the NCO constants are at the wrong frequency, but this would not explain why the audio is at half it's frequency either.

BR

Evert

evertverduin avatar Dec 30 '20 01:12 evertverduin

https://github.com/miegl/PiFmAdv/issues/81

I have the same problem.

Maybe an update of Raspbian or its packages caused that?

andimik avatar Jan 02 '21 07:01 andimik

There is no support, at least, no one of the devs responds. Edited 02-01-2021:

My solution was to erase raspberry os! install Raspbian Jesse lite, and install gpu_freq=250 in config.txt

DON'T USE MODERN RASPBERRY PI-OS!

Symptoms are: Baseband signal is at half of it's sampling rate. Audio to slow, pilot on 9.5 khz and rds at rds/2.

Solution -> install Raspbian Jesse. with gpu_freq=250 in config.txt

And IT Will work!

BR

Evert

evertverduin avatar Jan 02 '21 08:01 evertverduin

I just tried this with the latest Raspberry Pi OS. I get the same symptoms as @evertverduin. Somehow the clocks must be configured (with newer kernels, or with newer OS releases) to run slower than expected. I thought PLLD always runs at 500 MHz, is this wrong?

Anyway, the consequence of this is that with the wrong assumptions, the divider computed for the PWM clock is twice too high here: https://github.com/ChristopheJacquet/PiFmRds/blob/b0f253232b2c5084c51dc81200e6d1a116221ff2/src/pi_fm_rds.c#L412

An easy workaround is to run Pi-FM-RDS with the argument -ppm 1e6 : a correction of one million parts per million will halve the divider...

So run for example:

sudo ./pi_fm_rds -freq 106 -audio sound.wav -ppm 1e6

While this mitigates the issue, I will now try to figure out what clock speed changed, and how to go about it.

ChristopheJacquet avatar Jan 04 '21 21:01 ChristopheJacquet

I have this problem after updating the installation package

kaychain avatar Jan 16 '21 09:01 kaychain

Revert to raspbian

Op za 16 jan. 2021 10:07 schreef Cain [email protected]:

I have this problem after updating the installation package

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ChristopheJacquet/PiFmRds/issues/159#issuecomment-761531334, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJCSUUFY65N7FHVZGUNSDHLS2FJM5ANCNFSM4VNZ3IBA .

evertverduin avatar Jan 16 '21 09:01 evertverduin

Investigations so far, more is needed:

On my Pi3, according to /sys/kernel/debug/clk/clk_summary, plld_per is at 500 MHz, as expected, but pwm does not inherit from it, which suggests a bad clock setup somewhere.

Also interesting is vcgencmd measure_clock pwm which seems to return 4*228 kHz under correct Pi-FM-RDS operation.

ChristopheJacquet avatar Jan 16 '21 10:01 ChristopheJacquet

so go back to raspbian?

stOneskull avatar Apr 01 '21 10:04 stOneskull

well, a beep between 7KHz and 7,2KHz

SchattenWolf2008 avatar Apr 10 '21 16:04 SchattenWolf2008

inanzitutto ringrazio i[ChristopheJacquet] per aver condiviso il suo programma su github. Buonasera a voi tutti ho lavorato molto in questo progetto fantastico per fare in modo che possa funzionare anche con le ultime release di Rasperry pi 4b. Sono riuscito a farlo funzionare cambiando PLLFREQ in 648 Mhz tirato fuori da pll_per in cat /.../clk_summary ho inoltre grazie a questo software ho fatto molti esperimenti scoprendo ed analizzando come funziona il 20(log) dbms Ho fatto delle modifiche e realizzato un filtro PASSA-BANDA per far cadere il segnale con bandwidth di 200 KHz. Inoltre ho sperimentato e collaudato ogni sincronismo s_pwm1_sta->FULL1+CPU o con il magico DMA blocks. Con alcune adeguate accortezze e frequenze il PLLA SQUARE non genera HARMONICS molto invadenti con 16ma. NON PARTECIPO ATTIVAMENTE A GITHUB PERCHE' NON SO SCRIVERE BENE INGLESE.

crispino1976 avatar Oct 25 '22 14:10 crispino1976