信号在MATLAB中的运算——信号的翻转与移位

信号在MATLAB中的运算——信号的翻转与移位

序列的翻转和移位

序列翻转的表达式为:y(n) = x(-n);

序列移位的表达式为:y(n) = x(n-n0);

在 Matlab 中,翻转运算有函数fliplr实现。

设序列 x(n) 用样值向量 x 和位置向量 nx 来描述,翻转后的序列y(n)用样值向量 y 和位置向量 ny 来描述.

y = fliplr(x)
ny = -fliplr(nx)

设序列 x(n) 用样值向量 x 和位置向量 nx 来描述,移位后的序列y(n)用样值向量 y 和位置向量 ny 来描述.

y = x;          % 样值向量不变
ny = nx + n0;   % n0>0,表示向右移动 n0个位置;n0<0,表示向左移动 n0个位置。

1、序列翻转示例

% E_5_11.m
% 序列翻转示例
clear, clc, clf;
nx = -2:5;
x = [2 3 4 5 6 7 8 9];
ny = -fliplr(nx);
y = fliplr(x);
subplot(121), stem(nx,x,'.');
axis([-6 6 -1 9]); title('原序列'); grid on;
xlabel('n'); ylabel('x(n)');

subplot(122), stem(ny,y,'.');
axis([-6 6 -1 9]); title('翻转后的序列'); grid on;
xlabel('n'); ylabel('y(n)'); 
set(gcf, 'color', 'w');

2、序列移位示例

% E_5_12.m
% 序列移位示例
figure;
nx = -2:5; x = [9 8 7 6 5 5 4 5];
y = x; ny1 = nx + 3; ny2 = nx - 2;
subplot(311), stem(nx,x,'.');
axis([-5 9 -1 9]); grid;
xlabel('n'); ylabel('x(n)'); title('原序列');

subplot(312), stem(ny1,y,'.');
axis([-5 9 -1 9]); grid;
xlabel('n'); ylabel('y1(n)'); title('右移3位后的序列');

subplot(313), stem(ny2,y,'.');
axis([-5 9 -1 9]); grid;
xlabel('n'); ylabel('y2(n)'); title('左移2位后的序列');

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值