- 1,280
- 141
I don't quite understand the last part. If he is passing in N points and receiving N FFT bins then how can the indexing be spread over N-1 frequencies?
1.0
-0.41614683654714241
-0.65364362086361194
0.960170286650366
-0.14550003380861354
-0.83907152907645244
0.84385395873249214
0.13673721820783361
{(0.886399443294871, 0)}
{(0.862297845278363, 0.616189555028432)}
{(0.664289628322506, 2.35212587048179)}
{(1.42870222233886, -2.37880560416378)}
{(1.20302116482566, 0)}
{(1.42870222233886, 2.37880560416378)}
{(0.664289628322506, -2.35212587048179)}
{(0.862297845278363, -0.616189555028432)}
0.99999999999999989
0.41614683654714235
0.65364362086361194
0.96017028665036586
0.14550003380861354
0.83907152907645233
0.84385395873249214
0.13673721820783363
double[] returntemp = new double[R];
for (int v = 0; v < R; v++)
{
F[v] = F[v].Magnitude / N;
returntemp[v] = F[v].Magnitude;
}
return returntemp;
0.99999999999999989
-0.41614683654714235
-0.65364362086361194
0.96017028665036586
-0.14550003380861354
-0.83907152907645233
0.84385395873249214
0.13673721820783363
btb4198 said:here are some video i make
see my fft does work for that site with the
(bin index/N) * fs * 2
also I did test it again with the new version of this site and it still work
public void lowpass_filter( int frequency)
{
for (int i = 0; i < R; i++)
{
if((i / N) * Fs >= frequency)
{
F[i] = 0D;
}
} }
public void hightpass_filter(int frequency)
{
for (int i = 0; i < R; i++)
{
if ((i / N) * Fs <= frequency)
{
F[i] = 0D;
}
}
public void hightpass_filter(int frequency)
{
int i = 0;
int t = 0;
for (; i < R/2; i++)
{
if ((i / N) * Fs <= frequency)
{
F[i] = 0D;
}
}
for (; i < R; i++)
{
if ((t / N) * Fs <= frequency)
{
F[i] = 0D;
}
t++;
}
}