《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,过渡带里采样值抄书上的. 代码: %% +++++++++++++++++++++++++++++++++++++ ...
 
随机推荐
- tp模板基础
			
目录简介 创建应用 在项目目录创建入口文件shop/index.php 创建虚拟主机,访问应 路由形式 路由: 系统从URL参数中分析出当前请求的分组.控制器.和操作的过程就是“路由”. Tp框架路由 ...
 - 牛客国庆集训派对Day6 Solution
			
A Birthday 思路:设置一个源点,一个汇点,每次对$源点对a_i, b_i , a_i 对 b_i 连一条流为1,费用为0的边$ 每个点都再连一条 1, 3, 5, 7, ....的边到 ...
 - OpenResty api 网关
			
1,Orange网关 Orange是一个基于OpenResty的API网关.除Nginx的基本功能外,它还可用于API监控.访问控制(鉴权.WAF).流量筛选.访问限速.AB测试.动态分流等.它有以下 ...
 - oracle中 start with .. connect by prior.. 用法简介
			
我们经常会将一个比较复杂的目录树存储到一个表中.或者将一些部门存储到一个表中,而这些部门互相有隶属关系.这个时候你就会用到connect by prior start with.oracle 提供了s ...
 - 浅谈history对象以及路由插件原理
			
简介 History对象最初设计用来表示窗口的浏览历史,但是,出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL.虽然,我们不清楚历史URL,但是,我们可以通过History ...
 - AVAudioFoundation(6):时间和媒体表示
			
本文转自:AVAudioFoundation(6):时间和媒体表示 | www.samirchen.com 本文主要内容来自 AVFoundation Programming Guide. 基于时间的 ...
 - C# .NET 开发心得
			
1. 工作路径问题 1. 多项目构成的解决方案,Web APP作为启动项目时的工作路径 //当前执行的exe文件名 //C:\\Program Files\\IIS Express\\iisexpre ...
 - Codeforces Beta Round #57 (Div. 2) A,B,C,D,E
			
A. Ultra-Fast Mathematician time limit per test 2 seconds memory limit per test 256 megabytes input ...
 - 为CentOS 7配置静态IP地址及遇到的问题解决策略
			
为CentOS 7配置静态IP地址及遇到的问题解决策略 1. 为CentOS 7配置静态IP地址的两种方法 (原文地址:http://www.linuxidc.com/Linux/2014-10/10 ...
 - shell 判断一个字符串是否为空
			
test.sh #!/bin/bash echo "enter the string:" read filename if test $filename ; then echo & ...