-
Notifications
You must be signed in to change notification settings - Fork 18
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
Conversation
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.
Fixes lib_dsp issue xmos#81 - xmos/lib_dsp#81
* 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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
No description provided.