打印

时域中的离散信号和系统

[复制链接]
806|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
单位脉冲序列的m文件:
function [x,n] = impseq(n0,n1,n2)
if ((n0 < n1) | (n0 > n2) | (n1 > n2))
error('参数必须满足 n1 <= n0 <= n2')
end
n = [n1:n2];
x = [(n-n0) == 0];

调用例如:
[x,n] = impseq(2,0,5); %表示从0开始共6个点,第二个点为1。
stem(n,x);

单位阶跃序列的m文件:
function [x,n] = stepseq(n0,n1,n2)
if ((n0 < n1) | (n0 > n2) | (n1 > n2))
error('参数必须满足 n1 <= n0 <= n2')
end
n = [n1:n2];
x = [(n-n0) >= 0];

调用:

[x,n] = stepseq(2,0,5);
stem(n,x);

另外我在测试的时候发现了这样的报错:Cannot find an exact (case-sensitive) match for...。这种情况好像是因为出现了大小写不同。
把文件名(包括.m)和函数名一律改为小写即可。

matlab中可以用y = conv(x,h)来计算两个有限长度序列的卷积。该函数无法得知位置信息,默认x和h位置向量都是从零开始。可以根据需要扩展。
这里注意,matlab默认序列从零开始,即为0:N-1。但是变量的下标(即括号中的序号)倒是从1开始的,即为1:N。
卷积的输出序列长度区间为n = 0:length(x)+length(y)-1。


说到卷积,则相关函数也是卷积的形式,例如x和y的互相关表示为y(m)和x(-m)的卷积,x的自相关表示为x(m)和x(-m)的卷积。
注意相关函数也是随n变化的。如果x和y的互相关在n0处有峰值,说明y和x移位n0后相似。

LTI系统可以用差分方程来描述。但差分方程不一定描述LTI系统,必须满足所谓的松弛条件。
matlab解差分方程可以用y = filter(b,a,x)来实现。b是x那边的系数向量,a是y那边的系数向量,x是输入序列。
此外,可以用[h,n] = impz(b,a,N)来求解h(n)。

相关帖子

沙发
gaoyang9992006|  楼主 | 2017-4-26 12:56 | 只看该作者
看着不错,转来了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1949

主题

15885

帖子

206

粉丝