代码:

conv_time = zeros(1,150); fft_time = zeros(1, 150);
%
% Nmax = 2048;
for L = 1:150
tc = 0; tf = 0;
N = 2*L-1; nu = ceil(log10(N)/log10(2)); N = 2^nu;
for I = 1:100
h = randn(1,L); x = rand(1,L);
t0 = clock; y1 = conv(h,x); t1 = etime(clock,t0); tc = tc + t1;
t0 = clock; y2 = ifft(fft(h,N) .* fft(x,N)); t2 = etime(clock,t0);
tf = tf + t2;
end
%
conv_time(L)=tc/100; fft_time(L)=tf/100;
end n=1:150; figure('NumberTitle', 'off', 'Name', 'Exameple5.23 ')
set(gcf,'Color','white');
plot(n(25:150), conv_time(25:150), n(25:150), fft_time(25:150));
xlabel('sequence length N'); ylabel('Time in Sec.'); title('comparison of convolution times');

  运行结果:

我的机子结果如下图:

书中的例子,运行结果如下图:

《DSP using MATLAB》示例Example5.23的更多相关文章

  1. 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 ...

  2. 《DSP using MATLAB》Problem5.23

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

  3. 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 ...

  4. DSP using MATLAB 示例 Example3.19

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

  5. DSP using MATLAB示例Example3.18

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

  6. 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 ...

  7. DSP using MATLAB 示例Example3.17

  8. 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, ...

  9. 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 ...

随机推荐

  1. C语言: 运算符,printf,scanf的用法

    运算符/的运算结果和运算对象的数据类型有关,两个数都是in,则商就是int,取整数部分:被除数和除数中只要有一个或两个都是浮点型数据,则商也是浮点型,不去掉小数部分如:16/5 == 3:16/5.0 ...

  2. Word2010如何恢复没有保存的文件

    今天临时遇到的,百度下还真有办法,借助文件自动保存的位置可以进行恢复. 给一个参考链接,有时间详细整理 简单说明,也就是利用word自动保存功能找到上次自动保存的位置 因为这个功能默认开启的 文件-- ...

  3. JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内

    一个函数的作用域并不会因为被另一个函数调用而拓展,取得另一个函数的作用域: function show(name){ alert(name) } function show2(){ var name= ...

  4. Android获取屏幕宽度高度

    方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE); int width = ...

  5. Ajax深入解析

    AJAX:Asynchronous JavaScript And Xml(异步的JS和XML) 同步:客户端发起请求>服务端的处理和响应>客户端重新载入页面(循环) 异步:客户端实时请求& ...

  6. .htaccess中Apache配置详解

    1.<IfDefine> 指令 说明 封装一组只有在启动时当测试结果为真时才生效的指令 语法 <IfDefine [!]parameter-name> ... </IfD ...

  7. hdu1045 DFS

    #include<stdio.h> #include<string.h> int n; int maxx; ][]; ]={,-,,}; ]={,,,-}; ][][];//炮 ...

  8. Socket网络编程一

    1.Socket参数介绍 A network socket is an endpoint of a connection across a computer network. Today, most ...

  9. 《PHP数组函数》笔记

    ① in_array() 检查数组中是否存在某个值;有两个参数,第一个参数是要查找的值,第二个参数是数组名,返回值为布尔,找到则ture否则false; ② array_search 在数组中搜索给定 ...

  10. 20个Mac用户必须掌握的触摸手势

    我第一次接触MacBook时,最令我惊叹的就是MacBook的触摸板,通过各种手势,完全可以不用鼠标,且有些时候更加的快捷和方便.那么都有哪些手势呢?可以通过 -> 来查看学习各种手势的使用,下 ...