DFS IDFS 离散傅里叶级数
来源:互联网 发布:淘宝可以用什么支付 编辑:程序博客网 时间:2024/04/30 17:15
DFS IDFS 离散傅里叶级数
要将信号进行时域到频域的变换,那么就离不开dfs 要变回去又离不来 Idfs
下面就是 matlab 实现的两个函数
很简单 用公式
下面是代码:
function [Xk] = dfs(xn,N )n = [0: 1: N-1];k = n;WN = exp(-j*2*pi/N);nk = n'*k ;WNnk = WN.^nk;Xk = xn*WNnk;end
下面是idfs代码:
function[xn] = idfs(Xk, N)n = [0 :1: N-1] ;k = n;WN = exp(-j*2*pi/N);nk = n'*k;WNnk = WN.^(-nk);xn = Xk* WNnk/N;end其应用 给出周期方波
x(n) = 1 mN <= n <= mN + L -1
0 mN + L <= n <= (m+1)N -1 m 为0 -1 +1 。。。。。
L/N为占空比 给出X (k) 的曲线
这里要注意的是要进行fftshift 搬移之后才会形成对称的图形
才能形成 k = [-N / 2 : N /2] ; 且没有那么长那就用0 补
代码中一共实现了四种长不同L值的变换
代码实现:
clf ;L = 5 ;N = 20 ;xn =[ones(1,L) zeros(1,N-L)];k = [-N/2:N/2];Xk = dfs(xn, N);magXk = abs([Xk(N/2 + 1:N ), Xk(1:N/2+1)]);subplot(221);stem(k, magXk);xlabel('k');ylabel('Xk');title('L = 5 , N = 20 wave ');L = 5 ;N = 40 ;xn =[ones(1,L) zeros(1,N-L)];k = [-N/2:N/2];Xk = dfs(xn, N);magXk = abs([Xk(N/2 + 1:N ), Xk(1:N/2+1)]); % 这个的目的就有点类似于fftshiftsubplot(222);stem(k, magXk);xlabel('k');ylabel('Xk');title('L = 5 , N = 40 wave ');L = 6 ;N = 40 ;xn =[ones(1,L) zeros(1,N-L)];k = [-N/2:N/2];Xk = dfs(xn, N);magXk = abs([Xk(N/2 + 1:N ), Xk(1:N/2+1)]);subplot(223);stem(k, magXk);xlabel('k');ylabel('Xk');title('L = 6 , N = 40 wave ');L = 7;N = 20 ;xn =[ones(1,L) zeros(1,N-L)];k = [-N/2:N/2];Xk = dfs(xn, N);magXk = abs([Xk(N/2 + 1:N ), Xk(1:N/2+1)]);subplot(224);stem(k, magXk);xlabel('k');ylabel('Xk');title('L = 7 , N = 20 wave ');
0 0
- DFS IDFS 离散傅里叶级数
- 方波 离散傅里叶级数 MATLAB
- 信号与系统10:离散傅里叶级数和变换
- 连续离散傅里叶变换与级数
- 灰度图像--频域滤波 傅里叶变换之离散周期信号傅里叶级数
- (一)连续傅里叶变换与离散傅里叶变换:傅里叶级数(Fourier Series)
- Coconuts----DFS+离散化
- 傅里叶级数
- 傅里叶级数
- 傅里叶级数
- 傅里叶变换和傅里叶级数的区别与联系(后续更新补充DTFT、DFS)
- HDU 5925 离散化+dfs
- 信号与系统11:连续,离散傅里叶变换与级数
- 离散基础 (8). 离散级数和连续积分之间的误差项计算
- 傅里叶级数拟合实验
- 傅里叶级数00
- 傅里叶级数拟合实验
- 傅里叶级数拟合实验
- ios返回当前时间,精确到毫秒。
- 黑马程序员_java中IO流的操作规律
- C++调用lua函数的一种通用办法
- servlet、genericservlet、httpservlet之间的区别
- Android中Activity、Service和线程之间的通信
- DFS IDFS 离散傅里叶级数
- POJ2876——递归
- gradle2.0笔记——让项目升级到gradle2.0
- 一些摘抄
- 用jni实现基于opengl的yuv格式的视频渲染
- 多印人民币能增加国家财富吗?
- J2EE小结
- linux重载malloc
- wxWidgets多线程技术(分离式建立于堆上HEAP;联合式可以建在STACK堆、栈上)