ZBLOG

% Program P3_8 % Circular Time-Shifting Property of DFT clf; x = [0 2 4 6 8 10 12 14 16]; N = length(x)-1; n = 0:N; y = circshift(x,5); % 循环移位 5 个位置 XF = fft(x); YF = fft(y); subplot(2,2,1) stem(n,abs(XF));grid title('Magnitude of DFT of Original ...

这是修改后的程序P3_8,它展示了离散傅里叶变换(DFT)的圆周时移性质。

% 程序P3_8:离散傅里叶变换的圆周时移性质

% 清空命令窗口和图形窗口
clf;

% 定义原始序列 x
x = [0 2 4 6 8 10 12 14 16];
N = length(x)-1; % 序列长度为 N+1
n = 0:N; % 样本索引从 0 到 N

% 进行循环移位操作,向右循环移动5个位置
y = circshift(x,5);

% 计算原始序列 x 和循环移位后的序列 y 的 DFT
XF = fft(x);
YF = fft(y);

% 绘制原始序列 x 和循环移位后的序列 y 的幅度谱和相位谱图像
subplot(2,2,1)
stem(n,abs(XF));grid
title('Original Sequence X(k) Magnitude Spectrum');
xlabel('n');
ylabel('|X(k)|');

subplot(2,2,2)
stem(n,abs(YF));grid
title('Circularly Shifted Sequence Y(k) Magnitude Spectrum');
xlabel('n');
ylabel('|Y(k)|');

subplot(2,2,3)
stem(n,angle(XF));grid
title('Original Sequence X(k) Phase Spectrum');
xlabel('n');
ylabel('<X(k)');

subplot(2,2,4)
stem(n,angle(YF));grid
title('Circularly Shifted Sequence Y(k) Phase Spectrum');
xlabel('n');
ylabel('<Y(k)');

这段程序通过对原始序列 x 进行循环移位操作,得到循环移位后的序列 y,并计算了它们的离散傅里叶变换(DFT)。然后,使用subplot函数将原始序列和循环移位后的序列的幅度谱和相位谱图像分别绘制在四个子图中。

运行该程序,可以观察到原始序列和循环移位后的序列在频域上的幅度谱和相位谱。其中,第一个子图显示了原始序列 x 的幅度谱,第二个子图显示了循环移位后的序列 y 的幅度谱。第三个子图显示了原始序列 x 的相位谱,第四个子图显示了循环移位后的序列 y 的相位谱。

这个程序验证了离散傅里叶变换的圆周时移性质,即进行圆周卷积运算时,在频域上等价于对输入信号进行循环右移操作。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=14262

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?