您好!
为了评估 C5515的性能、我将使用 C5515音频滤波器演示。 我从 PC 获取音频数据(YouTube 流式传输)、并在单声道模式 AIC3204编解码器配置中使用乒乓缓冲器将其放入输出端口。 这听起来不错、我没有任何问题。
if (CurrentRxL_DMAChannel ==2){ buum_copy (&RcvL1[0]、&FilterOutL2[0]、Xmit_buum_size); }else{ buff 复制(&RcvL2[0]、&FilterOutL2[0]、Xmit_buff 大小); }
其中、Xmit_buff 定义为1024。
现在、我已经尝试使用 hawfft 进行更改、简而言之、我获得信号 RcvL1、使用 hwafft_1024pts 的 I FFT、然后根据 http://www.ti.com/lit/an/sprabb6b/sprabb6b.pdf 中解释的示例、我反向转换它并输出它(只有一个输入缓冲器)
int32 *数据;
int32 * data_br;
uint16 FFT_flag;
uint16 scale_flag;
int32 *暂存;
UINT16 OUT_SEL;
int32 *结果;
int16 out[Xmit_buff _size];
(笑声)
IF (CurrentRxL_DMAChannel ==2) { for (i = 0;i < Xmit_buff _size;i++){ 温度=*(RcvL1 + I); *(data + i)= temp << 16; } hwafft_br (data、data_br、Xmit_buy_size); 数据= DATA_br; OUT_SEL = hwafft_1024pts (数据、临时、FFT_flag、scale_flag); if (OUT_SEL = OUT_SEL_DATA){ 结果=数据; }否则{ 结果=划痕; } hwafft_br (结果、data_br、Xmit_buy_size); 数据= DATA_br; OUT_SEL = hwafft_1024pts (数据、暂存、IFFT_FLAG、SCALL_FLAG); if (OUT_SEL = OUT_SEL_DATA){ 结果=数据; }否则{ 结果=划痕; } for (i = 0;i < Xmit_buff;i++) OUT[i]=(Result [i]>> 16); buff 复制(&out[0]、&FilterOutL1[0]、Xmit_buff 大小);// RcvL1大小= 1024 } 其他 { buff 复制(&RcvL2[0]、&FilterOutL2[0]、Xmit_buff 大小); } }
问题在于信号已严重降级。
有任何提示? 我的代码有什么问题?
提前感谢、
Paolo