Files
analog-sdr-video-demodulator/src/main.rs
2026-06-15 21:41:18 +02:00

34 lines
637 B
Rust

use crate::iq_reader::FileSource;
use crate::pipeline::{AfterDemodPiplineExt, DspPipelineExt};
use std::error::Error;
mod agc;
mod dc_blocker;
mod fir;
mod fm_demod;
mod iq_reader;
mod low_pass;
mod pipeline;
mod utils;
fn main() -> Result<(), Box<dyn Error>> {
let source = FileSource::new("test.iq", 32769)?;
// Fir coefs
let taps = [0.5; 64];
let pipeline = source
.agc(20_000_000.0, 1.0, 0.001, 100.0)
.fir::<64>(taps, 4)
.demodulate()
.dc_block(0.995)
.lowpass(0.75);
for s_r in pipeline {
let s = s_r?;
println!("phase : {}", s);
}
Ok(())
}