Open iamrik opened 2 years ago
你好,dios_ssp_mvdr_header.c中频域结果做ifft的时候,有如下代码 ptr_mvdr->fft_in[0] = ptr_mvdr->m_mvdr_out_re[0]; ptr_mvdr->fft_in[ptr_mvdr->m_fft_size / 2] = ptr_mvdr->m_mvdr_out_re[ptr_mvdr->m_fft_size / 2]; for (i = 1; i < ptr_mvdr->m_fft_size / 2; i++) { ptr_mvdr->fft_in[i] = ptr_mvdr->m_mvdr_out_re[i]; ptr_mvdr->fft_in[ptr_mvdr->m_fft_size - i] = -ptr_mvdr->m_mvdr_out_im[i]; } dios_ssp_share_irfft_process(ptr_mvdr->mvdr_fft, ptr_mvdr->fft_in, ptr_mvdr->m_win_data); 从代码看,ptr_mvdr->fft_in前半部分只有实部m_mvdr_out_re,后半部分只有虚部-ptr_mvdr->m_mvdr_out_im,为什么是这么放呢?我理解一般都是后半部分放前半部分的共轭呀?望高手解答!
你好,dios_ssp_mvdr_header.c中频域结果做ifft的时候,有如下代码 ptr_mvdr->fft_in[0] = ptr_mvdr->m_mvdr_out_re[0]; ptr_mvdr->fft_in[ptr_mvdr->m_fft_size / 2] = ptr_mvdr->m_mvdr_out_re[ptr_mvdr->m_fft_size / 2]; for (i = 1; i < ptr_mvdr->m_fft_size / 2; i++) { ptr_mvdr->fft_in[i] = ptr_mvdr->m_mvdr_out_re[i]; ptr_mvdr->fft_in[ptr_mvdr->m_fft_size - i] = -ptr_mvdr->m_mvdr_out_im[i]; } dios_ssp_share_irfft_process(ptr_mvdr->mvdr_fft, ptr_mvdr->fft_in, ptr_mvdr->m_win_data); 从代码看,ptr_mvdr->fft_in前半部分只有实部m_mvdr_out_re,后半部分只有虚部-ptr_mvdr->m_mvdr_out_im,为什么是这么放呢?我理解一般都是后半部分放前半部分的共轭呀?望高手解答!