关于Walsh变换的一些疑问
// 蝶形运算
for(k = 0; k < r; k++)
{
for(j = 0; j < 1<<k; j++)
{
bfsize = 1 << (r-k);
for(i = 0; i < bfsize / 2; i++)
{
p = j * bfsize;
X2[i + p] = X1[i + p] + X1[i + p + bfsize / 2];
X2[i + p + bfsize / 2] = X1[i + p] - X1[i + p + bfsize / 2];
}
}
// 互换X1和X2
X = X1;
X1 = X2;
X2 = X;
}
// 调整系数
for(j = 0; j < count; j++)
{
p = 0;
for(i = 0; i < r; i++)
{
if (j & (1<<i))
{
p += 1 << (r-i-1);
}
}
F[j] = X1[p] / count;
}
walsh变换最后的那个调整系数的代码感觉是多余的啊
FFT变换后的调整的必要的是因为输入顺序和输出顺序不一样 但是这个变化也调整就搞不清楚了
向各位请教一下啊 谢谢