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

N=1024;                                                    % 데이터 수 설정 
dw=2*pi/N;                                                 % 주파수 간격 설정
w=dw*[0:N-1];                                              % 주파수축 생성
Hw=freqz([1 0 0],[1 -1.5 0.85],w);                         % 주파수 응답 H(Omega) 계산 
hn=ifft(Hw);                                               % 역변환에 의한 h[n] 계산
n=0:40;                                                    % 시간축 생성
y=[0 0 zeros(1,length(n))];                                % 차분 방정식 해 초기화
x=zeros(1,length(n)); x(1)=1;                              % 입력 데이터 생성 x[n]=delta[n]
for k=3:2+length(n)     
  y(k)=1.5*y(k-1)-0.85*y(k-2)+x(k-2);                      % y[n] 계산     
end
yn=y(3:2+length(n));                                       % y[n] 재배열(초기값 제외) 
 
subplot(2,1,1);                                            % 2행 1열 분할 그림창의 1번 창 
stem(n,hn(1:length(n)));                                   % 임펄스 응답을 그림
title('\bf{주파수 응답의 역변환에 의한 임펄스 응답}');        % 그림 제목 
xlabel('\bf{n}');                                          % x축 라벨 표시 
subplot(2,1,2);                                            % 2행 1열 분할 그림창의 2번 창 
stem(n,yn);                                                % 임펄스 응답을 그림
title('\bf{차분 방정식의 풀이에 의한 임펄스 응답}');         % 그림 제목 
xlabel('\bf{n}');                                          % x축 라벨 표시 