mirror of
https://github.com/ttrftech/NanoVNA.git
synced 2025-12-06 03:31:59 +01:00
fix #92 : 'for' loop initial declarations
This commit is contained in:
parent
dd4eaed475
commit
3114df7fe9
15
fft.h
15
fft.h
|
|
@ -28,7 +28,8 @@
|
||||||
|
|
||||||
static uint16_t reverse_bits(uint16_t x, int n) {
|
static uint16_t reverse_bits(uint16_t x, int n) {
|
||||||
uint16_t result = 0;
|
uint16_t result = 0;
|
||||||
for (int i = 0; i < n; i++, x >>= 1)
|
int i;
|
||||||
|
for (i = 0; i < n; i++, x >>= 1)
|
||||||
result = (result << 1) | (x & 1U);
|
result = (result << 1) | (x & 1U);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -43,8 +44,10 @@ static void fft256(float array[][2], const uint8_t dir) {
|
||||||
|
|
||||||
const uint8_t real = dir & 1;
|
const uint8_t real = dir & 1;
|
||||||
const uint8_t imag = ~real & 1;
|
const uint8_t imag = ~real & 1;
|
||||||
|
uint16_t i;
|
||||||
|
uint16_t size;
|
||||||
|
|
||||||
for (uint16_t i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
uint16_t j = reverse_bits(i, levels);
|
uint16_t j = reverse_bits(i, levels);
|
||||||
if (j > i) {
|
if (j > i) {
|
||||||
float temp = array[i][real];
|
float temp = array[i][real];
|
||||||
|
|
@ -57,11 +60,13 @@ static void fft256(float array[][2], const uint8_t dir) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cooley-Tukey decimation-in-time radix-2 FFT
|
// Cooley-Tukey decimation-in-time radix-2 FFT
|
||||||
for (uint16_t size = 2; size <= n; size *= 2) {
|
for (size = 2; size <= n; size *= 2) {
|
||||||
uint16_t halfsize = size / 2;
|
uint16_t halfsize = size / 2;
|
||||||
uint16_t tablestep = n / size;
|
uint16_t tablestep = n / size;
|
||||||
for (uint16_t i = 0; i < n; i += size) {
|
uint16_t i;
|
||||||
for (uint16_t j = i, k = 0; j < i + halfsize; j++, k += tablestep) {
|
for (i = 0; i < n; i += size) {
|
||||||
|
uint16_t j, k;
|
||||||
|
for (j = i, k = 0; j < i + halfsize; j++, k += tablestep) {
|
||||||
uint16_t l = j + halfsize;
|
uint16_t l = j + halfsize;
|
||||||
float tpre = array[l][real] * cos(2 * M_PI * k / 256) + array[l][imag] * sin(2 * M_PI * k / 256);
|
float tpre = array[l][real] * cos(2 * M_PI * k / 256) + array[l][imag] * sin(2 * M_PI * k / 256);
|
||||||
float tpim = -array[l][real] * sin(2 * M_PI * k / 256) + array[l][imag] * cos(2 * M_PI * k / 256);
|
float tpim = -array[l][real] * sin(2 * M_PI * k / 256) + array[l][imag] * cos(2 * M_PI * k / 256);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue