根据您提供的代码和描述,您在使用C5509A和AIC23进行音频采集实验时遇到了输出全是噪声的问题。以下是一些可能的原因和解决方案:
1. 采样率设置问题:您提到采样率设置为44.1K,但是您需要确保您的音频输入设备(如麦克风)和输出设备(如耳机)支持这个采样率。如果不支持,可能会导致噪声。您可以尝试降低采样率,例如设置为22.05K或11.025K,看看是否有改善。
2. 音频输入信号问题:请检查您的音频输入设备(如麦克风)是否正常工作,以及连接是否正确。如果输入信号有问题,可能会导致输出噪声。
3. 音频输出信号问题:请检查您的音频输出设备(如耳机)是否正常工作,以及连接是否正确。如果输出信号有问题,可能会导致输出噪声。
4. 代码问题:您的代码中有一些可能的问题。首先,您的循环变量i应该设置为16000(44.1K采样率下的样本数),而不是8000。其次,您的代码中缺少了对左右声道数据的处理。以下是修改后的代码:
```c
while(1){
for(i=0;i<16000;i++){
while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好
input=Read(pMCBSP0->ddr2); // 读取左声道的数据
while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好
input=Read(pMCBSP0->ddr1); // 读取右声道的数据
// far_po ...
}
}
```
5. 硬件问题:如果以上方法都无法解决问题,可能是硬件问题。请检查您的C5509A和AIC23芯片是否正常工作,以及连接是否正确。
希望以上建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析。
根据您提供的代码和描述,您在使用C5509A和AIC23进行音频采集实验时遇到了输出全是噪声的问题。以下是一些可能的原因和解决方案:
1. 采样率设置问题:您提到采样率设置为44.1K,但是您需要确保您的音频输入设备(如麦克风)和输出设备(如耳机)支持这个采样率。如果不支持,可能会导致噪声。您可以尝试降低采样率,例如设置为22.05K或11.025K,看看是否有改善。
2. 音频输入信号问题:请检查您的音频输入设备(如麦克风)是否正常工作,以及连接是否正确。如果输入信号有问题,可能会导致输出噪声。
3. 音频输出信号问题:请检查您的音频输出设备(如耳机)是否正常工作,以及连接是否正确。如果输出信号有问题,可能会导致输出噪声。
4. 代码问题:您的代码中有一些可能的问题。首先,您的循环变量i应该设置为16000(44.1K采样率下的样本数),而不是8000。其次,您的代码中缺少了对左右声道数据的处理。以下是修改后的代码:
```c
while(1){
for(i=0;i<16000;i++){
while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好
input=Read(pMCBSP0->ddr2); // 读取左声道的数据
while (!ReadMask(pMCBSP0 -> spcr2, SPCR2_XRDY)); // 等待McBSP0准备好
input=Read(pMCBSP0->ddr1); // 读取右声道的数据
// far_po ...
}
}
```
5. 硬件问题:如果以上方法都无法解决问题,可能是硬件问题。请检查您的C5509A和AIC23芯片是否正常工作,以及连接是否正确。
希望以上建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们进一步分析。
举报