找回密码
 注册
关于网站域名变更的通知
查看: 686|回复: 2
打印 上一主题 下一主题

MATLAB ------- 使用 MATLAB 比较占空比不同的周期方波的 DFS 图

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-10-30 11:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

3 {2 i% l7 I& N6 a  M周期方波的表达式我就不提炼了,既然你来看文章了,我就不信你周期方波都不知道。# w) B0 J2 Y; {" Q  b9 I6 ?+ R
: g1 F5 G9 t6 O9 M
占空比定义为:L/N,N为周期,下面我们对 L = 5,N = 20; L = 5,N = 40;L = 5,N = 60;L = 7,N = 60分别画出它们的DFS图作比较。
! ?2 J: S! V* n/ F
. A% I: r1 {+ [4 I: J我觉得有必要先把对应的周期方波给出来(每幅图都只给出一个周期):
3 j! B4 E  p) X1 D* H
% x6 @/ O0 {5 x, P& }
  • clc;clear;close all;
  • % Periodic square wave parameters L = 5,N = 20
  • L = 5;
  • N = 20;
  • n = 0:N-1;
  • xn = [ones(1,L),zeros(1,N-L)];
  • subplot(2,2,1)
  • stem(n,xn);
  • title('L = 5,N = 20');
  • xlabel('n');ylabel('xtilde(n)');
  • % Periodic square wave parameters L = 5,N = 40
  • L = 5;
  • N = 40;
  • n = 0:N-1;
  • xn = [ones(1,L),zeros(1,N-L)];
  • subplot(2,2,2)
  • stem(n,xn);
  • title('L = 5,N = 20');
  • xlabel('n');ylabel('xtilde(n)');
  • % Periodic square wave parameters L = 5,N = 60
  • L = 5;
  • N = 60;
  • n = 0:N-1;
  • xn = [ones(1,L),zeros(1,N-L)];
  • subplot(2,2,3)
  • stem(n,xn);
  • title('L = 5,N = 20');
  • xlabel('n');ylabel('xtilde(n)');
  • % Periodic square wave parameters L = 7,N = 60
  • L = 7;
  • N = 60;
  • n = 0:N-1;
  • xn = [ones(1,L),zeros(1,N-L)];
  • subplot(2,2,4)
  • stem(n,xn);
  • title('L = 5,N = 20');
  • xlabel('n');ylabel('xtilde(n)');

  • # r6 Q% a* D+ k/ R( q" Q
             7 j# @5 ]3 Z% c. A0 W; I! I) a* h

) p6 }0 j+ X4 X' q; x+ w
2 Q3 s8 K1 j6 l上面程序中的DFS函数定义在另一篇博文中:【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现; m, R! r9 J2 R5 ^" e# |* f6 k) D
6 Z+ n0 b6 E( j4 G6 S9 a% {

6 |' E# w0 }2 _/ m: S
  H3 B' g( f, {  ~/ ]/ J- o3 M6 H( F) ^
直接给出MATLAB脚本:
+ \  ^  }- i4 _3 ?& |, x% Z
% l, O' }1 ?0 T3 V9 R3 C
  • clc;clear;close all;
  • % Periodic square wave parameters L = 5,N = 20
  • L = 5;
  • N = 20;
  • k = [-N/2:N/2];
  • xn = [ones(1,L),zeros(1,N-L)];
  • Xk = dfs(xn,N);
  • magXk = abs( [ Xk(N/2+1:N),Xk(1:N/2+1) ] );
  • subplot(2,2,1)
  • stem(k,magXk);
  • title('DFS of Square: L = 5,N = 20');
  • xlabel('k');ylabel('Xtilde(k)');
  • % Periodic square wave parameters L = 5,N = 40
  • L = 5;
  • N = 40;
  • k = [-N/2:N/2];
  • xn = [ones(1,L),zeros(1,N-L)];
  • Xk = dfs(xn,N);
  • magXk = abs( [ Xk(N/2+1:N),Xk(1:N/2+1) ] );
  • subplot(2,2,2)
  • stem(k,magXk);
  • title('DFS of Square: L = 5,N = 40');
  • xlabel('k');ylabel('Xtilde(k)');
  • % Periodic square wave parameters L = 5,N = 60
  • L = 5;
  • N = 60;
  • k = [-N/2:N/2];
  • xn = [ones(1,L),zeros(1,N-L)];
  • Xk = dfs(xn,N);
  • magXk = abs( [ Xk(N/2+1:N),Xk(1:N/2+1) ] );
  • subplot(2,2,3)
  • stem(k,magXk);
  • title('DFS of Square: L = 5,N = 60');
  • xlabel('k');ylabel('Xtilde(k)');
  • % Periodic square wave parameters L = 7,N = 60
  • L = 7;
  • N = 60;
  • k = [-N/2:N/2];
  • xn = [ones(1,L),zeros(1,N-L)];
  • Xk = dfs(xn,N);
  • magXk = abs( [ Xk(N/2+1:N),Xk(1:N/2+1) ] );
  • subplot(2,2,4)
  • stem(k,magXk);
  • title('DFS of Square: L = 7,N = 60');
  • xlabel('k');ylabel('Xtilde(k)');

  • / {* t$ F0 W7 e8 `" c* V7 [' @
              
  E2 }/ t5 j) ^# d1 M( Z
9 K" V* U  p3 U) R( U$ T9 S) a

7 Y2 o1 E, f* A' d3 \3 s# l2 E+ x" }* ]* g6 G

  ]4 D, e- L1 I- h# {9 p% k
+ K# x0 C0 u* e0 S: {. f% s: n5 D3 C& c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-5 10:16 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表