summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-04-16 16:06:53 +0300
committerYuval Adam <_@yuv.al>2018-04-16 16:06:53 +0300
commit6b2baa71b1a49e8e542db55f27943a25c5529090 (patch)
tree345d0efa4fcfab845dcd036437fb491e02c7745d
parent9bbdcccff05ad4e955b323dc3cd61fbe57808a55 (diff)
Add blank audio buffer and prepend missing sample
-rw-r--r--async_fm_demod.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/async_fm_demod.py b/async_fm_demod.py
index e89559d..e1f4640 100644
--- a/async_fm_demod.py
+++ b/async_fm_demod.py
@@ -10,7 +10,7 @@ device = alsaaudio.PCM(alsaaudio.PCM_PLAYBACK, device='default')
device.setchannels(1)
device.setrate(50000)
device.setformat(alsaaudio.PCM_FORMAT_S16_LE)
-device.setperiodsize(5520)
+device.setperiodsize(520)
async def streaming():
@@ -18,9 +18,17 @@ async def streaming():
sdr.sample_rate = 1.2e6
sdr.center_freq = 91.8e6
+ prev = None
+
+ device.write(np.array([0] * 100000).astype('int16'))
+
async for samples in sdr.stream():
samples = np.array(samples).astype('complex64')
samples = signal.decimate(samples, int(1.2e6 / 200e3))
+
+ if prev is not None:
+ samples = np.insert(samples, 0, prev)
+ prev = samples[-1]
samples = np.angle(samples[1:] * np.conj(samples[:-1]))
x = np.exp(-1 / (200e3 * 75e-6))