'프로그램 사용/fft, fftw'에 해당되는 글 39건

  1. 2022.11.04 fftw wisdom
  2. 2022.10.24 FFT
  3. 2022.10.19 fftw 예제 와 복소수 처리
  4. 2022.10.19 fftw 테스트(tests/bench)
  5. 2022.10.19 fftw cross compile
  6. 2020.11.25 fft
  7. 2020.11.25 fftw
  8. 2020.11.25 ffmpeg fft 분석 예제
  9. 2017.07.07 FFT 라이브러리

fftw는 plan을 세우고 계산하는데, plan을  export 하고 import 할 수 있다고 한다.

그러면 초기 구동 속도를 더 올릴수 있으려나?

Importing and Exporting Wisdom


void fftw_export_wisdom_to_file(FILE *output_file);
fftw_status fftw_import_wisdom_from_file(FILE *input_file);

[링크 : https://www.fftw.org/fftw2_doc/fftw_2.html#SEC13]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw @ 22Hz sine파 대충 돌려보니  (0) 2022.11.16
real to complex  (0) 2022.11.04
FFT  (0) 2022.10.24
fftw 예제 와 복소수 처리  (0) 2022.10.19
fftw 테스트(tests/bench)  (0) 2022.10.19
Posted by 구차니

FFT

FFT Size - 몇 번의 샘플을 분석할 것인지

Window - 사용하지 않을때 Rectangular / Flat / Uniform

- Hannning Window(cosine?)

- Blackman 윈도우, Kaiser 윈도우(최근 제안, 사이드 로브가 적은 편)

 

사이드 로브(side libe, leakage) - 중심 주파수 하나가 아니라 주변부 주파수가 나오는 문제

 

대역폭(Bandwidth) - Hz 단위

 

[링크 : https://m.blog.naver.com/suya309/221467948212]

 

[링크 : https://scribblinganything.tistory.com/181]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

real to complex  (0) 2022.11.04
fftw wisdom  (0) 2022.11.04
fftw 예제 와 복소수 처리  (0) 2022.10.19
fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
Posted by 구차니

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw wisdom  (0) 2022.11.04
FFT  (0) 2022.10.24
fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fft  (0) 2020.11.25
Posted by 구차니

도대체 저 옵션들은 먼지 모르겠다.

fftw-3.3.4/tests/bench -o nthreads=2 --verbose=1   --verify 'ok10bx6bx6e11x13b' --verify 'ik10bx6bx6e11x13b' --verify 'obrd7x13v16' --verify 'ibrd7x13v16' --verify 'ofrd7x13v16' --verify 'ifrd7x13v16' --verify '//obcd7x13v16' --verify '//ibcd7x13v16' --verify '//ofcd7x13v16' --verify '//ifcd7x13v16' --verify 'obcd7x13v16' --verify 'ibcd7x13v16' --verify 'ofcd7x13v16' --verify 'ifcd7x13v16' --verify 'okd10bv127' --verify 'ikd10bv127' --verify '//obr240' --verify '//ibr240' --verify '//ofr240' --verify '//ifr240' --verify 'obr240' --verify 'ibr240' --verify 'ofr240' --verify 'ifr240' --verify '//obc240' --verify '//ibc240' --verify '//ofc240' --verify '//ifc240' --verify 'obc240' --verify 'ibc240' --verify 'ofc240' --verify 'ifc240' --verify 'ok11760e00' --verify 'ik11760e00' --verify 'obr33v31' --verify 'ibr33v31' --verify 'ofr33v31' --verify 'ifr33v31' --verify '//obc33v31' --verify '//ibc33v31' --verify '//ofc33v31' --verify '//ifc33v31' --verify 'obc33v31' --verify 'ibc33v31'

[링크 : https://unix.stackexchange.com/questions/209753/how-do-i-check-if-fftw-installed-correctly]

 

 

+

[링크 : https://people.sc.fsu.edu/~jburkardt/c_src/fftw_test/]

[링크 : https://people.sc.fsu.edu/~jburkardt/c_src/fftw_test/fftw_test.html]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

FFT  (0) 2022.10.24
fftw 예제 와 복소수 처리  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fft  (0) 2020.11.25
fftw  (0) 2020.11.25
Posted by 구차니

 

[링크 : https://www.fftw.org/download.html]

 

./configure --prefix=/home/zhouxiaoyong/fftw3_test --disable-fortran --with-slow-timer --host=arm-none-linux-gnueabi --enable-single  --enable-neon   --enable-shared CC=arm-none-linux-gnueabi-gcc CFLAGS="-march=armv7-a -mfpu=neon -fPIC -ldl -mfloat-abi=softfp"

[링크 : https://codeantenna.com/a/ztGG77F10Z]

 

 

The basic usage of FFTW is simple. A typical call to FFTW looks like:
#include <fftw.h>
...
{
     fftw_complex in[N], out[N];
     fftw_plan p;
     ...
     p = fftw_create_plan(N, FFTW_FORWARD, FFTW_ESTIMATE);
     ...
     fftw_one(p, in, out);
     ...
     fftw_destroy_plan(p);  
}


For example, code to perform an in-place FFT of a three-dimensional array might look like:
#include <fftw.h>
...
{
     fftw_complex in[L][M][N];
     fftwnd_plan p;
     ...
     p = fftw3d_create_plan(L, M, N, FFTW_FORWARD,
                            FFTW_MEASURE | FFTW_IN_PLACE);
     ...
     fftwnd_one(p, &in[0][0][0], NULL);
     ...
     fftwnd_destroy_plan(p);  
}

The following is a brief example in which the wisdom is read from a file, a plan is created (possibly generating more wisdom), and then the wisdom is exported to a string and printed to stdout.
{
     fftw_plan plan;
     char *wisdom_string;
     FILE *input_file;

     /* open file to read wisdom from */
     input_file = fopen("sample.wisdom", "r");
     if (FFTW_FAILURE == fftw_import_wisdom_from_file(input_file))
          printf("Error reading wisdom!\n");
     fclose(input_file); /* be sure to close the file! */

     /* create a plan for N=64, possibly creating and/or using wisdom */
     plan = fftw_create_plan(64,FFTW_FORWARD,
                             FFTW_MEASURE | FFTW_USE_WISDOM);

     /* ... do some computations with the plan ... */

     /* always destroy plans when you are done */
     fftw_destroy_plan(plan);

     /* write the wisdom to a string */
     wisdom_string = fftw_export_wisdom_to_string();
     if (wisdom_string != NULL) {
          printf("Accumulated wisdom: %s\n",wisdom_string);

          /* Just for fun, destroy and restore the wisdom */
          fftw_forget_wisdom(); /* all gone! */
          fftw_import_wisdom_from_string(wisdom_string);
          /* wisdom is back! */

          fftw_free(wisdom_string); /* deallocate it since we're done */
     }
}

[링크 : http://www.fftw.org/fftw2_doc/fftw_2.html]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw 예제 와 복소수 처리  (0) 2022.10.19
fftw 테스트(tests/bench)  (0) 2022.10.19
fft  (0) 2020.11.25
fftw  (0) 2020.11.25
ffmpeg fft 분석 예제  (0) 2020.11.25
Posted by 구차니

fft

이산 코사인 변환 DCT(discrete cosine transform)

이산 푸리에 변환 DFT(discrete Fourier transform)

 

type-II DCT DCT

type-III DCT 역DCT, IDCT

 

실수 신호에 대하여, 변환 결과물이 복소수로 나오는 DFT

DCT는 실수로만 결과물이 나오기 때문에, 처리하기가 간편하여 신호처리 및 영상처리에 널리 사용

 

[링크 : https://ko.wikipedia.org/wiki/이산_코사인_변환]

[링크 : https://ko.wikipedia.org/wiki/이산_푸리에_변환]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fftw  (0) 2020.11.25
ffmpeg fft 분석 예제  (0) 2020.11.25
FFT 라이브러리  (0) 2017.07.07
Posted by 구차니

예전에 찾은적이 있네..

fft를 위한 라이브러리인데 도대체 어떤 함수를 써서 분석을 하고

주파수 대역은 어떤식으로 맵핑이 가능한건질 모르겠다.

 

[링크 : http://www.fftw.org/]

[링크 : https://github.com/FFTW/fftw3]

[링크 : https://iamaman.tistory.com/652]

 

+

2020.11.26

 

[링크 : http://www.fftw.org/fftw2_doc/fftw_2.html]

[링크 : http://www.fftw.org/fftw3_doc/Complex-One_002dDimensional-DFTs.html]

[링크 : http://www.fftw.org/fftw3_doc/Complex-DFTs.html]

[링크 : https://darkpgmr.tistory.com/171]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fft  (0) 2020.11.25
ffmpeg fft 분석 예제  (0) 2020.11.25
FFT 라이브러리  (0) 2017.07.07
Posted by 구차니

일단은 마이크로 raw audio나 wav를 받아서 분석하는걸 찾아봐야겠다.

 

[링크 : https://www.ffmpeg.org/doxygen/trunk/fft-test_8c-source.html]

[링크 : https://www.ffmpeg.org/doxygen/trunk/fft_8c_source.html]

[링크 : https://www.ffmpeg.org/doxygen/3.3/group__lavc__fft.html]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fft  (0) 2020.11.25
fftw  (0) 2020.11.25
FFT 라이브러리  (0) 2017.07.07
Posted by 구차니


[링크 : http://fftw.org/]

[링크 : https://stackoverflow.com/questions/5685765/computing-fft-and-if]


일단 3.3.5 에서 NEON 지원을 하는데 64비트 ARM일 경우에만 되는 듯?


FFTW 3.3.5 Jul 31, 2016

New SIMD support:

Power8 VSX instructions in single and double precision. To use, add --enable-vsx to configure.

Support for AVX2 (256-bit FMA instructions). To use, add --enable-avx2 to configure.

Experimental support for AVX512 and KCVI. (--enable-avx512, --enable-kcvi) This code is expected to work but the FFTW maintainers do not have hardware to test it.

Support for AVX128/FMA (for some AMD machines) (--enable-avx128-fma)

Double precision Neon SIMD for aarch64. This code is expected to work but the FFTW maintainers do not have hardware to test it.ft-with-fftw-library-c

[링크 : http://www.fftw.org/release-notes.html]


AArch64 was introduced in ARMv8-A and is included in subsequent versions of ARMV8-A

[링크 : https://en.wikipedia.org/wiki/ARM_architecture#AArch64_features]


[링크 : https://libav.org/]

[링크 : https://libav.org/documentation/doxygen/master/group__lavc__fft.html]

[링크 : https://www.ffmpeg.org/doxygen/trunk/fft-test_8c-source.html]

[링크 : https://stackoverflow.com/questions/8002560/what-is-the-fastest-fft-library-for-ios-android-arm-devices]

'프로그램 사용 > fft, fftw' 카테고리의 다른 글

fftw 테스트(tests/bench)  (0) 2022.10.19
fftw cross compile  (0) 2022.10.19
fft  (0) 2020.11.25
fftw  (0) 2020.11.25
ffmpeg fft 분석 예제  (0) 2020.11.25
Posted by 구차니