Octave Atelier

코드와 해설을 함께 읽는 학습 문서

Code Detail

two_side_fft

Signal Processing 중심의 Octave 학습 예제

ex-recv/03/03_pjm/two_side_fft.m

목록으로

코드를 복사해 Octave에서 바로 실행할 수 있습니다.

카테고리

Submission Archive

submission

코드 길이

30

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function [S_mir, freq] = two_side_fft(sig, time)

전체 코드

30 lines

function [ S_mir, freq ] = two_side_fft( sig, time )
######  [ -Fn ~ Fn-df ] 주파수 범위의 fft 스펙트럼
######  2025. 04. 07. pjm, 5th, ECO

####  Output
####  S_mir ( 1D array )
####  freq ( 1D array )

##  Inputs
##  time ( 1D array )
##  m ( scalar ) : Number of Frequency Components

  t0 = time(1);
  dt = time(2)-time(1);
  T = time(end);

  N_fft = length(sig);

  Fs = 1/dt;
  Fn = Fs/2;
  df = 1/T;

  freq = -Fn:df:Fn-df;

  S = S_mir = zeros(size(sig));
  S = fft( sig ) / N_fft;
  S_mir = fftshift( S );

end

코드 해설

목적

  • Signal Processing 중심의 Octave 학습 예제

입력

  • 파라미터: sig
  • 파라미터: time

출력

  • 반환값: S_mir
  • 반환값: freq

실행 흐름

  1. ##### [ -Fn ~ Fn-df ] 주파수 범위의 fft 스펙트럼

핵심 함수

  • time
  • fft
  • fftshift
  • freq
  • length
  • S_mir
  • size
  • zeros

실습 과제

  • 샘플링 주파수나 입력 주파수를 바꿔 스펙트럼 변화를 비교해보세요.
  • 핵심 함수 time의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

  • FFT 결과는 샘플링 주파수(fs)와 길이(nn) 설정에 민감하므로 먼저 축 정의를 확인하세요.

같은 카테고리 코드

이전 코드 Rand_Harm_Sigs 다음 코드 calc_powersum_freq