34 lines
637 B
Rust
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(())
|
|
}
|