Matlab中filter、conv、impz函数的区别
来源:互联网 发布:淘宝一件代发发货地址 编辑:程序博客网 时间:2024/03/29 22:54
实现差分方程
先从简单的说起:
filter([1,2],1,[1,2,3,4,5])
实现
y[1]=x[1]+2*0=1%(x[1]之前状态都用0)
y[2]=x[2]+2*x[1]=2+2*1=4
a.
h = [3 2 1-2 1 0 -4 0 3];
x = [1 -23 -4 3 2 1];
y =conv(h,x);
n =0:14;
subplot(2,1,1);
stem(n,y);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Obtained by Convolution'); grid;
x1 = [xzeros(1,8)];
y1 =filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Time index n'); ylabel('Amplitude');
title('Output Generated by Filtering'); grid;
y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]。
b.
(1)用filter函数
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:20;
x1=[1zeros(1,20)];
y1filter=filter(b1,a1,x1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
(2)用conv函数
a1=[1,0.75,0.125];
b1=[1,-1];
x1=[1zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1);
n=0:19;
stem(n,y1conv,'filled')
(3)用impz函数
a1=[1,0.75,0.125];
b1=[1,-1];
impz(b1,a1,21);
c.
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2);
stem(n,y1filter);
title('y1filter_step');
xlabel('x');
ylabel('y');
(2)用conv函数
a1=[1,0.75,0.125];
b1=[1,-1];
x2=ones(1,21);
[h]=impz(b1,a1,20);
y1=conv(h,x2);
y1conv=y1(1:21);
n1=0:20;
stem(n1,y1conv,'filled');
title('y1conv');
xlabel('n');
ylabel('y1[n]');
(3)用impz函数
a=[1,0.75,0.125];
b=1;
impz(b,a)
即y=filter(p,d,x)用来实现差分方程,d表示差分方程输出y的系数,p表示输入x的系数,而x表示输入序列。输出结果长度数等于x的长度。
而y=conv(x,h)是用来实现卷级的,对x序列和h序列进行卷积,输出的结果个数等于x的长度与h的长度之和减去1。
y=impz(p,d,N)是用来实现冲击响应的,d和p的定义见filter,N表示冲击响应输出的序列个数。
摘自:http://blog.sina.com.cn/s/blog_4a018d080100ikss.html
- Matlab中filter、conv、impz函数的区别
- matlab中filter,conv之间的区别
- Matlab 中step conv 函数使用
- 转 matlab卷积函数介绍 conv filter conv2
- Matlab中fileter和conv的区别及卷积的计算方法
- matlab的函数conv()的C语言实现
- matlab中的线性卷积函数conv的用法
- MATLAB 中 filter 函数的使用
- 关于MATLAB中conv()卷积结果的长度的探讨
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2,imfilter)
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)
- Matlab 几种卷积的实现与比较(conv与filter,conv2与filter2)
- 图像处理-图像滤波和卷积的区别(filter、conv)
- matlab中filter和filtfilt函数的C语言
- matlab中滤波器函数filter的C语言实现
- MATLAB中filter函数的C代码实现
- matlab2c使用c++实现matlab函数系列教程-conv函数
- LINUX环境并发服务器的三种实现模型
- Linux命令大全,你想找的资料全在这儿了
- u-boot中uart调试口初始化代码
- vs2010中生成的工程文件哪些可以删除
- C#序列化成XML注意事项
- Matlab中filter、conv、impz函数的区别
- 调整office的默认字体大小
- object-C 类之间的消息处理机制
- 文章1:HTTP协议中长连接、短连接
- VC 6.0在win7下无法加入ActiveX控件的解决方案
- 新手解疑:Tomcat版本问题
- LPTSTR、LPCSTR、LPCTSTR、LPSTR的来源及意义
- UIDatePicker 日期/时间选取器(滚轮)
- C++打印曲线