代码:

  1. %% ------------------------------------------------------------------------
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Problem 8.18 \n\n');
  5.  
  6. banner();
  7. %% ------------------------------------------------------------------------
  8.  
  9. Wp = 20*pi; Ws = 30*pi; Rp = 0.25; As = 50;
  10. Fp = Wp/(2*pi);
  11. Fs = Ws/(2*pi);
  12.  
  13. Ripple = 10 ^ (-Rp/20)
  14. Attn = 10 ^ (-As/20)
  15.  
  16. % Analog filter design, DIRECT form:
  17. [b, a] = afd('ellip', Fp, Fs, Rp, As);
  18. %[b, a] = afd_elip(Wp, Ws, Rp, As);
  19.  
  20. % Calculation of second-order sections:
  21. [C, B, A] = sdir2cas(b, a);
  22.  
  23. % Calculation of Frequency Response:
  24. [db, mag, pha, ww] = freqs_m(b, a, 35*pi);
  25.  
  26. % Calculation of Impulse Response:
  27. [ha, x, t] = impulse(b, a);
  28.  
  29. %% -------------------------------------------------
  30. %% Plot
  31. %% -------------------------------------------------
  32.  
  33. figure('NumberTitle', 'off', 'Name', 'Problem 8.18 Lowpass Analog Elliptic')
  34. set(gcf,'Color','white');
  35. M = 1.0; % Omega max
  36.  
  37. subplot(2,2,1); plot(ww/pi, mag); grid on; axis([-45, 45, 0, 1.2]);
  38. xlabel(' Analog frequency in \pi*1k units'); ylabel('|H|'); title('Magnitude in Absolute');
  39. set(gca, 'XTickMode', 'manual', 'XTick', [-30, -20, 0, 20, 30]);
  40. set(gca, 'YTickMode', 'manual', 'YTick', [0, 0.003, 0.97, 1]);
  41.  
  42. subplot(2,2,2); plot(ww/pi, db); grid on; %axis([0, M, -50, 10]);
  43. xlabel('Analog frequency in \pi*1k units'); ylabel('Decibels'); title('Magnitude in dB ');
  44. set(gca, 'XTickMode', 'manual', 'XTick', [-30, -20, 0, 20, 30]);
  45. set(gca, 'YTickMode', 'manual', 'YTick', [-70, -50, -1, 0]);
  46. set(gca,'YTickLabelMode','manual','YTickLabel',['70';'50';' 1';' 0']);
  47.  
  48. subplot(2,2,3); plot(ww/pi, pha/pi); grid on; axis([-45, 45, -1.2, 1.2]);
  49. xlabel('Analog frequency in \pi*1k nuits'); ylabel('radians'); title('Phase Response');
  50. set(gca, 'XTickMode', 'manual', 'XTick', [-30, -20, 0, 20, 30]);
  51. set(gca, 'YTickMode', 'manual', 'YTick', [-1:0.5:1]);
  52.  
  53. subplot(2,2,4); plot(t, ha); grid on; %axis([0, 30, -0.05, 0.25]);
  54. xlabel('time in seconds'); ylabel('ha(t)'); title('Impulse Response');

  运行结果:

绝对指标

模拟Elliptical低通,串联形式系数

幅度谱、相位谱和脉冲响应

通带放大

阻带放大

由图可知,通带、阻带,都是等波纹的。

《DSP using MATLAB》Problem 8.18的更多相关文章

  1. 《DSP using MATLAB》Problem 6.18

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  2. 《DSP using MATLAB》Problem 5.18

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% O ...

  3. 《DSP using MATLAB》Problem 4.18

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  4. 《DSP using MATLAB》Problem 3.18

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  5. 《DSP using MATLAB》Problem 2.18

    1.代码: function [y, H] = conv_tp(h, x) % Linear Convolution using Toeplitz Matrix % ----------------- ...

  6. 《DSP using MATLAB》Problem 5.15

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  7. 《DSP using MATLAB》Problem 4.15

    只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...

  8. 《DSP using MATLAB》Problem 7.27

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  9. 《DSP using MATLAB》Problem 7.26

    注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...

随机推荐

  1. window下apache2.2配置多个tomcat使用不同二级域名,共用80端口

    思路:分3步, 1,安装apache服务器httpd-2.2.25-win32-x86-no_ssl.msi,安装tomcat 2,配置tomcat默认访问的项目,配置apache服务器 3,测试 第 ...

  2. Win和Linux定时备份数据库

    项目的数据库需要每天备份,但是手动备份太麻烦而且容易忘,所以通过定时任务执行脚本备份数据库,服务器有Windows和Linux,所以两种都记录一下. 一.Windows 首先写好脚本,这里不多说,因为 ...

  3. @Formula

    @Formula  计算临时属性. 相当于可以关联查询字段,然后放在实体中当做属性使用. 任务:在User实体层,增加一个额外的属性,来获取Test表中的name字段. 1 表结构 User表 Tes ...

  4. 2019牛客暑期多校训练营(第七场) E 线段树+离散化

    题目传送门 题意:按照一定的公式给出若干个$<l,r>$,每次往一个序列中加上l到r的数字,并输出中位数. 思路:需要将每个$区间$离散化,比如把$[1,2]$变成$[1,3)$,也就是$ ...

  5. VGDB提示

    由于之前地址的版本在未安装.Net 4.0的电脑上安装会出现插件使用装载失败的问题,已更新,新地址为:http://pan.baidu.com/s/1xdnuD,此版本需要.Net 2.0.

  6. python库之xgboost

    一.安装 https://www.zhihu.com/question/46377605

  7. vue 兄弟组件的传值

    handleLetterClick方法,采用emit 传递给父组件 父组件触发的方法: handleLetterChange方法: 父组件传递给子组件: CityList组件:   兄弟组件的传值可以 ...

  8. Mysql 权限命令整理大全

    mysql show slave status 需要什么权限 grant replication client on *.* to 'user_name'@'%';

  9. gevent实现并发

    #_author:来童星#date:2019/12/12import geventimport timedef func1(): print('\033[31;1mfun1 starting...\0 ...

  10. 「题解」:[loj2763][JOI2013]现代豪宅

    问题 A: 现代豪宅 时间限制: 1 Sec  内存限制: 256 MB 题面 题目描述 (题目译自 $JOI 2013 Final T3$「現代的な屋敷」) 你在某个很大的豪宅里迷路了.这个豪宅由东 ...