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

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

(5页)

e0297304-4f0d-4e4a-9944-42d9bf3042e31.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  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值