HCI/이론

[Haptics - Dynamic compensation] Matlab에서 Chirp Signal 출력하기

sillon 2025. 2. 25. 18:40
728x90
반응형

Chirp Signal

Chirp Signal은 주파수가 점진적으로 증가하거나 감소하는 특성을 가진 신호로, 다음과 같은 특징이 있다.

  • Chirp-Up: 주파수가 점차 증가하는 신호
  • Chirp-Down: 주파수가 점차 감소하는 신호
  • 넓은 주파수 대역 사용: 하나의 신호로 여러 주파수 응답을 동시에 확인 가능

이번 실습에서는 30Hz에서 300Hz로 선형 증가(Chirp-Up)하는 신호를 Matlab에서 생성할 것이다.

 

 

 

Code

Matlab에서 30Hz에서 300Hz까지 주파수가 증가하는 Chirp Signal을 생성하는 코드

% 샘플링 레이트 및 시간 벡터 설정
Fs = 10000;  % 샘플링 주파수 (Hz)
T = 2;       % 총 지속 시간 (초)
t = linspace(0, T, Fs * T); % 시간 벡터

% Chirp Signal 생성 (30Hz -> 300Hz)
f0 = 30;  % 시작 주파수 (Hz)
f1 = 300; % 종료 주파수 (Hz)
y = chirp(t, f0, T, f1);

% 생성된 신호 플로팅
figure;
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Chirp Signal (30Hz to 300Hz)');
grid on;

% 텍스트 파일로 저장
fileID = fopen('chirp_signal.txt', 'w');
fprintf(fileID, '%f\n', y);
fclose(fileID);

 

 

  • Fs = 10000; → 샘플링 레이트를 10kHz로 설정
  • T = 2; → 신호의 지속 시간을 2초로 설정
  • t = linspace(0, T, Fs * T); → 0초부터 2초까지의 시간 벡터를 생성
  • chirp(t, f0, T, f1); → 30Hz에서 300Hz까지 선형적으로 증가하는 신호를 생성
  • plot(t, y); → 생성된 신호를 시각화
  • fopen('chirp_signal.txt', 'w'); → 생성된 신호를 텍스트 파일로 저장

생성된 이미지와 파일은 다음과 같다.

 

txt 파일 

chirp_signal.txt
0.18MB

728x90
반응형