【 MATLAB 】序列运算之序列移位的函数实现

举报
李锐博恩 发表于 2021/07/15 07:09:18 2021/07/15
【摘要】 这种运算有点理解,反正我是觉得有点绕,所以单独拿出来,表示注重。 在这种运算中,x(n)的每个样本都要移位一个量k得到一个移位的序列y(n). 如果令m=n-k,那么n = m + k,上面运算给出为: 这就是说,把m当成x的自变量,那么y的自变量n就等于m + k,对于n而言,相当于x右移了k位。 响应的函数可以定义如下: function [y,n] =...

这种运算有点理解,反正我是觉得有点绕,所以单独拿出来,表示注重。

在这种运算中,x(n)的每个样本都要移位一个量k得到一个移位的序列y(n).

y(n)=\left \{ x(n-k) \right \}

如果令m=n-k,那么n = m + k,上面运算给出为:

y(m+k) = \left \{ x(m) \right \}

这就是说,把m当成x的自变量,那么y的自变量n就等于m + k,对于n而言,相当于x右移了k位。

响应的函数可以定义如下:


  
  1. function [y,n] = sigshift(x,m,k)
  2. %implements y(n) = x(n - k)
  3. %_________________________
  4. %[y,n] = sigshift(x,m,k)
  5. %
  6. n = m+k;
  7. y = x;

下面我们验证下这个函数是否实现移位功能:


  
  1. clc
  2. clear
  3. close all
  4. n = 0:5;
  5. x = randn(1,6);
  6. subplot(2,1,1)
  7. stem(n,x);
  8. xlabel('n');ylabel('x(n)');
  9. [y,n]=sigshift(x,n,4);
  10. subplot(2,1,2)
  11. stem(n,y);
  12. xlabel('n');ylabel('y(n) = x(n -4)');

 

可见,实现了移位运算。


推荐一首歌:违章动物

 

 

文章来源: reborn.blog.csdn.net,作者:李锐博恩,版权归原作者所有,如需转载,请联系作者。

原文链接:reborn.blog.csdn.net/article/details/83246998

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。