【MATLAB】离散傅里叶变换DTFT和IDTFT
1、已知用余弦序列x(n)=cos(2*pi*n/10),求其移位信号x(n-3)和x(n+3)在-3<n<10区间的序列波形。
MATLAB的程序如下:
n=-3:10;k0=3;k1=-3;
x=cos(2*pi*n/10);
x1=cos(2*pi*(n-k0)/10);
x2=cos(2*pi*(n-k1)/10);
subplot(3,1,1),stem(n,x,'filled','k');
ylabel('x(n)');
subplot(3,1,2),stem(n,x1,'filled','k');
ylabel('x(n-2)');
subplot(3,1,3),stem(n,x2,'filled','k');
ylabel('x(n+2)');
波形如下:
2、对基本序列x1(n)=e^(j*pi*n/8),x2(n)=sin(pi*n/8)进行16点DFT。
DFT.m的子程序:
function[Xk]=dft(xn,N)
n=[0:1:N-1];
k=[0:1:N-1];
WN=exp(-j*2*pi/N);
nk=n'*k;
WNnk=WN.^nk;
Xk=xn*WNnk;
主程序如下:
N=16;
n=0:N-1;
x1n=exp(j*pi*n/8);
X1k=dft(x1n,N);
x2n=cos(pi*n/8);
X2k=dft(x2n,N);
x3n=sin(pi*n/8);
X3k=dft(x3n,N);
subplot(2,3,1);stem(n,x1n,'.');
title('序列x1(n)');
xlabel('k');ylabel('x1(n)');
subplot(2,3,2);stem(n,x2n,'.');
title('序列x2(n)');
xlabel('k');ylabel('x2(n)');
subplot(2,3,3);stem(n,x3n,'.');
title('序列x3(n)');
xlabel('k');ylabel('x3(n)');
subplot(2,3,4);stem(n,abs(X1k),'.');
title('16点DFT[x1(n)]');
xlabel('k');ylabel('|X1(k)|');
subplot(2,3,5);stem(n,abs(X2k),'.');
title('16点DFT[x2(n)]');
xlabel('k');ylabel('|X2(k)|');
subplot(2,3,6);stem(n,abs(X3k),'.');
title('15点DFT[x3(n)]');
xlabel('k');ylabel('|X3(k)|');
波形如下:
3、序列x(n)=[2,-1,1,1],分别求其DFT和DTFT并比较
x=[2,-1,1,1];Xd=dft(x,4);nx=0:3;
Xd1=fftshift(Xd);
K=64;dw=2*pi/K;
k=floor((-K/2+0.5):(K/2-0.5));
X=x*exp(j*dw*nx'*k);
subplot(2,1,1),plot(k*dw,abs(X)),hold on;
plot([0:3]*2*pi/4,abs(Xd),'o');
subplot(2,1,2),plot(k*dw,abs(X)),hold on;
plot([-2:1]*2*pi/4,abs(Xd1),'x');
set(gcf,'color','w');
波形如下:
【MATLAB】离散傅里叶变换DTFT和IDTFT相关推荐
- MATLAB离散傅里叶变换实验结果分析,Matlab离散傅里叶变换实验报告
Matlab离散傅里叶变换实验报告 班级 信工082 学号 16 姓名 刘刚 实验组别 实验日期 室温 报告日期 成绩 报告内容:(目的和要求,原理,步骤,数据,计算,小结等) 实验三 离散傅立叶变换 ...
- matlab 离散傅里叶变换_时域上的采样VS频域上的周期延拓。用离散傅里叶变换直观地演示...
数字信号处理DSP基本原理之一:采样时间信号的频谱具有周期性,且周期与采样率相等. 这个结论可以帮助我们在大脑中构建这样的一幅图像: 时域的动态采样,相当于在频域进行周期延拓,延拓的周期与时域采样率相 ...
- MATLAB 离散傅里叶变换(DFT)、逆离散傅里叶变换(IDFT)、快速傅里叶变换(FFT)的实现
离散傅里叶变换(DFT).逆离散傅里叶变换(IDFT)的实现 代码如下,其中xn为时序序列 clc;clear; xn=[7,6,5,4,3,2]; Xk=dft(xn,6); x=idft(Xk,6 ...
- matlab 离散傅里叶变换_Matlab中的傅里叶变换
两种一般的方法: 根据傅里叶变换的定义: 典型程序: t=0:1000; xt=sin(t).*exp(-0.02*t); %随时间变化的信号 (时间空间) subplot(2,1,1); pl ...
- MATLAB离散傅里叶变换实验结果分析,Matlab离散傅里叶变换实验报告.doc
班级 信工082 学号 16 姓名 刘刚 实验组别 实验日期 室温 报告日期 成绩 报告内容:(目的和要求,原理,步骤,数据,计算,小结等) 实验三 离散傅立叶变换(DFT) 1.离散傅立叶级数 给定 ...
- 离散傅里叶变换(DTFT) MATLAB实例
离散傅里叶变换(DTFT) MATLAB实例 w = [0:1:500]*pi/500; X= exp(1i*w) ./ (exp(1i*w) - 0.5*ones(1,501)); % ...
- 离散傅里叶变换DFT与FFT,MATLAB的FFT函数使用(原创)——如何使用fft()绘制出真正的频谱图像
以前一直对MATLAB中fft()函数的使用一直存在疑惑,为什么要加一 些参数,并且如何确定这些参数,也查了许多资料,但很多都感觉只是 表面一说根本没有讲清其本质.但随着学习的推进,慢慢有所领悟,所 ...
- matlab在DSP中的应用(六)---离散傅里叶变换的性质
一.实验目的 (1)加深对离散傅里叶变换(DFT)基本性质的理解. (2)了解有限长序列傅里叶变换(DFT)性质的研究方法. (3)掌握用MATLAB语言进行离散傅里叶变换性质分析时程序编写的方法. ...
- MATLAB之离散时间傅里叶变换DTFT
% 功能:离散时间傅里叶变换DTFT% 编辑者:lily % 日期:2019,4,15clear; clc; close all; % ======================= input si ...
最新文章
- python相关函数_python常用函数精讲
- ch5 MySQL 备份与恢复
- python读取配置文件简单封装
- 意尔康体育:帆软助力其提速增效,让数据帮助业务效率提升400%
- Selenium利用POI读写excel文件
- 中国互联网史是一部流氓史
- 力扣844,比较含退格的字符串(JavaScript)
- cs231n 作业环境搭建
- CodeQL自动化代码审计工具
- Lua里面new一个对象详细步骤
- 龙芯2F Debain编openssl报/usr/local/bin/ld: /usr/lib/libdl.so: error adding symbols: file in wrong format
- # [Contrastive Learning] Contrastive Coherence Preserving Loss for Versatile Style Transfer
- Spark Streaming项目实战
- 强力推荐一款游戏十分好玩
- layui修改表格行高
- Unity接入Google登录
- 一个三线程序员的2020年,CSDN 10 万粉里程碑达成
- 企业微信客户端开启开发者模式
- 10G数据,1G内存排序问题
- 基于行的帧内编码快速算法