close all;                                   % 모든 생성된 창을 닫음 
clear all;                                   % 열려있는 작업영역(workspace)을 모두 비움 
clc;                                         % 명령(command) 창을 비움

N=512;                                       % 데이터 수 설정              
dt=6/N;                                      % 시간 간격 설정
t=dt*[-N/2+1:N/2];                           % 시간축 설정    
x=stepfun(t,-1)-stepfun(t,1);                % 사각 펄스 신호 생성
y1=conv(x,x)*dt;                             % 시간 영역 컨벌루션 수행
Xf=dt*fft(x);                                % 의 푸리에 변환 수행
Yf=Xf.*Xf;                                   % 두 신호의 스펙트럼을 곱함
y2=fftshift((1/dt)*ifft(Yf));                % 역 푸리에 변환에 의한  계산

subplot(2,1,1);                              % 2행 1열 분할 그림창의 1번 창
plot(t,y1(257:768));                         % 시간 영역 컨벌루션 결과를 그림 
title('\bf{시간영역 컨벌루션 결과}');          % 그림 제목
axis([-3 3 0 2.5]);                          % 그림 영역 설정  
xlabel('\bf{t}');                            % x축 라벨 표시 
subplot(2,1,2);                              % 2행 1열 분할 그림창의 2번 창
plot(t,y2);                                  % FT에 의한 컨벌루션 결과를 그림
axis([-3 3 0 2.5]);                          % 그림 영역 설정
title('\bf{FT에 의한 컨벌루션 결과}');        % 그림 제목
xlabel('\bf{t}');                            % x축 라벨 표시