复共轭转置matlab到C

标签 c matlab fft translate

我正在尝试将以下 matlab 代码转换为 c

cX = (fft(inData, fftSize) / fftSize);
Power_X = (cX*cX')/50;

问题:

  1. 为什么要将 fft(fftSize 复元素数组)的结果除以 fftSize?
  2. 我完全不确定如何转换复共轭 转换为 c,我只是不明白那行代码的作用。

彼得

最佳答案

1. Why divide the results of fft (array of fftSize complex elements) by fftSize?

因为生成的 fft 的“能量”(平方和)随着 fft 中点数的增加而增加。除以点数“N”对其进行归一化,使得 fft 的平方和等于原始信号的平方和。

2. I'm not sure at all how to convert the complex conjugate transform to c, I just don't understand what that line does.

这就是实际计算平方和的内容。很容易验证cX*cX' = sum(abs(cX)^2),其中cX'是共轭转置。

关于复共轭转置matlab到C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15732384/

相关文章:

c - 两个大数相乘

c - Ruby 中的有符号和无符号整数

matlab - 如何在matlab中将L*a*b*转换为灰度

java - 如何使用fft检测环境

c++ - 目标检测-算法建议

c - 在 PIC32 上的 HiTech C 中设置函数指针的中断安全方法

c - c中的静态函数

matlab - 不存在的列的 Octave 错误

java - OpenCV 和 Matlab 使用 DFT 实现信号相关的区别

c# - 声音分析器,使用naudio获得48000个样本/秒的声音。我可以使用1024的循环样本大小吗?