목차
1. 아래의 기준을 갖는 Butterworth 저역통과필터(LPF)를 설계한다. 임펄스 불변(impulse invariance) 방법과 쌍일차 변환 (bilinear transformation)을 이용하여 구현하고, 결과를 비교하라.
<윈도우 함수를 이용한 FIR 필터 설계>
2. 다음의 기준을 만족시키는 FIR 필터를 사각(rectangular) 윈도우, Hann 윈도우, Hamming 윈도우, Blackman 윈도우를 사용하여 설계해보라. 그리고, Kaiser 윈도우를 사용하여 설계해보고 결과를 비교하라.
3. 아래 기준을 만족시키는 FIR 필터를 Kaiser 윈도우를 이용하여 설계하라.
<최적의 FIR 및 IIR 필터 설계>
4. 아래 기준을 만족시키는 가장 효율적인 FIR 및 IIR 저역통과필터를 설계하고, 설계된 두 필터를 비교하라.
<윈도우 함수를 이용한 FIR 필터 설계>
2. 다음의 기준을 만족시키는 FIR 필터를 사각(rectangular) 윈도우, Hann 윈도우, Hamming 윈도우, Blackman 윈도우를 사용하여 설계해보라. 그리고, Kaiser 윈도우를 사용하여 설계해보고 결과를 비교하라.
3. 아래 기준을 만족시키는 FIR 필터를 Kaiser 윈도우를 이용하여 설계하라.
<최적의 FIR 및 IIR 필터 설계>
4. 아래 기준을 만족시키는 가장 효율적인 FIR 및 IIR 저역통과필터를 설계하고, 설계된 두 필터를 비교하라.
본문내용
bel('Freq.in pi units'); ylabel('|H(e^{jw})|')
figure(6);
subplot(3,2,5); plot(-1:dw/pi:1,db,'b-'); title('Kaiser');
axis([0 1 -100 10]); grid on; xlabel('Freq.in pi units'); ylabel('|H(e^{jw})|');
text(0.6,-5,{['As=',num2str(As),'dB'],['order=',num2str(M)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
< 3번 문제 Source >
%Kaiser window
w1=0.2*pi; w2=0.25*pi; w3=0.45*pi; w4=0.5*pi; w5=0.7*pi; w6=0.75*pi;
fs=8000;
[M,wn,beta,filter_type] = kaiserord([w1*fs/(2*pi) w2*fs/(2*pi) w3*fs/(2*pi) w4*fs/(2*pi) w5*fs/(2*pi) w6*fs/(2*pi)], [1 0 1 0], [0.1 0.01 0.1 0.01], fs,'cell');
nn=0:1:M;
wc=wn*pi;wc=wc';
hd=(0.05-2)*(wc(1)/pi)*sinc((wc(1)/pi)'*(nn-M/2)) + (2-0.05)*(wc(2)/pi)*sinc((wc(2)/pi)'*(nn-M/2)) + (0.05-4.15)*(wc(3)/pi)*sinc((wc(3)/pi)'*(nn-M/2)) + 4.15*sinc(nn-M/2);
hd=hd/4.15 %normalized;
impls=kaiser(M+1,beta)'; h=hd.*impls;
dw=pi/500;
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
figure(5);
subplot(2,2,1): stem(nn,hd); title('Desired (Ideal) Impulse Response');
axis([0, M, min(hd) max(hd)]); grid on; xlabel('n'); ylabel('hd[n]');
subplot(2,2,2); stem(nn,impls); title('Kaiser Window');
axis([0, M, 0 1.1]); grid on; xlabel('n'); ylabel('w[n]');
subplot(2,2,3); stem(nn,h); title('Actual Impulse Response');
axis([0, M, min(h) max(h)]); grid on; xlabel('n'); ylabel('h[n]=hd[n]w[n]');
subplot(2,2,4); plot(-1:dw/pi:1,db,'b-'); title('Magnitude Response in dB');
axis([0 1 -100 10]); grid on; xlabel('Freq.in pi units'); ylabel('|H(e^{jw})|')
< 4번 문제 Source >
wp=0.5*pi; ws=0.55*pi; Rp=0.5; As=60;
%가장 효율적인 FIR필터는 PM algorithm을 이용한 설계
K = 10^(Rp/20);
delta1 = (K-1)/(K+1);
delta2 = (1+delta1)*(10^(-As/20));
% delta1 = Passband tolerance
% delta2 = Stopband tolerance
[N,f,m,weights]=firpmord([wp,ws]/pi,[1,0],[delta1,delta2]);
h=firpm(N,f,m,weights);
dw=pi/500; wsi=ws/dw+1; wpi=wp/dw;
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
N=N+1; h=firpm(N,f,m,weights);
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
N=N+1; h=firpm(N,f,m,weights);
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
%Asd=60.1619dB이므로 스펙과 가장 가까운 값 얻음
subplot(2,1,1); plot(-1:dw/pi:1,db,'b-'); title('Optimal FIR (using PM algorithm) ');
axis([0 1 -100 10]); grid on; xlabel('Normalized Frequency (\times\pi rad/sample)'); ylabel('|H(e^{jw})| (dB)')
text(0.7,-20,{['As=',num2str(Asd),'dB'],['order=',num2str(N)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
%가장 효율적인 IIR필터는 Elloptic filter를 이용한 설계
[N,wn]=ellipord(wp/pi,ws/pi,Rp,As);
[b,a]=ellip(N,Rp,As,wn);
db=20*log10(abs(freqz(b,a,-pi:dw:pi)));
subplot(2,1,2); plot(-1:dw/pi:1,db,'b-'); title('Optimal IIR (using Elliptic filter)');
Asd=-max(db(wsi+501:1:1001));
axis([0 1 -100 10]); grid on; xlabel('Normalized Frequency (\times\pi rad/sample)'); ylabel('|H(e^{jw})| (dB)')
text(0.7,-20,{['As=',num2str(Asd),'dB'],['order=',num2str(N)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
figure(6);
subplot(3,2,5); plot(-1:dw/pi:1,db,'b-'); title('Kaiser');
axis([0 1 -100 10]); grid on; xlabel('Freq.in pi units'); ylabel('|H(e^{jw})|');
text(0.6,-5,{['As=',num2str(As),'dB'],['order=',num2str(M)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
< 3번 문제 Source >
%Kaiser window
w1=0.2*pi; w2=0.25*pi; w3=0.45*pi; w4=0.5*pi; w5=0.7*pi; w6=0.75*pi;
fs=8000;
[M,wn,beta,filter_type] = kaiserord([w1*fs/(2*pi) w2*fs/(2*pi) w3*fs/(2*pi) w4*fs/(2*pi) w5*fs/(2*pi) w6*fs/(2*pi)], [1 0 1 0], [0.1 0.01 0.1 0.01], fs,'cell');
nn=0:1:M;
wc=wn*pi;wc=wc';
hd=(0.05-2)*(wc(1)/pi)*sinc((wc(1)/pi)'*(nn-M/2)) + (2-0.05)*(wc(2)/pi)*sinc((wc(2)/pi)'*(nn-M/2)) + (0.05-4.15)*(wc(3)/pi)*sinc((wc(3)/pi)'*(nn-M/2)) + 4.15*sinc(nn-M/2);
hd=hd/4.15 %normalized;
impls=kaiser(M+1,beta)'; h=hd.*impls;
dw=pi/500;
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
figure(5);
subplot(2,2,1): stem(nn,hd); title('Desired (Ideal) Impulse Response');
axis([0, M, min(hd) max(hd)]); grid on; xlabel('n'); ylabel('hd[n]');
subplot(2,2,2); stem(nn,impls); title('Kaiser Window');
axis([0, M, 0 1.1]); grid on; xlabel('n'); ylabel('w[n]');
subplot(2,2,3); stem(nn,h); title('Actual Impulse Response');
axis([0, M, min(h) max(h)]); grid on; xlabel('n'); ylabel('h[n]=hd[n]w[n]');
subplot(2,2,4); plot(-1:dw/pi:1,db,'b-'); title('Magnitude Response in dB');
axis([0 1 -100 10]); grid on; xlabel('Freq.in pi units'); ylabel('|H(e^{jw})|')
< 4번 문제 Source >
wp=0.5*pi; ws=0.55*pi; Rp=0.5; As=60;
%가장 효율적인 FIR필터는 PM algorithm을 이용한 설계
K = 10^(Rp/20);
delta1 = (K-1)/(K+1);
delta2 = (1+delta1)*(10^(-As/20));
% delta1 = Passband tolerance
% delta2 = Stopband tolerance
[N,f,m,weights]=firpmord([wp,ws]/pi,[1,0],[delta1,delta2]);
h=firpm(N,f,m,weights);
dw=pi/500; wsi=ws/dw+1; wpi=wp/dw;
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
N=N+1; h=firpm(N,f,m,weights);
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
N=N+1; h=firpm(N,f,m,weights);
db=20*log10(abs(freqz(h,1,-pi:dw:pi)));
Asd=-max(db(wsi+501:1:1001));
%Asd=60.1619dB이므로 스펙과 가장 가까운 값 얻음
subplot(2,1,1); plot(-1:dw/pi:1,db,'b-'); title('Optimal FIR (using PM algorithm) ');
axis([0 1 -100 10]); grid on; xlabel('Normalized Frequency (\times\pi rad/sample)'); ylabel('|H(e^{jw})| (dB)')
text(0.7,-20,{['As=',num2str(Asd),'dB'],['order=',num2str(N)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
%가장 효율적인 IIR필터는 Elloptic filter를 이용한 설계
[N,wn]=ellipord(wp/pi,ws/pi,Rp,As);
[b,a]=ellip(N,Rp,As,wn);
db=20*log10(abs(freqz(b,a,-pi:dw:pi)));
subplot(2,1,2); plot(-1:dw/pi:1,db,'b-'); title('Optimal IIR (using Elliptic filter)');
Asd=-max(db(wsi+501:1:1001));
axis([0 1 -100 10]); grid on; xlabel('Normalized Frequency (\times\pi rad/sample)'); ylabel('|H(e^{jw})| (dB)')
text(0.7,-20,{['As=',num2str(Asd),'dB'],['order=',num2str(N)]},'FontSize',9,'BackgroundColor',[0.8314 0.8157 0.7843],'EdgeColor',[0 0 0]);
추천자료
LMS 알고리즘 & 결과
GIS 용어정리 K
건축설비 HVAC equipments 공조장치의 종류
방사선 폐수
[X선][엑스선][X선회절실험][엑스선회절실험][X선회절][엑스선회절][실험]X선(엑스선)의 성질...
신장실 정수실관리와 검사항목
인터넷 프로토콜 분석 실습
RC회로 이론 실험 기구와 방법
기초회로실험 10 - OP Amp의 기본 응용 회로
전기과 - 전력전자설계 트랜스폼제작 [flyback]
오실로스코프 실험
[방사선 기기학] XRD 개념 원리 (선(X-Rays), X선(X-Rays)의 발생, X선 발생장치, 고니오메...
전자회로실험 - 반파 및 전파 정류 회로
기초회로실험 - RC 회로의 과도응답 및 정상상태 응답