使用Fortran 90中的FFTPACK5.1有一个问题,它包含计算离散傅里叶变换的子程序。我设法安装它并使用例程,但是当我检查一个简单的正弦波和一个频率A时,我得到了一个非零系数,不是在A(在频率空间,在频谱中),而是在2A。光谱发生了变化,我不明白为什么。我几乎可以肯定(但我有疑问),我正确地计算了频率轴步骤:
当N是我原来正弦波的点数,并且我的采样频率计算频率轴步长为df(i)= Fech (i-1)/N。
我正在使用rfft1f例程,所以如果有人对它有经验,并且知道我的问题,我会非常了解这里的问题。
这是我的代码:
! n: number of samples in the disc
根据Linux内核文档https://www.kernel.org/doc/Documentation/x86/boot.txt,有一个从X+10000到X+08000的内核真正模式代码。我有两个问题;
For a modern bzImage kernel with boot protocol version >= 2.02, a
memory layout like the following is suggested:
~ ~
| Protected-mode kernel |
100000 +------
是否将实数转换为复数将虚部设置为C中的0?以下是我要做的事:
#include <complex.h>
#include <stdio.h>
int main(void){
float complex a;
double b = 1.0;
a = (float complex) b ; /* Does this convert to float and set
complex part of a to 0 (according to C standards) ?*/
a =