How to deal with discrepancy in sample rate? (44.1Hz from a wavform, etc)

Ok, so my goal is to be able to use a wav file and then fm modulate it,
and
store the result in a .dat file containing complex samples that could
then
be demodulated by an fm demodulator I have. But I’m running into a
couple of
problems!

Usually, the iconic sample rate seems to be 320KHz, and an audio_sink
usually is set to 32KHz. However, the wavfile_source block has a
sample_rate() attribute, and its about 44100. I didn’t think that this
would
matter, except that when calling the fm modulator
fmtx = blks2.nbfm_tx (audio_sample, file_sample, max_dev=5e3, tau=75e-6)
it seems I have to set the sample rate (file_sample) equal to an integer
multiple of the audio_sample rate…this makes intuitive sense, but it
won’t
let me go as large as I want? At 10*audio_sample (when audio_sample is
44100), I get an insufficient extremals error… but if the audio sample
rate is 32000, I can set the sample rate arbitrarily high!

Related to this is the question of demodulation. Usually, you want to be
symmetric in your sample rates and all that…but given I’ll be
demodulating
this signal via FM and probably going to a audio_sink (which has a
sample
rate of 32000? or can I also instantiate it with a sample rate that is
higher?) I’m not sure how I can deal with the discrepancy between the
two.

Your help is greatly appreciate!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs