랩뷰 fft 예제

By 2019. augusztus 2. Egyéb No Comments

예제 VI는 문서화되어 있습니다. 텍스트가 여기에 재현됩니다. 이 예제에서는 fftw 설명서(또한 포함)에 설명된 대로 복잡한 변환을 구현합니다. 10 * log[10] X[i] 및 20 * log[10] X[i]를 사용하여 1D 숫자 배열을 데시벨(dB)으로 변환하는데, 이는 전력 비를 나타내는 공통 단위입니다. Log[10]는 함수»숫자»로그하믹 팔레트에 있는 로가리템 베이스 10 함수를 사용하여 계산할 수 있습니다. 10 * log[10] X[i]를 사용하여 크기 제곱 또는 음향 압력파와 같은 전력 값을 데시벨로 변환합니다. 20 * log[10] X[i]를 사용하여 전압 또는 전류와 같은 크기 또는 진폭 값을 데시벨로 변환합니다. 그림 23의 블록 다이어그램은 전력 스펙트럼의 결과를 데시벨 표기법의 결과를 변환하는 예제를 보여 주며, 이와 같은 예입니다. 도 24는 결과를 나타낸다. 그림 23에서 원시 데이터 아이콘은 배열X[i]를 나타내며 10LogX VI는 로가르리헴 베이스 10 함수를 사용하여 빌드할 수 있습니다.

일반적으로 순환 버퍼를 사용합니다. LabVIEW 예제나 웹에서 많은 예제를 찾을 수 있어야 한다고 생각합니다. 당신은 내쇼날인스트루먼트 카드를 사용하는 경우, 원형 버퍼는 일반적으로 당신을 위해 이루어집니다,하지만 난 당신이 당신에게 조언을 제공하기 위해 읽고있는 것에 대한 자세한 정보가 필요합니다. 당신은 하나의 VI에서, 150 FFT의 각각을 실행하는 4 루프에서 (예제 의 경우) 작업을 분할, 4 파 루프에 의해 무엇을 의미합니까? 예를 들어 그림 15에 표시된 사각파의 FFT는 다음 방정식입니다: 다른 초기화 루틴을 호출하여 이 작업을 수행합니다(이 예제에서는 CLF 노드를 fftw_plan_many_dft를 “howmany”로 호출하도록 구성합니다. 푸리에 변환(*). 간단한 `밀리 초 타이머 값` 벤치 마킹 내 시스템에 2048 더블 어레이에 대 한 200 우리 (마이크로 초)의 대략적인 계산 시간을 보여줍니다., 약 10 배 빠른 되 고 싶습니다. FFTW 또는 인텔 수학 커널 / 인텔 성능 라이브러리와 같은 Labview에서 외부 라이브러리를 사용한 경험이 있습니까? 그들은 어떻게 LV의 FFT 루틴과 비교합니까? 예를 들어 2D 배열에서 1 차원만 따라 FFT를 수행 할 수도 있습니다. 어레이를 Preallocating는 약 20 %로 위의 예제의 속도를 증가시킵니다!! 이번 주에 예제 코드를 게시할 것입니다. 그것은 비록 며칠 걸릴 수 있습니다., 나는 순간에 매우 바쁜 (내 응용 프로그램에서 FFTW 를 구현 🙂 그리고 그것은 무슨 일이 일어나고 있는지 배선에서 100 % 간단하지 않기 때문에 정말 몇 가지 문서가 필요합니다.

그 동안, 만약 당신이 정말로 관심이 있다면, 나는 당신이 코드에서 무슨 일이 일어나고 있는지 많은 명확히하기 때문에, 단지 장 2, 사이트에서 전체 FFTW 문서를 읽는 것이 좋습니다. 이 예제에서는 1차원 변환을 보여 주습니다. 2D, 3D 또는 실제로 모든 D 변환은 다른 초기화 루틴을 호출하여 가능합니다. x가 입력 시퀀스인 FFTW를 참조하고, X는 DFT이고, n은 이산 시간 및 이산 주파수 도메인 모두에서 샘플 수입니다.

Next Post