首页 > 代码库 > 《DSP using MATLAB》示例Example5.23
《DSP using MATLAB》示例Example5.23
代码:
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。