代码:

function [y] = ovrlpadd_v3(x, h, N)
%% Overlap-Add method of block convolution
%% ------------------------------------------------------
%% [y] = ovrlpadd(x, h, N)
%% y = output sequence
%% x = input sequence
%% h = impulse response
%% N = block length >= 2*length(h)-1 N = 2^(ceil(log10(N)/log10(2))) Lx = length(x); % ML
L = length(h); % length of impulse response Hk_FFT = fft(h, N); M = floor((Lx)/(L)) % number of bolck
Y = zeros(1, Lx+N-L) % convolution with successive blocks
for m = 0:M-1
xm = x(m*L+1 : m*L+L); % length is L
XMk_FFT = fft(xm, N);
YMk_FFT = XMk_FFT .* Hk_FFT;
ym = real(ifft(YMk_FFT)) % length is 2L-1
%Y(m*L+1 : m*L+(2*L-1)) = Y(m*L+1 : m*L+(2*L-1)) + ym
Y(m*L+1 : m*L+N) = Y(m*L+1 : m*L+N) + ym
end y = Y;

  

%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 5.32 \n\n'); banner();
%% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ % -------------------------------------------------------------
% Overlap-Add
% ------------------------------------------------------------- n1 = [0:8-1];
x1 = cos(pi*n1/500);
N1 = length(x1); nh = [0:3];
h = [1, -1, 1, -1];
L = length(h); M = N1/L; N = 2*L-1; y = ovrlpadd_v3(x1, h, N); % FFT

  运行结果:

原题中x(n)长4000,不好看图说明,这里假设长度只有8,便于上图说明道理。

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

  1. 《DSP using MATLAB》Problem 8.32

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

  2. 《DSP using MATLAB》Problem 7.32

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

  3. 《DSP using MATLAB》Problem 6.8

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

  4. 《DSP using MATLAB》Problem 5.28

    昨晚手机在看X信的时候突然黑屏,开机重启都没反应,今天维修师傅说使用时间太长了,还是买个新的吧,心疼银子啊! 这里只放前两个小题的图. 代码: 1. %% ++++++++++++++++++++++ ...

  5. 《DSP using MATLAB》Problem 5.22

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

  6. 《DSP using MATLAB》Problem 5.10

    代码: 第1小题: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Out ...

  7. 《DSP using MATLAB》Problem 7.27

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

  8. 《DSP using MATLAB》Problem 7.26

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

  9. 《DSP using MATLAB》Problem 7.25

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

随机推荐

  1. js将接口返回的数据序列化

    <div style={{marginLeft: '80px'}}>                     <pre>                         {th ...

  2. img2html实现将图片转换成网页

    简单介绍img2html的用法,安装就不用说了pip.这个包现只支持python2,支持python的话需改下源码这几个部分: 加注释的是修改的地方 #!/usr/bin/env python # e ...

  3. day29-python阶段性复习三

    七.python打开文件方式 open r: 读的方式 w:已写的方式打开 a:以追加的方式 r+ 读写模式 w+ 读写 a+ 读写 rb:二进制读模式打开 wb:以二进制写模式打开 ab 二进制追加 ...

  4. redis:集群配置

    一.redis集群相关 1.概念:redis集群是通过数据分区提供可用性的,这样即使一部分节点失效也可以继续处理请求. 2.原理:集群使用数据分片实现,一个redis集群包括16384个哈希槽,数据库 ...

  5. Unity中资源打包成Assetsbundle的资料整理

    最近在研究Unity中关于资源打包的东西,网上看了一堆资料,这里做个整合,说整合,其实也就是Ctrl-C + Ctrl-V,不是原创 首先为了尊重原创,先贴出原创者的文章地址: http://blog ...

  6. PHPexcel 导入import 数据到 mysql: mysql 查询数据是否存在, 如果存在返回id, 不存在, 插入返回id. 2) mysql_query , mysql_connect, mysql_select_db, mysql_error, mysql_num_rows,mysql_close

    一: 要求: 上面的图表 中的数据插入到 3张表中. 1)t_vide_warehourse 分类表: 此表中包含 一级分类 和二级分类.  二级分类是一级分类的子级. 2)t_video_info  ...

  7. http协议tcp协议ip协议三次握手四次挥手,为什么三次握手,为什么四次挥手,sockete套接字理解

    1.1 TCP是什么? TCP是Tranfer Control Protocol的简称,TCP协议是一种面向连接的.可靠的.基于字节流的运输层通信协议.通过TCP协议传输,得到的是一个顺序的无差错的数 ...

  8. Day16作业及默写

    hashlib模块,写函数校验两个文件是否内容相同(如果这两个文件很大) import hashlib md5 = hashlib.md5() md5.update(b'hello') md5.upd ...

  9. HDU 4463 Outlets(最小生成树给坐标)

    Problem Description In China, foreign brand commodities are often much more expensive than abroad. T ...

  10. 微软Power BI 每月功能更新系列——10月Power BI 新功能学习

    Power BI Desktop10月产品功能摘要 本月Power Plus Desktop的更新充满了整个产品的小型和大型改进.一个巨大的更新是Power BI服务支持我们的复合模型和聚合预览.这实 ...