하드웨어

/

임베디드 · IoT

STM32 FFT 구현

STM32에서 DSP Library를 사용하여 FFT를 구현합니다.

(5.0) 수강평 1개

수강생 96명

중급자를 위해 준비한
[임베디드 · IoT] 강의입니다.

이런 걸
배워요!

  • STM32에서 FFT 구현

  • DSP Library 설치

현직자의 시행착오가 담긴 FFT 지식!
배워보고 싶지 않나요? 😉

강의 주제 📖

코딩으로 FFT를 구현하는 것은 많은 한계가 있습니다. 저는 FFT를 구현하기 위해 여러 자료를 찾아보면서 많은 시행착오를 겪었습니다. 처음부터 끝까지 깔끔하게 정리된 자료가 있으면, STM 32를 이용하여 FFT를 구현하려고 하는 많은 개발자분들께 도움이 될 거라 생각하며 강의를 만들게 되었습니다.

본 강의는 STM 32에서 DSP Library를 이용하여 FFT를 구현하는 방법을 자세하게 설명하여 드립니다. STM32CubeIDE 를 이용하여 프로젝트 설정, 라이브러리 설치, 코드 구현, 결과 확인까지 모든 과정을 설명하여 드립니다. CMSIS의 DSP Library를 설치하는 과정부터 Library에 포함된 예제를 사용하여 결과를 확인하고, 실제로 FFT를 구현하는 일련의 과정들을 설명합니다. STM32를 사용해본 경험이 있는 개발자분들이 한 단계 업그레이드할 기회가 될 것입니다. STM32를 처음 접하는 분들도 문서를 따라 하다 보면 STM32를 이해하고 활용할 수 있을 것입니다. 본 강의에서는 ADC에 사인파를 입력해서 결과를 확인해 볼 수 있도록 구성되어 있습니다.

잠깐! ✋ FFT란?

FFT는 Fast Fourier Transform으로, 주파수 도메인에서의 신호처리 분야에 주로 사용됩니다. 

ST 사에서는 DSP(Digital Signal Processing, 디지털 신호처리)를 위한 Library를 제공합니다. DSP Library를 이용하면 FFT뿐만 아니라, FIR, IIR 필터 등 여러 가지 신호처리, 수학적 라이브러리를 사용할 수 있습니다. 본 강의를 통하여 DSP Library를 설치하고 사용하는 방법을 배우게 되면 다양한 기능들을 구현할 수 있습니다. 강의에서 이해가 안 되는 부분은 인프런 커뮤니티 또는 제가 운영하는 카페를 통하여 질문을 올려주시면 답변해 드리도록 하겠습니다.

📢 수강 전 반드시 확인해주세요!

  • 본 강의는 전자문서 형식으로 구성된 텍스트 강의입니다. 강의를 수강하시는 분들께는 강의에 설명되어 있는 모든 소스 파일을 제공합니다. 디버깅을 위한 Windows Program도 제공합니다.
  • 강의에서는 NUCLEO-F411RE 개발 보드를 사용하고, 컴파일러 툴은 STM32CubeIDE v1.9.0을 사용합니다.
  • 강의 자료는 '섹션 0 - 자료 공유 링크 - 첨부파일'에서 다운받을 수 있습니다.

이런 분들께 추천해요 🙋‍♀️

ST 사의 MCU에 관심 있는 분

DSP 라이브러리 활용에 관심 있는 분


이런 걸 배워요 📚

HW와 SW의 구성

DPS 라이브러리 설치 및
프로젝트 설정 방법

소스 코드 구현

결과 확인

상세 커리큘럼이 궁금하다면?
  1. 개요 (3)
  2. HW 구성 (4)
    1. FW 다운로드 핀맵 (5)
    2. 전원 핀맵 (5)
    3. UART 핀맵 (5)
    4. 그 외 핀맵 (6)
    5. 프로그램 다운로드 (7)
      1. ST-LINK FW 업데이트 (8)
      2. 보드 연결 (9)
  3. SW 구성 (10)
    1. SW Package 설치 (10)
    2. 프로젝트 생성 (12)
    3. Configuration (14)
      1. SYS, RCC (15)
      2. Clock Configuration (16)
      3. ADC 설정 (17)
      4. Timer 설정 (19)
      5. UART1 설정 (21)
      6. GPIO 설정 (22)
  4. DSP Library 설치 (24)
  5. 소스 코드 구현 (31)
    1. Formatter 설정 (31)
    2. 소스 분석 (33)
    3. 추가된 함수 설명 (37)
      1. common.h (37)
      2. uart1.h, uart1.c (37)
      3. comm_task.h, comm_task.c (37)
      4. arm_fft_bin_data.c (37)
      5. arm_fft_bin_f32.h, arm_fft_bin_f32.c (38)
  6. 결과확인 (39)
    1. 타이머 인터럽트 확인 (40)
    2. ADC 입력 파형 확인 (41)
    3. FFT 결과 확인 (43)
    4. FFT 소요시간 측정 (44)
    5. 릴리즈 모드와 디버그 모드 (45)
  7. 참고 자료 (46)
  8. Revision History (47)

예상 질문 Q&A 💬

Q. 강의를 듣기 위해 준비해야 할 사항이 있나요?

본 강의는 실습보드 NUCLEO-F411RE에서 진행됩니다. 만약 보드가 준비되지 않았다면 먼저 내용을 보시고 나중에 보드를 구입해서 보드 상에서 확인해 보시길 바랍니다.

Q. 프로그램 툴은 무엇을 사용하나요?

ST에서 무료로 제공하는 STMCubeIDE v1.9.0을 사용합니다. 수강 전에 설치해 주시길 바랍니다.


지식공유자 소개 ✒️

이력 사항

저는 20여 년 동안 대기업, 중소기업에서 개발자로 일해왔고 현재는 작은 기업을 운영하고 있습니다. CCTV용 ISP (Image Signal Processing) ASIC를 개발하였고 OLED 검사 장비, DAQ (Data Acquisition System) 등 FPGA를 이용한 많은 제품을 개발하였습니다. FPGA뿐만 아니라 FW 개발 (STM32, PIC32, AVR, ATMEGA 등), 회로설계, Windows Program 등 많은 경험을 가지고 있습니다.


 

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • FW 개발자

  • DSP 개발자

선수 지식,
필요할까요?

  • C 언어

  • FFT 개념

안녕하세요
alex입니다.

저는 지난 20여년 동안 대기업, 중소기업에서 개발자로 일해왔고

현재는 작은 기업의 대표로 있습니다.

주요 경력사항은

  • Verilog HDL을 이용한 FPGA 설계

    • CCTV용 ISP ASIC 개발 (약 10년)

    • OLED Display 검사장비 개발 (약 3년)

    • FPGA를 이용한 장비 개발

  • MCU FW

    • STM32

    • PIC32

    • AVR, ATMEGA

    • DSP (TI)

  • Windows Application Program

    • Visual Studio MFC, C++

입니다.

커리큘럼

전체

47개

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!