1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【 MATLAB 】使用 MATLAB 比较占空比不同的周期方波的 DFS 图

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

时间:2020-03-10 13:46:31

相关推荐

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

周期方波的表达式我就不提炼了,既然你来看文章了,我就不信你周期方波都不知道。

占空比定义为:L/N,N为周期,下面我们对 L = 5,N = 20; L = 5,N = 40;L = 5,N = 60;L = 7,N = 60分别画出它们的DFS图作比较。

我觉得有必要先把对应的周期方波给出来(每幅图都只给出一个周期):

clc;clear;close all;% Periodic square wave parameters L = 5,N = 20L = 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 = 40L = 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 = 60L = 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 = 60L = 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)');

上面程序中的DFS函数定义在另一篇博文中:【 MATLAB 】离散傅里叶级数(DFS)及 IDFS 的 MATLAB 实现

直接给出MATLAB脚本:

clc;clear;close all;% Periodic square wave parameters L = 5,N = 20L = 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 = 40L = 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 = 60L = 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 = 60L = 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)');

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。