📄 ip_06_04.m
字号:
% MATLAB script for Illustrative Problem 6.4.
echo on
close all
clear all
Length=101;
Fs=10000;
W=2000;
Ts=1/Fs;
n=-(Length-1)/2:(Length-1)/2;
t=Ts*n;
h=2*W*sinc(2*W*t);
% The rectangular windowed version follows.
N=61;
rec_windowed_h=h((Length-N)/2+1:(Length+N)/2);
% Frequency response of rec_windowed_h follows.
[rec_windowed_H,W1]=freqz(rec_windowed_h,2);
% to normalize the magnitude
rec_windowed_H_in_dB=20*log10(abs(rec_windowed_H)/abs(rec_windowed_H(1)));
% The Hanning windowed version follows.
hanning_window=hanning(N);
hanning_windowed_h=h((Length-N)/2+1:(Length+N)/2).*hanning_window.';
[hanning_windowed_H,W2]=freqz(hanning_windowed_h,1);
hanning_windowed_H_in_dB=20*log10(abs(hanning_windowed_H)/abs(hanning_windowed_H(1)));
figure(1);
hold on
H_in_dB=20*log10(abs(rec_windowed_H));
plot(W1/(2*pi),H_in_dB,'b');
H_in_dB=20*log10(abs(hanning_windowed_H));
plot(W2/(2*pi),H_in_dB,'r--');
hh = legend('rec-window','hanning-window',1);
figure(2);
hold on
plot(W1/(2*pi),(180/pi)*unwrap(angle(rec_windowed_H)),'b');
plot(W2/(2*pi),(180/pi)*unwrap(angle(hanning_windowed_H)),'r--');
hh = legend('rec-window','hanning-window',1);
% Plot of the impulse response follows.
figure(3);
hold;
stem(n,h);
% Plotting commands follow.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -