Aahhh goofy

This commit is contained in:
2025-09-26 23:18:16 +02:00
parent 25a2dd47c3
commit fab0e5cc62
6 changed files with 133 additions and 3 deletions

View File

@ -11,6 +11,7 @@ mod bfsk;
mod complex;
pub mod fft;
mod nco;
mod units;
use bfsk::BFSKMod;
use complex::Complex;
@ -60,7 +61,7 @@ fn main() {
fn modulate() {
let sample_rate = 44100;
let frequency = 2000.0; //HZ
let bandwidth = 500.0; //HZ
let bandwidth = 400.0; //HZ
println!("deviation: {}", PI * (bandwidth / sample_rate as f32));
let path = "s.txt";
@ -116,10 +117,10 @@ fn modulate() {
}
writer.finalize().unwrap();
let mut of = File::create("out.jpg").unwrap();
let mut of = File::create("out.txt").unwrap();
let mut fft = FFT::new(110, windows::bartlett);
fft.execute(&output_samples[220..]);
fft.execute(&output_samples);
let mut csv = File::create("out.csv").unwrap();
for x in fft.get_output() {

17
src/units.rs Normal file
View File

@ -0,0 +1,17 @@
// Provides nice unit conversions
mod frequency
{
use std::f32::consts::PI;
pub fn hz_to_rad_per_sample(hz: f32, sample_rate: f32) -> f32
{
2. * PI * hz / sample_rate
}
pub fn rad_per_sample_to_hz(rad: f32, sample_rate: f32) -> f32
{
(rad * sample_rate) / (2. * PI)
}
}