代码:

  1. %% ------------------------------------------------------------------------
  2. %% Output Info about this m-file
  3. fprintf('\n***********************************************************\n');
  4. fprintf(' <DSP using MATLAB> Exameple 9.5 \n\n');
  5.  
  6. time_stamp = datestr(now, 31);
  7. [wkd1, wkd2] = weekday(today, 'long');
  8. fprintf(' Now is %20s, and it is %7s \n\n', time_stamp, wkd2);
  9. %% ------------------------------------------------------------------------
  10.  
  11. n = 0:256; x = cos(pi*n); w = [0:100]*pi/100;
  12.  
  13. %% -----------------------------------------------------------------
  14. %% Plot
  15. %% -----------------------------------------------------------------
  16. Hf1 = figure('units', 'inches', 'position', [1, 1, 8, 6], ...
  17. 'paperunits', 'inches', 'paperposition', [0, 0, 6, 4], ...
  18. 'NumberTitle', 'off', 'Name', 'Exameple 9.5');
  19. set(gcf,'Color','white');
  20.  
  21. TF = 10;
  22. % (a) Interpolation by I = 2, L = 4
  23. I = 2; [y, h] = interp(x, I); H = freqz(h, 1, w); H = abs(H);
  24. subplot(2, 2, 1);
  25. plot(w/pi, H); axis([0, 1, 0, I+0.1]); grid on;
  26. xlabel('\omega in \pi units'); ylabel('Magnitude');
  27. title('I = 2, L = 4', 'fontsize', TF);
  28. set(gca, 'xtick', [0, 0.5, 1]);
  29. set(gca, 'ytick', [0:1:I]);
  30.  
  31. % (b) Interpolation by I = 4, L = 4
  32. I = 4; [y, h] = interp(x, I); H = freqz(h, 1, w); H = abs(H);
  33. subplot(2, 2, 2);
  34. plot(w/pi, H); axis([0, 1, 0, I+0.2]); grid on;
  35. xlabel('\omega in \pi units'); ylabel('Magnitude');
  36. title('I = 4, L = 4', 'fontsize', TF);
  37. set(gca, 'xtick', [0, 0.25, 1]);
  38. set(gca, 'ytick', [0:1:I]);
  39.  
  40. % (c) Interpolation by I = 8, L = 4
  41. I = 8; [y, h] = interp(x, I); H = freqz(h, 1, w); H = abs(H);
  42. subplot(2, 2, 3);
  43. plot(w/pi, H); axis([0, 1, 0, I+0.4]); grid on;
  44. xlabel('\omega in \pi units'); ylabel('Magnitude');
  45. title('I = 8, L = 4', 'fontsize', TF);
  46. set(gca, 'xtick', [0, 0.125, 1]);
  47. set(gca, 'ytick', [0:2:I]);
  48.  
  49. % (d) Interpolation by I = 8, L = 10
  50. I = 8; [y, h] = interp(x, I, 10); H = freqz(h, 1, w); H = abs(H);
  51. subplot(2, 2, 4);
  52. plot(w/pi, H); axis([0, 1, 0, I+0.4]); grid on;
  53. xlabel('\omega in \pi units'); ylabel('Magnitude');
  54. title('I = 8, L = 10', 'fontsize', TF);
  55. set(gca, 'xtick', [0, 0.125, 1]);
  56. set(gca, 'ytick', [0:2:I]);

  运行结果:

前三张图L=4,和想象的一样,滤波器是低通性质,其通带边界近似在π/I附近,并且幅度谱最大增益为I。另外注意到滤波器的过渡带和缓,

因此和理想滤波器相差较大。最后一张,L=10,和想象一样,过渡带比较陡。

任何超过L=10的情况都会导致滤波器不稳定,因此在设计过程中是必须避免的。

《DSP using MATLAB》示例Example 9.5的更多相关文章

  1. DSP using MATLAB 示例Example3.21

    代码: % Discrete-time Signal x1(n) % Ts = 0.0002; n = -25:1:25; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*a ...

  2. DSP using MATLAB 示例 Example3.19

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Discrete-time Signa ...

  3. DSP using MATLAB示例Example3.18

    代码: % Analog Signal Dt = 0.00005; t = -0.005:Dt:0.005; xa = exp(-1000*abs(t)); % Continuous-time Fou ...

  4. DSP using MATLAB 示例Example3.23

    代码: % Discrete-time Signal x1(n) : Ts = 0.0002 Ts = 0.0002; n = -25:1:25; nTs = n*Ts; x1 = exp(-1000 ...

  5. DSP using MATLAB 示例Example3.22

    代码: % Discrete-time Signal x2(n) Ts = 0.001; n = -5:1:5; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nT ...

  6. DSP using MATLAB 示例Example3.17

  7. DSP using MATLAB示例Example3.16

    代码: b = [0.0181, 0.0543, 0.0543, 0.0181]; % filter coefficient array b a = [1.0000, -1.7600, 1.1829, ...

  8. DSP using MATLAB 示例 Example3.15

    上代码: subplot(1,1,1); b = 1; a = [1, -0.8]; n = [0:100]; x = cos(0.05*pi*n); y = filter(b,a,x); figur ...

  9. DSP using MATLAB 示例 Example3.13

    上代码: w = [0:1:500]*pi/500; % freqency between 0 and +pi, [0,pi] axis divided into 501 points. H = ex ...

  10. DSP using MATLAB 示例 Example3.12

    用到的性质 代码: n = -5:10; x = sin(pi*n/2); k = -100:100; w = (pi/100)*k; % freqency between -pi and +pi , ...

随机推荐

  1. Win7 64位安装VS2013无法连接远程数据库

    win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' o ...

  2. 堆 Heap

    2018-03-01 20:38:34 堆(Heap)是可以用来实现优先的队列的数据结构,而不是堆栈. 若采用数组或者链表实现优先队列 若采用树的结构 如果采用二叉搜索树,那么每次删除,比如删除最大值 ...

  3. OpenCL双边滤波实现美颜功能

    OpenCL是一个并行异构计算的框架,包括intel,AMD,英伟达等等许多厂家都有对它的支持,不过英伟达只到1.2版本,主要发展自己的CUDA去了.虽然没有用过CUDA,但个人感觉CUDA比Open ...

  4. C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 03)

    go语言当中,没有 class 的概念,那么面向对象的编程思想如何展现呢,go语言中对结构体的使用 struct. package main import "fmt" type P ...

  5. hack games

    记下,有时间玩玩~ wargame http://www.wechall.net/lang_ranking/en --------------- Monyer系列(黑客游戏) 1. http://mo ...

  6. 从工程角度看C++观察者模式中的接口是否需要提供默认的实现

    在C++中,我们会经常用到观察者模式(回调模式,Delegate模式等,意思都一样),比如当Source中的某个参数发生了变化时,我们通过观察者模式进行回调通知,下面是一个例子: class Sour ...

  7. Comprehensive Python Cheatsheet

    ToC = { '1. Collections': [List, Dict, Set, Range, Enumerate, Namedtuple, Iterator, Generator], '2. ...

  8. Python内置函数详解-总结篇

    参考链接:http://www.cnblogs.com/sesshoumaru/p/6140987.html

  9. 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...

  10. nginx默认配置

    user nobody; worker_processes 2; worker_cpu_affinity 000000001000 000000010000; worker_rlimit_nofile ...