《DSP using MATLAB》Problem 2.18

1、代码:
function [y, H] = conv_tp(h, x)
% Linear Convolution using Toeplitz Matrix
% ----------------------------------------------------
% [y,H] = conv_tp(h, x)
% y = output sequence in column vector form
% H = Toeplitz matrix corresponding to sequence h so that y = Hx
% h = Impulse response sequence in length(h)*1 column vector form
% x = input sequence in length(x)*1 column vector form
%
for i = 1:length(h)
c(i) = h(i);
end for j=(length(h)+1):(length(x)+length(h)-1)
c(j)=0;
end r(1)=h(1); for k=2:length(x)
r(k)=0;
end H=toeplitz(c,r)
y=H*x;
end
2、用1小题中的函数验证习题2.17,代码如下:
%% ------------------------------------------------------------------------
%% Output Info about this m-file
fprintf('\n***********************************************************\n');
fprintf(' <DSP using MATLAB> Problem 2.18 \n\n'); banner();
%% ------------------------------------------------------------------------ nx1 = [0:4]; x1 = [1, 2, 3, 4, 5];
nh1 = [0:3]; h1 = [6, 7, 8, 9]; [y1, H] = conv_tp(h1', x1'); y1
运行结果:

上图中H就是Toeplitz拓普利兹矩阵,可以看出除第一行、第一列外,每个元素都和其左上方元素相等。
每一行向量就是系统的脉冲响应序列的线性移位,h(n-k),其中n=0,1,2,.....,length(h)-1。
实际中,将序列h(n)摺叠,依次移位,得到Toeplitz矩阵。第一列就是h(n)加零补齐长度。
《DSP using MATLAB》Problem 2.18的更多相关文章
- 《DSP using MATLAB》Problem 6.18
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 5.18
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% O ...
- 《DSP using MATLAB》Problem 4.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 《DSP using MATLAB》Problem 3.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 《DSP using MATLAB》Problem 8.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- 《DSP using MATLAB》Problem 5.15
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 4.15
只会做前两个, 代码: %% ---------------------------------------------------------------------------- %% Outpu ...
- 《DSP using MATLAB》Problem 7.27
代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...
- 《DSP using MATLAB》Problem 7.26
注意:高通的线性相位FIR滤波器,不能是第2类,所以其长度必须为奇数.这里取M=31,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
随机推荐
- MySQL事务概述-1
事务是数据库区别于文件系统最重要的特性之一.事务可由一条非常简单的SQL语句组成,也可以由一组复杂的SQL语句组成.事务是访问并更新数据库中各种数据项的一个程序执行单元.在事务操作中,要么都做修改,要 ...
- 前端学习笔记之CSS过渡模块
阅读目录 一 伪类选择器复习 二 过渡模块的基本使用 三 控制过渡的速度transition-timing-function 四 过渡模块连写 一 伪类选择器复习 注意点: #1 a标签的伪类选择器可 ...
- 20145311王亦徐 实验三 "敏捷开发与XP实践"
20145311王亦徐 实验三 "敏捷开发与XP实践"程序设计过程 实验内容 使用 git 上传代码 使用 git 相互更改代码 实现代码的重载 git 上传代码 查看代码是否有修 ...
- STRIDE 和 DREAD
目录 STRIDE 和 DREAD 背景 STRIDE DREAD 注释 STRIDE 和 DREAD 背景 STRIDE 和 DREAD 是最常用也是最好用的安全模型 STRIDE 主要负责对安全风 ...
- package 'yaml-cpp' not found
-- Using these message generators: gencpp;genlisp;genpy -- checking for module 'yaml-cpp' -- package ...
- 使用 Git Hook 自动部署 Hexo 到个人 VPS
安装 Hexo 既然我的标题都已经那样写了,当然这个小节就不是本篇文章的重点了. 关于 Hexo 的安装跟配置,其实网上已经有很多很多文章了,随便一搜一大把.这里就有一篇超详细的,大家可以参考一下. ...
- redis缓存穿透、缓存击穿、缓存雪崩
缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透. 解决办法: 预校验 在控 ...
- wpf--- TextBlock文字设置属性
ProgressBar控件的重要属性: FontFamily——控件中显示文本的字体 FontSize——控件中显示的字体的大小 Foreground——控件 ...
- 《图解Http》 2-6章: 基础,报文,状态码,首部。
HTTP协议和Cookie 是stateless协议,自身不对请求和响应之间的通信状态进行保存.但随着技术发展,为了实现保存状态的功能,引入了Cookie技术. Cookie在请求和响应报文中写入信息 ...
- RoR unobtrusive scripting adapter--UJS(一些Javascript的语法糖)
Learn how the new Rails UJS library works and compares with the old version of jquery_ujs that it re ...