Octave Atelier

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

Code Detail

get_sinusoidal

Core Octave 중심의 Octave 학습 예제

ex-recv/03/03_mjy/get_sinusoidal.m

목록으로

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

카테고리

Submission Archive

submission

코드 길이

21

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function [x, t] = get_sinusoidal(amplitude, frequency, phases, fs, T)

전체 코드

21 lines

% 주파수 성분 m개가 포함된 sinusoidal 신호를 출력
% 입력: 진폭, 주파수, 샘플링 주파수, 신호 시간, 위상
% 출력: 신호(1, N), 시간 (1, N)

% x(t)=Asin(2πft+ϕ)

function [x,t] = get_sinusoidal(amplitude,frequency,phases,fs,T)

  dt = 1/fs;
  t = 0 : dt : T - dt;  
  nn = length(t);
  m = length(frequency);
  x = zeros(1, nn);

  for ii = 1:m
    x = x + amplitude(ii) * sin(2 * pi * frequency(ii) * t + phases(ii));
  end

end

코드 해설

목적

  • Core Octave 중심의 Octave 학습 예제

입력

  • 파라미터: amplitude
  • 파라미터: frequency
  • 파라미터: phases
  • 파라미터: fs
  • 파라미터: T

출력

  • 반환값: x
  • 반환값: t

실행 흐름

  1. 주파수 성분 m개가 포함된 sinusoidal 신호를 출력
  2. 입력: 진폭, 주파수, 샘플링 주파수, 신호 시간, 위상
  3. 출력: 신호(1, N), 시간 (1, N)

핵심 함수

  • length
  • amplitude
  • Asin
  • frequency
  • phases
  • sin
  • zeros

실습 과제

  • 핵심 함수 length의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
  • "주파수 성분 m개가 포함된 sinusoidal 신호를 출력 -> 입력: 진폭, 주파수, 샘플링 주파수, 신호 시간, 위상" 흐름을 함수 단위로 분리해 리팩터링해보세요.

같은 카테고리 코드

이전 코드 calc_power_sum_time 다음 코드 main_03_mjy