Octave Atelier

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

Code Detail

generate_sinusoid

Signal Processing + Performance 중심의 Octave 학습 예제

mylib/inst/generate_sinusoid.m

목록으로

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

카테고리

mylib Utilities

library

코드 길이

24

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function [tt, xx] = generate_sinusoid(frequency, phase, amplitude, fs, duration)

전체 코드

24 lines

function [tt, xx] = generate_sinusoid(frequency, phase, amplitude, fs, duration)
    # input:
    #   frequency: 1D array component frequency [Hz]
    #   phase    : 1D array component phase     [rad]
    #   amplitude: 1D array component amplitude []
    #   fs       : sampling frequency  [Hz]
    #   duration : recording duration  [sec]
    # output:
    #   tt: 1D array time vector [sec]
    #   xx: 1D array sinusoid signal

    % Time Axis
    dt = 1 / fs;
    nn = floor(duration / dt);
    tt = 0: dt: dt * (nn - 1);
    # tt = tt(:);

    # Sinusoid Signal Generation (Addition of each frequency component)
    xx = zeros(size(tt));
    for i = 1:length(frequency)
        ss = amplitude(i) * sin(2 * pi * frequency(i) * tt + phase(i));
        xx = xx + ss;
    end
end

코드 해설

목적

  • Signal Processing + Performance 중심의 Octave 학습 예제

입력

  • 파라미터: frequency
  • 파라미터: phase
  • 파라미터: amplitude
  • 파라미터: fs
  • 파라미터: duration

출력

  • 반환값: tt
  • 반환값: xx

실행 흐름

  1. 코드 상단부터 순차 실행

핵심 함수

  • amplitude
  • floor
  • frequency
  • Generation
  • length
  • phase
  • sin
  • size

실습 과제

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

같은 카테고리 코드

이전 코드 generate_impulse_force 다음 코드 load_struct_txt