Octave Atelier

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

Code Detail

trans_two_sided

Signal Processing 중심의 Octave 학습 예제

ex-recv/03/03_ksg_new/trans_two_sided.m

목록으로

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

카테고리

Submission Archive

submission

코드 길이

19

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load

함수 시그니처

function [two_sided_freq, two_sided_spectrum] = trans_two_sided(Spectrum, freq, Fs)

전체 코드

19 lines

% 2025-04-08 / 김상곤
function [two_sided_freq, two_sided_spectrum] = trans_two_sided(Spectrum,freq,Fs)
    % trans_two_sided - two sided spectrum 변환
    %
    % 입력:
    %   - Spectrum : 주파수 신호 (1 x freq)
    %   - freq : 주파수 배열 (0 ~ Fs)
    %   - Fs : Sampling Frequency
    % 설명:
    % (0 ~ Fs) 까지의 주파수 배열을 (-Fn ~ Fn-1)로 변환
    two_sided_freq = freq - Fs/2;
    % (0 ~ Fn) Hz 까지 스펙트럼
    one_sided_spectrum = Spectrum(1:Fs/2 + 1);
    % DC 성분 제외한 1 ~ Fn 까지 스펙트럼
    mirrored_spectrum = fliplr(conj(one_sided_spectrum(2:end - 1)));
    % two sided spectrum 변환
    two_sided_spectrum = [mirrored_spectrum one_sided_spectrum];
end

코드 해설

목적

  • Signal Processing 중심의 Octave 학습 예제

입력

  • 파라미터: Spectrum
  • 파라미터: freq
  • 파라미터: Fs

출력

  • 반환값: two_sided_freq
  • 반환값: two_sided_spectrum

실행 흐름

  1. 입력
  2. - Fs : Sampling Frequency

핵심 함수

  • conj
  • fliplr
  • one_sided_spectrum
  • Spectrum

실습 과제

  • 샘플링 주파수나 입력 주파수를 바꿔 스펙트럼 변화를 비교해보세요.
  • 핵심 함수 conj의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
  • "입력 -> - Fs : Sampling Frequency" 흐름을 함수 단위로 분리해 리팩터링해보세요.

같은 카테고리 코드

이전 코드 startup 다음 코드 calc_pwr_sum_freq