matlab求DFT 画出幅度谱,matlab数字信号处理作业

a7f4a3f590493a1e451dd952a488fd7c.gif matlab数字信号处理作业

(5页)

3a60dcce-655a-429d-836c-034aaf8790001.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

19.90 积分

Matlab 数字信号处理实验第 1 次作业院系:理学院 2010 级电子信息科学与技术 学号:2010142112 姓名:李家宁1、 阅读例子程序,观察输出波形,理解每条语句的含义。 程序 1: clear all;close all;clc;%清除原所有变量,关闭窗口,对命令窗口请屏n=0:9;x=(0.8).^n;%设定函数nx8 . 0?X=fft(x,4096);%将信号做 FFT 运算 Xk1=DFT(n,x,10);Xk2=DFT(n,x,20);%分别将学 x(n)做 DTT 运算 subplot(211),plot((0:4095)/4095*10,abs(X));%画图排列 hold on;%前轴及图形保持而不被刷新 stem(0:9,abs(Xk1),'LineWidth',2);%画火柴柱形 legend('x(n)的幅频特性','x(n)的 10 点 DFT 的幅度');%画 Xk1 的频谱、幅度谱 xlabel('k');axis([-1 11 -1 5]);grid;%横坐标的位置 subplot(212),plot((0:4095)/4095*20,abs(X));hold on; 画图排列 stem(0:19,abs(Xk2),'LineWidth',2); %画火柴柱形 legend('x(n)的幅频特性','x(n)的 20 点 DFT 的幅度'); %画 Xk1 的频谱、幅度谱 xlabel('k');axis([-1 21 -1 5]);grid; %横坐标的位置 set(gcf,'color','w');%颜色设定程序 2: xn=[0,1,2,3,4,5,6,7];%设定 n 的取值 N=length(xn);%将 N 设定为 n 取值总长度 n=0:N-1;k=0:N-1;%设定 n 的变化范围 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');%画 x(n)的频谱图形 title('x(n)');axis([-1,N,1.1*min(xn),1.1*max(xn)]);%设定标题和横坐标的取值 subplot(2,2,2),stem(n,abs(x),'k'); %显示逆变换结果 title('IDFT|X(k)|');%将幅度谱命名 axis([-1,N,1.1*min(x),1.1*max(x)]);%设定横坐标的范围 subplot(2,2,3),stem(k,abs(Xk),'k'); %显示序列的幅度谱 title('|X(k)|'); %将幅度谱命名 axis([-1,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); 设定纵坐标的范围 subplot(2,2,4),stem(k,angle(Xk),'k');%显示序列的相位谱 title('arg|X(k)|'); 将相位谱命名 axis([-1,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]); 将相位谱横坐标范围程序 3: xn=[0,1,2,3,4,5,6,7]; %设定 n 的取值 N=length(xn); %将 N 设定为 n 取值总长度 n=0:4*N-1;k=0:4*N-1; %设定 n 的变化范围 xn1=xn(mod(n,N)+1);%xn1=[xn,xn,xn,xn]; Xk=xn1*exp(-j*2*pi/N).^(n'*k); %离散傅里叶变换 subplot(2,2,1),stem(xn,'k'); %显示序列主值 title('原主值信号 x(n)'); %将原信号命名 subplot(2,2,2),stem(n,xn1,'k'); %显示周期序列 title('周期序列信号'); %将周期号命名 axis([-1,4*N,1.1*min(xn1),1.1*max(xn1)]); 设定横坐标的范围 subplot(2,2,3),stem(k,abs(Xk),'k'); %显示序列的幅度谱 title('|X(k)|'); %将幅度谱命名 axis([-1,4*N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); 设定纵坐标的范围 subplot(2,2,4),stem(k,angle(Xk),'k');%显示序列的相位谱 title('arg|X(k)|'); %将相位谱命名 axis([-1,4*N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]); 设定纵坐标的范围程序 4: xn=[0,1,2,3,4,5,6,7]; %设定 n 的取值 N=length(xn); %将 N 设定为 n 取值总长度 n=0:N-1; %设定 n 的变化范围 w=linspace(-2*pi,2*pi,500);%将[-2π,2π]区间分割为 500 份 X=xn*exp(-j*n'*w); %离散时间傅里叶变换 subplot(3,1,1),stem(n,xn,'k'); %画图排列 ylabel('x(n)');%将纵轴命名 subplot(3,1,2),plot(w,abs(X),'k'); %显示序列的幅度谱 axis([-2*pi,2*pi,1.1*min(abs(X)),1.1*max(abs(X))]); 设定纵坐标的范围 ylabel('幅度谱'); subplot(3,1,3),plot(w,angle(X),'k');%显示序列的相位谱 axis([-2*pi,2*pi,1.1*min(angle(X)),1.1*max(angle(X))]); 设定纵坐标的范围 ylabel('相位谱');程序 5: N=100;%设置周期 xn=[0,1,2,3,4,5,6,7,zeros(1,N-8)];%设置信号 n=0:N-1;k=0:N-1; %设定 n 的变化范围 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([0,N,1.1*min(xn),1.1*max(xn)]); 设定纵坐标的范围 subplot(2,2,2),stem(n,abs(x),'k'); %显示逆变换结果 title('IDFT|X(k)|'); %将逆变换命名 axis([0,N,1.1*min(x),1.1*max(x)]); 设定纵坐标的范围subplot(2,2,3),stem(k,abs(Xk),'k'); %显示序列的幅度谱 title('|X(k)|'); axis([0,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]); subplot(2,2,4),stem(k,angle(Xk),'k');%显示序列的相位谱 title('arg[X(k)]'); axis([0,N,1.1*min(angle(Xk)),1.1*max(angle(Xk))]);2、 已知有限长序列 x(n)=[7,6,5,4,3,2],求 DFT 和 IDFT,要求:画出序列傅立叶变换对应的 幅度谱和相位谱;画出原信号与傅立叶逆变换 IDFT[X(k)]的图形进行比较。 Matlab 程序如下: 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(k*2*pi/N)).^(n’*k)/N; subplot(2,2,1),stem(n,xn); title(‘x(n)’); subplot(2,2,2),stem(n,abs(x)); title(‘IDFT|X(k)|’); subplot(2,2,3),stem(k,abs(Xk)); title(‘|X(k)|’); subplot(2,2,4), stem(k,angle(Xk)); title(‘arg|X(k)|’); 原信号与傅立叶逆变换 IDFT[X(k)]的图形进行比较如下:3、已知周期序列的主值 x(n)=[7,6,5,4,3,2],求 x(n)周期重复次数为 3 次时的 DFS 和 IDFS。 要求:画出原信号序列的主值和周期序列的图形;画出离散傅立叶变换对应的幅度谱和 相位谱 Matlab 程序如下: Xn=[7,6,5,4,3,2]; N=length(xn); n=0:3N-1;k=0:3N-1; xn1=xn(mod(n,N)+1);%xn1=[xn,xn,xn,xn]; Xk=xn1*exp(-j*2*pi/N).^(n'*k); %离散傅里叶变换 Subplot(2,2,1),stem(xn); title(‘原主值信号 x(n)’); subplot(2,2,2),stem(xn); title(‘周期序列信号’); subplot(2,2,3),stem(k,abs(Xk)); title(‘|X(k)|’); subplot(2,2,4),stem(k,angle(Xk)); title(‘arg|X(k)|’); 原信号序列的主值和周期序列的图形与离散傅立叶变换对应的幅度谱和相位谱如下:4、求 x(n)=[7,6,5,4,3,2], 0=

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值