找回密码
 注册
关于网站域名变更的通知
查看: 573|回复: 1
打印 上一主题 下一主题

基于MATLAB序列运算的序列移位的函数实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-16 10:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
6 w9 ~) I- ~# P; g
这种运算有点理解,反正我是觉得有点绕,所以单独拿出来,表示注重。5 H" X1 D6 i) G- H+ M8 r
; t$ y7 J8 i  v3 z) m
在这种运算中,x(n)的每个样本都要移位一个量k得到一个移位的序列y(n).
  ~: G# E! W! {! o* r0 B9 B3 B
: K. s, M+ k! I3 s6 ~9 ?3 v
" y* K+ H' y7 T  d3 K" v
. x* R) v' C6 k: \  T2 K如果令m=n-k,那么n = m + k,上面运算给出为:! J, F4 }3 l/ V( h- `  \

/ G% [- a6 w; `1 V2 V3 a
# ~: e9 [) E9 B( p+ S/ M% D" q
. s, {' l4 u4 \! r$ c  t( y" p这就是说,把m当成x的自变量,那么y的自变量n就等于m + k,对于n而言,相当于x右移了k位。
2 o7 u( m# r1 W7 I5 z
( S* a! M; w+ F. p; r响应的函数可以定义如下:6 C7 ~% Z# Y" A3 _0 I
+ L$ x* X. m; u1 E4 s+ c7 G
  • function [y,n] = sigshift(x,m,k)
  • %implements y(n) = x(n - k)
  • %_________________________
  • %[y,n] = sigshift(x,m,k)
  • %
  • n = m+k;
  • y = x;% c2 g- o7 ]5 a/ L; K

. @: T& j0 n+ V下面我们验证下这个函数是否实现移位功能:+ @3 [0 x, ~  Z6 ]$ e( f$ y4 E
2 D' V8 u7 l/ E* }) N* Y
  • clc
  • clear
  • close all
  • n = 0:5;
  • x = randn(1,6);
  • subplot(2,1,1)
  • stem(n,x);
  • xlabel('n');ylabel('x(n)');
  • [y,n]=sigshift(x,n,4);
  • subplot(2,1,2)
  • stem(n,y);
  • xlabel('n');ylabel('y(n) = x(n -4)');" x$ E% w* C6 `+ }5 w+ k5 T8 l
  
' C9 s6 P$ ^  ^2 N7 C6 b. l * f# B8 K9 w- ?3 O8 O: O. Z6 L( l

4 m- U) M2 p. ?$ K& f可见,实现了移位运算。: w0 _- M. g8 c

+ ?! I; g9 X5 }1 {
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-1-16 19:39 | 只看该作者
    基于MATLAB序列运算的序列移位的函数实现
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-11 12:42 , Processed in 0.109375 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表