⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dm09101.m

📁 the code of the book come form the book of marlix laboratory with the book of singal
💻 M
字号:
% dm09101
% 观察周期方波信号的分解与合成
% m:傅里叶级数展开的项数
display('Please input the value of m (傅里叶级数展开的项数)'); % 在命令窗口显示提示信息
m = input('m = ');                                             % 键盘输入傅里叶级数展开的项数
t = -2*pi:0.01:2*pi;                                           % 时域波形的时间范围-2π~2π,采样间隔0.01
n = round(length(t)/4);                                        % 根据周期方波信号的周期,计算1/2周期的数据点数
f = [ones(n,1);-1*ones(n,1);ones(n,1);-1*ones(n+1,1)];         %构造周期方波信号
y = zeros(m+1,max(size(t)));
y(m+1,:) = f'; 
figure(1);
plot(t/pi,y(m+1,:));                                           %绘制方波信号
grid;                                                          %在图形中加入栅格
axis([-2 2 -1.5 1.5]);                                         %指定图形显示的横坐标范围和纵坐标范围
title('周期方波');                                             %给显示的图形加上标题
xlabel('单位pi','Fontsize', 8);                                %显示横坐标单位
x = zeros(size(t));
kk = '1';
for k=1:2:2*m-1                                                %循环显示谐波叠加图形
    pause;
    x = x+sin(k*t)/k;
    y((k+1)/2,:) = 4/pi*x;                                     %计算各次谐波叠加和
    plot(t/pi,y(m+1,:));
    hold on;
    plot(t/pi,y((k+1)/2,:));                                   %绘制谐波叠加信号
    hold off;
    grid;
    axis([-2 2 -1.5 1.5]);
    title(strcat('第',kk,'次谐波叠加'));
    xlabel('单位pi','Fontsize', 8);
    kk = strcat(kk,'、',num2str(k+2));
end
pause;
plot(t/pi,y(1:m+1,:));
grid;
axis([-2 2 -1.5 1.5]);
title('各次谐波叠加波形');
xlabel('单位pi','Fontsize', 8);
% End

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -