Need to design DSP functions as follows:
**Function 1: Bandpass filter:
**
1) Fast, real time.
2) If designed in IIR (recursive), must be steable for all input.
3) If designed in FIR (non-recursive), must demostrate fast.
4) filter out DC offset.
5) filter out above 4000hz
6) Bandpass range between 25hz and 3500hz.
7) You choose algorithmn.
8) Data sampling rate 8000hz, Sampling bits: 8 bits or 16 bits.
Final main calling function specification:
Return TRUE to indicate success, len can be 2^n at your choice.
BOOL BandPass8bits(char *inbuff, char *outBuff, int len)
BOOL BandPass16Bits(short *inbuff, short *outBuff, int len)
**Function 2: Decimation and interpolation functions:**
1) Fast, real time.
2) If designed in IIR (recursive), must be steable for all input.
3) If designed in FIR (non-recursive), must demostrate fast.
4) Convert up and down different sampling rates, target sampling rate: 8000Hz.
5) Sampling bits: 8 bits or 16 bits.
6) You choose algorithmn.
7) Possible source sampling rate: 11.25khz, 22.05khz, 44.1khz. Target sampling rate: 8000hz
Final main calling function specification:
Return TRUE to indicate success, all len can be 2^n at your choice.
#define TAG1 1 // 11.25khz
#define TAG2 2 // 22.05khz
#define TAG3 3 // 44.1khz
possible value for scrFormat: TAG1, TAG2, TAG3
BOOL Convert8bits(char *inbuff, int inLen, char *outBuff, int *outLen, int scrFormat)
BOOL Convert16bits(short *inbuff, int inLen, short *outBuff, int *outLen, int scrFormat)
**Function 3: Mixing functions**
1) Fast, real time.
2) Sampling rate: 8000hz, Sampling bits: 8 bits or 16 bits.
3) You choose algorithmn.
BOOL Mix8Bits(char *inBuff1, char *inBuff2, char *outBuff, int len)
BOOL Mix16Bits(short *inBuff1, short *inBuff2, short *outBuff, int len)
**Other requirement:**
Must in C, compilable on Visual Studio 6.0 version. **NO MFC** please. Algorithmn used must not violate existing patents and copyrights. Open Source code must not be used. In other words, the work you have done **must be original**.
## Deliverables
**NOTE:** Provide a rough theoratic description before starting the project. The description including: windows functions, why use these functions. Frequency response analysis etc.
1) Deliver above 6 functions and other support functions in three source files. Function 1, Function 2 and Function 3 must be in seperated files.
2) Deliver a test program which allows user to specify a windows PCM wave file to test the above requirement. GUI is preferred, however is not required. As long as the code can be simply changed and recompiled for the testing purpose.
3) Deliver all Visual Studio work files of the project.
4) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 5) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 6) Complete ownership and distribution copyrights to all work purchased.
## Platform
Microsoft Windows.
Source code must be compilable in Visual Studio C++ 6.0
No MFC specifics.