找回密码
 注册

扫一扫,访问微社区

查看: 26|回复: 1

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

[复制链接]

该用户从未签到

发表于 2020-1-16 10:44 | 显示全部楼层 |阅读模式

EDA365欢迎您登录!

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

x
4 |  s6 @; m2 v) C: ?9 U7 G
这种运算有点理解,反正我是觉得有点绕,所以单独拿出来,表示注重。7 W5 m* E% b9 [* v" K2 E
% V4 a* z6 O0 n/ L5 I3 j
在这种运算中,x(n)的每个样本都要移位一个量k得到一个移位的序列y(n).
" i* ~$ @, Z% ^! A
/ W0 K, D# U% y! _$ v 基于MATLAB序列运算的序列移位的函数实现-3.jpg + q0 F8 ~, Q/ @. e
: Z6 e6 ~4 U- m
如果令m=n-k,那么n = m + k,上面运算给出为:4 c) C1 f7 Z- Z" R1 E7 \; U

' N. w$ c! _* i; }; }8 ]: E 基于MATLAB序列运算的序列移位的函数实现-2.jpg ' E7 {! w" @* q. S2 g. y% s1 z
  ?; c$ {/ f! D. f
这就是说,把m当成x的自变量,那么y的自变量n就等于m + k,对于n而言,相当于x右移了k位。# `& L2 v/ N$ P, x( f5 A! N+ t8 [

9 ^- b3 k4 c" K响应的函数可以定义如下:8 N7 V, C/ y  _3 s3 x8 ~% A" X
: j: @* A' Y  I1 i. z$ `" l8 U! b
  • function [y,n] = sigshift(x,m,k)
  • %implements y(n) = x(n - k)
  • %_________________________
  • %[y,n] = sigshift(x,m,k)
  • %
  • n = m+k;
  • y = x;+ y' d" N9 C* v6 _7 u/ @5 F
% j4 Q  ~1 A3 M! U
下面我们验证下这个函数是否实现移位功能:
) @$ V% D/ {; s0 n) [# U3 n6 t' T1 {  R
  • 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)');- C, w. k( [, V) J$ W/ `4 y# _2 n9 J
  
' q/ K7 c: y9 P3 A+ M5 t 基于MATLAB序列运算的序列移位的函数实现.png ) e5 l& M6 f' H. ?# h

1 w, K# ?% C+ g; y/ g可见,实现了移位运算。
5 D1 S) }" T- f/ m! R4 t7 u
) s% u+ ~: h, O7 l* ^5 n
  • TA的每日心情

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

    [LV.1]初来乍到

    发表于 2020-1-16 19:39 | 显示全部楼层
    基于MATLAB序列运算的序列移位的函数实现
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    EDA365公众号

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

    GMT+8, 2020-1-24 16:00 , Processed in 0.062500 second(s), 22 queries , Gzip On.

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

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

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