📄 ex_07_04_1.m
字号:
% ex_07_04_1.m : 习题 7.4
clear all;
close all;
N=33;
m=(N-1)/4;
n=1:N;
h(n)=0;
for k=0:(m-1)
n=4*k+2;
h(n+1)=8/(pi*(n-16))/(pi*(n-16));
end
h((N+1)/2)=0.5;
for k=0:(N-1)/2
w1(k+1)=0.5-0.5*cos(2*pi*(k-16)/N);
end
w2=fliplr(w1);
w=[w2(1:end-1) w1];
hw=h.*w;
%
subplot(221);stem(hw,'.k');grid on;
h1=freqz(hw,1,N);
t=0:1/N/2:1-1/N/2;
subplot(222);plot(t,[abs(h1)' abs(h1)']);grid;
clear all;
N=33;
factor=(N+1)/2;
j=sqrt(-1);
for k=0:(N-1)
m=pi*k/(factor-1);
if(m<=pi/2)
Hd(k+1)=-2/pi*m+1;
elseif((m>pi/2)&&(m<=pi))
Hd(k+1)=2/pi*m-1;
elseif(m>pi)
Hd(k+1)=Hd(N-k+1);
end
end
for k=0:(N-1)
a=-j*(N-1)*k*pi/N;
H(k+1)=exp(a)*Hd(k+1);
end
for i=0:(N-1)
s=0;
for k=0:(N-1)
a=j*2*pi*i*k/N;
s=s+H(k+1)*exp(a);
end
h(i+1)=s/N;
end
h=real(h);
subplot(223);stem(h,'.k');grid on;
h1=freqz(h,1,N);
t=0:1/N/2:1-1/N/2;
subplot(224)
plot(t,[abs(h1)' abs(h1)']);grid;
axis([0 1 0 1]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -