matlab求DFT 画出幅度谱,matlab作业1

Maltab数字信号处理上机作业

实验任务

XXXXXX

(1)阅读例子程序,观察输出波形,理解每条语句的含义。

(2)已知有限长序列x(n)=[7,6,5,4,3,2],求DFT和IDFT,要求:画出序列傅立叶变换对应的幅度谱和相位谱;画出原信号与傅立叶逆变换IDFT[X(k)]的图形进行比较。

(3)已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。要求:画出原信号序列的主值和周期序列的图形;画出离散傅立叶变换对应的幅度谱和相位谱。

(4)求x(n)=[7,6,5,4,3,2], 0=

%%

%题(2)

close all;clear all;clc;

xn=[7,6,5,4,3,2];

N=length(xn);

n=0:N-1;k=0:N-1;

Xk=xn*exp(-j*2*pi/N).^(n'*k);

x=(Xk*exp(j*2*pi/N).^(n'*k))/N;

subplot(2,2,1),stem(n,xn,'k');

title('x(n)');axis([-1,N,0.8*min(xn),1.1*max(xn)]);grid; subplot(2,2,2),stem(n,x,'k');

title('IDFT|X(k)|');

axis([-1,N,0.8*min(x),1.1*max(x)]);grid;

subplot(2,2,3),stem(k,abs(Xk),'k');

title('|X(k)|');

axis([-1,N,min(abs(Xk)),1.1*max(abs(Xk))]);

subplot(2,2,4),stem(k,angle(Xk),'k');

title('arg|X(k)|');

axis([-1,N,min(angle(Xk)),1.1*max(angle(Xk))]);

%%

%题(3)

close all;clear all;clc;

xn=[7,6,5,4,3,2];

N=length(xn);

n=0:3*N-1;k=0:3*N-1;

xn1=xn(mod(n,N)+1);

Xk=xn1*exp(-j*2*pi/N).^(n'*k);

subplot(2,2,1),stem(xn,'k');

title('原主值信号x(n)');

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值