Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DS3 and OS3 functions #4

Merged
merged 12 commits into from
Dec 7, 2016
Merged

Add DS3 and OS3 functions #4

merged 12 commits into from
Dec 7, 2016

Conversation

samchesney
Copy link
Contributor

No description provided.

This is being done to aid clarity when DS3 and OS3 functions are added
to this library.
Taken from lib_dsp @ commit a3a2a30b3e9c61aaf70b28828eda7e1372ca9ec7.

Cut down copy of lib_dsp docs added to provide starting point when
adding to lib_src documentation.
The directory structure has been updated to allow clear sharing of the
shared code between DS3 and OS3.

Where possible DS3 and OS3 now share code.

DS3 and OS3 documentation added to library documentation.
* Configurable number of audio channels per SRC instance
* Reentrant library permitting multiple instances with differing configurations and channel count

* Synchronous fixed factor of 3 downsample and oversample functions with reduced resource requirements
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good to characterise the SNR of boggo DS3. I have an FFT plot to suggest that it is better than 120db

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, an estimate for Andrew's voice DS3 to allow punters to make a choice/tradeoff


The OS3 processing takes up to 153 core cycles to compute a sample which translates to 1.53us at 100MHz or 2.448us at 62.5MHz core speed. This permits up to 8 channels of 16KHz -> 48KHz sample rate conversion in a single 62.5MHz core.

The DS3 processing takes up to 389 core cycles to compute a sample which translates to 3.89us at 100MHz or 6.224us at 62.5MHz core speed. This permits up to 9 channels of 48KHz -> 16KHz sample rate conversion in a single 62.5MHz core.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(1/16000)/6.24e-6 - 10.016, so we can squeeze 10 in theoretically.
My mistake - I should have re-calculated this bit

* Configurable number of audio channels per SRC instance
* Reentrant library permitting multiple instances with differing configurations and channel count

* Synchronous fixed factor of 3 downsample and oversample functions with reduced resource requirements
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likewise, an estimate for Andrew's voice DS3 to allow punters to make a choice/tradeoff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants