首页 > 其他分享 >自定义DFS,DFT,DTFT函数并比较关系

自定义DFS,DFT,DTFT函数并比较关系

时间:2024-10-08 18:20:08浏览次数:13  
标签:end 自定义 DFT sum DFS y1 DTFT

一、DFS(离散傅里叶级数)

function y= DFS(x,L)

N = length(x);

xi=[x;zeros(L-N,1)]; 

y = zeros(1, L);

for k = 1:L

sum = 0; 

for n = 1:L

sum = sum + xi(n) * exp(-2j*pi*k*n/L); 

end 

y(k) = sum; 

end 

end 

二、DFT(离散傅里叶变换)

 function y= DFT(x,L)

N = length(x);

xi=[x;zeros(L-N,1)]; 

y = zeros(1, L);

for k = 1:L

sum = 0; 

for n = 1:L

sum = sum + xi(n) * exp(-2j*pi*k*n/L); 

end 

y(k) = sum; 

end 

end 

三、DTFT(离散时间傅立叶变换)

function y1 = DTFT(x, w) 

N = length(x); 

y1 = zeros(size(w)); 

for k = 1:length(w) 

sum = 0; 

for n = 1:N 

sum = sum + x(n)*exp(-1j*n*w(k)); 

end 

y1(k) = sum; 

end 

end 

四、比较

N=256;

n=0:N-1;

k=10;

L=256

x=sin(2*pi*k*n/N);

y=DFT(x,L);

w=linspace(-pi,pi,512);

y1=DTFT(x,w);

figure;

subplot(2,1,1);

stem(0:N-1,abs(y),'filled');

subplot(2,1,2);

plot(w,abs(y1));

(DFS和DFT类似,只是DFS是DFT的延拓,DFT是DFS的主值序列,这里只比较了DTFT和DFT的关系)e0bc3da6cd6746178d77f618acc36481.png

 DFT中间区域基本全是零是由于信号x的能量主要集中在少数几个频率点上,而这些非峰值位置的DFT值非常小,在视觉上可能看起来像0。而DTFT由于连续性,能更好地展示信号的频域特性。

标签:end,自定义,DFT,sum,DFS,y1,DTFT
From: https://blog.csdn.net/weixin_73825075/article/details/142765930

相关文章

  • 自定义卷积函数并计算窗函数的卷积
    一、自定义卷积functiony=Convu(x,W) Nx=length(x); Nw=length(W); y=zeros(1,Nx+Nw-1); forn=1:Nx+Nw-1 sum=0; startIdx=max(1,n-Nw+1); endIdx=min(n,Nx); fork=1:Nw ifstartIdx+k-1<=endIdx sum=sum+......
  • zotero自定义界面
    简介本人zotero使用到的四个插件EtherealStyle(这是一个多彩的插件,用于增强Zotero的界面功能)GreenFrog(显示影响因子)JasminumTranslateforZotero插件下载来源:Zotero插件商店|Zotero中文社区(zotero-chinese.com)最终页面效果显示影响因子、期刊分区、CCF分区......
  • Qt实现自定义控件-按钮
    背景:想着自己实现一个好看一点的按钮,切换时加一点动画。也算巩固一下Qt的基本知识。基本环境: 主要用到的类有:QBrush:画刷,主要是画一些颜色啥的。QPainter:画笔,可以画形状。比如带弧形的矩形,圆形,写字等。QPropertyAnimation:动画相关。关键逻辑:重载paintEvent:实现渲染逻辑,......
  • Vue.js 自定义事件命名
    什么是Vue.js自定义事件命名?在Vue.js中,自定义事件是一种允许组件之间进行通信的重要机制。通过自定义事件,我们可以在父组件和子组件之间传递数据,实现组件的解耦和复用。Vue.js中的事件命名可以使用驼峰命名法或短横线命名法。但是,Vue.js官方强烈建议使用短横线命名法来定义自定义......
  • 数据结构课程设计大项目————迷宫问题(邻接矩阵,prim生成算法,DFS寻路,BFS寻路,路径回溯
    一.前言迷宫问题是数据结构中最值得实践的大项目之一,本文主要讲解思路,提供的代码大部分都有注释(没有的就是太多了懒得写了QAQ)。为了更好的表现效果,该程序使用了easyx可视化,easyx简单易学(大概一天到两天就可以学会),上手简单。该程序由c语言实现,本人水平有限程序可优化空间很大。......
  • Codeforces Round 316 (Div. 2) D题 Tree Requests(二分,dfs,在线,前缀异或)
    题目链接CodeforcesRound316(Div.2)D题TreeRequests思路将262626个字母全部当作一个二进制数。将每个深度的结点按照dfs序放到一个vector里,同时记录每个vector......
  • 用自定义函数解决帝国cms的简介截取字符时出现html的问题
    帝国CMS在截取文章简介时出现HTML标签的问题可以通过自定义函数来解决。具体步骤如下:步骤1:自定义函数 NoHTML()打开 connect.php 文件找到 e/class/connect.php 文件并打开。添加自定义函数 NoHTML()在文件中添加以下函数://去除HTML标记function......
  • day11[Lagent 自定义你的 Agent 智能体]
    环境配置开发机选择30%A100,镜像选择为Cuda12.2-conda。首先来为Lagent配置一个可用的环境。LagentWebDemo使用使用Lagent的WebDemo来体验InternLM2.5-7B-Chat的智能体能力先使用LMDeploy部署InternLM2.5-7B-Chat,并启动一个APIServer然后,我们在另一个......
  • 如何修改PbootCMS默认面包屑导航样式及自定义设置方法
    在PbootCMS中,面包屑导航是一个重要的导航元素,帮助用户快速了解当前页面的位置和路径。为了满足不同的设计需求,可以通过自定义参数和修改样式来调整面包屑导航。下面详细介绍如何进行这些自定义操作。PbootCMS面包屑导航调用方式html {pboot:position}自定义参数常用参......
  • cnBlogs的自定义样式
    存个备份.navbara:link,.navbara:active,.navbara:visited{color:#666;text-decoration:none}.navbara:hover{color:#666;text-decoration:underline}.navbar>nav.navbar-avatar{border-radius:50%}.post-item.avatar{......