matlab条件编译,【 MATLAB 】DFT的性质讨论(二)序列的循环移位及其 MATLAB 实现(频域方法)...

本文介绍了利用DFT性质实现序列的循环移位,提供了一个MATLAB函数`cirshftf`,能够处理标量和向量移位量。文章还包含了详细的验证代码,展示如何对序列进行不同数量的循环移位,并讨论了序列的频域循环移位性质。
摘要由CSDN通过智能技术生成

提到了对序列x(n)做循环移位后的DFT形式为:

36c333f35bb8aa34eb6c7284b4b2e17d.png

上篇博文已经讨论过了第一种实现循环移位的方法,通过在时域中对序列移位,之后取模运算,得到循环移位。并给出了精辟地验证。可以很放心的使用。

这篇博文呢?我们就通过序列循环移位后的DFT形式来反推序列的循环移位,并独立给出函数。

这个函数的功能可就强大了。

假设移位量为m:

如果m 是一个标量,那么序列移位后就得到一个移位后的序列,这个序列是一个向量。

如果m是一个向量,向量的每一个元素都是移位量,那么得到的移位后的序列是一个矩阵。

这个矩阵的每一行都是对输入序列的循环移位,而移位值就是m中的相应元素,例如m的第一个元素为4,那么得到的y的第一行就是x循环右移4位得到的序列。

趁热打铁,我编写了一个相关的函数,并给出了验证,几经修改,结果正确,自己都把自己感动哭了。成就感就如当年考研最后一门专业课考完后把自己感动哭了的感觉一样。

知识是用来分享的,我也附出所有代码以及测试:

function y = cirshftf(x,m,N)

% Circular shift m samples in sequence x over[0:N-1](frequency domain)

% _______________________________

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值