Commit Graph

20 Commits

Author SHA1 Message Date
Jared Boone
58e6d26910 Move AudioOutput back to inside audio processor classes.
Was wasting precious RAM making it static. I lose 400 bytes of .text, not sure why, but I think the trade is worth it.
2016-01-16 13:56:23 -08:00
Jared Boone
b993e3d73e Consolidate spectrum collector message handling. 2016-01-12 10:32:00 -08:00
Jared Boone
55e3a70fde Change baseband audio processing pipeline to all floats. 2016-01-11 16:15:42 -08:00
Jared Boone
877a66ca78 Create AudioOutput singleton, from extracted BasebandProcessor code. 2016-01-10 20:25:24 -08:00
Jared Boone
d821afc60d Spectrum streaming control, spectrum attributes back in each frame.
TODO: This feels kinda complex, and there's some repeated Processor code that needs to be refactored into a base class.
2016-01-10 10:42:20 -08:00
Jared Boone
b03da8d693 Fix calculation of work_audio_buffer item count. 2016-01-03 22:42:40 -08:00
Jared Boone
d9017530c6 Moved baseband temporary buffers back into class member variables.
Significant performance hit when declaring on stack. C++ wants to initialize std::array or even raw array with element constructors, was resulting in ~7% CPU utilization, for a buffer that was immediately written over anyway.
2016-01-03 22:31:44 -08:00
Jared Boone
10bce4b845 Clean up #includes. 2016-01-03 16:58:08 -08:00
Jared Boone
b5aa2b205f Implement AMConfigureMessage from M0 to M4. 2016-01-03 14:31:39 -08:00
Jared Boone
39ca6fec62 Transform update spectrum event into message. 2016-01-03 12:05:47 -08:00
Jared Boone
fea5dd536f Move baseband working buffers from member variables to stack.
It's temporary, after all...
2016-01-02 12:08:21 -08:00
Jared Boone
9a0fb2cab7 Rename IIR filter for 300Hz high-pass. 2016-01-01 20:53:11 -08:00
Jared Boone
bbfcca8ec0 Rebake of AM, NFM demodulators -- more flexible filtering/configuration.
Also make SpectrumCollector dynamically configurable.
Add deemphasis filter to NFM.
2015-12-29 11:02:07 -08:00
Jared Boone
088f60f2bc Extract spectrum collector from BasebandProcessor.
Code size improvement, and less confused classes. :-)
2015-12-11 12:26:45 -08:00
Jared Boone
ef315f0d92 Const/pass-by-reference a bunch more baseband stuff. 2015-12-10 12:36:12 -08:00
Jared Boone
3bed016128 BasebandProcessor interface change to pass references, not copies. 2015-12-10 11:56:16 -08:00
Jared Boone
ddd34793a6 Default constructors and configure methods for baseband classes. 2015-11-06 09:40:05 -08:00
Jared Boone
424c0eac3f FIRAndDecimateBy2Complex: expose decimation_factor, bring work function into class. 2015-11-06 09:40:04 -08:00
Jared Boone
be78ed657f Remove taps_count template arg for FIRAndDecimateBy2Complex.
Use heap to allocate samples and taps buffers, so filters of different lengths can be supported.
2015-11-06 09:40:04 -08:00
Jared Boone
e246ea2c39 Extract NarrowbandAMAudio class into separate files. 2015-08-27 13:07:07 -07:00