《DSP using MATLAB》Problem 8.26

        代码:

%% ------------------------------------------------------------------------
%%            Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf('        <DSP using MATLAB> Problem 8.26 \n\n');

banner();
%% ------------------------------------------------------------------------

c = [1, 1]; d = [1, 5, 6];        % Numerator and Denominator of Ha(s)
T = 0.2; Fs = 1/T;                % Sample interval

%[b, a] = imp_invr(c, d, T)        % digital Num and Deno coefficients of H(z)
[b, a] = mzt(c, d, T)             % digital Num and Deno coefficients of H(z)

% Calculation of Impulse Response:
%[hs, xs, ts] = impulse(c, d);
figure('NumberTitle', 'off', 'Name', 'Problem 8.26 Imp & Freq Response')
set(gcf,'Color','white'); 
t = [0:0.01:4]; subplot(2,1,1); impulse(c,d,t); grid on;   % Impulse response of the analog filter
axis([0,4,-0.1,1]);hold on

n = [0:1:4/T]; hn = filter(b,a,impseq(0,0,4/T));   % Impulse response of the digital filter
stem(n*T,hn); xlabel('time in sec'); title (sprintf('Impulse Responses, T=%.2f',T));
hold off



%n = [0:1:29];
%hz = impz(b, a, n);

% Calculation of Frequency Response:
[dbs, mags, phas, wws] = freqs_m(c, d, 2*pi/T);             % Analog frequency   s-domain  

[dbz, magz, phaz, grdz, wwz] = freqz_m(b, a);               % Digital  z-domain
 

%% -----------------------------------------------------------------
%%                             Plot
%%       ω = ΩT = 2πF/fs
%% -----------------------------------------------------------------  

M = 1/T;                          % Omega max

subplot(2,1,2); plot(wws/(2*pi),mags*Fs,'b', wwz/(2*pi)*Fs,magz,'r'); grid on;

xlabel('frequency in Hz'); title('Magnitude Responses'); ylabel('Magnitude'); 

text(1.4,.5,'Analog filter'); text(1.5,1.5,'Digital filter');

  运行结果:

        可以看出,采样间隔T越小,数字滤波器幅度响应越接近模拟滤波器。

 

转载于:https://www.cnblogs.com/ky027wh-sx/p/11190632.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值